PERTEMUAN 13
POINTER
Suatu variabel yang berisi alamat memori sebagai nilainya.
Merupakan variabel level rendah yang dapat digunakan untuk menunjuk nilai integer, character, float, double, atau single dan tipe-tipe data lain yang didukung oleh bahasa pemrograman.
FUNGSI POINTER
Meningkatkan kinerja untuk operasi yang dilakukan secara berulang, karena variabel pointer bersifat dinamis (dapat diubah-ubah lokasi penyimpannya dalam memory).
Pada variabel biasa kita tidak perlu tahu alamat memory dari variabel tersebut. Untuk mengakses hanya perlu nama variabel tersebut. Tapi untuk struktur data dinamis (linked list, tree dsb) hal tersebut tidak bisa.
DEREFERENCING POINTER
Adalah mengambil nilai yang ditunjuk oleh sebuah variabel pointer .
Untuk melakukan dereferencing pointer, kita harus menggunakan simbol *. Bila p adalah pointer, maka *p adalah nilai yang ditunjuk oleh p.
Terdapat 3 operasi yaitu sebagai berikut
1. OPERASI POINTER
a. Operasi Penugasan
Nilai dari suatu variabel pointer dapat disalin ke variabel pointer yang lain.
Contoh:
y = 65;
x₁ = &y;
X₂ = x1;
b. Operasi Aritmatika
Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer saja.
Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index selanjutnya) dalam memori.
c. Operasi Logika
- Atau disebut operasi perbandingan.
- Pointer dapat dibandingkan dengan menggunakan operator hubungan, seperti !=, ==, <, dan >.
- Contoh:
{
int num[4];
int *start, *end;
start = num;
end = &num[3];
while (start != end)
}
POINTER DAN ARRAY
Array secara internal akan diterjemahkan dalam bentuk pointer.
Deklarasi variabel:
int tgl_lahir[3] = { 01, 09, 64 };
int *ptgl;
Kemudian diberi instruksi:
ptgl = &tgl_lahir[0];
maka ptgl akan berisi alamat dari elemen array tgl_lahir yang berindeks nol.
POINTER DAN STRING
Pointer juga dapat digunakan untuk mendeklarasikan variabel string.
Contoh:
char *pkota = “SEMARANG”;
Hampir sama dengan:
char kota[] = “SEMARANG”;
Tetapi sebenarnya tidak tepat sama.
pkota adalah pointer (menyatakan alamat) yang menunjuk
ke string “SEMARANG”, kota adalah array (array
menyatakan alamat yang konstan, tak dapat diubah).
Nama : Ian Sunandar
No/HP : 085797211759
Email : Iansnndr@gmail.com
Komentar
Posting Komentar