LINKED LIST

PENGERTIAN

Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sambung menyambung, dinamis dan terbatas. Linked List sering disebut juga Senarai Berantai Linked List saling terhubung dengan bantuan variabel pointer. 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).

Operasi-Operasi yang ada pada Linked List

- Insert
Istilah Insert berarti menambahkan sebuah simpul baru ke dalam suatu linked list.

- IsEmpty
Fungsi ini menentukan apakah linked list kosong atau tidak.

- Find First
Fungsi ini mencari elemen pertama dari linked list

- Find Next
Fungsi ini mencari elemen sesudah elemen yang ditunjuk now

- Retrieve
Fungsi ini mengambil elemen yang ditunjuk oleh now. Elemen tersebut lalu dikembalikan oleh fungsi.

- Update
Fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari sesuatu

- Delete Now
Fungsi ini menghapus elemen yang ditunjuk oleh now. Jika yang dihapus adalah elemen pertama dari linked list (head), head akan berpindah ke elemen berikut.

- Delete Head
Fungsi ini menghapus elemen yang ditunjuk head. Head berpindah ke elemen sesudahnya.

- Clear
Fungsi ini menghapus linked list yang sudah ada. Fungsi ini wajib dilakukan bila anda ingin mengakhiri program yang menggunakan linked list. Jika anda melakukannya, data-data yang dialokasikan ke memori pada program sebelumnya akan tetap tertinggal di dalam memori.


Jenis-Jenis Linked List yaitu :

1. Singly linked list
2. Double linked list
3. Circular Linked List




Operasi-operasi untuk Singly Linked List :


- IsEmpty
Fungsi memeriksa apakah singly yang ada masih kosong.

- Push
Fungsi memasukkan elemen baru ke dalam singly. Push di sini mirip dengan insert dalam single linked list biasa.

- Pop
Fungsi ini mengeluarkan elemen teratas dari singly.

- Clear
Fungsi ini akan menghapus singly yang ada.



Operasi-operasi Queue dengan Double Linked List :


- IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. Hal ini dilakukan dengan mengecek apakah head masih menunjukkan pada Null atau tidak. Jika benar berarti queue masih kosong.

- IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bisa menampung data dengan cara mengecek apakah Jumlah Queue sudah sama dengan MAX_QUEUE atau belum. Jika benar maka queue sudah penuh.

- EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen ke dalam queue (head dan tail mula-mula meunjukkan ke NULL).

- DeQueue
Procedure DeQueue berguna untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara menghapus satu simpul yang terletak paling depan (head).



# Circular Linked List


Circular Linked List (CLL) adalah Single Linked List yang pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari beberapa node, maka pointer next pada node terakhir akan menunjuk ke node terdepannya.

Pengertian:
Node : rangkaian beberapa simpul
Single : artinya field pointer-nya hanya satu buah saja dan satu arah.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.
Circular : artinya pointer next-nya akan menunjuk pada dirinya sendiri sehingga berputar.


Sumber :
[1] http://goblog.herisonsurbakti.com/2009/05/09/linked-list/
[2] http://id.wikipedia.org/wiki/Linked_list

Tidak ada komentar:

Posting Komentar