Intro
Ketika belajar bahasa pemrograman, struktur data merupakan salah satu elemen wajib untuk dipelajari karena membantu dalam bagaimana memanipulasi data dan meningkatkan performa kode agar lebih optimal.
Pada kesempatan kali ini saya ingin membagikan struktur data Linked List dimana bentuknya yang hampir mirip seperti Array dan bagaimana cara implementasinya menggunakan Javascript.
Apa itu Linked List
Linked List merupakan struktur data linear dimana data disimpan secara berurutan. Berbeda dengan array yang memiliki index
pada setiap elemen, Linked List menyimpan 2 komponen dalam bentuk Node
yang didalamnya terdiri atas:
- Data/Value: Nilai atau data yang disimpan dalam node.
- Pointer (Next): Referensi dari node selanjutnya.
Lalu pada Linked List terdapat Head atau referensi Node awal,
dan Tail atau referensi Node akhir yang dimana nilai Next-nya adalah null
.
Beberapa Jenis Linked List
- Singly Linked List: Pada setiap node hanya memiliki 1 pointer yaitu referensi node selanjutnya (next), dan node terakhir (tail) memiliki nilai nilai
null
. - Doubly Linked List: Pada setiap node memiliki 2 pointer, pointer pertama merupakan referensi node selanjutnya (next) dan pointer kedua adalah referensi node sebelumnya (prev).
- Circular Linked List: Node terakhir memiliki pointer dari node pertama, sehingga membentuk struktur yang sirkular(melingkar).
Implementasi
Pada implementasinya disini menggunakan bahasa pemrograman Javascript. Dimulai dengan membuat
class Node
terlebih dahulu lalu selanjutnya LinkedList
.
Node
Class Node
merepresentasikan sebagai satu elemen pada Linked List
. Properti yang ada di dalam Node
adalah value
untuk menyimpan nilai dan next
sebagai pointer node selanjutnya.
LinkedList
Class ini merupakan bagian utama untuk mengelola node
di dalam Linked List
beserta beberapa method
seperti push
, pop
, remove
dan seterusnya. Class ini memiliki 3 properti utama yaitu:
- head: Untuk menetapkan node awal pada
Linked List
. - tail: Node akhir pada
Linked List
. - length: Jumlah elemen yang ada pada
Linked List
.
Method
Jika dalam struktur data Array
sudah memiliki method bawaan untuk mengelola data,
maka LinkedList
juga memiliki beberapa method yaitu:
push
Sama seperti Array
, method push digunakan untuk memasukkan data ke dalam LinkedList
di posisi paling akhir.
Pertama buat terlebih dahulu node baru dan disimpan ke dalam variabel newNode
. Setelah itu dilakukan pengecekan
apabila head
bernilai null
atau merupakan sebuah list kosong, maka head
& tail
diisi newNode. Tetapi apabila
tidak maka pointer next
pada tail
harus diisi oleh newNode
terlebih dahulu, lalu setelahnya tail
diisi dengan newNode
.
Berikut contoh kodenya:
Contoh Penggunaan
Kesimpulan
Linked list merupakan salah satu struktur data yang penting untuk dipahami dalam pemrograman dan
jika dibandingkan dengan Array
, Linked List
memiliki beberapa kelebihan dan kekurangannya masing-masing.
Mungkin akan saya jadikan artikel tersendiri untuk membahasnya.
Terima kasih sudah membaca.