Praktikum Chapter
I
POINTER
1.1 Pengertian Pointer
Pointer adalah tipe
data berukuran 32 bit yang merupakan suatu variabel penunjuk, berisi nilai yang
menunjuk alamat suatu lokasi memori tertentu. Jadi pointer tidak berisi nilai
data, melainkan berisi suatu alamat memori atau null jika tidak berisi data.
Sebagai contoh, sebuah variabel P bertipe pointer bernilai 0x0041FF2A, berarti
P menunjuk pada alamat memori 0041FF2A. Pointer dideklarasikan seperti variabel
biasa dengan menambahkan tanda * (asterik) yang mengawali nama variabel.
Bentuk Umum:
<tipe data>
*namaVariabel;
Contoh:
float *value;
Statement di atas mendeklarasikan variabel px yang merupakan pointer.
Penyebutan tipe data float berarti bahwa alamat memori yang ditunjuk oleh px
dimaksudkan untuk berisi data bertipe float.
1.2 Perbedaan
Pointer dengan Varibel biasa
|
Variabel Biasa |
Pointer |
|
Berisi data / nilai |
Berisi alamat dari suatu varibel tertentu |
|
Operasi yang bisa dilakukan :-operasi
aritmatik(+,-,*,/,%) -operator
assignmemt standart (+=,-=,*=,/=,%=) -operator
rasional ( <,>,<=,>=,==,!=) -operator
logikal(&&,||,!) |
Membutuhkan operator khusus : “&” yang menunjuk alamat dari suatu
variabel tertentu. Operator “&” hanya dapat dilakukan kepada variabel dan
akan menghasilkan alamat dari variabel itu. Contoh : x
= &value; yang kedua
: operator “*”, Operator ini bersifat menggunakan/membaca nilai dari alamat
variabel yang ditunjuk oleh pointer tersebut. Contoh:int
*value; |
|
Bersifat statis |
Bersifat dinamis |
|
Deklarasi : int value; |
Deklarasi : int *value; |
1.3 Operator Pointer
|
Operator & |
Mendapatkan nilai data dari variabel pointer |
Contoh : int
*alamat; int value
= 22; alamat =
&value; cout<<alamat; |
Hasil : 22FF54 |
|
Operator * |
Mendapatkan alamat memori dari variabel pointer |
int *alamat; int value
= 22; alamat =
&value; cout<<*alamat; |
Hasil : 22 |
Contoh: Program Pointer
Hasil:
Contoh: Program Pointer
pada Array
Hasil?
Tugas:
Buatlah program penghitung karakter dengan pointer, dimana inputan
berasal dari keyboard, kemudian bagaimana jika huruf vokalnya di ganti dengan
z?
Catatan :
·
Variabel
pointer dapat dideklarasikan dengan tipe data apapun.
·
Pendeklarasian variabel pointer dengan tipe data
tertentu digunakan untuk menyimpan alamat memori yang berisi data sesuai dengan
tipe data yang dideklarasikan, bukan untuk berisi nilai bertipe data
tertentu.
·
Tipe data digunakan sebagai lebar data untuk
alokasi memori (misal char berarti lebar datanya 1 byte, dst).
·
Jika suatu variabel
pointer dideklarasikan bertipe float, berarti variabel pointer tersebut hanya
bisa digunakan untuk menunjuk alamat memori yang berisi nilai
bertipe float juga.

