pointer

11
Pointer Pointer Gerlan A. Manu, ST Email : [email protected]

Upload: olisa

Post on 13-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Pointer. Gerlan A. Manu, ST Email : [email protected]. Pengantar Pointer. Pemakaian array tidak selalu tepat untuk program-program terapan yang kebutuhan pengingatnya selalu bertambah selama eksekusi prgram tersebut. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pointer

PointerPointerGerlan A. Manu, STEmail : [email protected]

Page 2: Pointer

Pengantar PointerPengantar PointerPemakaian array tidak selalu

tepat untuk program-program terapan yang kebutuhan pengingatnya selalu bertambah selama eksekusi prgram tersebut.

Untuk itu perlu adanya suatu tipe data yang bisa dialokasikan dan didealokasikan sesuai kebutuhan, yaitu Pointer.

Page 3: Pointer

Deklarasi PointerDeklarasi PointerTipe pointer dideklarasikan pada

bagian deklarasi typeBentuk umum deklarasi pointer

adalah :Type

pengenal = ^simpul;simpul = tipe;

(pengenal : nama pengenal yang menyatakan data bertipe pointer; silmpul : nama simpul; tipe : tipe data dari simpul)

Page 4: Pointer

Deklarasi PointerDeklarasi PointerTanda ^ di depan nama impul harus dituli seperti

apa adany an menunjukkan bahwa pengenal aalah suatu tipe data pointer.

Tipe data simpul yang dinyatakan dalam tipe bia berupa sembarang tipe data, misalnya char, integr, atau real.

Contoh :Type Bulat : ^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 ;

Page 5: Pointer

Implementasi Pointer pada Implementasi Pointer pada RecordRecord Pada program-program terapan, biasanya terdapat sekumpulan data

yang dikumpulkan dalam sebuah rekaman (record), maka akan banyak dijupai 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:

Page 6: Pointer

Implementasi Pointer pada Implementasi Pointer pada RecordRecordPada 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);

Page 7: Pointer

Operasi pada PointerOperasi pada PointerSecara umum ada dua operasi

pada pointer dasar : Mengkopi pointer, sehinggga sebuah simpul

akan ditujuk 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.

Page 8: Pointer

ContohContohType Mahasiswa = ^Data;

^Data = recordnama : 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 :

b

T1

T2

Page 9: Pointer

Lanjutan…Lanjutan…Dengan menggunakan statemen:T1^ .Nama := ‘OKKY’;T1^.Alamat := ‘KUPANG’;

Maka simpul tersebut menjadi

Jika kita berikan statemen :T2 := T1;Maka simpulnya menjadi :

T1 OKKY KUPANGT2 ? ?

T1 OKKY KUPANG

T2 ? ?

Page 10: Pointer

Lanjutan…Lanjutan…Jika statemen yang kita berikan

adalah :T2^ := T1^;

Maka simpul tersebut akan menjadi :T1 OKKY KUPANGT2 OKKY KUPANG

Page 11: Pointer

End…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.