senarai berantai

Post on 06-Jan-2016

94 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

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

Type Simpul = ^Tali ;Tali = record

Info : char;Berikut : Simpul

end;

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

DEKLARASI VARIABEL PADA 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.

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

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.

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;

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;

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

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;

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

Bantu^.Berikut := Baru ;b.

A B

C

D

Akhir Awal

F

Baru

Bantu

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;

A B C D

Akhir Bantu Awal

Illustrasi Penghapusan Simpul di Pertama

a.

A B C D

Akhir Awal

Awal:= Bantu^.Berikut;b.

Bantu

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;

A B D F

Hapus Awal Bantu

b.

Akhir

C

Bantu^.Berikut:=Hapus^.Berikut;

A B D F

Awal Bantu

c.

Akhir

Dispose(hapus);

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;

A B D

Awal Bantu

c.

Akhir

C

Bantu^.Berikut = nil;

F

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;

top related