๐ Daftar Isi
Linked list adalah sebuah struktur data seperti array yang berupa sekumpulan node (simpul) yang saling terhubung secara linear dengan node lain melalui sebuah pointer.
Node-node tersebut tidak disimpan secara berdampingan seperti array, tetapi terpencar-pencar di dalam memory sehingga dibutuhkan pointer yang menghubungkan satu node ke node berikutnya (pointer bertugas menyimpan address node selanjutnya)

Representasi: Elemen dalam array = node dalam linked list
Linked List vs Array
Ukuran array adalah tetap (tidak dinamis). Alokasi memory terbuang jika array tidak diisi penuh, dan bermasalah ketika harus menambah ukuran yang ditetapkan di awal.
Linked list akan mengalokasikan memory untuk setiap elemennya secara
terpisah dan hanya ketika dibutuhkan. Insert (sisip) elemen baru di awal ataupun tengah array membutuhkan usaha/komputasi yang besar (apalagi untuk array dengan jumlah elemen yang besar)
Misal: kita punya array nama mahasiswa berukuran 100, kita ingin sisipkan elemen di index ke 50, berarti kita harus menggeser satu per satu nilai di setiap index ke 51 sampai 100.
Bagian dari Linked List

Setiap node terdiri dari dua bagian:
- Data berisi elemen data dalam node tersebut
- Pointer Next berisi alamat memory node selanjutnya (untuk menghubungkan)
Linked list diawali dengan sebuah node head untuk menyimpan alamat awal dan diakhiri dengan node tail dengan pointer mengarah ke NULL (menunjukkan akhir dari sebuah list)
Setiap node diimplementasikan secara dinamis (memory dialokasikan pada saat runtime)
Tipe Linked List
- Single Linked List: Pointer Next menyimpan alamat dari node berikutnya
- Double Linked List: Pointer Next menyimpan alamat dari node sebelumnya dan node berikutnya
Materi Lengkap
Silakan baca juga beberapa artikel menarik kami tentang Single Linked List, daftar lengkapnya adalah sebagai berikut.