Struktur Data adalah ilmu mengatur data di memori agar operasi yang benar-benar dibutuhkan sebuah program — menyisipkan, menghapus, mencari, mengurutkan — tetap cepat seiring data itu bertumbuh. Buku ini mengajarkan setiap struktur lewat satu contoh yang berjalan terus: Pustaka Ceria, perpustakaan kampus kecil, yang kebutuhannya yang terus bertumbuh dipetakan ke satu bab baru setiap beberapa minggu.
Ringkasan
Struktur Data (DS) dibuka dengan penyegaran C/C++ dan model memori di balik array, lalu bergerak lewat pencarian dan pengurutan, stack dan queue, pointer dan fungsi, singly dan doubly linked list, rekursi, tree dan binary search tree, graf, heap dan priority queue, serta hashing dan hash table. Alih-alih berganti contoh setiap bab, seluruh kuliah mengikuti satu studi kasus yang berjalan terus — Pustaka Ceria, ruang baca kampus kecil — yang kebutuhannya yang nyata dan terus bertumbuh (mencari buku dengan cepat, menjaga antrean peminjaman, melacak siapa meminjam apa) dipetakan langsung ke struktur data yang diperkenalkan di bab itu, sehingga setiap gagasan abstrak mendarat sebagai bagian nyata dan berjalan dari sistem yang sama.
Yang Akan Anda Pelajari
- Bernalar presisi tentang array, pointer, dan tata letak memori dalam C/C++, termasuk bagaimana fungsi sesungguhnya menerima dan mengubah data.
- Mengimplementasikan dan memakai stack, queue, singly dan doubly linked list sebagai balok bangunan struktur yang lebih besar.
- Menerapkan rekursi dengan benar, dan mengenali kapan itu alat yang alami versus kapan bukan.
- Membangun dan mencari binary search tree, serta menelusuri dan memproses tree dan graf secara umum.
- Mengimplementasikan heap dan priority queue, serta hash table dengan penanganan collision yang sesungguhnya.
- Memilih struktur data yang tepat untuk kebutuhan nyata — bukan dari hafalan, tapi karena Anda sudah membangun sistem yang sama, Pustaka Ceria, dengan masing-masingnya secara bergiliran.
Isi Buku
- C/C++ Refresher & Memory Model → Arrays Foundations — variabel, memori, dan array sebagai fondasi semua bab berikutnya, memperkenalkan Pustaka Ceria.
- Searching — pencarian linear dan biner, dan mengapa bedanya penting pada skala besar.
- Sorting — algoritma pengurutan klasik dengan sudut pandang implementasi di level struktur data.
- Quiz 1 — titik pemeriksaan atas array, pencarian, dan pengurutan.
- Stack & Queue — struktur first-in/first-out dan last-in/first-out, dan tempat masing-masing.
- Pointers & Functions — mengoper data lewat referensi, dan penalaran memori yang menjadi dasar struktur ber-pointer.
- Singly Linked Lists — membangun list dinamis berbasis pointer dari nol.
- Midterm — titik pemeriksaan atas stack, queue, pointer, dan linked list.
- Doubly Linked Lists — penelusuran dua arah, dan trade-off-nya dibanding singly linked list.
- Recursion — fungsi yang memanggil dirinya sendiri, base case, dan call stack yang dibuat terlihat.
- Trees and Binary Search Trees (BST) — struktur hierarkis, dan pencarian terurut di atasnya.
- Quiz 2 — titik pemeriksaan atas rekursi dan tree.
- Graphs — merepresentasikan dan menelusuri jaringan data yang saling terhubung.
- Heaps & Priority Queues — selalu mengambil item berprioritas tertinggi secara efisien.
- Hashing & Hash Tables — pencarian nyaris konstan waktunya, dan bagaimana collision sesungguhnya ditangani.
- Final Exam — titik pemeriksaan kumulatif atas seluruh sistem Pustaka Ceria yang dibangun sepanjang semester.
