Kamis, 26 Desember 2013

POINTER

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