Anda di halaman 1dari 38

CRITICAL BOOK REVIEW

(CBR)
Daftar Isi
● Identitas Buku
● Isi Buku
● Pembahasan
● Kesimpulan
Identitas Buku
Buku 1 Buku 2
Judul Buku : Data Structures and Algorithms Using Judul Buku : Data Structures and Algorithms with
Python Python
Penulis : Rance D. Necaise Penulis : Kent D. Lee Steve Hubbard
Penerbit : JOHN WILEY & SONS, INC. Penerbit : Springer
ISBN : 978-0-470-61829-5 ISBN : 978-3-319-13071-2
Tahun Terbit : 2011 Tahun Terbit : 2015
Jumlah Halaman : 507 Jumlah Halaman : 361
Isi Buku
BUKU 1

SET DAN PETA


Set ADT adalah wadah yang biasa digunakan dalam
ilmu komputer.
Kumpulan Tipe Data Abstrak
Mendefiniskan Setel ADT
● Set () : Membuat set baru yang diinisialisasi dengan set kosong.
● Panjang () : Mengembalikan jumlah elemen dalam himpunan.
● Akses melalui fungsi len() :Menunjukkan apakah nilai yang ditentukan
● Add (elemen) : Ubah himpunan dengan menambahkan nilai yang ditetapkan ke himpunan
● Hapus (elemen) : Jika nilainya ada di himpunan, hapus nilai yang ditentukan dari himpunan. Jika tidak, itu
melempar pengecualian.
● Equals (setB) : Menentukan apakah suatu himpunan sama dengan himpunan lain
● isSubsetOf (setB) : Menunjukkan apakah suatu himpunan
● Union (setB) : Membuat dan mengembalikan set baru
● Persimpangan (setB) : Membuat dan mengembalikan set baru dari persimpangan dari set ini dan set B.
● Selisih (setB) : Membuat dan mengembalikan set baru
Memilih Struktur Data
Ingatlah bahwa kamus berisi pasangan kunci / nilai, ini membutuhkan dua bidang data untuk setiap
entri. Untuk menggunakan struktur array. Simpan elemen set dan sediakan, seperti dalam kasus tas
Fungsionalitas ADT penuh. Daftar memungkinkan nilai duplikat, jadi Namun, sebagai bagian dari
implementasi
Implementasi Berbasis Daftar
Menambahkan Elemen
Seperti yang disebutkan sebelumnya, struktur daftar tidak menambahkan nilai duplikat, jadi Anda perlu memastikan bahwa tidak ada
nilai duplikat yang ditambahkan ke kumpulan. Saat menerapkan metode tambah yang ditunjukkan pada baris 16-18. Apakah item
tersebut sudah ada dalam daftar. Jika itemnya unik, tambahkan saja nilainya di akhir daftar.

Membandingkan Dua Set


Pastikan kedua himpunan berisi jumlah elemen yang sama. Kalau tidak, mereka tidak bisa sama. Membandingkan elemen individu tidak
efisien karena kita telah mengetahui bahwa kedua himpunan tidak mungkin sama.
Peta adalah wadah untuk menyimpan kumpulan
catatan, dan setiap catatan dikaitkan dengan kunci
unik.
Kumpulan Tipe Data Abstrak Peta
Mendefinisikan Peta ADT
● Peta () : Buat peta kosong baru.
● Panjang () : Mengembalikan jumlah pasangan kunci/nilai dalam peta.
● Berisi (kunci) : Menunjukkan apakah kunci yang ditentukan ada pada kartu, mengembalikan True jika kunci ditemukan,
Salah jika tidak ditemukan.
● Add (key, value) : Menambahkan pasangan kunci/nilai baru ke peta jika kunci belum ada di peta.
● Hapus (kunci) : Menghapus pasangan kunci / nilai untuk kunci yang ditentukan jika ada di peta
● Valueof (key) : Mengembalikan record yang terkait dengan kunci yang ditentukan.
● Iterator () : Membuat dan mengembalikan iterator yang dapat digunakan untuk mengulang kunci pada peta
Implementasi Berbasis Daftar
Implementasi bag dan set ADT menggunakan satu daftar untuk menyimpan barang individu. Namun, untuk ADT Peta,
Anda perlu menyimpan komponen kunci dan komponen nilai yang sesuai untuk setiap entri di peta.
Untuk beberapa alasan, tidak mungkin untuk menambahkan pasangan komponen ke daftar tanpa mempertahankan
asosiasi . Satu untuk kunci dan satu untuk nilai yang sesuai. Untuk mencapai ini, setiap kunci / nilai harus disimpan
dalam elemen yang sesuai dari daftar paralel, dan pemetaan ini harus dipertahankan.
Array Multi-Dimensi
Array 3D dapat divisualisasikan sebagai kisi tabel di mana setiap tabel dibagi menjadi baris dan kolom.

Sebagian besar bahasa pemrograman tingkat tinggi menyediakan cara yang nyaman untuk membuat dan mengelola array multidimensi,
sementara bahasa lain memerlukan pendekatan yang lebih pragmatis. C++ dan Java adalah dua contoh bahasa yang menyediakan arra y
multidimensi sebagai bagian dari bahasa.
Tipe Data Abstrak MultiArray
Mendefinisikan MultiArray ADT
● MultiArray (d1, d2, .. dn) : Membuat array elemen multidimensi n-dimensi, setiap elemen awalnya diatur ke None.
● Panjang (redup) : Mengembalikan panjang dimensi larik yang ditentukan.
● clear (nilai) : Menghapus array dengan mengatur setiap elemen ke nilai yang ditentukan.
● Getitem (i1, i2, ... in) : Mengembalikan nilai elemen posisi yang ditentukan oleh ntuple (i1, i2, ... in) yang
disimpan dalam array.
● Setitem (i1, i2, ... in, value) : Memodifikasi konten array dalam definisi item untuk memasukkan nilai yang ditentukan.
Organisasi Data
Array multi-dimensi tidak ditangani di tingkat perangkat keras. Array satu dimensi terdiri dari sekelompok elemen berurutan yang
disimpan di lokasi memori yang berurutan.Dalam kebanyakan bahasa pemrograman, array multi dimensi sebenarnya dibuat dan
disimpan dalam memori sebagai array satu dimensi. Dengan organisasi ini, array multidimensi hanyalah tampilan abstrak dari st ruktur
data fisik satu dimensi.

Penyimpanan Array
Array satu dimensi biasanya digunakan untuk menyimpan array dimensi yang lebih tinggi secara fisik. Elemen dapat disimpan dalam
urutan baris-utama atau urutan kolom-utama. Sebagian besar bahasa pemrograman tingkat tinggi menggunakan urutan baris-utama,
dengan FORTRAN menjadi salah satu dari sedikit bahasa yang menggunakan urutan kolom-utama untuk menyimpan dan mengelola
array 2-D.
Argumen Panjang Variabel
Definisi ADT MultiArray memerlukan argumen panjang variabel untuk konstruktor dan dua metode
akses elemen. Jumlah argumen yang diteruskan ke setiap metode seharusnya sama dengan jumlah
dimensi dalam array. Fungsi dan metode Python dapat didefinisikan untuk menerima sejumlah
variabel argumen, yang persis seperti yang kita perlukan untuk mengimplementasikan MultiArray
ADT.
Menerapkan MultiArray

Konduktor Akses Elemen

Dimensi dan Panjang Menghitung Offset


Aplikasi: Laporan Penjualan

Organisasi Data
Total Penjualan
berdasarkan Toko

Total Penjualan per Bulan

Total Penjualan
berdasarkan Item

Penjualan Bulanan
berdasarkan Toko
BUKU 2

SET DAN PETA


Memainkan Sudoku
SET
Hashing
Kelas Hashset
Memecahkan sudoku
MAPS
Memoisasi
Fungsi Fibonacci Yang Dimemmoisasi
Menghubungkan Dua Sumber Informasi
Pembahasan
Analisis Hasil Studi Kasus
Pencarian Data
Hasil Kerja
Hasil Kerja
kesimpulan

Set ADT adalah wadah yang biasa digunakan dalam ilmu komputer. Namun, tidak seperti bagian ADT
yang diperkenalkan di Bab 1, himpunan berisi nilai unik dan mewakili struktur yang sama dengan
matematika. Ini biasanya digunakan saat anda perlu menyimpan koleksi nilai unik terlepas dari cara
penyimpanannya, atau saat anda perlu melakukan operasi himpunan matematika yang berbeda pada
koleksi. Algoritme reduksi untuk teka-teki Sudoku memanipulasi set angka dan menghilangkan nilai yang
mungkin dari set tersebut saat pengurangan berlangsung. Himpunan adalah kumpulan yang tidak
mengizinkan nilai duplikat. Set dapat terdiri dari nilai apa pun. Bilangan bulat, objek karyawan, karakter,
string, secara harfiah objek apa pun dalam Python bisa menjadi elemen dari beberapa set. Suatu
himpunan memiliki kardinalitas. Kardinalitas suatu himpunan adalah jumlah item di dalamnya.
Mencari item data berdasarkan nilai kunci unik adalah aplikasi yang sangat umum dalam ilmu komputer.
Tipe data abstrak yang menyediakan tipe pencarian ini sering disebut sebagai peta atau kamus karena
mereka memetakan kunci ke nilai yang sesuai. Pikirkan tentang masalah lulusan perguruan tinggi yang
perlu mengelola dan memproses sejumlah besar data terkait siswa. Peta dalam ilmu komputer tidak
seperti peta yang biasa Anda baca saat pergi ke suatu tempat di mobil Anda . Istilah peta adalah istilah
yang lebih matematis yang mengacu pada fungsi yang memetakan domain ke rentang. Anda mungkin
sudah menggunakan peta dengan Python. Peta disebut dengan banyak nama termasuk kamus, tabel
hash, dan peta hash. Mereka semua adalah struktur data yang sama.

Anda mungkin juga menyukai