Pointer dalam algoritma pemrograman

Pointer adalah penunjuk dari alamat dari sebuah variabel di dalam memory. alamat ini merupakan lokasi dari obyek lain (biasanya bariabel lain) di dalam memori. jika sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua. sebagai contoh variabel px adalah pointer dan x adalah bariabel yang ditunjuk oleh px. jika x memiliki alamat memori af1234 maka px akan berisi af1234.

suatu variabel pointer dideklarasikan dengan bentuk sebagai berikut :
*nama_variabel<–tipe data
contoh :
*px<–integer
*pch<–string

agar suatu pointer menunjuk ke bariabel lain, mula-mula pointer harus diisi dengan alamat dari variabel yang akan ditunjuk. untuk menyatakan alamat dari suatu bariabel, operator & bisa dipergunakan dengan cara menempatkan operator di depan nama variabel. contoh :

&x

berarti “alamat dari variabel x”. adapun contoh pemberian alamat ke suatu bariabel pointer px (yang dideklarasikan sebagai pointer yang menunjuk ke data bertipe int) yaitu

px=&x

pernyataan di atas berarti bahwa px diberi nilai berupa alamat dari bariabel x. setelah pernyataan tersebut dieksekusi barulah dapat dikatakan bahwa px menunjuk ke variabel x.

kalau suatu variabel sudah ditunjuk oleh pointer, variabel yang ditunjuk oleh pointer dapat diakses melalui variabel itu sendiri(dikatakan sebagai pengaksesan langsung) ataupun melalui pointer(dikatakan sebagai pengaksesan tak langsung). pengaksesan tak langsung dilakukan dengan menggunakan operator indirection (tak-langsung), berupa simbol * . conth penerapan operator * yaitu

*px

yang menyatakan isi atau nilai bariabel/data yang di tunjuk oleh pointer px*. sebagai contoh jika y bertipe int, maka sesudah dua pernyataan berikut

px=&x
y=*px

y akan berisi nilai yang sesuai dengan nilai x.

Notasi :

//judul :  pointer
//kamus :  x,y<--integer
           *px<--integer

//deskripsi :
             x=87 //mislakan alamat x=ffe0 
             px=&x  //isi px=ffe0 karena &x artinya menunjuka alamat
             y=*px 
//nilai yang ditunjuk oleh px=87 karena *px artinya menunjuk nilai didalam //px, sementara px menampung alamat sehingga *px mengakses nilai dari //alamat tersebut.
  
 ouput  y
 nilai y=87

notasi di aplikasikan kedalam program bahasa C :

#include <stdio.h>
#include <stdlib.h>
///judul : pointer
///kamus :
           int x,y;
           int *px;

///deskripsi :
int main(){
 x=87;

 printf("alamat x=%p\n",&x);
 px=&x;
 printf("isi px merupakan alamat x=%p\n",px);
 printf("yang berisi nilai x=%d\n",x);
 printf("nilai yang di tunjuk oleh px adalah =%d\n",*px);
 y=*px;
 printf("jika y=*p maka y berisi nilai yang di tunjuk oleh px yaitu     
        %d\n",*px);

}

jika program di jalankan :

pointer

Leave a Reply

Your email address will not be published. Required fields are marked *