praktikum

Praktikum Modul 4: Operasi Dinamis Senarai Berantai (Singly & Doubly Linked List)

Asisten Praktikum: Putra Fajar Suhardi

Praktikum Modul 4: Senarai Berantai Tunggal, Ganda, dan Sirkular (Linked List)

Praktikum mendalam mengenai struktur data non-kontigu Senarai Berantai (Linked List), mencakup alokasi simpul dinamis (dynamic node allocation), manipulasi pointer relasional, dan penghindaran kebocoran memori.

1. Taksonomi Arsitektur Linked List

  • Singly Linked List: Setiap simpul menampung data dan satu pointer next ke simpul berikutnya. Penyisipan di awal daftar beroperasi dalam O(1)\mathcal{O}(1), sedangkan akses indeks acak membutuhkan penelusuran linear O(n)\mathcal{O}(n).
  • Doubly Linked List: Setiap simpul memiliki dua pointer (next dan prev), memungkinkan navigasi dua arah secara efisien dan mempermudah penghapusan simpul di tengah senarai.
  • Circular Linked List: Pointer penunjuk simpul terakhir diarahkan kembali ke simpul kepala (head), membentuk loop tertutup yang ideal untuk penjadwalan CPU Round-Robin.

2. Algoritma Manipulasi Pointer Kritis

Praktikum mempraktikkan operasi kritis pembalikan urutan senarai (reverse linked list) secara in-place tanpa alokasi simpul baru, penggabungan dua senarai terurut (sorted merge), serta deteksi siklus senarai menggunakan algoritma Floyd's Tortoise and Hare.

3. Berkas Praktikum Terlampir

  • Laporan pra-praktikum: 240411100085_Modul04_PraPraktikum.pdf memuat ilustrasi diagram blok pointer senarai.
  • Laporan resmi praktikum: 240411100085_Modul04_Praktikum.pdf memuat implementasi kelas Node dan LinkedList, pembuktian isolasi pointer liar (dangling pointer), dan dokumentasi pengujian kode.

Attachments