List Dipersiapkan oleh : Y. Palopak SSi., MT. Pertemuan – 2 List Dipersiapkan oleh : Y. Palopak SSi., MT.
Kita lanjutkan untuk yang satu ini …..
SENARAI / LINK LIST Definisi : Contoh : Struktur Data Struktur data yang terdiri dari rantaian elemen sejenis yang saling berhubungan. Setiap elemen memiliki pendahulu dan penerusnya (kecuali elemen terakhir) Setiap elemen akan ditambahkan saat dibutuhkan Setiap elemen tidak dialokasikan dengan tempat tertentu dari awal Contoh : Struktur ini mirip kereta api, dimana kepalanya seperti lokomotif, elemennya seperti gerbong kereta dan datanya seperti penumpang/barang
MODEL SENARAI Struktur Data p q r s S X1 X2 X3 X4 Item / Data Kepala/First Penunjuk NIL
KONDISI SENARAI Struktur Data S Senarai / List KOSONG p S X1 Senarai / List dengan 1 elemen p q r s S X1 X2 X3 X4 Senarai / List dengan 4 elemen
Representasi Senarai First Berisi Kantong kosong First = Pengait awal NUL
Representasi Elemen 123 Lio A NIM Nama Nilai NEXT Penunjuk Ke elemen berikutnya
Representasi Elemen Nama Lio Nilai A NIM 123
Mengakses List Mendeklarasikan sebuah penunjuk elemen bantu yang nantinya digunakan untuk di jalankan maju sebagai penunjuk tiap elemen Mendeklarasikan sebuah List yang akan di akses Penunjuk elemen diarahkan kepada elemen pertama Penunjuk elemen dijalankan maju ke depan seterusnya sampai dijumpai elemen terakhir pada list dimana nilai elemen berikutnya adalah null (kosong)
Type List/Senarai List Kosong List Tunggal List Ganda
List Kosong Terdiri dari sebuah penunjuk elemen Null Tidak memiliki Elemen – hanya berupa penunjuk awal elemen First Null
List Tunggal List yang elemennya hanya menyimpan informasi elemen setelahnya Hanya memiliki 1 pengait elemen berikutnya Pengaksesan hanya dapat dilakuka secara maju Terdiri atas: List tunggal dengan kepala List tunggal dengan kepala & Ekor List tunggal berputar
List tunggal dengan kepala First/Kepala p q r X1 X2 X3 Null Pada awal pengaksesan hanya dapat mengakses Elemen pertamanya saja karena penunjuk hanya Berupa penunjuk elemen awal
List Tunggal dengan Kepala & Ekor First/Kepala Tail/Ekor p q r X1 X2 X3 Null Pada awal pengaksesan dapat mengakses Elemen awal dan elemen akhir
List tunggal berputar First/Kepala p q r X1 X2 X3 Elemen terakhir ditandai dengan elemen setelahnya Penelusuran akan berhenti jika penunjuk bantu telah Sampai pada elemen yang elemen setelahnya sama Dengan elemen yang ditunjuk oleh penunjuk elemne awal
List Ganda List yang elemennya menyimpan informasi elemen sebelumnya dan informasi elmen setelahnya Terdapat dua buah pengait ke elemen sebelum dan setelahnya Proses penelusuran list dapat dilakukan maju dan mundur Terdiri atas: List Ganda dengan kepala List Ganda dengan kepala & Ekor List Ganda berputar
List Ganda dengan kepala First/Kepala p q r X1 X2 X3 Null Null Hanya memiliki sebuah penunjuk elemen yaitu penunjuk elemen awal
List Ganda dengan Kepala & Ekor First/Kepala Tail/Ekor p q r X1 X2 X3 Null Null Memiliki dua penujuk elemen yaitu penunjuk elemen awal dan elemen akhir
List Ganda berputar First/Kepala p q r X1 X2 X3 Elemen terakhir ditandai dengan elemen setelahnya merupakan elemen pertama list yang ditunjuk oleh penujuk awal list
OPERASI PADA LIST Operasi berupa penambahan dan penguranan elemen Operasi tidak dapat dilakukan sembarangan Dapat dilakukan secara bertahap
Penambahan Elemen di Awal pada List Tunggal Deklarasikan List Deklarasikan penunjuk bantu yang menunjuk ke elemen baru Arahkan penunjuk elemen baru ke elemen pertama list Arahkan penunjuk elemen sebelumnya ke elemen baru. Arahkan penunjuk elemen awal (first) list ke elemen baru.
Penambahan Elemen di Awal pada List Ganda Deklarasikan List Deklarasikan penunjuk bantu yang menunjuk ke elemen baru
Penambahan Elemen di Tengah pada List Ganda Deklarasikan List Deklarasikan penunjuk bantu yang menunjuk ke elemen baru Arahkan penunjuk elemen baru ke elemen pertama list Arahkan penunjuk elemen awal (first) list ke elemen baru.