Linked List (ALPRO)

 

Apa Itu Linked List?



Linked List adalah struktur data linear yang terdiri dari node-node. Setiap node memiliki:

- Data: Nilai yang disimpan.

- Pointer: Menunjuk ke node berikutnya.


Berbeda dengan array yang elemen-elemennya bersebelahan di memori, Linked List menyimpan data secara terpisah dan dihubungkan melalui pointer.


Jenis-Jenis Linked List

1. Singly Linked List: Satu arah (pointer ke node berikutnya).

2. Doubly Linked List: Dua arah (punya pointer ke depan dan belakang).

3. Circular Linked List: Node terakhir menunjuk kembali ke node pertama.


Keunggulan Linked List

✅ Alokasi memori dinamis  

✅ Penyisipan dan penghapusan elemen efisien  

✅ Cocok untuk struktur data lain seperti Stack, Queue, dan Graph  

✅ Membantu efisiensi dalam pengolahan data besar


Perbandingan dengan Array

Fitur Linked List  Array 

 Penyimpanan  Tidak bersebelahan  Bersebelahan 

 Akses Data Harus traversal  Langsung lewat indeks 

 Ukuran  Dinamis  Statis 

 Penyisipan & Penghapusan  Efisien (ubah pointer)  Kurang efisien (pergeseran elemen) 


Kompleksitas Waktu (Big-O)

| Operasi | Linked List | Array |

| Akses | O(n) | O(1) |

| Penyisipan / Penghapusan | O(1) | O(n) |

| Tambah di akhir | O(1) | O(1) |


Implementasi Singly Linked List dalam C++

Fungsi-fungsi utama:

- insert → Tambah node di akhir list

- display → Tampilkan seluruh isi Linked List

- remove → Hapus node berdasarkan nilai


Contoh Program:

cpp

int main() {

    Node head = nullptr;

    insert(head, 10);

    insert(head, 20);

    insert(head, 30);


    cout << "Linked List sebelum penghapusan: ";

    display(head);


    remove(head, 20);

    cout << "Linked List setelah penghapusan 20: ";

    display(head);


    return 0;

}


Kesimpulan

- Linked List cocok untuk manipulasi data yang dinamis.

- Lebih fleksibel dibandingkan Array, terutama dalam penyisipan dan penghapusan elemen.

- Penting dikuasai sebagai dasar untuk struktur data yang lebih kompleks.


Komentar