Anda di halaman 1dari 22

CRITICAL BOOK REVIEW

MK . STRUKTUR DATA DAN ALGORITMA

PRODI S1 PENDIDIKAN MATEMATIKA

SKOR :

NAMA MAHASISWA : AMANDA AZIZSYAH PUTRI (4193311076)

CINDERA INDAH AFRIANA NAINGGOLAN (4193311058)

RINI AYUNIARA (4193311055)

DOSEN PENGAMPU : NURUL AFNI SINAGA,M.Pd

MATA KULIAH : STRUKTUR DATA DAN ALGORITMA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

PROGRAM STUDI S1 PENDIDIKAN MATEMATIKA

UNIVERSITAS NEGERI MEDAN

MEDAN, 2021
EXECUTIVE SUMMARY
Struktur data merupakan cara menyimpan atau merepresentasikan data di dalam komputer agar
bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia nyata. Pemakaian
struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang jauh lebih
jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana. Belajar
bahasa pemrograman adalah belajar memakai suatu bahasa, aturan tata bahasanya, instruksi-
instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa
itu saja.

Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk
memecahkan suatu permasalahan. Algoritma merupakan sederetan langkah-langkah logis yang disusun
secara sistematis untuk memecahkan suatu masalah. Algoritma lebih merupakan alur pemikiran untuk
menyelesaikan suatu pekerjaan atau suatu masalah.

Dalam struktur data dan algoitma perlu belajar pemrograman. Belajar memprogram adalah
belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu
yang mudah dibaca dan dipahami.

Beberapa Outline Algoritma dan Struktur Data adalah sebagai berikut :

- Logika Pemrograman Pengertian dasar algoritma


- Algoritma dan Flowchart
- Array, Record dan pointer
- Fungsi dan Prosedur
- Searching dan sorting
- Stack dan queue
- Linked list
- Rekursif
- Tree
- Hashing

Salah satu yang dibahas dalam CBR ini ada linked list. Linked list dalam ilmu computer
merupakan struktur data yang digunakan untuk menyimpan sejumlah objek data, biasanya secara

i
terurut sehingga memungkinkan penambhan, pengurangan, dan pencatrian atas elemen data yang
tersimpan dalam linked dilakukan secara lebih efektif.

Linked list merupakan bentuk struktur data paling umum dan sederhana yang banyak digunakan
untuk mengimplementasikan model struktur data lainnya, termasuk antrian, stack, ataupun larik
assosiatif. Pada praktiknya sebuah struktur data memiliki elemen yang digunakan untuk saling
menyimpan rujukan antara satu dengan lainnya sehingga membentuk sebuah linked list, tiap-tiap
elemen yang terdapat pada senarai abstrak ini sering kali disebut node. Karena mekanisme rujukan
yang saling terkait inilah disebut sebagai linked list.

ii
KATA PENGANTAR

Puji dan syukur kehadirat Tuhan Yang Maha Esa yang telah memberikan rahmat, karunia dan
hidayah-Nya, sehingga Kami mampu menyelesaikan tugas Critical Book Report (CBR) ini. Critical
Book Report (CBR) ini penyusun selesaikan untuk memenuhi salah satu tugas mata kuliah Struktur data
dan algoritma.
Kami menyadari bahwa Critical Book Report (CBR) ini masih memiliki banyak kekurangan. Oleh
karena itu penyusun mengharapkan kritik dan saran yang membangun dari pembaca terutama kepada
Ibu NURUL AFNI SINAGA,M.Pd selaku Dosen Pengampu mata kuliah Struktur data dan algoritma.
Semoga Critical Book Report (CBR) ini dapat memberikan manfaat bagi para pembaca dan khususnya
bagi Kami sendiri. Akhir kata, penyusun mengucapkan terima kasih.

Medan, Maret 2020

Kelompok 4

iii
DAFTAR ISI

EXECUTIVE SUMMARY......................................................................................................................i

KATA PENGANTAR............................................................................................................................iii

DAFTAR ISI...........................................................................................................................................iv

BAB I.........................................................................................................................................................1

PENDAHULUAN....................................................................................................................................1

A. RASIONALISASI PENTINGNYA CBR..........................................................................................1

B. TUJUAN PENULISAN CBR.............................................................................................................1

C. MANFAAT CBR.................................................................................................................................1

D. IDENTITAS BUKU............................................................................................................................2

BAB II.......................................................................................................................................................3

RINGKASAN ISI BUKU........................................................................................................................3

BAB I STRUKTUR DATA DENGAN PASCAL.................................................................................3

BAB II SORTING....................................................................................................................................3

BAB III LINKED LIST...........................................................................................................................4

BAB IV STACK (TUMPUKAN)............................................................................................................4

BAB V QUEUE (ANTRIAN)..................................................................................................................4

BAB VI TREE..........................................................................................................................................5

BAB III......................................................................................................................................................6

PEMBAHASAN ISI BUKU....................................................................................................................6

A. Pembahasan bab 1 struktur data dan array..............................................................................6

B. Pembahasan bab 2 sorting...........................................................................................................6

iv
C. Pembahasan bab 3 linked list......................................................................................................6

D. Pembahasan bab 4 stack..............................................................................................................7

E. Pembahasan bab 5 Queue (Antrian )..........................................................................................7

F. Pembahasan bab 6 Tree...................................................................................................................8

 KELEBIHAN DAN KEKURANGAN BUKU...............................................................................8

BAB IV....................................................................................................................................................10

PENUTUP...............................................................................................................................................10

A. KESIMPULAN...........................................................................................................................10

B. REKOMENDASI........................................................................................................................10

DAFTAR PUSTAKA.............................................................................................................................11

LAMPIRAN............................................................................................................................................11

 Buku yang diriview.........................................................................................................................11

Buku pembanding 1...............................................................................................................................14

 Buku pembanding 2.......................................................................................................................16

v
BAB I

PENDAHULUAN

A. RASIONALISASI PENTINGNYA CBR


Mahasiswa adalah salah satu sumber daya manusia yang dimiliki oleh setiap negara, termasuk
Indonesia. Seorang mahasiswa harus peka terhadap perkembangan zaman dan informasi yang ada
disekitarnya. Berbagai cara dapat dilakukan untuk mendapatkan informasi, salah satu nya adalah
dengan membaca buku. Membaca buku adalah suatu kegiatan yang sangat penting bagi seorang
mahasiswa dalam proses belajarnya dikampus.
Membaca buku dianggap sangat penting karena buku merupakan sumber ilmu dan informasi yang
dapat dipercaya. Kecanggihan teknologi dan perkembangan zaman juga tidak terlepas dari peran buku
dalam kehidupan ini. Oleh sebab itu, seorang mahasiswa harus menjadi buku sebagai “teman” untuk
mendapatkan ilmu dan informasi. Tidak hanya membaca buku, seorang mahasiswa juga harus dapat
menilai buku yang dibacanya apakah sudah baik atau belum. Kegiatan penilaian ini dapat kita sebut
dengan “Critical Book Report”. Critical Book Report dapat dilakukan mahasiswa secara sederhana.
Sebelum melakukan penilaian mahasiswa harus terlebih dahulu memahami isi buku yang di kritik
kemudian dapat membandingkannya dengan buku lain sebagai pembanding untuk menilai buku yang
dikritik.

B. TUJUAN PENULISAN CBR


1) Untuk mengetahui isi buku dengan cara membuat ringkasannya.
2) Untuk mengetahui keunggulan dan kelemahan buku yang dikritik.
3) Untuk mengetahui perbandingan buku yang dikritik dengan buku yang lain.

C. MANFAAT CBR
1) Agar menambah wawasan melalui isi buku yang diringkas.
2) Agar mengetahui keunggulan dan kelemahan buku yang di kritik.
3) Agar mengetahui perbandingan buku yang dikritik dengan buku yang lain.

1
D. IDENTITAS BUKU

Identitas Buku I
1. Judul buku : Struktur data
2. Penulis : emmy ningsih
3. Penerbit : Akprind Press
4. Halaman : 114 halaman
5. Kota terbit : Yogyakarta
6. Tahun : 2012

Identitas Buku II
1. Judul buku: Algoritma dan struktur data untuk perguruan tinggi
2. Penulis : Rintho Rante Rerung,S.kom, M.kom
3. Penerbit : CV . Insan Cendekia Mandiri
4. Halaman : 168 Halaman
5. Kota terbit : solok
6. Tahun : 2020

2
BAB II

RINGKASAN ISI BUKU

BAB I STRUKTUR DATA DENGAN PASCAL


Struktur data adalah abstraksi model penyimpanan/pengaturan/susunan data di dalam memori/RAM
komputer atau koleksi dari suatu variabel yang dapat dinyatakan dengan sebuah nama, dengan sifat
setiap variabel dapat memiliki tipe yang berlainan. Struktur data dipakai untuk mengelompokkan
beberapa informasi yang berkaitan menjadi sebuah kesatuan. Struktur data diperlukan dalam rangka
membuat program komputer. Untuk menyusun sebuah program komputer diperlukan tiga macam
komponen dasar, yaitu: Algoritma; Bahasa pemrograman; dan Struktur data.

Aspek yang berkaitan dengan algoritma adalah efisiensi algoritma atau ukuran algoritma. Yang
ditentukan oleh dua hal, yaitu: Efisiensi waktu dan Efisiensi memori. Bahasa pemrograman meliputi:
Sintaks, Reserved word, Function; dan Procedure. Struktur data meliputi: nilai data (data value), yaitu
numerik atau non numerik, Relasi antar data, Prosedur / fungsi atau operasi pada data. Operasi pada
data dibedakan menjadi dua macam, yaitu: Operasi menambahkan (insert) data dan Operasi menghapus
(delete)data.

BAB II SORTING
Sorting adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola
tertentu ataupun secara acak, sehingga menjadi tersusun secara teratur menurut aturan tertentu. Ada 2
macam pengurutan, yaitu: pengurutan secara ascending (urut naik) dan pengurutan secara descending
(urut turun). Sorting ini diklasifikasikan menurut langkah yang terjadi dalam proses pengurutan, seperti
berikut ini :

• Exchangesort
• Insertionsort
• Selectionsort
• Non-comparisonsort

3
BAB III LINKED LIST
Linked list adalah koleksi dari obyek-obyek homogen dengan sifat setiap obyek (kecuali terakhir)
punya penerus dan setiap obyek (kecuali yang pertama) punya pendahulu. Linked list dapat
diilustrasikan seperti satu kesatuan rangkaian kereta api. Kereta api terdiri dari beberapa gerbong,
masing-masing dari gerbong itulah yang disebut node/tipe databentukan.

Linked list merupakanbentukstruktur data paling umumdansederhana yang banyak digunakan untuk
mengimplementasikan model struktur data lainnya, termasuk antrian, stack, ataupun larik assosiatif.
Pada praktiknya sebuahstruktur data memiliki elemen yang digunakan untuk saling menyimpan
rujukan antara satu dengan lainnya sehingga membentuk sebuah linked list, tiap-tiap elemen yang
terdapat pada senarai abstrak ini sering kali disebut node. Karena mekanisme rujukan yang saling
terkait inilah disebut sebagai linked list.

BAB IV STACK (TUMPUKAN)


Stack diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakkan di atas data
yang lain. Di dalam stack, kita dapat menambahkan/ menyisipkan dan mengambil/ menghapus data
melalui ujung yang sama yang disebut sebagai puncak stack (top of stack). Stack mempunyai sifat
LIFO (Last IFirst Out), artinya data yang terakhir masuk adalah data yang pertama keluar. Ada 2
operasi paling dasar dari stack yang dapat dilakukan, yaitu : Operasi push; operasi pop. Array dapat
digunakan untuk penyajian stack, tetapi dengan anggapan bahwa banyaknya elemen maksimal suatu
stack tidak melebihi batas maksimum banyaknya array. Ada dua jenis bentuk stack menggunakan
array, yaitu single stack dan doublestack.

BAB V QUEUE (ANTRIAN)


Queue merupakan kumpulan data dengan penambahan data hanya melalui satu sisi, yaitu belakang
(tail) dan penghapusan data hanya melalui sisi depan (head). Berbeda dengan stack yang bersifat LIFO
maka queue bersifat FIFO (First In First Out), yaitu data yang pertama masuk akan keluar terlebih
dahulu dan data yang terakhir masuk akan keluar terakhir. Perbedaan antara stack dan queue terdapat
pada aturan penambahan dan penghapusan elemen. Pada stack, operasi penambahan dan penghapusan
elemen dilakukan di satu ujung. Elemen yang terakhir kali dimasukkan akan berada paling dekat
dengan ujung atau dianggap paling atas sehingga pada operasi penghapusan, elemen teratas tersebut
4
akan dihapus paling awal, sifat demikian dikenal dengan LIFO. Pada queue,operasi tersebut dilakukan
di tempat yang berbeda. Penambahan elemen selalu dilakukan melalui salah satu ujung, menempati
posisi di belakang elemen-elemen yang sudah masuk sebelumnya atau menjadi elemen paling
belakang. Sedangkan penghapusan elemen dilakukan di ujung yang berbeda.

BAB VI TREE
Tree adalah kumpulan simpul/node dengan satu elemen khusus yang disebut root dan node T
lainnya terbagi menjadi himpunan-himpunan yang saling tidak berhubungan satu sama lain. Tree
merupakan salah satu bentuk struktur data tidak linier yang menggambarkan hubungan yang bersifat
hirarkis (hubungan one tomany) antara elemen-elemen. Binary Tree adalah Tree dengan syarat bahwa
tiap node hanya boleh memiliki dua subTree dan kedua subTree tersebut harus terpisah. Sehingga
setiap node hanya boleh memiliki paling banyak 2 child. Binary Tree bersifat bahwa semua left child
harus lebih kecil dari pada right child dan parent.Dan semua right child harus lebih besar dari left child
serta parentnya.

Implementasi dalam pemrograman ini akan digunakan untuk pohon biner saja. Data yang
digunakan untuk implementasi binary Tree adalah data bertipe data char. Masing-masing obyek atau
node dalam binary Tree memiliki dua pointer yang biasa disebut left dan right.

5
BAB III

PEMBAHASAN ISI BUKU

A. Pembahasan bab 1 struktur data dan array


Pada buku pertama membahas tentang struktur data dan array pada materi ini di jelaskan dengan
lengkap definisi dari struktur data , struktur data adalah abstraksi model penyimpanan dan pengaturan
susunan data di dalam RAM komputer atau koleksi dari suatu variabel yang dapat dinyatakan dengan
sebuah nama, dengan sifat setiap variabel dapat memiliki tipe yang berlainan. Dan pada buku utama di
jelaskan pengelompokkan dari struktur data dan array
Sedangkan pada buku ke dua pada bab ini dijelaskan konsep algoritma, definisinya, sejarahnya,
ciri-ciri, sifat dan struktur algoritma sekaligus sudah membahas bentuk bentuk flowchart sekaligus
sejarahnya, ciri-ciri, sifat dan struktur algoritma.

B. Pembahasan bab 2 sorting


Pada buku pertama dijelaskan di buku tersebut definisi dari Sorting adalah proses menyusun
kembali data yang sebelumnya telah disusun dengan suatu pola tertentu ataupun secara acak, sehingga
menjadi tersusun secara teratur menurut aturan tertentu. Pengklasifikasiannya adalah sebagai berikut :
Exchange sort , Selection sort , Insertion sort, Non-comparison sort
Pada buku kedua menjelaskan materi tipe data , adapun definisi dari tipe data menurut buku kedua
adalah Data types atau tipe data adalah sebuah pengklasifikasian data berdasarkan jenis data tersebut.
Tipe data dibutuhkan agar kompiler dapat mengetahui bagaimana sebuah data akan digunakan. Untuk
mengembangkan sebuah program, ada beberapa tipe data yang akan kita pelajari. Di antaranya adalah
Character, String, Array, Numbers dan Booleans.

C. Pembahasan bab 3 linked list


Pada buku utama menjelaskan definisi dari Linked list yang dimana linked list adalah Linked List
adalah suatu struktur data linier. Berbeda dengan array yang juga merupakan struktur data linier
dan tipe data komposit, linked list dibentuk secara dinamik. Pada saat awal program dijalankan

6
elemen linked list belum data. Elemen linked list (disebut node) dibentuk sambil jalan sesuai
instruksi.
Pada buku pembanding membahas tentang pengenalan struktur data yang dimana definisi struktur
data pada buku kedua adalah Stuktur data adalah sebuah proses bagaimana menyimpan, menyusun, dan
mengurutkan data dalam memory agar dapat dipergunakan secara efisien. Struktur data bisa juga
berarti tata letak data yang berisi kolom-kolom data,baik itu kolom yang tampak oleh pengguna (user)
ataupun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh
pengguna. Sebuah struktur data dapat diterapkan untuk pengolahan database, misalnya untuk keperluan
data keuangan, atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis.

D. Pembahasan bab 4 stack


Pada buku yang utama stack bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data
yang diletakkan di atas data yang lain. Di dalam stack, kita dapat menambahkan/ menyisipkan dan
mengambil/menghapus data melalui ujung yang sama yang disebut sebagai puncak stack (top of stack).
Pada buku kedua membahas tentang sorting dan seacrhing dimana searching Sorting adalah
pengurutan data. Data diurutkan dari yang terkecil sampai yang paling besar atau sebaliknya.
Tujuannya supaya data tersebut jadi tersusun rapi, terurut dan teratur. Algoritma untuk melakukan
sorting sperti itu ada bermacam-macam diantaranya BubbleSort, SelectionSort, InsertionSort,
QuickSort, ExchangeSort, HeapSort, SmoothSort, CocktailSort, ShellSort, MergeSort, dan masih
banyak lagi yang lainnya. Kali ini kita akan membahas 5 macam sorting saja yaitu BubbleSort,
SelectionSort, InsertionSort, ExchangeSort dan QuickSort dan Searching adalah pencarian suatu data
dalam sekumpulan data . Kali ini kita akan bahas tentang 2 jenis searching yaitu Sequential Search dan
Binary Search.

E. Pembahasan bab 5 Queue (Antrian )


Pada buku utama menjelaskan menyatakan bahwa Queue merupakan kumpulan data dengan
penambahan data hanya melalui satu sisi, yaitu belakang (tail) dan penghapusan data hanya melalui sisi
depan (head). queue bersifat FIFO (First In First Out), yaitu data yang pertama masuk akan keluar
terlebih dahulu dan data yang terakhir masuk akan keluar terakhir.
Pada buku kedua membahas struktur data linear array ,stack, queue pada buku kedua struktur data
berarti tata letak data yang berisi kolom-kolom data,baik itu kolom yang tampak oleh pengguna (user)
ataupunkolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna.

7
Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data
dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari
pengguna dan juga ada kolom yang lebarnya tetap. Queue (antrian) adalah barisan elemen/data dimana
proses memasukkan/menambah elemen/data dilakukan pada posisi belakang (rear) dan proses
mengeluarkan/mengambil elemen/data dilakukan pada elemen/data di posisi depan (front) FIFO. Stack
atau tumpukan dapat diartikan sebagai suatu kumpulan data yang seolah-olah terlihat seperti ada data
yang diletakkan di atas data yang lain. Kaidah utama dalam konsep stack adalah LIFO yang merupakan
singkatan dari Last In First Out, artinya adalah data yang terakhir kali dimasukkan atau disimpan, maka
data tersebut adalah yang pertama kali akan diakses atau dikeluarkan.[4] Berikut ilustrasi kerja sebuah
stack

F. Pembahasan bab 6 Tree


Pada buku yang utama menyatakan definisi dari bahwa Tree adalah kumpulan simpul/node dengan
satu elemen khusus yang disebut root dan node lainnya terbagi menjadi himpunan-himpunan yang
saling tidak berhubungan satu sama lain (disebut subTree).
Pada buku kedua menjelaskan struktur data non linear tree dan graph Pengertian TREE dan GRAP
Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layakya
struktur sebuah pohon. Struktur pohon adalah suatu cara merepresentasikan suatu struktur hirarki (one-
to-many) secara grafis yang mirip sebuah pohon, walaupun pohon tersebut hanya tampak sebagai
kumpulan node-node dari atas ke bawah. Suatu struktur data yang tidak linier yang menggambarkan
hubungan yang hirarkis (one-to-many) dan tidak linier antara elemen-elemennya.

 KELEBIHAN DAN KEKURANGAN BUKU

1. Dilihat dari tampilan buku, Buku pertama lebih menarik tampilannya dari pada buku kedua
2. Buku pertama dan kedua sudah sama sama memiliki kelebihan dalam ukuran tulisan, tata letak,
dan tata tulis yg jelas
3. Pada buku pertama, materi yg dijelaskan lebih lengkap dalam membahas definisi, sejarah, ciri-
ciri, sifat serta struktur algoritma. Dan buku pertama juga sudah langsung memasuki materi
flowchart. Pada buku kedua materi yg dibahas juga sama akan tetapi masih lebih jelas

8
penjelasan buku pertama, sedangkan materi flowchart pada buku kedua berada pada bab II nya.
Akan tetapi juga kelebihan buku kedua yaitu sudah adanya penjelasan tentang bedanya
algoritma dengan pemrograman, mekanisme Pelaksanaan Algoritma oleh Pemroses Notasi
Penulisan Algoritma, serta membahas membuat program dan belajar bahasa pemrograman.
4. Bahasa pada buku pertama agak sulit dipahami, karena pembaca langsung dibawanya mengenal
kata kata pemegrograman. Sedangkan pada buku kedua Bahasa yg digunakan cukup jelas.

9
BAB IV

PENUTUP

A. KESIMPULAN
Melalui keunggulan dan kelemahan, buku utama dinilai lebih unggul dari buku kedua.
Buku Utama lebih unggul dari segi materi dan cakupan pembahasan yang cukup luas. Selain itu
buku Utama langsung memberi pemahaman mengenai contoh contohnya. Buku Utama banyak
memberikan contoh-contoh teks yang dapat dipelajari oleh mahasiswa untuk menunjang proses
kuliah hingga nanti menyusun skripsi. Pembahasan pada buku Utama banyak sekali memuat
kolom-kolom aplikasi atau tugas bagi mahasiswa untuk memahaminya sehingga membuat
mahasiswa berpikir kritis.

B. REKOMENDASI
Pembaca harus membaca kedua buku, sebab dengan membaca kedua buku tersebut
pemahaman akan algoritma dan pemegrograman akan semakin baik. Walau pun buku utama
lebih unggul dari buku kedua, tetapi buku kedua juga memiliki keunggulan tersendiri dari buku
utama, keduanya saling melengkapi terhadap materi yang disajikan.

10
DAFTAR PUSTAKA

Setianingsih, Emy. 2012. Struktur Data. Yogyakarta; AKPRIND PRESS.

Rerurung,R,R.2020.Algoritma Data untuk Perguruan Tinggi.Sumatra


Barat:Insan Cendikia Mandiri

LAMPIRAN

11
 Buku yang diriview

12
13
Buku pembanding

14
15
16

Anda mungkin juga menyukai