Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STRUKTUR DATA PERTEMUAN 8 vandawaa@yahoo.com.

Presentasi serupa


Presentasi berjudul: "STRUKTUR DATA PERTEMUAN 8 vandawaa@yahoo.com."— Transcript presentasi:

1 STRUKTUR DATA PERTEMUAN 8

2 type A = array [1..6] of integer;
POINTER QUEUE / ANTRIAN Pemakaian Array / Larik tidak selalu tepat untuk program- program yang kebutuhan pengingatnya selalu bertambah selama eksekusi program itu. Untuk itu, diperlukan suatu tipe data yang dapat mengalokasikan dan mendealokasikan pengingat secara dinamis sesuai kebutuhan. type A = array [1..6] of integer; ARRAY (LARIK)

3 POINTER QUEUE / ANTRIAN
Nama variabel yang kita gunakan untuk mewakili suatu nilai data, sebenarnya terletak pada suatu lokasi tertentu dalam memory komputer. Saat program dikompilasi (bedakan antara kompilasi dan eksekusi), lokasi-lokasi data dalam memory sudah ditentukan dan tidak bisa diubah selama program dieksekusi. Konsekuensinya adalah banyaknya data yang bisa diolah terbatas. Contohnya adalah pada penggunaan Array. Peubah/ variabel seperti inilah yang disebut perubah statis (Static variable).

4 ARRAY (LARIK) POINTER QUEUE / ANTRIAN
Untuk mengatasi keterbatasan itu, digunakanlah variabel dinamis yang disebut Pointer. Pointer adalah variabel dinamis yang hanya dialokasikan saat diperlukan saja, dan dapat didealokasikan saat variabel tidak diperlukan lagi. Variabel pointer ini hanya mencatat alamat lokasi dari sebuah variabel pada memori (alamatnya acak). Pada saat dikompilasi, alamat dari variabel belum ditentukan. Kompiler hanya mencatat bahwa variabel ini akan diperlakukan sebagai variabel dinamis. ARRAY (LARIK)

5 ARRAY (LARIK) POINTER QUEUE / ANTRIAN
Pada variabel Statis, isi variabel pada lokasi tertentu adalah data/nilai sesungguhnya yang akan kita olah. Namun, pada variabel Dinamis, nilai dari variabel Pointer adalah alamat lokasi dari tempat data/nilai sesungguhnya yang disimpan. Sehingga dengan kata lain, isi variabel Pointer ini akan menunjuk ke suatu alamat lokasi dimana data sesungguhnya berada. Dalam Pointer, nilai data sesungguhnya disebut Simpul/Node ARRAY (LARIK)

6 ARRAY (LARIK) DEKLARASI POINTER
Tipe data Pointer biasanya dideklarasikan pada bagian type : Contoh : Artinya, variabel X dan K adalah variabel bertipe Pointer yang hanya bisa diisi oleh nilai integer. type variabel = ^simpul simpul = tipe_data ARRAY (LARIK) type Bulat = ^integer; var X, K : Bulat;

7 DEKLARASI POINTER DEKLARASI POINTER T1 ? T2 ?
Artinya, T1 dan T2 bertipe pointer yang dapat diisi oleh sebuah record. Perintah new(T1) dan new(T2) adalah untuk membuat/ mengalokasikan simpul dalam pegingat. type Point = ^Data; Data = record Nama : string[30]; Alamat : string[50]; Next : Point; end; var T1, T2 : Point; begin new(T1); new(T2); alamat nama next ? T1 ? T2

8 Pengisian nilai QUEUE / ANTRIAN POINTER ? T1^.Nama := ‘Brow’;
type Point = ^Data; Data = record Nama : string[30]; Alamat : string[50]; Next : Point; end; var T1, T2 : Point; begin new(T1); new(T2); T1^.Nama := ‘Brow’; T1^.Alamat := ‘Jember’; Brow Jember T1 ? T2 ? T1 ? T2

9 POINTER QUEUE / ANTRIAN ? Kopi alamat T2 := T1; T1 T2 Kopi isi nilai
type Point = ^Data; Data = record Nama : string[30]; Alamat : string[50]; Next : Point; end; var T1, T2 : Point; begin new(T1); new(T2); T2 := T1; Brow Jember T1 ? T2 Kopi isi nilai T2^ := T1^; Brow Jember T1 ? T1 Brow Jember T2 ? T2

10 POINTER QUEUE / ANTRIAN DANGER / BAHAYA
Pemberian statement hanya dapat dilakukan untuk perubah perubah yang bertipe sama. Dengan demikian, statemen pemberian berikut adalah SALAH : T1^ := T2; T1 := T2^; T1 := (^_^) ;

11 POINTER QUEUE / ANTRIAN CONTOH SOAL 1

12 POINTER QUEUE / ANTRIAN CONTOH SOAL 1

13 POINTER CONTOH SOAL 2

14 POINTER QUEUE / ANTRIAN CONTOH SOAL 2

15 dispose(var_pointer)
QUEUE / ANTRIAN POINTER Penghapusan Pointer Pointer yang telah kita alokasikan (buat) dapat kemudian kita dealokasikan (hapus) kembali saat program dieksekusi. Setelah suatu pointer dihapus, maka lokasi itu akan bebas dan dapat digunakan oleh peubah/variabel pointer lain. Penghapusan atau pendeaokasian pointer ini dilakukan melalui perintah : dispose(var_pointer)


Download ppt "STRUKTUR DATA PERTEMUAN 8 vandawaa@yahoo.com."

Presentasi serupa


Iklan oleh Google