Pointer Pada Bahasa C++ (01)

1.1 Konsep Dasar Pointer

Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat lokasi suatu memori tertentu. Jadi isi dari variabel pointer merupakan alamat dari lokasi memori yang digunakan untuk menyimpan data dan bukan nilai data itu sendiri. Misalnya X adalah suatu variabel biasa yang berisi nilai karakter ‘J’. X bukan variabel pointer. Nilai dari X ini oleh kompiler C++ akan diletakkan di suatu lokasi memori tertentu. Nilai ini dapat diakses jika diketahui alamat memorinya. Untuk mengetahui alamat memori yang digunakan oleh variabel X dalam menyimpan nilai datanya dapat diketahui dengan ungkapan &X. Alamat tersebut dapat ditulis dengan mengambil sebuah variabel lagi yang disebut dengan variabel pointer, misalnya: Alamat_X = &X. Alamat_X adalah variabel pointer karena variabel ini menunjuk ke lokasi memori di mana nilai data dari variabel X disimpan.

Contoh pada sebuah baris program berikut:

char *Alamat_X, X;

X = ‘J’;

Alamat_X = &X;

Dari baris program di atas, dapat ditemukan bahwa:

Nilai X = ‘J’

Nilai Alamat_X = 2527:24C7


Dengan ilustrasi sebagai berikut :







Ini berarti variabel X menyimpan nilai datanya yaitu ‘J’ pada alamat lokasi memori 2527:24C7. Alamat_X adalah variabel pointer yang menunjuk pada alamat lokasi memori yang digunakan oleh variabel X. Sebelum digunakan, variabel pointer harus dideklarasikan terlebih dahulu dengan diawali suatu asterisk (“*”).

Bahasa C/C++ menyediakan dua buah operator pointer, yaitu operator ‘&’ dan operator ‘*’. Operator ‘&’ digunakan untuk mendapatkan alamat lokasi memori yang digunakan oleh sebuah variabel biasa (dalam contoh di atas, &X digunakan untuk mendapatkan alamat memori yang digunakan oleh variabel X). Sedangkan operator ‘*’ digunakan untuk mendapatkan nilai data yang ditunjuk oleh variabel pointer pada alamat memori tersebut.


Contoh 1:

#include

#include

void main()

{

char *Alamat_X, X, Y, Z;

X = 'J';

Alamat_X = &X;

Y = X;

Z = *Alamat_X;

cout<<"Nilai variabel X adalah "<<

cout<<"Nilai variabel Y adalah "<<

cout<<"Nilai variabel Z adalah "<<

cout<<"Nilai variabel X berada di alamat memori ";printf("%p",Alamat_X);

}

Jika program ini dijalankan, akan didapatkan hasil:

Pada contoh-contoh di atas, kita mengalokasikan alamat lokasi memori yang digunakan oleh sebuah variabel pointer dengan menggunakan variabel bantu (dalam hal ini adalah variabel X). Jika kita ingin menciptakan sebuah variabel pointer tanpa menggunakan bantuan variabel biasa, kita harus terlebih dahulu mengalokasikan alamat lokasi memori variabel pointer yang akan digunakan. Kompiler C++ tidak dapat mengalokasikan secara otomatis alamat lokasi memori sebuah variabel pointer pada saat pertama kali variabel tersebut dideklarasikan. Untuk mengatasi hal ini, kita dapat menggunakan alokasi dinamis yang dapat dilakukan dengan pemanggilan fungsi standar malloc() dengan prototipenya berada pada file malloc.h. Cara alokasi dinamis ini akan menggunakan memori yang masih kosong. Fungsi malloc() akan mengalokasikan secara dinamis blok memori yang masih kosong untuk digunakan oleh variabel pointer.

1 Komentar "Pointer Pada Bahasa C++ (01)", Baca atau Masukkan Komentar

fc said...

thx bro..sangat membantu

Followers