LINKED LIST
Linked List (Senarai Berantai) merupakan koleksi elemen linear data
yang urutannya tidak teratur dan letak penempatannya ditentukan dengan alokasi
memori. Nah, tempat yang kita pesan dari alokasi memori tersebut dinamakan node.
Di dalam Linked List ini, kita diperbolehkan untuk memasukan nilai dan
menghilangkan nilai elemen di tempat manapun selama itu masih didalam node yang
kita punya. Biasanya Linked List ini digunakan di algoritma untuk menyelesaikan
Real-Time Problems, dimana jumlah elemen yang dimasukan tidak terduga.
Tapi, terkadang untuk yang sudah mengerti algoritma, akan
bertanya-tanya tentang apakah perbedaan antara Linked List sendiri dengan Array
? Berikut adalah penjelesannya.
|
NO
|
Linked List
|
Array
|
|
1
|
Setiap element linked list terdiri dari bagian, data dan pointer address
|
Setiap element array hanya berisi data saja
|
|
2
|
Pengalokasian ruang memori
dilakukan tanpa pendeklarasian sebelumnya dan terbatas pada jumlah ruang
memori yang tersisa (dapat dipakai)
|
Pengalokasian
ruang memori terbatas pada jumlah ruang yang dideklarasikan sebelumnya.
|
(source : https://kuliahinformatika.wordpress.com/2010/01/21/linked-list-perbedaan-linked-list-dengan-array/)
Nah, mari kita
coba membuat sebuah node.. Codingannya adalah sebagai berikut :

Nah, sudah jadi.. tapi waktu di run kalau tidak keluar apa-apa, jangan
panik dulu, soalnya kita memang belum memasukan data ke node tersebut..
Bagaimanakah caranya ?

Kita disini melakukan yang Namanya push head.. untuk memasukan data kedalamnya
dengan codingan seperti diatas. Push head seperti memasukan node baru, tapi
dimasukan dari depan. Ada juga yang Namanya push tail. Push Tail sendiri maksudnya
sama seperti push head, tapi dimasukan dari belakang .
Nah, untuk selanjutnya dimana ada
head disitu ada tail. Yep, pushTail. Let’s jump into it.

Ada masukan, ada keluarkan.. Yak, Deletion/Pop di data structure ini
berguna untuk menghilangkan sebuah node yang kita inginkan.. sama seperti push,
pop juga memiliki 2 macam, yaitu pop head dan pop tail.. seperti apa
kelanjutannya, mari kita saksikan codingan berikut ini

Yak, fungsi pop head ini pun adalah untuk menghapus head yang sekarang.
Dalam kasus ini, si 456 Budi akan dihapus dari linked list ini dan digantikan kembali
oleh 123 Adi. Dalam pop head ini (berlaku juga untuk pop tail) yang pertama
kita harus lakukan adalah menyelamatkan head (atau tail) terlebih dahulu baru
bisa menghapus head (atau tail) yang lama. Nah, mungkin anda bertanya-tanya
mengapa ada free segala, ini kah bukan kek toko beli 1 gratis 1.. bukan. Ini maksudnya
untuk membebaskan si alamat yang dipakai oleh 456 Budi agar tidak membuang
memori.
Nah bagaimana dengan pop tail ? mari kita simak..

Sama kasusnya seperti pop Head, di pop tail, kita harus menyelamatkan
tail nya terlebih dahulu baru membebaskan si tail yang lama. Dalam kasus ini,
tail yang awalnya adalah 147 Kali akan dihapus dan digantikan oleh 789 Santi sebagai
tail yang baru.
Nah, sekian untuk single linked list hari ini. Sebenarnya masih ada 1
jenis push dan pop, hanya saja saya belum begitu mengerti soal itu, itu akan dibahas
di pertemuan berikutnya ya 😊 Maaf jika ada kesalahan, disini kita
sama-sama belajar. Jangan toxic sesama pelajar.. Makasihhh and have fun.
=== GOD BLESS ===
Komentar
Posting Komentar