List2012a - WordPress.com

Download Report

Transcript List2012a - WordPress.com

Pertemuan – 2
List
Dipersiapkan oleh : Y. Palopak SSi., MT.
Kita lanjutkan
untuk yang satu ini …..
SENARAI / LINK LIST
Struktur Data
 Definisi




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
S
p
q
r
s
X1
X2
X3
X4
Kepala/First
Item /
Data
Penunjuk
NIL
KONDISI SENARAI
Struktur Data
S
Senarai / List KOSONG
p
S
X1
Senarai / List dengan 1 elemen
S
p
q
r
s
X1
X2
X3
X4
Senarai / List dengan 4 elemen
Representasi Senarai
First
Berisi Kantong kosong
First = Pengait awal
NUL
Representasi Elemen
NIM
123
Nama
Nilai
Lio
A
NEXT
Penunjuk
Ke elemen
berikutnya
Representasi Elemen
Nama
Lio
NIM
123
Nilai
A
Mengakses List
Mendeklarasikan sebuah penunjuk elemen
bantu yang nantinya digunakan untuk di
jalankan maju sebagai penunjuk tiap elemen
2. Mendeklarasikan sebuah List yang akan di
akses
3. Penunjuk elemen diarahkan kepada elemen
pertama
4. Penunjuk elemen dijalankan maju ke depan
seterusnya sampai dijumpai elemen terakhir
pada list dimana nilai elemen berikutnya
adalah null (kosong)
1.
Type List/Senarai
1.
List Kosong
2.
List Tunggal
3.
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
Null
p
q
r
X1
X2
X3
Null
Hanya memiliki sebuah penunjuk elemen yaitu
penunjuk elemen awal
List Ganda dengan Kepala & Ekor
First/Kepala
Null
Tail/Ekor
p
q
r
X1
X2
X3
Memiliki dua penujuk elemen yaitu
penunjuk elemen awal dan elemen akhir
Null
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.