senarai berantai

19
Senarai Berantai Adalah salah satu struktur data dinamis yang paling sederhana (linked list) atau juga disebut senarai satu arah ( one way list).

Upload: misae

Post on 06-Jan-2016

93 views

Category:

Documents


2 download

DESCRIPTION

Senarai Berantai. Adalah salah satu struktur data dinamis yang paling sederhana (linked list) atau juga disebut senarai satu arah ( one way list). DEKLARASI VARIABEL PADA SENARAI BERANTAI :. Type Simpul= ^Tali ; Tali= record Info: char; Berikut: Simpul end; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Senarai Berantai

Senarai BerantaiAdalah salah satu struktur data dinamis yang paling sederhana (linked list) atau juga disebut senarai satu arah ( one way list).

Page 2: Senarai Berantai

Type Simpul = ^Tali ;Tali = record

Info : char;Berikut : Simpul

end;

Var elemen : char ; Awal, Akhir, Baru : Simpul;

DEKLARASI VARIABEL PADA SENARAI BERANTAI :

Page 3: Senarai Berantai

Gambar contoh senarai berantai dengan 6 simpul

A B C D E F

Awal

Masing – masing komponen dinamakan dengan simpul (node).

Setiap simpul dalam suatu senarai berantai terbagi menjadi dua bagian :1.Medan informasi berisi informasi yang disimpan dan diolah.2.Medan penyambung (linked field) berisi alamat simpul berikutnya.

Page 4: Senarai Berantai

OPERASI PADA SENARAI BERANTAI

1. MENAMBAH :a. Menambah di belakangb. Menambah di depanc. Menambah di tengah

2. MENGHAPUS :a. Menghapus simpul pertamab. Menghapus simpul di tengahc. Menghapus simpul di akhir

3. MEMBACA :a. Membaca majub. Membaca mundur

4. MENCARI DATA

Page 5: Senarai Berantai

A B C D F

Akhir Awal Baru

Illustrasi Penambahan Simpul di Belakang

a.

A B C D F

Akhir Awal Baru

Akhir^.Berikut := Baru ;b.

Page 6: Senarai Berantai

A B C D F

Akhir Awal Baru

Akhir:= Baru ;Akhir^.Berikut := nil

c.

Procedure tambah_belakang(var Awal, akhir : simpul;elemen : char );

Var Baru : simpul ;Begin new(baru); baru^.info:=elemen; akhir^.berikut := baru; akhir:=baru; akhir^.berikut:= nil;End;

Page 7: Senarai Berantai

Procedure tambah_belakang(var Awal, akhir : simpul;

elemen : char );

Var Baru : simpul ;

Beginnew(Baru);Baru^.Info := Elemen ;

if Awal := nil then

Awal := Baru

else

Akhir^.Berikut := Baru ;

Akhir := Baru;

Akhir^.Berikut := nil ;

End;

Page 8: Senarai Berantai

B C D F

Akhir Awal Baru

Illustrasi Penambahan Simpul di Awal

a.

Baru^.Berikut := Awal ;b.

A

B C D F

Akhir Awal Baru

A

Page 9: Senarai Berantai

Awal:= Baru ;c.

B C D F

Akhir Awal Baru

A

Procedure tambah_depan(var Awal, akhir : simpul;elemen : char );

Var Baru : simpul ;Begin

new(Baru);Baru^.Info := Elemen ;if Awal := nil then

Akhir := Baruelse

Baru^.Berikut := Awal;Awal := Baru;

End;

Page 10: Senarai Berantai

Illustrasi Penambahan Simpul di Tengah

a.

Baru^.Berikut := Bantu^.Berikut;b.

A B

C

D

Akhir Awal

F

Baru

Bantu

A B

C

D

Akhir Awal

F

Baru

Bantu

Page 11: Senarai Berantai

Bantu^.Berikut := Baru ;b.

A B

C

D

Akhir Awal

F

Baru

Bantu

Page 12: Senarai Berantai

Procedure tambah_depan(var Awal, akhir : simpul;

elemen : char );Var bantu,Baru : simpul ;Begin new(baru); baru^.info:=elemen; bantu:=awal;

{mencari posisi dimana elemen akan disisipkan}

while baru^.info>bantu^.berikut^.info do bantu:=bantu^.berikut;

baru^.berikut:=bantu^.berikut; bantu^.berikut:=baru;end;

Page 13: Senarai Berantai

A B C D

Akhir Bantu Awal

Illustrasi Penghapusan Simpul di Pertama

a.

A B C D

Akhir Awal

Awal:= Bantu^.Berikut;b.

Bantu

Page 14: Senarai Berantai

B C D

Akhir Awal

Dispose(bantu);c.

Illustrasi Penghapusan Simpul di tengah

A B D F

Hapus Awal Bantu

a.

Akhir

C

Bantu:=Awal^.Berikut;Hapus:=Bantu^.Berikut;

Page 15: Senarai Berantai

A B D F

Hapus Awal Bantu

b.

Akhir

C

Bantu^.Berikut:=Hapus^.Berikut;

A B D F

Awal Bantu

c.

Akhir

Dispose(hapus);

Page 16: Senarai Berantai

Illustrasi Penghapusan Simpul di akhir

A B D F

Awal Bantu

a.

Akhir

C

Bantu:=Bantu^.Berikut;

A B D F

Awal Bantu

b.

Akhir

C

Akhir:=Bantu;

Page 17: Senarai Berantai

A B D

Awal Bantu

c.

Akhir

C

Bantu^.Berikut = nil;

F

Page 18: Senarai Berantai

Illustrasi Pembacaan Maju

A B D F

Awal Bantu

a.

Akhir

C

Bantu:=Bantu^.Berikut;Writeln(Bantu^.Info);

Illustrasi Pembacaan Mundur

A B D F

Awal Bantu

a.

Akhir

C

Bantu:=Bantu^.Berikut;

Page 19: Senarai Berantai