Professional Documents
Culture Documents
CBR1
CBR1
BAHASA INDONESIA
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
ii
BAB I
PENGENALAN BUKU
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
Connector Penghubung
Off-page
Penghubung pada halaman berbeda
Connector
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.
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 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.
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.
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.
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
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.
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 :
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.
16