POINTER
Pointer merupakan sebuah variabel yang berisi alamat dari variabel
lain. Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori
sehingga alamat dari suatu variabel dapat diketahui dengan mudah. Arti
pointer dalam bahasa sehari-hari adalah petunjuk atau bisa di bilang penentu
atau pointer secara sederhana bisa diartikan sebagai tipe data yang nilainya
mengarah pada nilai yang terdapat pada sebuah area memori (alamat memori).
Namun dalam bahasa C, Pointer bisa berfungsi sebagai variabel array berarti
pointer sebagai penunjuk elemen array ke-0 dalam variabel C.
Fungsi Pointer yang utama adalah untuk menyimpan alamat memori dari
sebuah variable. Selain menyimpan alamat dari sebuah variable, Pointer juga
berfungsi untuk menyimpan alamat memori dari sebuah fungsi.
Macam-macam Pointer :
Terdapat dua macam operator pointer yang disediakan oleh
C++, yaitu :
1. Operator Dereference (&)
Operator ini biasa
disebut dengan “address of” atau operator alamat. Dengan menggunakan
operator dereference ini, suatu variable akan menghasilkan/menampilkan alamat
lokasi memori.
Contoh :
Keterangan :
Jika dilihat dari gambar di atas, sudah ditentukan dimana nilai variable dari ILHAM adalah 75, sedangkan nilai variabel AMIR sama dengan nilai variabel ILHAM yaitu 75 (AMIR=ILHAM), dan nilai variabel RAKA sama dengan alamat memori dari nilai variabel ILHAM (RAKA=&ILHAM) karena menggunakan operator dereference yang ditandai dengan tanda (&). Jadi yang output untuk nilai variabel RAKA adalah hanya alamat dari memori nilai variabel ILHAM yaitu 0x0012ff88.
Cara mendeklarasikan Operator Pointer Dereference adalah
sebagai berikut :
tipe_data *nama_variabel
tipe_data *nama_variabel
Contoh Program menggunakan Pointer Dereference :
/*Penggunaan Pointer Dereference*/
#include<iostream>
#include<conio>
main()
{
ilham=75;
raka=&ilham; /*Nilai
variabel raka adalah merupakan alamat memori dari nilai ilham*/
amir=ilham;
cout<<"Nilai Iham adalah
"<<ilham<<endl;
cout<<"Nilai Raka adalah
"<<raka<<endl;
cout<<"Nilai Amir adalah
"<<amir<<endl;
getch();
Output Program :
2. Operator Reference (*)
Operator Reference atau biasa disebut dengan “value pointed
by”. Bedanya dengan Operator Dereference, operator ini akan menampilkan nilai
yang terdapat dalam suatu alamat memori, bukan menampilkan alamat memorinya.
Ilham=75;
Raka=&Ilham;
Rafli=*Raka;
Contoh :
Keterangan :
Dari gambar di atas dimana nilai variabel ILHAM (Ilham=75)
sudah ditentukan sebelumnya yaitu 75 dengan alamat memori 0x001ff88. Sedangkan
nilai variabel RAKA adalah merupakan alamat memoridari nilai variabel
ILHAM (Raka=&Ilham) karena menggunakan operator pointer deference (diawali
dengan tanda “&”) yaitu 0x001ff88 dan untuk nilai variabel RAFLI merupakan
nilai yang terdapat dalam alamat memori dari nilai variabel RAKA
(Rafli=*Raka) karena menggunakan operator pointer reference (diawali dengan
tanda “*”) yaitu 75.
/*Penggunaan Pointer Reference*/
#include<conio>
#include<iostream>
main()
{
int ilham,rafli,*raka;
ilham=75;
raka=&ilham;
rafli=*raka;
cout<<"Nilai Ilham adalah :
"<<ilham<<endl;
cout<<"Nilai Raka
adalah : "<<raka<<endl;
cout<<"Nilai Rafli adalah :
"<<rafli<<endl;
getch();
}
Output Program :
1. Algoritma dan Pemrograman dalam Bahasa Pascal dan C karya Rinaldi Munir Tahun 1999
2. 10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ karya Ema Utami dan Sukrisno Tahun 2005



