Pengertian LINKED LIST dan STACK

1   PENJELASAN DARI LINKED LIST

Linked List atau dikenal juga dengan sebutan senarai berantai adalah struktur 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 didalam suatu linked list, terdapat istilah head dan tail. 

·                     Head adalah elemen yang berada pada posisi pertama dalam suatu linked list
·                     Tail adalah elemen yang berada pada posisi terakhir dalam suatu linked list

Ada beberapa macam Linked List, yaitu :
1.                 Single Linked List
2.                 Double Linked List
3.                 Operasi Pada Single Linked List

Single Linked List
Single Linked List merupakan suatu linked list yang hanya memiliki satu variabel pointer saja. Dimana pointer tersebut menunjuk ke node selanjutnya. Biasanya field pada tail menunjuk ke NULL.

Double Linked List
Double Linked List merupakan suatu linked list yang memiliki dua variabel pointer yaitu pointer yang menunjuk ke node selanjutnya dan pointer yang menunjuk ke node sebelumnya. Setiap head dan tailnya juga menunjuk ke NULL.

Operasi Pada Single Linked List 

1.     Insert = Istilah  Insert berarti menambahkan  sebuah  simpul baru ke dalam  suatu linked  list.
2.     Konstruktor = Fungsi ini membuat sebuah  linked  list yang baru dan masih kosong. 
3.     IsEmpty = Fungsi ini menentukan apakah  linked list kosong atau  tidak.
4.     Find First = Fungsi ini mencari elemen pert ama dari linked  list 
5.     Find Next = Fungsi ini mencari elemen  sesudah elemen yang ditunjuk now. 
6.     Retrieve = Fungsi  ini  mengambil  elemen  yang  ditunjuk  oleh  now.  Elemen  tersebut  lalu dikembalikan oleh fungsi. 
7.     Update = Fungsi ini mengubah elemen yang ditunjuk oleh  now dengan  isi dari  sesuatu. 
8.     Delete Now = Fungsi  ini  menghapus  elemen  yang  ditunj uk  oleh  now.  J ika  yang  dihapus  adalah elemen pertama dari  linked  list (head), head akan berpindah ke elemen berikut. 

 2. JELASKAN FUNGSI STACK

Pengertian Stack
    Stack adalah metode atau teknik dalam menyimpan atau mengambil data ke dan dari memori. Stack dapat diibaratkan sebuah tumpukan dalam suatu tempat yang hanya memiliki suatu pintu diatasnya. kaidah stack adalah First In Last Out atau Last In First Out (LIFO), benda yang terakhir masuk akan menjadi benda yang pertama dikeluarkan.

   Stack dengan Array
     Sesuai dengan sifat stack, maka pengambilan atau penghapusan elemen dalam stack harus dimulai dari elemen teratas. Ilustrasinya sebagai berikut:
     Dapat dilihat dalam visualisasi stack degan array, dimna index array ke-1 diisi oleh TV, index ke-2 diisi oleh VCD dan index ke-3 diisi oleh COMBO. TOP  dianggab sebagai puncak dari stack. Harus diingat bahwa banyak stack yang mungkin harus dibatasi karena alokasi memory pada array yang bersifat statis dan terbatas.

   Double stack dan Array
     Dauble stack dan array adalah teknik khusus yang digunakan untuk menghemat pemakaian memory dalam pembuatan dua stack dengan array. intinya adalah pengguna hanya sebuah array untuk menampung dua stack.
     keterangan: Array dapat dibagi untuk 2 stack, stack 1bergerak ke kanan dan stack 2 bergerak ke kiri. Jika Top 1 (elemen teratas dari stack 1) bertemu dengan Top 2 (elemen teratas dari stack 2) maka double stack telah penuh.

   Stack dengan Single Linked List

     Linked list memiliki keunggulan dibanding array yaitu dalam penggunaan alokasi memory. Dengan menggunakan linked list maka tempat yang disediakan akan sesuai dengan banyaknya elemen yang mengisi stack linked list tidak loco ada istilah full sebab biasanya program tidak menetukan jumlah elemen stack yang mungkin ada kecuali juka suda dibatasi oleh pembuatnya. Namun sebenarnya stack ini pun memiliki batas kapasitas, yakni di batasi oleh jumlah memory yang tersediah

Komentar

Komentar

Posting Komentar

Postingan populer dari blog ini