100 likes | 376 Views
SENARAI (LIST)…………………. TUMPUKAN (STACK)…………… ANTRIAN (QUEUE)……………... POHON (TREE)………………….. GRAPH (GRAF)……………………. MODUL 3. Pengenalan Senarai (list). Senarai (List)
E N D
SENARAI (LIST)…………………. TUMPUKAN (STACK)…………… ANTRIAN (QUEUE)……………... POHON (TREE)………………….. GRAPH (GRAF)…………………… MODUL 3
PengenalanSenarai(list) Senarai (List) List atau senarai adalah sebuah pemikiran/konsep struktur data yang sangat dasar pada pemrograman agar lebih fleksibel, di mana setiap elemen akan ditambahkan saat dibutuhkan, tidak dialokasikan dengan tempat tertentu dari awal. Struktur dasar dari list dapat dilihat pada gambar, merupakan list dengan tiga buah elemen Kepala (First) NULL Representasi list dengan tiga buah elemen
Struktur data elemen list dapat berupa data mahasiswa atau data nilai mahasiswa sedangkan informasi elemen setelahnya (next) merupakan penunjuk ke elemen setelahnya. Pada elemen terakhir dari sebuah list, penunjuk elemen berikutnya ini bernilai NULL (kosong). Misalkan jika kita ingin membuat sebuah elemen data nilai mahasiswa yang terdiri dari, nomor induk, nama, dan nilai maka representasinya dapat dilihat pada gambar berikut nim nam nilai next penunjuk ke elemen berikutnya 135 iza A Representasi Elemen
Bila elemen seperti di atas dibuat dalam bahasa algoritmik, kurang lebih adalah sebagai berikut (isi kantong/bungkusan tanpa kait): type nilaiMatKul : < nim : string, nama : string, nilai : string > Isi kantong atau bungkusan ditambah dengan kait: type elemen : < elmt : nilaiMatKul, next : elemen > Dengan deklarasi list adalah: type list : < first : elemen, > (first adalah kait awal untuk mengait pada elemen list yang pertama)
Tipe-tipe(list) 1. List Kosong List kosong hanya terdiri dari sebuah penunjuk elemen yang berisi NULL (kosong) seperti yang dapat dilihat pada gambar . List kosong tidak memiliki satu buah elemen pun sehingga hanya berupa penunjuk awal elemen yang berisi NULL (kosong) Kepala (First) NULL Gambar List kosong
Tipe-tipe(list) • 2. List Tunggal • List tunggal adalah sebuah list yang elemennya hanya menyimpan informasi elemen setelahnya (next) hanya memiliki pengait ke elemen berikutnya, 1 pengait) sehingga jalannya pengaksesan list hanya dapat dilakukan secara maju (karena tidak ada penunjuk atau pengait ke elemen sebelumnya maka hanya dapat mengakses elemen berikutnya). List tunggal memiliki beberapa jenis list yaitu: • List tunggal dengan kepala dan ekor, • List tunggal dengan kepala, • Dan list tunggal berputar
Tipe-tipe(list) • List tunggal dengan kepala dan ekor • List ini memiliki dua buah penunjuk elemen yaitu yaitu penunjuk elemen pertama (first) dan penunjuk elemen terakhir (tail) sehingga pada awal pengaksesan, elemen yang dapat diakses adalah elemen awal dan elemen akhir. Kepala (First) Ekor (Tail) Deklarasi list tunggal dengan kepala dan ekor adalah sebagai berikut: type list : < first : elemen, tail : elemen > NULL
Tipe-tipe(list) • List tunggal dengan kepala • List tunggal dengan kepala, pada awal pengaksesannya hanya dapat diakses elemen pertamanya saja karena penunjuk hanya berupa penunjuk elemen awal (first) Representasi list tunggal dengan kepala Kepala (First) NULL
Tipe-tipe(list) • List tunggal berputar • Pada list tunggal berputar elemen terakhir ditandai dengan elemen setelahnya sama dengan elemen pertama sehingga penelusuran list akan berhenti jika penunjuk bantu telah sampai pada elemen yang ditunjuk oleh penunjuk elemen awal (first) yang dalam bahasa algoritmiknya kurang lebih sebagai berikut: while now.next <> L1.first do {proses penelusuran list} now<- now.next {end while} ???? GAMBARKAN REPRESENTASI LIST TUNGGAL BERPUTAR???? Kepala (First)