Showing posts with label Struktur Data. Show all posts
Showing posts with label Struktur Data. Show all posts
POINTER (STRUKTUR DATA)

POINTER (STRUKTUR DATA)

Pointer ( variabel penunjuk) merupakan suatu ariabel yang berisi alamat memori dari suatu variabel lain. Alamat ini merupakan lokasi dari variabel lain di dalam memori. Dengan kata lain, pointer berisi alamat dari variabel yang mempunyai nilai tertentu.

OPERATOR POINTER
Suatu pointer dapat berisi alamat dari suatu variabel lain dan untuk dapat mengakses niali yang ada di dalam variabel berpointer secara langsung dapat dilakukan dengan menggunakan operator. Ada dua operator pointer ysng disediaka oleh Borland C++ yaitu:

1. OPERATOR DEFERENCE (&)
Pada umumnya kita tidak dapat menentukan dimana variabel akan ditempatkan dalam memori karena penempatan suatu variabel ditentukan oleh sistem operasi. Untuk suatu keperluan tertentu terkadang kita harus mengetahui alamat suatu variabel di dalam memori, untuk memperoleh alamat dari suatu variabel dapat kita lakukan dengan bentuk:

Nama_var_pointer = &variabel;

2. OPERATOR REFERENCE (*)
Digunakan untuk mengakses secara langsung nilai yang terdapat di dalam alamat yang merupakan nilai dari variabel pointer. Dilakukan dengan menambah operator Reference (*) di depan nama variabel, agar dapat menerjemahkan nilai sebenarnya dari suatu variabel. Sebagai contoh, misalkan deklarasi sebagai berikut:

int x=8,y;
int *xptr;

DEKLARASI POINTER
Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan.Bentuk umumnya:

tipe_data *nama_var_pointer;

POINTER DAN ARRAY
Pointer dan Array mempunyai hubungan yang dekat. Secara internal array juga menyatakan alamat , dimana pengenalan array sama dengan alamat pada elemen pertama pada array.

POINTER PADA PINTER
Variabel pointer menunjukan suatu variabel, Disamping itu suatu variabel pointer juga dapat menunjukan ke variabel pointer lainya. Dalam hal ini dilakukan dengan cara menambahkan operator reference[*] pada variabel yang akan ditunjuk.
Contoh, misalkan kita mempunyai deklarasi sebagai berikut ini:

int Var_x;
int *xPtr1;
int **xPtr2;

Artinya:
a. Var_x adalah variabel bertipe int
b. *xPtr1 adalah pointer yang mennjukan ke data bertipe int
c. **xPtr2 adalah variabel pointer yang menunjuk kepointer int