Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Rahmady Liyantanto liyantanto.wordpress.com S1 Teknik Informatika Universitas Trunojoyo Struktur Data.

Presentasi serupa


Presentasi berjudul: "Rahmady Liyantanto liyantanto.wordpress.com S1 Teknik Informatika Universitas Trunojoyo Struktur Data."— Transcript presentasi:

1 Rahmady Liyantanto liyantanto@gmail.com liyantanto.wordpress.com S1 Teknik Informatika Universitas Trunojoyo Struktur Data

2  Array  Statis, Pasti, Alokasi variabel digunakan saat program dijalankan sampai selesai.  Pointer  Dinamis, Ukuran, sesuai kebutuhan, Alokasi variabel dapat diatur sesuai kebutuhan

3  Dikembangkan tahun 1955-1956 oleh Allen Newell, Cliff Shaw dan Herbert Simon di RAND Corporation sebagai struktur data utama untuk bahasa Information Processing Language (IPL). IPL dibuat untuk mengembangkan program artificial intelligence  Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung-menyambung dan dinamis.

4  Linked List saling terhubung dengan bantuan variabel pointer  Masing-masing data dalam Linked List disebut dengan node (simpul) yang menempati alokasi memori secara dinamis dan biasanya berupa struct yang terdiri dari beberapa field.  Setiap elemen (node) dari suatu linked list terdiri atas dua bagian, yaitu : - INFO, berisi informasi tentang elemen data yang bersangkutan. - NEXT(link field/next pointer field), berisi alamat dari elemen (node) selanjutnya yang dituju.

5 ARRAY : –Statis –Terbatas dalam menambah / menghapus data –Random access –Penghapusan data tidak mungkin LINKED LIST : –Dinamis –Tidak terbatas dalam menambah / menghapus data –Sequential access –Penghapusan data mudah

6 - Ada dua hal yang menjadi kerugian dengan representasi suatu data dengan linked list ini, yaitu : 1. Diperlukan ruang tambahan untuk menyatakan/tempat field pointer. 2. Diperlukan waktu yang lebih banyak untuk mencari suatu node dalam linked list. - Sedangkan keuntungannya adalah : 1. Jenis data yang berbeda dapat di-link. 2. Operasi REMOVE atau INSERT hanya dilakukan dengan mengubah pointer-nya saja.

7 Aturan pada operasi didalam linked list, yaitu : -Jika P adalah suatu variabel pointer, maka nilainya adalah alamat atau lokasi dari variabel lain yang dituju. -Operasi yang didefinisikan pada suatu variabel pointer adalah : 1. Test apakah sama dengan NULL. 2. Test untuk kesamaan dengan variabel pointer lain. 3. Menetapkan sama dengan NULL. 4. Menetapkan menuju ke node lain.

8 Notasi yang didefinisikan sehubungan dengan operasi diatas adalah : 1. NODE(P), artinya node yang ditunjuk oleh pointer P. 2. INFO(P), artinya nilai INFO dari node yang ditunjuk pointer P. 3. NEXT(P), artinya hubungan (link) selanjutnya dari node yang ditunjuk oleh pointer P.

9  Single Linked List dapat juga ditulis NULL  Double Linked List 10 1520 10 1520 head prevnext

10 Pengertian:  Single : artinya field pointer-nya hanya satu buah saja dan satu arah serta pada akhir node, pointernya menunjuk NULL  Linked List : artinya node-node tersebut saling terhubung satu sama lain. 10 datapointer 10 1520 NULL

11  Setiap node pada linked list mempunyai field yang berisi pointer ke node berikutnya, dan juga memiliki field yang berisi data.  Node terakhir akan menunjuk ke NULL yang akan digunakan sebagai kondisi berhenti pada saat pembacaan isi linked list. 1520 10 datapointer NULL

12  Single linked list dengan HEAD  Single linked list dengan HEAD dan TAIL 10 1520 head 10 1520 head tail

13  LIFO(Last In First Out)-> Stack Data yang masuk paling akhir adalah data yang keluar paling awal.  FIFO(First In First Out)-> Queue Data yang masuk paling awal adalah data yang keluar paling awal juga.

14  Bentuk Umum var :  Contoh type Point = ^Rec Point; Rec Point = record isi:TipeData; Next:Point; end; Var Head, Tail, Now: Point;

15 Procedure INSERT(elemen:TipeData); Var Now:Point; begin New(Now); Now^.Isi:=elemen; if Head=Nil then Now^.Next:=Nil else Now^.Next:=Head; Head:=Now; end;

16 Procedure INSERT(elemen:TipeData); Var Now:Point; begin New(Now); if Head=Nil then Head:=Now else Tail^.Next:=Now; Tail:=Now; Tail^.Next:=Nil; Tail^.Isi:=elemen end;

17

18 Procedure Create; begin Head:=Nil; Tail:=Nil; end; Function Empty:boolean; begin if Head=Nil then empty:=true else empty:=false; end;

19 Procedure UPDATE(u:TipeData); begin Now^.isi:=u; end;

20 Procedure DeleteNow; Var x:Point; begin If Now<>Head then begin x:=Head; while x^.Next<>Now do x:=x^.Next; x^.Next:=Now^.Next; end else Head:=Head^.Next; Dispose(Now); Now:=Head end;

21 Procedure Clear; begin while Head<>Nill do begin Head:=Now; Head:=Head^.Next; Dispose(Now); end;


Download ppt "Rahmady Liyantanto liyantanto.wordpress.com S1 Teknik Informatika Universitas Trunojoyo Struktur Data."

Presentasi serupa


Iklan oleh Google