Pada pembahasan kali ane akan coba
menjelaskan sedikit tentang Pointer yang tentunya masih pada C++. Pointer
sendiri memang ane akuin sedikit agak susah dipahami sih, ane aja harus
baca-baca dari modul dan literature lain dulu baru bisa sedikit agak paham nih
sama yang namanya pointer pada C++. Langsung aja ya gan….Cekidot…!!!.
- Pengertian 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
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.
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()
{
int
ilham,*raka,amir;
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();
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;
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 memori dari 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();
}
Nah itu tadi panjelasan tentang Pointer pada C++. Bagi yang ingin download script programnya bisa klik disini.
terima kasih atas penjelasannya mas... sangat membantu
BalasHapusaku masih bingung :3
BalasHapusMakasih atas penjelasannya, saya sudah paham
BalasHapusMakasih atas penjelasannya, saya sudah paham
BalasHapusBaru jelas setelah membaca artikel ini, thanks
BalasHapusterimakasih atas penjelasannya, tapi kok programnya gak bisa di compile ya?
BalasHapusterimakasih banyak, sangat memvbantu ^^ izin copy ya buat tugas
BalasHapusterima kasih sangat membantu untuk mengerjakan tugas
BalasHapusTerimakasih ganzz
BalasHapusmantap bos. ini baru nih, singkat padat jelas. keep it up gan
BalasHapusOke sip gan..sama sama..
Hapusizin comot buat tugas untuk dipublikasikan di blogger baru ku
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapustq ya gan,ngebantu parah nih haha
BalasHapusKebalik tuh, reference '&' dan dereference '*' harusnya
BalasHapusjelaskan no 1 kenapa program tampilannya kalau di eksekusi seperti itu,jelaskan
BalasHapusKok alamatnya bisa random gitu ya masih gapaham nih. Thanks
BalasHapusPaham, cuman bingung kenapa susah2 pakai pointer ?
BalasHapusApa bedanya dengan deklarasi Ilham = 75; Raka = Ilham ; Rafli = Raka;
Mohon pencerahannya gan, ..
terimakasih semoga bermanfaat..
BalasHapus