Linked
list merupakan salah satu struktur data
dasar yang sangat fundamental dalam bidang ilmu komputer. Dengan menggunakan
linked list maka programmer dapat menimpan datanya kapanpun dibutuhkan. Linked
list mirip dangan array, kecuali pada linked list data yang ingin disimpan
dapat dialokasikan secara dinamis pada saat pengoperasian program (run-time).
Pada
array, apabila programmer ingin menyimpan data, programmer diharuskan untuk
mendefinisikan besar array terlebih dahulu, seringkali programmer
mengalokasikan array yang sangat besar(misal 100). Hal ini tidak efektif karena
seringkali yang dipakai tidak sebesar itu. Dan apabila programmer ingin
menyimpan data lebih dari seratus data, maka hal itu tidak dapat dimungkinkan
karena sifat array yang besarnya statik. Linked list adalah salah satu struktur
data yang mampu menutupi kelemahan tersebut.
Secara
umum linked list tersusun atas sejumlah bagian-bagian data yang lebih kecil
yang terhubung (biasanya melalui pointer). Linked list dapat divisualisasikan
seperti kereta, bagian kepala linked list adalah mesin kereta, data yang
disimpan adalah gerbong, dan pengait antar gerbong adalah pointer.
-------- -------- --------
Mesin Data Data
-------- -------- --------
(kepala) ---> Pointer ---> Pointer --
-------- -------- --------
Programmer
membaca data menyerupai kondektur yang ingin memeriksa karcis penumpang.
Programmer menyusuri linked list melalui kepalanya, dan kemudian berlanjut ke
gerbong (data) berikutnya, dan seterusnya sampai gerbong terakhir (biasanya
ditandai dengan pointer menunjukkan alamat kosong (NULL)). Penyusuran data
dilakukan secara satu persatu sehingga penyusuran data bekerja dengan
keefektifan On. Dibandingkan array, ini merupakan kelemahan terbesar linked
list. Pada array, apabilan programmer ingin mengakses data ke-n (index n), maka
programmer dapat langsung mengaksesnya. Sedangkan dengan linked list programmer
harus menyusuri data sebanyak n terlebih dahulu.
Tidak ada komentar:
Posting Komentar