Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

SENARAI BERANTAI (LINKED LIST)

Presentasi serupa


Presentasi berjudul: "SENARAI BERANTAI (LINKED LIST)"— Transcript presentasi:

1 SENARAI BERANTAI (LINKED LIST)
Fajrizal

2 Senarai / list adalah : Kumpulan linear sejumlah data Atau ; Kumpulan komponen yg disusun secara berurutan dengan bantuan pointer. Masing-masing komponen dinamakan dengan simpul (node). Setiap simpul dalam senarai berantai terbagi menjadi dua, * bagian pertama disebut medan informasi * bagian kedua disebut medan penyambung ( linked list)

3 Contoh senarai berantai dengan 6 simpul :
Awal A B C D E F Medan penyambung dari simpul kedua Medan informasi dari simpul kedua

4 PENYAJIAN SENARAI BERANTAI
INFO SAMBUNGAN 1 C 5 A 6 D 10 B 1 F E 8 2 Awal 3 2 4 5 6 7 8 Habis 9 10

5 NAMA NOMOR ANGK SEX SAMBUNGAN 1 Toni Subagio 12345 84/85 L 9 Budiman
6745 86/87 6 Purwanto 7001 85/86 Bambang 12123 83/84 11 Estiyati 6501 P 13 Amir 12211 5 Widodo 12111 Danang 12432 1 Jati 7201 4 2 3 TEK 4 7 5 6 EKON 7 2 8 9 10 11 12 13 14

6 OPERASI PADA SENARAI BERANTAI
1. Menambah Simpul Menggunakan Deklarasi Pointer type simpul = ^Data; Data = record info : string; Berikut : Simpul; end; var Elemen : string; Awal, Akhir, Baru : Simpul;

7 a. Menambah di belakang Akhir Baru Awal A B C D F Akhir Baru Awal B C D F A Akhir Baru Awal A B C D F

8 Procedure untuk menambah simpul di belakang :
procedure TAMBAH_BELAKANG ( var awal, akhir : simpul; elemen : string); var baru : simpul ; begin new (baru); baru^.info := elemen ; if awal = nil then  senarai masih kosong awal := baru else akhir^.berikut := baru ; akhir := baru; akhir^.berikut := nil end;

9 b. Menambah di depan Akhir Baru Awal B C D F A Akhir Baru Awal F A B C D Akhir Baru Awal A B C D F

10 Procedure untuk menambah simpul di depan :
procedure TAMBAH_DEPAN ( var awal, akhir : simpul; elemen : string); var baru : simpul ; begin new (baru); baru^.info := elemen ; if awal = nil then  senarai masih kosong akhir := baru else baru^.berikut := awal ; awal := baru; end;

11 c. Menambah di tengah Akhir Awal Bantu A B D F Baru C Akhir Awal Bantu A B D F Baru C Akhir Awal Bantu A B D F Baru C

12 Procedure untuk menambah simpul di tengah :
procedure TAMBAH_TENGAH ( var awal, akhir : simpul; elemen : char); var baru, bantu : simpul ; begin new (baru); baru^.info := elemen ; if awal = nil then  senarai masih kosong awal := baru; akhir := baru end else begin { mencari lokasi yg sesuai } bantu := awal; while elemen > baru^.berikut^.info do bantu := bantu^.berikut; { menyisipkan simpul baru} baru^.berikut := bantu^.berikut ; bantu^.berikut := baru; end;

13 2. Menghapus Simpul a. Menghapus simpul pertama Akhir Awal Bantu B C D E A Akhir Bantu Awal E A B C D Akhir Awal B C D E

14 b. Menghapus simpul di tengah / terakhir
Awal Bantu Hapus Akhir B C D E A Akhir Awal Bantu Hapus E A B C D Akhir Awal A B D E


Download ppt "SENARAI BERANTAI (LINKED LIST)"

Presentasi serupa


Iklan oleh Google