TIPS: Rangkuman ini hanya sebagai pemahaman secara umum. Pastikan Anda juga membaca BMP (Buku Materi Pokok) versi cetak atau digital di Ruang Baca Virtual (RBV) untuk pemahaman lebih mendalam.
DILARANG: Memperjualbelikan seluruh konten atau latihan soal yang terdapat di portal ini. Pelanggaran akan dikenakan sanksi sesuai ketentuan yang berlaku.
Pendahuluan Struktur Data
Kegiatan Belajar 1: Konsep Struktur Data
A. Definisi Struktur Data
1. Pengertian Struktur Data
Struktur data: cara menyimpan, menyusun, dan mengurutkan data sehingga dapat digunakan secara efisien pada media komputer (Morin, 2012).
Pentingnya struktur data: digunakan dalam kehidupan sehari-hari seperti membuka file di komputer, melihat kontak telepon, login media sosial, mesin pencari, dan layanan darurat 9-1-1.
2. Permasalahan, Algoritma, dan Pemrograman
Permasalahan: kondisi yang harus diselesaikan atau ditemukan solusinya. Contoh: keluhan konsumen onlineshop terhadap lambatnya respon penjual.
Pemrograman: implementasi algoritma ke dalam bahasa pemrograman. Satu algoritma dapat diimplementasikan dengan berbagai bahasa pemrograman, tergantung kemampuan programmer.
3. Kebutuhan Efisiensi
Efisiensi ruang dan waktu: solusi dikatakan efisien jika mampu memecahkan masalah dengan memperhatikan keterbatasan sumber daya.
Struktur data menjadi solusi utama karena seluruh algoritma tidak terlepas dari struktur data.
Partisi memori: memori utama dapat dipartisi menjadi beberapa disk terpisah untuk optimalisasi penyimpanan.
B. Interface Struktur Data
1. Interface Queue, Stack, dan Deque
Queue (antrean): menggunakan konsep FIFO (First In First Out). Elemen pertama masuk = elemen pertama keluar. Analogi: antrean tiket kereta api.
Operasi:add(x)/enqueue(x) menambah elemen di awal, remove()/dequeue() menghapus elemen di akhir.
Stack (tumpukan): menggunakan konsep LIFO (Last In First Out). Elemen terakhir masuk = elemen pertama keluar. Analogi: tumpukan koin dalam pipa tertutup bawah.
List: merepresentasikan urutan elemen x0 sampai xn-1.
Operasi:size() mengembalikan panjang list, get(i) mengembalikan nilai xi, set(i,x) mengatur nilai, add(i,x) menambah elemen pada posisi i, remove(i) menghapus elemen pada posisi i.
Array: variabel bertipe data sejenis berderet dengan alamat memori bersebelahan. Memiliki elemen (e0, e1, e2) dan indeks (0, 1, 2). Contoh: array 1 baris × 3 kolom.
List: untaian/rangkaian data yang dibaca komputer. Implementasi Java berupa linked list.
Komponen: node (head, next, tail), elemen (data), pointer (penunjuk arah ke node berikutnya).
Struktur: head → elemen|next → elemen|next → ... → tail.