Nina Sevani Struktur Data (INF 112) Program Studi Teknik Informatika Ukrida
Tujuan
Mahasiswa memahami konsep linear list. Mahasiswa dapat membedakan antara linear list dan link list. Mahasiswa mengerti jenis-jenis link list. Mahasiswa memahami cara kerja beberapa operasi pada link list.
Linear List
Setiap elemen mempunyai successor yang unik. Contoh linear list : Array
Baba Bibi
Pembagian linear list : 1. General List : a) Ordered List b) Unordered List (Random List / Chronological List) 2. Restricted List : a) Queue b) Stack
3
Bubu
Bebe
Baba
Bibi
Bubu
Bebe
2. Delete :
Baba a) Kondisi Awal : b) Elemen yang Dihapus : c) Kondisi Akhir : Baba Bibi Bubu Bubu Bebe
Bibi
Bebe
3. Retrieve
4
Link List
Komponen :
1. Data 2. Pointer
Karakteristik :
1. 2. 3. 4. 5. 6. 7. 8. Struktur data dinamis. Setiap node mempunyai pointer ke node lainnya. Hubungan antar node : 1 to 1. Dikenal istilah : next, prev, NIL, head, tail. Mempunyai node pertama yang unik, disebut : Head. Mempunyai node terakhir yang disebut : Tail. Selain tail, setiap node mempunyai successor. Selain head, setiap node mempunyai predecessor.
5
list.head = NIL
Tail
list.tail = NIL
Head
Tail NIL
Pointer
Operasi Create
Pre : tidak ada. Post : sebuah link list yang masih kosong. Algoritma :
Create_List List.head = NIL List.tail = NIL List.head = List.tail End
10
Operasi Insert
Pre : tidak ada. Post : Jumlah node pada link list bertambah 1.
Operasi Delete
Pre : paling tidak ada 1 node pada link list. Post : Jumlah node pada link list berkurang 1.
11
Operasi Update
Pre : paling tidak ada 1 node pada link list. Post : data pada node di link list berubah.
Operasi Destroy
Pre : sebuah link list. Post : pembebasan memori. Operasi destroy biasanya dilakukan mulai dari Head, secara sekuensial.
12
Operasi Empty
Pre : tidak ada Post : TRUE bila link list masih kosong & FALSE bila link list sudah terisi minimal dengan 1 node. Algoritma : Empty_List (list.count) IF (list.count = 0) THEN Return(True) ELSE Return(False) END IF End
13
Operasi Full
Pre : tidak ada Post : TRUE bila link Algoritma :
Full_list Alokasi memori(node) IF (alokasi memori = berhasil) THEN Return(False) ELSE Return(True) END IF End
14