Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pointer Struktur Data. Pengantar Pointer  Pemakaian array tidak selalu tepat untuk program- program terapan yang kebutuhan pengingatnya selalu bertambah.

Presentasi serupa


Presentasi berjudul: "Pointer Struktur Data. Pengantar Pointer  Pemakaian array tidak selalu tepat untuk program- program terapan yang kebutuhan pengingatnya selalu bertambah."— Transcript presentasi:

1 Pointer Struktur Data

2 Pengantar Pointer  Pemakaian array tidak selalu tepat untuk program- program terapan yang kebutuhan pengingatnya selalu bertambah selama eksekusi program tersebut.  Untuk itu perlu adanya suatu tipe data yang bisa dialokasikan dan didealokasikan sesuai kebutuhan, yaitu Pointer.

3 Deklarasi Pointer Tipe pointer dideklarasikan pada bagian deklarasi type Bentuk umum deklarasi pointer adalah : Type pengenal = ^simpul; simpul = tipe; (pengenal : nama pengenal yang menyatakan data bertipe pointer; simpul : nama simpul; tipe : tipe data dari simpul)

4 Deklarasi Pointer  Tanda ^ di depan nama simpul harus ditulis seperti apa adanya dan menunjukkan bahwa pengenal adalah suatu tipe data pointer.  Tipe data simpul yang dinyatakan dalam tipe bisa berupa sembarang tipe data, misalnya char, integer, atau real.  Contoh : Type Bulat : ^angka angka : integer;  Dalam contoh diatas Bulat menunjukkan tipe data baru, yaitu bertipe pointer. Dalam hal ini pointer tersebut akan menunjukkan ke suatu data yang bertipe integer. Misalnya : var X, K : Bulat ;

5 Implementasi Pointer pada Record Pada program-program terapan, biasanya terdapat sekumpulan data yang dikumpulkan dalam sebuah rekaman (record), maka akan banyak dijumpai tipe data pointer yang elemennya (data yang ditunjukkan) adalah sebuah rekaman Contoh : type teks = string[30]; point = ^data; data = record nama_peg : teks; alamat : teks; pekerjaan : teks; berikut : point end; var P1, P2 : point; A,B,C : Teks; P1 P2 Simpul yang berisi medan bertipe pointer dapat digambarkan sbb:

6 Implementasi Pointer pada Record Pada contoh di slide sebelumnya, P1 dan P2 adalah pointer yang akan menempati lokasi tertentu dalam pengingat. Kedua perubah ini masing-masing belum menunjuk ke suatu simpul nilai, dinyatakan sebagai nil. Untuk mengalokasikan simpul dalam pengingat, statemen yag digunakan adalah statemen new. Bentuk Umum : new(P1); new(P2);

7 Operasi pada Pointer  Secara umum ada dua operasi pada pointer dasar :  Mengkopi pointer, sehinggga sebuah simpul akan ditunjuk oleh lebih dari sebuah pointer.  Mengkopi isi simpul, sehingga dua atau lebih simpul yang ditunjuk oleh pointer yang berbeda mempunyai isi yang sama.  Syarat-syarat operasi pointer adalah kedua pointer yang dioperasikan harus mempunai deklarasi yang sama.

8 Contoh Type Mahasiswa = ^Data; Data = record nama : string; alamat : string; berikut : Mahasiswa end; Var T1, T2 : Mahasiswa; Pada deklarasi di atas, pointer T1 dan T2 mempunyai deklarasi simpul yang sama, sehingga memenuhi syarat untuk operasi pointer. Sekarang kita berikan statement : New (T1); New (T2); Artinya kita mempunyai dua simpul, yaitu : T1 T2

9 Lanjutan… Dengan menggunakan statement : T1^.Nama := ‘OKKY’; T1^.Alamat := ‘KUPANG’; Maka simpul tersebut menjadi : Jika kita berikan statemen : T2 := T1; Maka simpulnya menjadi : T1 OKKYKUPANG T2 ?? T1 OKKYKUPANG T2 ??

10 Lanjutan…  Jika statemen yang kita berikan adalah : T2^ := T1^; Maka simpul tersebut akan menjadi : T1 OKKYKUPANG T2 OKKYKUPANG

11 End…  Demikian penjelasan tentang perubah dinamis yang lebih dikenal dengan sebutan pointer. Pada materi- materi selanjutnya kita akan banyak memakai pointer untuk menyajikan struktur-stuktur data yang akan kita pelajari seperti : tumpukan, antrian, dan pohon biner.


Download ppt "Pointer Struktur Data. Pengantar Pointer  Pemakaian array tidak selalu tepat untuk program- program terapan yang kebutuhan pengingatnya selalu bertambah."

Presentasi serupa


Iklan oleh Google