You are on page 1of 19

Critical Book Review

BAHASA INDONESIA

DINI LIYA MEIRANI SIMATUPANG (4163111011)


PROGRAM STUDI PENDIDIKAN MATEMATIKA
REGULER D 2016

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM


UNIVERSITAS NEGERI MEDAN
2018
KATA PENGANTAR

Puji dan syukur penulis ucapkan kehadirat Tuhan Yang Maha Esa yang telah
memberikan rahmat dan karunia-Nya dan atas dasar itu jugalah penulis dapat menyelesaikan
tugas Critical Book Report ini. Dimana tugas ini dapat diselesaikan sesuai dengan tuntutan
proses pembelajaran di Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri
Medan.
Penulis juga menyadari bahwa pada tugas ini masih banyak kelemahan dan
kekurangan. Oleh karena itu, penulis berharap adanya kritik dan saran yang membangun
untuk penyempurnaan atau perbaikan tugas ini di masa yang akan datang, karena tidak ada
sesuatu yang sempurna tanpa adanya saran yang membangun.
Ucapan terimakasih penulis sampaikan kepada dosen pembimbing sekaligus dosen
mata kuliah Pendidikan Bahasa Indonesia yang telah membimbing, sehingga tugas ini dapat
diselesaikan. Penulis juga sangat berharap tugas ini dapat berguna dalam rangka menambah
wawasan serta pengetahuan dan pengalaman mengenai ilmu matematika.

Penulis

i
DAFTAR ISI

Kata Pengantar ...................................................................................................................... i

Daftar Isi ............................................................................................................................... ii

Bab 1. Pengenalan Buku ....................................................................................................... 1

1.1 Bibliografi buku ................................................................................................... 1

1.2 Inti-inti Bab ........................................................................................................... 1

Bab 3. Rangkuman ............................................................................................................... 12

Bab 4. Pembahasan ............................................................................................................... 13

Bab 5. Penutup ...................................................................................................................... 15

Daftar Pustaka ....................................................................................................................... 16

ii
BAB I
PENGENALAN BUKU

1.1 Bibliografi Buku


Judul : Algoritma dan Pemrograman
Penulis : drs. Suarga m.Sc., M.Math., Ph.D
ISBN : 978-979-29-2745-0
Penerbit : C.V Andi Offset
Tahun Terbit : 2012
Jumlah Halaman : 354
Ukuran : 16 x 23 cm
Bab yang direview : 1-7

1.2 Inti-Inti Bab


BAB 1. Pendahuluan
Algoritma adalah teknik penyusunan langah-langkah penyelesaian masalah dalam
bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis.
Algoritma pada awalnya dicetuskan oleh Abu Ja’far Muhammad Ibnu Musa Al-Kwarizmi:
Ahli matematika dan astronomi Persia, penulis buku “Aljabar Wal Muqabala” beberapa abad
lalu. Abu Ja’far menjelaskan langkah-langkah dalam menyelesaikan berbagai persoalan
aritmatika (aljabar).
Ciri-ciri algoritma menurut Donald E.Knuth:
- Algoritma mempunya awal dan akhir, suatu algoritma harus berhenti setelah mengerakan
serangkaian tugas.
- Setiap langkah tidak memiliki arti ganda.
- Memiliki masukan (input).
- Memiliki keluaran (output).
- Algoritma harus efektif.
Agar algoritma dapat ditulis lebih teratur maka struktur algoritma dibagi ke dalam
beberapa bagian, yaitu:
- Bagian Kepala (Header): memuat nama algoritma serta informasi atau keterangan
tentang algoritma yang ditulis.

1
- Bagian Deklarasi (Defenisi Variabel): memuat devenisi nama variabel, nama tetapan,
nama prosedur, nama fungsi, tipe data yang digunakan dalam algoritma.
- Bagian Deskripsi (Rincian Langkah): memuat langkah-langkah penyelesaian masalah
termasuk perintah baca, tulis, tampilkan,ulangi, yang mengubah input menjadi output.
Flowcharting adalah untaian simbol gambar (chart) yang menunjukkan alairan (flow)
dari proses terhadap data. Simbol-simbol flowchart yang digunakan untuk menggambarkan
logik:
Gambar Nama Fungsi

Terminator Mulai atau selesai

Proses Menyatakan proses terhadap data

Input/Output Menerima input atau menampilka output

Seleksi/pilihan Memilih aliran berdasarkan syarat

Definisi fungsi dari awal variabel atau


Predefined-Data
data

Predefined-Process Lambang fungsi atau sub-program

Connector Penghubung

Off-page
Penghubung pada halaman berbeda
Connector

BAB 2. Tipe Data, Variabel, Nilai, dan Ekspresi


- Tipe Data
Ada dua kategoi tipe data, yaitu: tipe dasar yang terdiri dari bilangan bulan
(integer), bilangan biasa (real), bilangan tetap (const) karakter (char), logik (boolean).
Dan tipe data bentukan, merupakan tipe data yang dibentuk dari kombinasi tipe dasar,
antara lain larik (array), rekaman (record), string (string).
- Variabel

2
Variabel adalah nama yang mewakili suatu elemen data. Ada aturan tertentu yang
wajib diikuti dalam pemberian nama variabel, antara lain:
- Pemberian Nilai
Ada dua cara yang dapat digunakan untuk memberi nilai pada suatu variabel, yaitu
melalui proses assigment dan pembacaan.
- Menampilkan Nilai
Agar hasil pelaksanaan algoritma dapat dikomnikasikan atau ditayangkan maka
nilai variabel yang telah diproses dalam algoritma dapat ditampilkan.
- Ekpresi
Ekspresi adalah transformasi data dan peubah/variabel dalam bentuk persamaan
yang direlasikan oleh operator dan operend.

BAB 3. Instruksi Utama


Secara garis besar hanya ada tiga macam kategori instrksi utama, yaitu:
1. Instruksi runtunan (sequential), adalah instruksi yang dikerjakan secara beruntun atau
berurutan, baris perbaris, mulai dan baris pertama hingga baris terakhir, tanpa ada loncatan
atau perulangan.
2. Instruksi pemilihan, adalah instruksi yang dipakai untuk memilih satu aksi dan beberapa
kemungkinan aksi berdasarkan suatu persyaratan. Ada dua bentuk instruksi pemilihan yang
sering digunakan, yaitu instruksi if/then/else dan instruksi case.
3. Instruksi pengulangan (repetition), adalah instruksi yang dapat mengulangi pelaksanaan
sederetan instruksi lain berulang kali sesuai dengan persyaratan yang ditetapkan. Struktur
instruksi pengulangan terdiri dari kondisi perulangan, badan perulangan, dan pencacah
perulangan. Jenis perulangan diantaranya while-do, repeat-until, perulangan for.

BAB 4. Contoh Permasalahan


Setelah memelajari beberapa instruksi utama maka pada dasarnya modal untuk
merancang algoritma sederhana sudah memadai. Contoh permasalahan bagi mahasiswa yang
memelajari algoritma adalah akses data langsung, menjumlahkan deret, mengelompokkan
data, memilih operasi berdasarkan pilihan, menghitung nilai rata-rata dan varians, masalah
stok pada sebuah toko buku, pembayaran cicilan, penyemprotan tanaman, analisis pemain
hockey, dan perubahan populasi ikan laut.

3
BAB 5. Prosedur dan Fungsi
Prosedur adalah bagian dari suatu program yang disusun secara terpisah untuk
melakukan suatu tugas khusus atau fungsi tertentu. Pada dasarnya ada dua macam bentuk
prosedur yaitu:
- Subrutin adalah bagian dari program yang dibuat terpisah untuk melaksanakan sebagian
dari tugas yang harus diselesaikan oleh suatu program.
- Fungsi adalah bagian dari program yang dibuat terpisah ntuk melaksanakan fungsi
tertentu yang menghasilkan suatu nilai untuk dikembalikan ke program utama.
Penggunaan prosedur pada suatu program menyebabkan mnculnya dua kategori
variabel, yaitu variabel lokal (hanya dikenal dan berlaku dalam suatu prosedur saja) dan
variabel global (berlaku di semua bagian program).
Ketika suatu prosedur dipanggil maka pada hakikatnya bisa dilakukan pertukaran data
antara program utama dan prosedur. Pertukaran ini dilakukan dengan parameter. Prosedur
atau fungsi yang berulang kali memanggil dirinya sendiri disebut prosedur atau fungsi rekrsif.
Pada hakikatnya prosedur rekursif dieksekusi lebih lama dibanding perulangan biasa, karena
secara internal prosedur rekursif memakai stack memory yang biasanya terbatas.

BAB 6. Pemrosesan Teks


Pemrosesan teks adalah salah satu bentuk pengolahan data non-numerik. Pemrosesan
teks banyak dilakukan dalam perangkat lunak pengolahan kata seperti MS-Word dan
perangkat lunak lainnya.
Teks terdiri atas deretan karakter yang dikenal oleh komputer. Karakter yang dikenal
oleh komputer pada umumnya terdiri atas:
1. Abjad atau alphabet (A, B, C, ..., Z, a, b,...,z)
2. Karakter angka: {0,1,2,...,9}
3. Operator dan karakter khusus : {!, @, #, $, %, ^, &, *, ...}
4. Karakter kontrol, seperti: DEL, STX, ETX, LF, dsb.
Teks adalah sederetan karakter yang bisa direkam ke dalam suatu file/berkas/arsip.
Deklarasi suatu file teks didahului dengan tipe data text.

BAB 7. Larik
Larik atau array adalah suatu bentuk data yang menampung satu atau lebih dari satu
data yang sejenis (bertipe data sama), yang diwakili oleh satu nama variabel. Dimana setiap

4
elemen atau anggota larik dapat dikenali atau diakses melalui suatu indeks. Larik terdiri dari
3 dimensi, larik berdimensi 1 disebut vektor, larik berdimensi 2 disebut matriks, dan larik
berdimensi lebih dari2 disebut tensor.
Proses membaca atau mengisi suatu larik dimulai dengan mendefenisikan array disertai
dengan jumlah elemen yang akan disimpan, kemudian dengan memakai instruksi perulangan
maka satu persatu elemen diisi dengan indeks berurutan mulai dari 1 hingga indeks
maksimum. Setelah diisi, larik dapat ditampilkan dengan cara dipanggil oleh algoritma yang
memerlkan prosedr untuk menampilkan sebuah larik. Proses-proses lain yang dapat
dilakukan pada larik adalah menggeser, menggabung, memisah, mengurutkan, dan mencari
elemen larik.
Salah satu sruktur larik yang juga banyak digunakan dalam berbagai aplikasi adalah
matriks tau larik 2D, satu untuk menunjukkan baris dan yang lainnya menunjukkan kolom.

BAB 8. Teknik Pencarian


Pencarian elemen (searching) merupakan proses fundamental dalam pemrogrman.
Berbagai proses aplikasi membutuhkan serching, antara lain:
1. Proses editing(perbaikan dan peremajaan data) selalllu didahului dalam pencarian
dengan posisi data yang akan diedit
2. Proses inserting (penyisipan data) memerlukan searching posisi dimana dimana suatu
data akan disisipkan
3. Program pengolah kata (word atau text processing) menyediakan fasilitas find, replace
dan go to pada hakikatnya memerlukan teknik pencarian.
8.1 Pencarian secara beruntun
Pencarian secara beruntun dilakukan dengan memeriksa elemen larik satu per satu
mulai dari indek = 1 hingga indeks dimana elemen tersebut ditemukan. Bilamana indeks
maksimum telah dilampaui maka berarti elemen tersebut tidak ditemukan.
8.2 Pencarian dengan sentinel
Sentinel pada hakikatnya adalah elemen fiktif yang ditambahkan kedalam suatu larik
pada posisi terakhir yang nilainya sama dengan nilai dari elemen yang dicari. Pada
proses pencarian ada dua kemungkinan yaitu:
1. Elemen ditentukan pada posisi indeks antara 1 sampai dengan m (indeks maksimum).
Artinya, elemen yang dicari benar ada di dalam larik.

5
2. Elemen ditemukan pada posisi indeks (m+1) atau elemen sentinel. Artinya,
sebenarnya elemen yang dicari tidak ada didalam larik.
8.3 Pencarian Bagi Dua
Pencarian bagi dua atau binary search adalah teknik yang diterapkan hanya pada
elemen larik yang telah terurut (shorted). Pencarian beruntun memiliki satu kekurangan,
yaitu dalam kasus terburuk (elemen yang dicari berada pada posisi terakhir) maka
pencarian harus dilakukan sepanjang larik. Semakin banyak elemen maka semakin lama
pencarian harus dilakukan
8.4 Pencarian Berbasis Fungsi Hash
Fungsi Hash adalah fungsi matematis yang mengubah (konversi) elemen yang dicari
menjadi suatu bilangan, dimana bilanganini menunjukkan lokasi atau alamat dimana
elemen itu disimpan. Inti dari pencarian berbasis fungsi Hash terletak pada bentuk fungsi
Hash yang digunakan.

BAB 9. Teknik Pengurutan


Pengurutan adalah proses yang mengatur sekumpulan objek/data sehingga nilainya
tersusun apakah berurut menaik (escending) dari kecil ke besar, atau berurut membesar
(descending) dari besar ke kecil.
Ada dua kategori pengurutan yaitu:
1. Pengurutan internal: pengurutan yang dilaksanakan hanya dengan menggunakan memori
komputer, pada umumnya digunakan bila jumlah elemen tidak terlalu banyak
2. Pengurutan eksternal: Pengurutan yang dilaksanakan dengan bantuan memori virtual
atau harddisk karena jumlah elemen yang akan diurutkan terlalu banyak.
9.1 Teknik Garvitasi
Teknik gravitasi adalah suatu teknik yang merupakan variasi dari teknik gelembung
(buble sort)Teknik ini memanfaatkan sifat gravitasi dimana yang berat (nilainya besar)
akan turun ke bawah.
9.2 Teknik Minimax
Teknik minimax merupakan suatu prosedur yang memilih elemen terkecil (minimum)
atau yang terbesar (maximum) untuk ditempatkan pada posisi yang susuai dengan tujuan
pengurutan
9.3 Teknik Penyisipan

6
Teknik penyisipan pada prinsipnya adalah mengambil satu elemen berurut dari posisi
awal satu per satu untuk disisipkan pada urutannya yang tepat.
9.4 Teknik Shell
Teknik shell (shell sort) merupakan pengembangan teknik penyisipan (insertion sort),
diamna perbandingan antar elemen tidak dilakukan pada dua elemen yang berdekatan
tetapi yang jaraknya jauh.

BAB 10. Operasi Matriks


Matriks adalah larik dua dimensi, memiliki dimensi baris dan dimensi kolom. Ada
beberapa jenis matriks, antara lain sebagai berikut : (1) Matriks bujur sangkar (2) Matriks
segi mepat (3) Matriks diagonal (4) Matriks identitas (5) Matriks segitiga atas dan (6) Matriks
segitiga bawah.
Jenis-jenis operasi matriks, yaitu :
10.1 Menjumlahkan Dua Matriks
Dua matriks hanya bisa dijumlahkan pabila dimensinya sama. Andaikan matriks A
dan matriks B akan dijumlahakan menjadi matriks C, maka rumus umumnya adalah
[ ] [ ] [ ]
10.2 Mengalikan Dua Matriks
Dua buah matriks dapat diperkalikan hanya apabila jumlah kolom dari matriks
pertama sama bayaknya dengan jumlah baris dari matriks kedua.
10.3 Mencari Determinan Matriks
Determinan suatu matriks merupakan salah satu ukuran dari kekuatan elemen-
elemen dari matriks bujur sangkar.
Proses perhitungan determinan matriks dapat dibagi 2, yaitu :
1. Menghitung perkalian suku positif, yang dimulai dengan perkalian semua
elemen diagonal.
2. Menghitung perkalian suku negatif, yang dimulai dengan perkalian elemen-
elemen berindeks baris 1 sampai dengan m, dan indeks kolom dimulai dari m
dan menurun ke 1.
10.4 Melakukan Transpose
Transpose adalah proses mengubah posisi elemen matriks sehingga elemen baris
menjadi elemen kolom dan sebaliknya.

7
10.5 Menyelesaikan Persamaan Linier
Persamaan linier simultan adalah suatu sistem persamaan yang terdiri atas lebih dari
satu variabel dan melibatkan lebih dari satu persamaan dimana seua variabel dalam
orde-1 (linear).Tujuan dari persamaan linier simultan adalah untuk mencari nilai
variabel yang terkait sedemikian rupa sehingga memenuhi semua persamaan yang ada.
10.6 Mencari Inverse Matriks
Matriks invers A-1 adalah suatu matriks yang apabila dikalikan dengan matriks
aslinya A akan menghasilkan matriks identitas I, atau

BAB 11. Struktur Data : Tumpukan dan Antrian


11.1 Struktur Tumpukan
Struktur tumpukan (stack) adalah struktur data yang meniru bagaimana proses
penyimpanan dan pengambilan satu benda pada suatu tumpukan benda yang ada
dilantai. Tumpukan (stack) digunakan apabila data akan diakses dengan urutan LIFO.
Struktur data stack dapat di implementasikan menggunakan larik (array), dengan tipe
data bentukan (record). Salah satu contoh aplikasi dari struktur data tumpukan ini
adalah membalik suatu kalimat yang dimasukkan lewat keyboard.
11.2 Struktur Antrian
Struktur antrian (queue)adalah struktur data yang meniru antrian orang yang sedang
menunggu pelayanan, misalnya didepan seorang teller bank. Urutan proses antrian
sering disebut sebagai FIFO (First In First Out). Yang pertama masuk antrian itulah
yang pertama dilayani.
Proses-proses yang diperlukan dalam struktur data antrian antara lain adalah :
1. Proses untuk memulai antrian (initialize)
2. Proses untuk menambahkan elemen (addQueue)
3. Proses untuk mengambil elemen (deleteQueue)
4. Proses untuk menghitung jumlah elemen (size)

BAB 12. Struktur Data : Untaian


Struktur untaian adalah suatu struktur data yang terdiri atas wadah untuk data (item)
dan suatu penunjuk (pointer) ke elemen untaian lainnya.
12.1 Untaian Tunggal (Singly Linked List)

8
Untaian tunggal adalah suatu struktur untaian yang hanya memiliki satu pointer.
Berbagai prosedur diperlukan untuk implementasi struktur untaian, antara lain adalah
sebagai berikut :
1. InitList : inisialisasi struktur untaian, pointer head menunjuk () null
2. insertList : memasukkan sebuah elemen baru kedalam untaian
3. deleteList : menghapus satu elemen dari untaian
4. saearchList : mencari satu elemen dalam untaian
12.2 Untaian Melingkar
Struktur untaian tunggal dapat dimodifikasi menjadi menjadi struktur untaian
melingkar dimana pointer next pada elemen terakhir yang menunjukkan null diubah
hingga menunjuk elemen pertama yang ditunjuk oleh head.
12.3 Untaian Ganda (Doubly Linked List)
Struktur untaian ganda adalah suatu untaian yang memiliki dua pointer, sat pointer
menunjuk kebelekang, yaitu next dan satu pointer menuntuk kedepan, yaitu back. Head
adalah pointer yang menunjuk pada elemen pertama. dan Tail adalah pointer yang
menunjuk pada elemen terakhir.

BAB 13. Struktur Data : Pohon dan Graf


13.1 Struktur Pohon (Tree)
Struktur pohon (tree) adalah struktur data yang meniru bentuk pohon, namun
semuanya digambar dengan bentuk terbalik. Pada suatu struktur pohon terdapat satu
node yang disebut akar (root), kemudian dari akar ini ditumbuhkan dahan (edge) yang
berujung pada node yang disebut vertex. Dari setiap vertex dapat ditumbuhkan dahan
baru, dan seterusnya. Vertex yang berada diujung pohon sering disebut sebagai daun
(leaf).
Beberapa proses yang diperlukan untuk mengakses atau proses pada struktur pohon
adalah sebagai berikut :
1. Prosedur insertTree: menempatkan sebuah node pada tree
2. Prosedur searchTree: mencari sebuah node yang ada pada tree
3. Prosedur TraverseTree: menelusuri semua node pada tree
4. Prosedur deleteTree: menghapus sebuah node dari tree
5. Prosedur removeTree: menghapus sebuah tree
13.2 Struktur Graf (Graph)

9
Graf adalah struktur data yang terdiri dari kumpulan vertex (V) dan edge (E), biasa
ditulis sebagai , dimana vertex adalah node pada graf, dan edge adalah
rusuk/jaring yang menghubungkan dua node. Jaring terdefenisi melalui paangan node
(v, w), di mana v disebut tail dan w disebut head dari jaring tersebut.
Ada dua kategori graf yaitu :
1. Undirected graph: graf dimana edge tidak emmiliki arah
2. Direct graph: graf dimana edge memiliki arah

Beberapa istilah yanag sering digunakan dalam masalah graf antara lain sebagai
berikut :

1. Adjecent vertex : dua node berdekatan, terhubung langsung oleh vertex


2. Path : jalur melalui edde yang menghubungkan satu vertex ke vertex yang lain,
panjang suatu jalur ditentukan oleh jumlah jaring (edge) yang menghubungkan dua
vertex
3. Complete graph : graf dimana semua vertex terhubung langsung satu dengan yang
lain
4. Weighted graph : graf yang setiap edgenya memiliki bobot/nilai
5. Cycle : jalur yang mulai dari suatu vertexdan berakhir pada vertex yang lain

BAB 14. Pemrograman Berorientasi Objek


Objek dalam pengertian sehari-hari adalah benda, baik secara fisik dapat diketahui
keberadaannya maupun yang bersifat khayal (virtual).Analogi objek pada pemrograman
prosedural adalah “fungsi” atau “prosedur” yang bekerja mandiri menghasilkan sesuatu
dalam suatu proses pertukaran data dengan program utama.
Ada beberapa konsep yang terkandung dalam pembahasan objek, antara lain :
1. Abstaction : Karakteristik mendasar yang dimiliki sebuah objek atau entitas yag
membedakannya dari objek atau entitas lain
2. Attributre : sifat-sifat atau data yang dimiliki suatu objek
3. Method/Behaviour : fungsi atau kelakuan yang dimiliki suatu objek
4. Encapsulation : Penyembunyian data/informasi yang merupakan kesatuan dari suatu
objek sehingga objek ini dapat dimanfaaatkan tanpa harus tahu secara detail
bagaimana objek tersebut berkelakuan

10
5. Inheritance : karakteristik suatu objek dapat diwariskan kepada objek lain, baik
seluruh maupun sebagian
6. Polymorphism : suatu nama fungsi bisa memiliki kelakuan yang berbeda-beda,
merupakan suatu kemampuan dari objek untuk menyembunyikan berbagai
implementasi dari suatu nama fungsi
7. Interface : antarmuka yang dimiliki oleh sebuah objek. Sebuah objek dapat
berhubungan dengan objek lain hanya melalui interface yang disediakan.

11
BAB II
RANGKUMAN ISI

Algoritma adalah deretan langkah-langkah atau deretan instruksi yang jelas dan logis
untuk menyelesaikan suatu permasalahan, yaitu memperoleh keluaran yang diinginkan dari
suatu masukan. Dalam bidang pemrograman, algoritma didefenisikan sebagai “suatu metode
khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara
sistematik, yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan
komputer. Dan untuk mempermudah dalam penulisan algoritma maka para ilmuan dibidang
pemrograman membentuk diagram alir (Flowhart) yang mampu bekerja seperti algoritma
biasa.
Stuktur dasar algoritma bahasa pemrograman teridiri dari bagian kepala, deklarasi dan
deskipsi. Beberapa hal penting dalam bahasa pemrogram pada komputer yaitu tipe data,
variabel, nilai, dan ekspresi. Instruksi utama dari bahasa pemrograman ada 3, urutan,
pemilihan dan perulangan.
Semakin rumit suatu program maka akan semakin panjang algoritmanya, untuk itu
diperlukan prosedur dan fungsi. Bila prosedur dan fungsi adalah suatu program tambahan
yang dipanggil oleh program utama, maka adapula suatu program yang dapat memanggil
dirinya, disebut larik/array.

12
BAB III
PEMBAHASAN

Dalam mengkritisi buku yang berjudul Algoritma dan Pemrograman karya Suarga,
penulis menggunakan dua buah buku pembanding, yaitu buku karya Rinaldi Munir yang
berjudul Algoritma &Pemrograman dalam Bahasa Pascal dan Bahasa C dan buku Struktur
Data karya Emy Setyaningsih. Dan materi yang akan dikritisi sendiri terdiri atas 7 bab yang
dimulai dari bab 1 sampai dengan bab 7, atau dimulai dari materi pendahuluan sampai
dengan larik.
3.1 Fisik/Penampilan Buku
Dari segi fisiknya, buku Algoritma karya Suarga sudah tergolong baik, ukuran
ukuran buku tidak terlalu kecil dan tidak terlalu besar. Jenis kertas yang digunakan tidak
bewarna putih terang, melainkan sedikit keabu-abuan, sehingga mata tidak mudah jenuh
membacanya. Selain itu ukuran huruf sudah sesuai serta tatanan pengetikan cukup baik,
jarak spasi yang pas membuat pembaca nyaman dalam membaca. Namun sayang sekali
sampul dari buku tidak menggambarkan isi buku, berbeda dengan buku bahasa
pemrogaman pada umumnya yang menampilkan simbol-simbol atau gambar-gambar
yang mewaikili isi materinya.
3.2 Penggunaan Bahasa
Dibanding buku algoritma karya Rinaldi Munir, bahasa dari buku Suarga ini jauh
lebih mudah dipahami dan tidak begitu matematis, selain dikarenakan penggunaan kata
atau kalimat sehari-hari, susunannya juga sesuai dengan EYD Bahasa Indonesia.
Pengertian algoritma di dalam buku Suarga :
“Algoritma adalah teknik penyusunan langah-langkah penyelesaian masalah dalam
bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis.”
Pengertian algoritma di dalam buku Rinaldi Munir :
“Algoritma adalah prosedur komputasi yang terdefenisi dengan baik yang menggunakan
beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut
keluaran. Jadi algorim adalah deret langkah komputasi yang mentransformasikan
masukan menjadi keluaran.”
3.3 Materi Isi Buku
Susunan bab-bab pada buku Suarga tidak sama dengan Buku karya Rinaldi Munir
dan buku karya Emy Setyaningsih ada beberapa bab yang dibahas pada buku

13
pembanding ada juga bab-bab pada buku pembanding namun tidak ditemukan pada buku
utama, oleh sebab itu penulis hanya mengkritik materi-materi dari bab 1-7 pada buku
utama yang kemudian disesuaikan dengan buku pemmbanding meski urutan babnya
berbeda.
Bab 1 yaitu pendahuluan, buku utama membahas mengenai pengertian dari
algoritma, ciri-ciri algoritma, struktur algoritma, dan diagram alir (flowcharting). Buku
Suarga langsung mempelihatkan poin penting yaitu defenisi algoritma, tidak
memahamkan konsep dasar algoritma itu sendiri kepada para pembacanya seperti pada
buku Rinaldi Munir.
Bab 2 membahas mengenai tipe data, variabel, nilai, dan ekspresi, berbeda
dengan buku pembanding yang meletakkan materi pada bab 4, penulis berpendapat
bahwa sudah sangat tepat memperkenalan bagian-bagian tersebut setelah pembaca
memahami pengertian dari algoritma.
Untuk bab 3 pada buku Suarga dengan judul intruksi utama berisi tentang
kontstruksi algoritma yaitu runtunan, pengulangan, dan pemilihan. Sudah cukup baik
untuk bab ini, setiap sub bab dijelaskan dengan terperinci dan disertai dengan contoh-
contohnya.
Berbeda dengan buku pembanding, pada buku ini ada bab terkhusus yang
membahas contoh permasalahan algoritma yaitu pada bab 4. Menurut pengkritik, bab ini
sangat baik jika dimunculkan, namun akan lebih baik dan lengkap jika diletakkan di
akhir bab, karena contoh yang ditampilkan akan lebih banyak dan kompleks.
Untuk prosedur dan fungsi yang dibahas pada bab 5 sedikit berbeda dengan
materi prosedur dan fungsi yang ada pada buku pembanding. Pada buku ini prosedur
terbagi kepada subrutin dan fungsi, sedangkan pada buku pemanding prosedur dan fungsi
merupakan hal yang berbeda dan terpisah pada bab yang berbeda.
Sedangkan bab 6, menurut pengkritik sebenarnya bab ini bisa dimasukkan ke
dalam pembahasan bab 2 mengenai tipe data, vaiabel nilai, dan ekspresi karena saling
berkaitan.
Terdapat perbedaan mencolok pada bab 7 yang berjudul larik. Pada buku utama
dijelaskan pembagian larik (dimensi satu, dimensi duan, dan dimensi tiga) sama seperti
buku strktur data karya Emy Setyaningsih, sedangkan pada buku pembanding karya
Munir berbeda, namun jika dipahami seksama larik yang dibahas berdimensi satu.
Pembahasan mengenai larik ini sendiri lebih jauh dijelaskan oleh buku karya munir.

14
BAB IV
PENUTUP

4.1 Kesimpulan
Berdasarkan pembahasan maka dapat disimpulkan bahwa buku Algoritma karya
Suarga tidak berbeda jauh dengan buku algoritma pada umumnya. Buku ini juga
menggunakan bahasa yang baik dan mudah dipahami sehingga sangat cocok dipakai
sebagai buku pegangan oleh pembaca yang baru saja mempelajari materi algoritma.
Meski banyak perbedaan penyusunan urutan materi namun hal itu tidak menjadi
masalah, tergantung cara masing-masing penulis membuat pembaca lebih mudah
memahami materi. Dan menurut pengkritik penyusunan urutan materi oleh Suarga sudah
cukup baik.

15
DAFTAR PUSTAKA

Munir, Rinaldi. 2007. Algoritma dan Pemrograman dalam Bahasa Pascal dan C Edisi
Revisi. Bandung : Informatika.

Setyanngsih, Emy. 2012. Struktur Data. Yogyakarta: AKPRIND PRESS.

Suarga. 2012. Algoritma dan Pemrograman. Yogyakarta: C.V Andi Offset.

16

You might also like