Dasar-Dasar pointer
Menurut
definisinya, pointer merupakan variable yang menunjuk ke alamat dari variable
lain. isi dari pointer berupa alamat memori, bukan nilai seperti yang tersimpan
pada variable biasa.
a.Memori Computer
RAM (Random
access memory) yang terpasang pada setiap pc memiliki ribuan bahkan jutaan blok
yang tersusun secara beruntun.
Masing-masing blok tersebut mempresentasikan lokasi/alamat yang bersifat unik
dan akan digunakan untuk menyimpan data selama computer dinyalakan. Adapun
jumlah lokasi tersebut tergantung dari besarnya ukuran memori yang terpasang
pada computer.
Ketika
menyalakan computer, maka sistem operasi yang kita gunakan akan meminta
sejumlah ruang memori untuk menyimpan data-data yang terdapat didalamnya juga
mengambil sejumlah ruang memori. sekarang, misalkan kita memiliki varoabel a,b
dan c dalam program yang dibuat, maka variable-variabel tersebut juga akan
menempati lokasi/alamat memori yang berbeda-beda.
Pointer sendiri
juga sebenarnya menempati lamat memori yaitu alamat khusus yang secara otomatis
telah dipesan oleh compiler dan linker untuk mencatat atau menunjuk ke alamat
memori, walaupun sebenarnya lebih tepat disebut sebagai pencatat atau penunjuk
alamat memori.
b.
Deklarasi Pointer
Dalam bahasa
pascal, pointer dideklarasikan dengan tanda caret (^) di depan tipe datanya.
berikut ini bentuk umum untuk mendeklarasikan pointer yang akan menunjuk ke
alamat variable dengan tipe data tertentu.
Var
NamaPointer : ^TipeData;
c.
Pointer Tanpa Tipe
Menurut keadaan
default, pointer hanya dapat menunjuk ke alamat yang tipe datanya sama dengan
tipe data yang dideklarasikan pada pointer. Contoh :
Var
ptr : ^integer;
d.
Mendeklarasikan Nilai Variabel Melalui Pointer
Nilai dari
variable dapat diambil dari pointer, yaitu dengan menambahkan tanda caret (^)
dibelakang nama pointer yang menunjuk ke alamat variable yang bersangkutan. Sebagai contoh, maka kita dapat
mengakses nilai c dengan cara menuliskan kode berikut :
P^
e.
Pointer Sebagai Parameter Fungsi Atau Prosedur
Dalam
kasus-kasus pemrograman tertentu, mungkin sering menemui adanya prosedur yang menggunakan pointer
sebagai parameternya. Apabila melewatkan parameter dengan kata kunci var,
sebenarnya itu juga merupakan parameter yang dilewatkan adalah alamatnya. Untuk lebih memahami, perhatikan kode berikut
:
Procedure
Tambah(a, b: integer; var c: integer);
begin
c:= a+b;
end;
Sumber : Teknik
Pemrograman Pascal revisi ketiga, Budi Raharjo
Tidak ada komentar:
Posting Komentar