Pointer Struktur Data Pengantar Pointer Pemakaian array tidak selalu tepat untuk programprogram terapan yang kebutuhan pengingatnya selalu bertambah selama eksekusi program tersebut. Untuk.
Download ReportTranscript Pointer Struktur Data Pengantar Pointer Pemakaian array tidak selalu tepat untuk programprogram terapan yang kebutuhan pengingatnya selalu bertambah selama eksekusi program tersebut. Untuk.
Pointer Struktur Data Pengantar Pointer Pemakaian array tidak selalu tepat untuk programprogram 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. 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) 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 ; 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; Simpul yang berisi medan bertipe pointer dapat digambarkan sbb: var P1 P2 P1, P2 : point; A,B,C : Teks; 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); 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. 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 Lanjutan… Dengan menggunakan statement : T1^ .Nama := ‘OKKY’; T1^.Alamat := ‘KUPANG’; Maka simpul tersebut menjadi : T1 OKKY KUPANG T2 ? ? Jika kita berikan statemen : T2 := T1; T1 Maka simpulnya menjadi : T2 OKKY KUPANG ? ? Lanjutan… Jika statemen yang kita berikan adalah : T2^ := T1^; Maka simpul tersebut akan menjadi : T1 OKKY KUPANG T2 OKKY KUPANG End… Demikian penjelasan tentang perubah dinamis yang lebih dikenal dengan sebutan pointer. Pada materimateri selanjutnya kita akan banyak memakai pointer untuk menyajikan struktur-stuktur data yang akan kita pelajari seperti : tumpukan, antrian, dan pohon biner.