TUGAS STRUKTUR DATA
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
Posting Komentar