Senin, 21 November 2011

LINKED LIST


Single Linked List
Apabila setiap Anda ingin menambahkan data, Anda selalu menggunakan variabel
pointer yang baru, Anda akan membutuhkan banyak sekali pointer. Oleh karena itu,
ada baiknya jika Anda hanya menggunakan satu variabel pointer saja untuk
menyimpan banyak data dengan metode yang kita sebut Linked List. Jika
diterjemahkan, ini berarti satu daftar isi yang saling berhubungan. Untuk lebih jelasnya,
perhatikan gambar di bawah ini:



Pembuatan Single Linked List dapat menggunakan 2 metode:
· LIFO (Last In First Out), aplikasinya : Stack (Tumpukan)
· FIFO (First In First Out), aplikasinya : Queue (Antrean)
LIFO ( Last In First Out)

Lifo adalah suatu metode pembuatan Linked List di mana data yang masuk paling akhir
adalah data yang keluar paling awal. Hal ini dapat di analogikan (dalam kehidupan
sehari-hari) dengan saat Anda menumpuk barang seperti digambarkan dibawah ini.
Pembuatan sebuah simpul dalam suatu linked list seperti digambarkan dibawah ii,
disebutkan istilah INSERT, Jika linked list dibuat dengan metode LIFO, terjadi
penambahan / Insert simpul di belakang.


FIFO (Fisrt In Fisrt Out)
FIFO adalah suatu metode pembuatan Linked List di mana data yang masuk paling
awal adalah data yang keluar paling awal juga. Hal ini dapat di analogikan (dalam
kehidupan sehari-hari), misalnya saat sekelompok orang yang datang (ENQUEUE)
mengantri hendak membeli tiket di loket.
Jika linked list dibuat dengan metode FIFO, terjadi penambahan / Insert simpul
didepan.

Operasi Pada Single Linked List :
Insert
Istilah Insert berarti menambahkan sebuah simpul baru ke dalam suatu linked list.
Procedure dan Function Linked List Lainnya
Selain fungsi insert di atas, pada linked list juga terdapat fungsi-fungsi lainnya. Di
bawah ini diberikan fungsi-fungsi umum dalam aplikasi linked list.

Konstruktor
Fungsi ini membuat sebuah linked list yang baru dan masih kosong.

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 uang dialokasikan ke memori pada program sebelumnya akan tetap
tertiinggal di dalam memori.


Double Linked List
Salah satu kelemahan single linked list adalah pointer (penunjuk) hanya dapat bergerak
satu arah saja, maju/ mundur, atau kanan/kiri sehingga pencarian data pada single
linked list hanya dapat bergerak dalam satu arah saja. Untuk mengatasi kelemahan
tersebut, anda dapat menggunakan metode double linked list. Linked list ini dikenal
dengan nama Linked list berpointer Ganda atau Double Linked List.  
Operasi –operasi pada Double Linked List

Insert Tail
Fungsi insert tail berguna untuk menambah simpul di belakang (sebelah kanan) pada
sebuah linked list.

Insert Head
Sesuai dengan namanya, fungsi Insert Head berguna untuk menambah simpul di depan
(sebelah kiri). Fungsi ini tidak berada jauh dengan fungsi Insert Tail yang telah
dijelaskan sebelumnya.

Delete Tail
Fungsi Delete Tail berguna untuk menghapus simpul dari belakang. Fungsi ini
merupakan kebalikan dari fungsi Insert Tail yang menambah simpul dibelakang. Fungsi
Delete Tail akan mengarahkan Now kepada Tail dan kemudian memanggil fungsi
Delete Now.

Delete Head
Fungsi Delete Head merupakan kebalikan dari fungsi Delete Tail yang menghapus
simpul dari belakang, sedangkan Delete Head akan menghapus simpul dari depan
(sebelah kiri). Fungsi Delete Head akan mengarahkan Now kepada Head dan
kemudianm memanggil fungsi Delete Now.

Delete Now
Fungsi Delete Now berguna untuk menghapus simpul pada posisi yang sedang
ditunjuk oleh Now.

Circular Double Linked List
Ini adalah double linked list yang simpul terakhirnya menunjuk ke simpul terakhirnya
menunjuk ke simpul awalnya menunjuk ke simpul akhir sehingga membentuk suatu
lingkaran.

Operasi-operasi pada Circular Double Linked List :
Insert Tail
Fungsi insert Tail berguna untuk menambah simpul di belakang (sebelah kanan) pada
sebuah circular double linked list.

Insert Head
Sesuai dengan namanya, fungsi Insert Head berguna untuk menambah simpul di depan
(sebelah kiri). Fungsi ini tidak berbeda jauh dengan fungsi Insert tail yang telah
dijelaskan sebelumnya.

Delete Tail
Fungsi Delete Tail berguna untuk menghapus simpul dari belakang. Fungsi ini
kebalikan dari fungsi Insert Tail yang menambah simpul dibelakang.


Delete Head
Fungsi Delete Head merupakan kebalikan dari fungsi Delete Tail yang menghapus
simbul dari belakang. Delete Head akan menghapus simpul dari depan (sebelah kiri).

Delete Now
Fungsi Delete Now, sesuai dengan namanya, berguna untuk menghapus simpul pada
posisi yang diinginkan.

0 komentar:

Posting Komentar

 

Dyah Sharaswati Copyright © 2009 Cosmetic Girl Designed by Ipietoon | In Collaboration with FIFA
and web hosting