Linked List

Linked List


Linked List adalah suatu cara untuk menyimpan data dengan struktur sehingga programmer dapat secara otomatis menciptakan suatu tempat baru untuk menyimpan data kapan saja diperlukan. Linked list dikenal juga dengan sebutan senarai berantai adalah stuktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat/referensi dari record selanjutnya (dalam urutan). Elemen data yang dihubungkan dengan link pada linked list disebut Node. 
Biasanya dalam suatu linked list, terdapat istilah head dan tail . 
  1. Head adalah elemen yang berada pada posisi pertama dalam suatu linked list 
  2. Tail adalah elemen yang berada pada posisi terakhir dalam suatu linked list.

Ilustrasi Linked List

Berikut adalah ilustrasi linked list:

[1] -> [2] -> [3] -> [NULL]

Ilustrasi tersebut menunjukkan linked list yang terdiri dari empat node. Node pertama memiliki nilai data 1, node kedua memiliki nilai data 2, dan seterusnya. Node terakhir memiliki pointer yang bernilai NULL, yang menunjukkan bahwa node tersebut adalah node terakhir dalam linked list.

Perbedaan Linked List dan Array


Jenis-jenis Linked List
  • Single Linked List
  • Double Linked List
Single Linked List 

Setiap node pada linked list mempunyai field yang berisi pointer ke node berikutnya dan juga memiliki field yang berisi data. Akhir linked list ditandai dengan node terakhir akan menunjuk ke null yang akan digunakan sebagai kondisi berhenti saat pembacaan linked list. Biasanya field pada tail menunjuk ke NULL.
Linked list dengan simpul berisi satu link / pointer yang mengacu ke simpul berikutnya. Simpul Single Linked List.

Double Linked List 

Double Linked List lebih kompleks daripada Single Linked List. Setiap simpul memiliki tiga bagian, yaitu : data, referensi ke simpul berikutnya, dan referensi ke simpul sebelumnya. Double Linked List memiliki kemampuan untuk melintasi Linked List maju (dari depan ke belakang) dan mundur (dari belakang ke depan) dengan mudah.

Operasi pada Linked List

Linked list dapat melakukan berbagai operasi, antara lain:

  • Inisialisasi adalah operasi untuk membuat linked list kosong.
  • Menambahkan node adalah operasi untuk menambahkan node baru ke dalam linked list.
  • Menghapus node adalah operasi untuk menghapus node dari linked list.
  • Mencari node adalah operasi untuk mencari node tertentu dalam linked list.
  • Mencetak linked list adalah operasi untuk mencetak semua node dalam linked list.

Kelebihan dan Kekurangan Linked List

Kelebihan:

  • Ukuran linked list tidak perlu ditentukan pada saat deklarasi.
  • Linked list dapat dengan mudah ditambahkan atau dihapus nodenya.

Kekurangan:

  • Operasi pada linked list dapat lebih lambat dibandingkan dengan array.

Penggunaan Linked List

Linked list dapat digunakan untuk berbagai keperluan, antara lain:

  • Pemrosesan data yang tidak diketahui ukurannya
  • Pemrosesan data yang sering ditambahkan atau dihapus

Contoh Penggunaan Linked List

Berikut adalah contoh penggunaan linked list:

  • Pemrosesan data yang tidak diketahui ukurannya

Linked list dapat digunakan untuk menyimpan data yang tidak diketahui ukurannya, seperti data yang diinput oleh pengguna.

  • Pemrosesan data yang sering ditambahkan atau dihapus

Linked list dapat digunakan untuk menyimpan data yang sering ditambahkan atau dihapus, seperti data dalam sebuah daftar belanja.

Tips menggunakan Linked List

  • Tentukan jenis linked list yang akan digunakan sesuai dengan kebutuhan.
  • Gunakan operasi pada linked list dengan benar.






Komentar