Pointer Dalam Bahasa C++ ( Pengertian, Fungsi, Operator, dan Contoh Program )
A. Pengertian Pointer
Pointer adalah sebuah variabel yang berisi alamat lain. Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah.
Intinya :
- Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya.
- Variabel pointer berisi suatu alamat (alokasi memory).
B. Fungsi Pointer
Kegunaan pointer yang utama adalah untuk menyimpan alamat memori dari sebuah variabel dan alamat
dari sebuah fungsi. Pointer dapat meningkatkan kinerja untuk operasi yang dilakukan secara berulang.
C. Operator Pointer
Ada 2 operator pointer yang dikenal secara luas, yaitu operator “&” dan operator “*”.
a. Operator &
Operator & merupakan operator alamat. Pada saat pendeklarasian variabel, user tidak
diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara
otomatis oleh kompiler dan operating sysem pada saat run-time.
Jika ingin mengetahui dimana suatu variabel akan disimpan, dapat dilakukan dengan memberikan
tanda ampersand (&) didepan variable , yang berarti "address of".
Contoh :
Misalkan variabel DATA_1 diletakkan pada alamat memory 1770, kemudian dituliskan instruksi
sbb :
DATA_1 = 27; Variabel DATA_1 berisi data 27
DATA_2 = DATA_1; Variabel DATA_2 diberi isi seperti DATA_1, yaitu 27
DATA_3 = &DATA_1; Variabel DATA_3 berisi alamat memory DATA_1, yaitu 1770
b. Operator *
Operator * merupakan operator reference. Dengan menggunakan pointer,kita dapat mengakses
nilai yang tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada
identifier pointer, yang berarti "value pointed by".
Contoh :
Melanjutkan deklarasi sebelumnya, jika ada penulisan variabel berikut
DATA_4 = *DATA_3
Dapat dikatakan bahwa DATA_4 sama dengan nilai yang ditunjuk oleh DATA_3.
DATA_3 berisi alamat memory 1770, sementara memory 1770 menampung data bernilai 27.
Jadi DATA_4 berisi nilai yang berada pada alamat 1770, yaitu 27.
D. Contoh Penerapan Program
#include <stdio.h>
main(){
int *pointer;
int DATA1;
DATA1=27;
printf(" Isi variabel DATA1 = %d",DATA1);
printf("\n Alamat variabel DATA1 = %d",&DATA1);
printf("\n Alamat variabel *pointer = %d",&pointer);
printf("\n Isi variabel *pointer = %d",pointer);
pointer=&DATA1;
printf("\n Alamat variabel *pointer = %d",&pointer);
printf("\n Isi variabel *pointer = %d",pointer);
printf("\n Isi dari alamat %d = %d",pointer,*pointer);
printf("\n");
return 0;
}
SS Program :
Pointer adalah sebuah variabel yang berisi alamat lain. Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah.
Intinya :
- Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya.
- Variabel pointer berisi suatu alamat (alokasi memory).
B. Fungsi Pointer
Kegunaan pointer yang utama adalah untuk menyimpan alamat memori dari sebuah variabel dan alamat
dari sebuah fungsi. Pointer dapat meningkatkan kinerja untuk operasi yang dilakukan secara berulang.
C. Operator Pointer
Ada 2 operator pointer yang dikenal secara luas, yaitu operator “&” dan operator “*”.
a. Operator &
Operator & merupakan operator alamat. Pada saat pendeklarasian variabel, user tidak
diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara
otomatis oleh kompiler dan operating sysem pada saat run-time.
Jika ingin mengetahui dimana suatu variabel akan disimpan, dapat dilakukan dengan memberikan
tanda ampersand (&) didepan variable , yang berarti "address of".
Contoh :
Misalkan variabel DATA_1 diletakkan pada alamat memory 1770, kemudian dituliskan instruksi
sbb :
DATA_1 = 27; Variabel DATA_1 berisi data 27
DATA_2 = DATA_1; Variabel DATA_2 diberi isi seperti DATA_1, yaitu 27
DATA_3 = &DATA_1; Variabel DATA_3 berisi alamat memory DATA_1, yaitu 1770
b. Operator *
Operator * merupakan operator reference. Dengan menggunakan pointer,kita dapat mengakses
nilai yang tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada
identifier pointer, yang berarti "value pointed by".
Contoh :
Melanjutkan deklarasi sebelumnya, jika ada penulisan variabel berikut
DATA_4 = *DATA_3
Dapat dikatakan bahwa DATA_4 sama dengan nilai yang ditunjuk oleh DATA_3.
DATA_3 berisi alamat memory 1770, sementara memory 1770 menampung data bernilai 27.
Jadi DATA_4 berisi nilai yang berada pada alamat 1770, yaitu 27.
D. Contoh Penerapan Program
#include <stdio.h>
main(){
int *pointer;
int DATA1;
DATA1=27;
printf(" Isi variabel DATA1 = %d",DATA1);
printf("\n Alamat variabel DATA1 = %d",&DATA1);
printf("\n Alamat variabel *pointer = %d",&pointer);
printf("\n Isi variabel *pointer = %d",pointer);
pointer=&DATA1;
printf("\n Alamat variabel *pointer = %d",&pointer);
printf("\n Isi variabel *pointer = %d",pointer);
printf("\n Isi dari alamat %d = %d",pointer,*pointer);
printf("\n");
return 0;
}
SS Program :
Bermanfaat gan (Y)
ReplyDeletewah ini nambah pengetahuan baru nih. makasih gan
ReplyDeleteInget jaman2 kuliah semester awal hehe
ReplyDeleteKommen back gan
Y,u,k,g,a,s,dot,id
Saya sedikit mengerti, banyak bingung hehe. Maklum tidak terlalu paham bahasa pemrograman :)
ReplyDeletemakasih komennya ^
ReplyDeletecyka blyat
ReplyDeleteSangat membantu buat ngerjain tugas kuliah hehe
ReplyDeletewagalasehh...mantab gan
ReplyDeletealat pemisah lcd
sangat membantu om (jadi lebih ngerti soal pointer)
ReplyDeleteI really appreciate your support on this.
ReplyDeleteLook forward to hearing from you soon.
I’m happy to answer your questions, if you have any.
คาสิโนออนไลน์
เล่นบาคาร่า
แจกเครดิตฟรี ฝากถอนง่าย
Many thanks for your kind invitation. I’ll join you.
ReplyDeleteWould you like to play cards?
Come to the party with me, please.
See you soon...
เล่นบาคาร่า
คาสิโน
คาสิโนออนไลน์
คาสิโน