Materi Ajar Informatika Kelas 9



Bab 2: Pengenalan Struktur Data

Selamat datang di dunia pengorganisasian data! Sama seperti kamu menata buku di rak agar mudah ditemukan, komputer juga perlu cara untuk menata data. Cara inilah yang kita sebut Struktur Data.


A. Tujuan Pembelajaran

Setelah mempelajari bab ini, siswa diharapkan mampu:

  1. Menjelaskan pengertian dan pentingnya struktur data.

  2. Mengidentifikasi beberapa jenis struktur data dasar seperti Array, Stack, dan Queue.

  3. Memberikan contoh penerapan struktur data dalam kehidupan sehari-hari.

  4. Membandingkan cara kerja dari struktur data yang berbeda melalui analogi.


B. Apa Itu Struktur Data?

Bayangkan kamu punya perpustakaan pribadi dengan ratusan buku. Jika semua buku hanya ditumpuk begitu saja di lantai, kamu akan kesulitan mencari buku yang kamu inginkan. Tapi, jika kamu menyusunnya di rak berdasarkan abjad judul atau genre, pencarian akan menjadi jauh lebih cepat.

Definisi: Struktur Data adalah cara menyimpan, mengatur, dan mengelola data di dalam komputer agar dapat diakses dan digunakan secara efisien.

Mengapa ini penting? 🤔

  • Kecepatan: Program akan berjalan lebih cepat jika datanya terorganisir dengan baik.

  • Efisiensi Memori: Menggunakan memori komputer seperlunya, tidak boros.

  • Kemudahan Pengelolaan: Data menjadi lebih mudah untuk ditambah, dihapus, atau dicari.


C. Jenis-Jenis Struktur Data Dasar Jenis Struktur Data

Menurut Geeks for Geeks, jenis struktur data terbagi menjadi dua, yakni struktur data linear dan non linear.

1. Struktur data linear

Data struktur linear berarti struktur data yang elemen-elemen datanya disusun secara berurutan (linier), yang mana setiap elemen tertaut pada elemen-elemen sebelum dan selanjutnya yang berdekatan. Data struktur linear dibagi lagi menjadi dua, yakni statis dan dinamis.

  • Struktur data statis: Struktur data statis memiliki ukuran memori yang tetap. Contoh struktur data statis yakni Array
  • Struktur data dinamis: Dalam struktur data dinamis, ukurannya tidak tetap dan dapat diperbarui secara acak selama runtime. Hal ini dianggap efisien sehubungan dengan kompleksitas memori kode. Contoh struktur data dinamis yakni Queue, Stack, dan Linked List.

2. Struktur data non-linear

Struktur data ini berarti elemen datanya tidak ditempatkan secara berurutan. Dalam struktur data non-linear, pengguna tidak dapat melintasi semua elemen dalam satu proses saja. Beberapa contoh struktur data non-linear yakni Tree dan Graph.

Mari kita kenali beberapa jenis struktur data

1. Array (Larik)

Array adalah struktur data yang paling dasar. Bayangkan sebuah karton telur atau deretan loker yang sudah diberi nomor.

  • Konsep: Kumpulan data sejenis yang disimpan di lokasi memori yang berdekatan dan diakses menggunakan indeks (nomor urut, biasanya dimulai dari 0).

  • Analogi:

    • Karton Telur: Kamu bisa langsung mengambil telur di lubang ke-5.

    • Deretan Kursi Bioskop: Kamu bisa langsung menuju kursi nomor C7.

  • Karakteristik:

    • Ukurannya tetap (ditentukan di awal).

    • Akses data sangat cepat jika tahu nomor indeksnya.

  • Contoh Nyata:

    • Menyimpan daftar nama siswa dalam satu kelas.

    • Menyimpan daftar hari dalam seminggu (Senin, Selasa, Rabu, ...).

2. Linked List

Linked list adalah struktur data linier di mana elemennya tidak disimpan pada lokasi memori yang berurutan, melainkan dihubungkan menggunakan pointer. Linked List terbagi menjadi beberapa jenis seperti berikut.

linked list struktur data

  • Singly-linked list: setiap node hanya menunjuk ke node berikutnya
  • Doubly linked list: setiap node menunjuk ke node sebelum dan sesudahnya
  • Circular linked list: node terakhir menunjuk ke node pertama membentuk lingkaran
  • Doubly circular linked list: gabungan circular dan doubly linked list

Penerapan Linked List di kehidupan sehari-hari:

  • Dalam Round-Robin scheduling, menggunakan linked list untuk mengatur giliran.
  • Pada aplikasi penampil gambar, gambar sebelumnya dan berikutnya dihubungkan melalui linked list, sehingga dapat diakses dengan tombol sebelumnya dan berikutnya.
  • Pada daftar putar musik, lagu-lagu terhubung dengan lagu sebelumnya dan berikutnya untuk pemutaran yang lancar.

3. Stack (Tumpukan)

Namanya sudah menjelaskan semuanya. Bayangkan setumpuk piring atau buku.

  • Konsep: Data yang terakhir masuk adalah data yang pertama kali keluar. Ini disebut LIFO (Last-In, First-Out).

  • Analogi:

    • Tumpukan Piring: Kamu akan mengambil piring yang paling atas (yang terakhir diletakkan).

    • Tombol "Undo" (Ctrl+Z): Saat kamu menekan "Undo", tindakan terakhirmulah yang dibatalkan pertama kali.

  • Operasi Utama:

    • Push: Menambah data ke atas tumpukan.

    • Pop: Mengambil data dari atas tumpukan.

  • Contoh Nyata:

    • Fitur "Undo" atau "Redo" pada aplikasi.

    • Riwayat halaman (tombol "Back") pada browser.

4. Queue (Antrean)

Sama seperti antrean di dunia nyata, siapa yang datang duluan, dia yang dilayani duluan.

  • Konsep: Data yang pertama masuk adalah data yang pertama kali keluar. Ini disebut FIFO (First-In, First-Out).

  • Analogi:

    • Antrean di kasir: Orang yang pertama kali mengantre akan dilayani lebih dulu.

    • Antrean cetak (printer queue): Dokumen yang kamu kirim pertama kali ke printer akan dicetak lebih dulu.

  • Operasi Utama:

    • Enqueue: Menambah data ke akhir antrean.

    • Dequeue: Mengambil data dari awal antrean.

  • Contoh Nyata:

    • Antrean pelanggan di bank atau supermarket.

    • Pesan masuk di aplikasi chat yang ditampilkan berurutan.


D. Rangkuman Perbandingan

Struktur Data     Konsep Utama        Analogi Populer             Contoh Penggunaan
ArrayAkses langsung via indeks        Karton telur, Loker             Daftar nilai siswa

StackLIFO (Last-In, First-Out)        Tumpukan piring             Fitur Undo/Redo
QueueFIFO (First-In, First-Out)        Antrean kasir             Antrean printer

E. Aktivitas & Diskusi Kelompok 💡

Diskusikan dengan teman sebangkumu!

  1. Kamu sedang membuat fitur playlist musik di sebuah aplikasi. Pengguna bisa mendengarkan lagu secara berurutan dari awal sampai akhir. Struktur data apa yang paling cocok untuk menyimpan urutan lagu tersebut? Queue atau Stack? Jelaskan alasanmu!

  2. Saat kamu membuka banyak tab di browser, lalu kamu menekan tombol "Back" berulang kali, halaman web yang kamu kunjungi akan mundur satu per satu. Proses ini mirip dengan cara kerja struktur data apa?

  3. Berikan satu contoh lain penggunaan Array dalam aplikasi atau game yang kamu tahu!


F. Evaluasi Mandiri

Jawablah pertanyaan berikut untuk menguji pemahamanmu:

  1. Jelaskan dengan bahasamu sendiri, mengapa kita membutuhkan struktur data!

  2. Struktur data yang menggunakan prinsip "yang terakhir masuk, yang pertama keluar" (LIFO) adalah... a. Array b. Queue c. Stack

  3. Seorang kasir melayani pembeli sesuai urutan kedatangan mereka. Sistem ini adalah contoh sempurna dari struktur data... a. Array b. Queue c. Stack


Komentar

Postingan populer dari blog ini

Ekspresi dan Operasi Logika