POINTER
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 atau sebagai tipe data yang nilainya mengarah pada
nilai yang terdapat pada sebuah area memori (alamat memori).
B. Fungsi Pointer
1.
Fungsi Utama
Kegunaan
pointer yang utama adalah untuk menyimpan alamat memori dari sebuah variabel
dan alamat.
2.
Function pointer
Function
pointer seperti pointer biasa (pointer ke data type/object), anda dapat
menyimpan,mengirimkan, merubah address, atau meng-evaluasi address dari pointer
ke fungsi ini dengan sifat tambahan anda dapat memanggil fungsi yang ditunjuk oleh
function pointer.
C.
Operasi Point
1.
Operator &
Merupakan
operator alamat. Pada saat pendeklarasia variable, user tidak haruskan
menentukan lokasi sesungguhkannya pada memoru, hal ini akan dilakukan secara
otomatis oleh compiler dan operating system pada saat run-time. Jika ingin
mengetahui dimana suati veriabel akan disimpan, dapat dilakukan dengan memeri
tanda ampersand (&) didepan variable, yang berarti “ addres 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.
2.
Operator *
Operator*
merupakan Operator Reference. Dengan menggunakan pointer, kita
dapat mengakses nilai yang tersimpan secara langsung dengan memberikan awalan
operator asterisk (*) pada identifier 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. Macam-macam
Pointer
1.
Pointer Bertipe Void
Pointer
semacam ini dideklarasikan dengan tipe void sehingga sering dikenal dengan
istilah Void Pointer. Berikut ini contoh listing program yang menggunakan void
pointer.
2.
Pointer Aritmetika
Pointer
semacam ini disebut dengan istilah pointer aritmetika. Konsep dasar dari
pointer aritmetika ini adalah melakukan operasi aritmetika terhadap variabel
yang bertipe pointer.
3.
Pointer NULL
Pada
saat program dijalankan, pointer akan
menunjuk ke alamat pada memori, sehingga diperlukan
inisialisasi agar hal tersebut tidak terjadi. Dalam C++ terdapat sebuah cara
untuk membuat pointer tidak menunjuk ke alamat manapun, yaitu dengan mengisikan
ponter tersebut dengan nilai NULL. Karena hal inilah maka pointer tersebut
sering dinamakan pointer NULL (NULL Pointer). Sebagai contoh kita mempunyai
pointer p, dan kita ingin melakukan inisialisasi pada Pointer R tersebut dengan
nilai NULL maka sintaknya adalah sebagai berikut P=NULL.
E.
Contoh Penerapan Program
#include<stdio.h>
main(){
int*pointer; intDATA1; 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; a 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
Refensi