POINTER
5.1. Pointer
Pointer adalah variabel yang berisi alamat memori sebagai nilainya dan berbeda
dengan variabel biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari
variabel yang mempunyai nilai tertentu. Pointer tidak hanya berlaku untuk variabel, kita
juga bisa menerapkannya ke fungsi, objek, dll. Implementasinya masih sama seperti yang
10 10
Sebuah pointer dapat berisi alamat dari variabel lain, dan akses langsung ke
nilai dalam variabel pointer dapat dilakukan dengan menggunakan operator. Jadi,
setiap variabel mempunyai data (isi data) dan alamat memori yang menunjukkan
Ada dua jenis pointer yang disediakan oleh borland c++, yaitu Operator Deference
mendapatkan/melihat alamat memori milik variable, operator ini juga sering disebut
sebagai address of operator (&). Penggunaannya adalah dengan meletakkan simbol “&”
sebelum variabel yang berarti alamat. Ini akan memaksa kompiler untuk memberikan
konten/nilai memori dari alamat memori, operator ini biasa disebut dengan value pointed
by. Operator ini akan menampilkan nilai yang terdapat pada alamat memori, bukan alamat
memori. Selama program berjalan, kita bebas mengubah tujuan penunjuk, mengubahnya
untuk menunjuk ke alamat memori variabel lain, atau menunjuk ke alamat memori yang
bukan variabel.
Bentuk penulisan
berlaku untuk pointer, jadi tidak jauh berbeda dengan variabel. pointer hanya mendapatkan
beberapa perbedaan, yaitu menambahkan dua operator akan menjadikan variabel tersebut
identitas, ia juga dapat ditempatkan setelah tipe data atau di antara tipe data dan identitas.
Dari berbagai cara penulisan yang berbeda memiliki arti yang sama, yaitu operator
Variabel pointer adalah variabel yang memiliki alamat memori sebagai nilai
variabel pointer. Dan di pointer kita dimungkinkan untuk mengakses nilai pointer itu sendiri
dan nilai alamat memori yang dimiliki (ditunjuk) oleh pointer. Pointer adalah variabel,
memori dari variabel yang ditunjuk oleh pointer tersebut. Karena pointer hanya dapat
memiliki nilai berupa alamat memori, untuk mengubah nilai pointer atau mengubah tujuan
plnt = &myVar operan sumber mengembalikan alamat memori myVar, dan ini
adalah nilai yang diminta oleh variabel pointer. variabel pointer hanya dapat meneriman
alamat memori dari variabel yang memiliki tipe data yang sama.
5.2 Study Kasus
1. Pointer Konstanta
Flowchart:
variabel konstan yaitu *nama = “Borlan C++” bertipe data char. Kemudian tampilkan isi dari
variabel nama. Lalu dilanjutkan dengan memproses nama = “ Visual C++ “. Dan tampilkan
Program dimulai dengan start, lalu mendeklarasikan variabel ilham, amir, dan raka
sebagai tipedata integer. Kemudian memproses ilham = 75, amir = ilham, dan raka =
&ilham. Kemudian tampilkan nilai dari ilham, amir, dan raka. program selesai.
Program:
mendeklarasikan variabel nilai[3], dan *penunjuk sebagai tipe data integer. Kemudian
memproses nilai[0] = 125, nilai[1] = 345, nilai[2] = 750. Dan memproses bahwa variabel
penunjuk = %nilai[0]. Lalu program tampilkan nilai dari variabel *penunjuk << penunjuk,
*(penunjuk + 1) << (penunjuk + 1), dan *(penunjuk + 2) << (penunjuk + 2). Program
selesai.
Program
Program dimulai dengan mendeklarasikan variabel c[4] sebagai tipedata char dan
perulangan jika i < 4 maka tampilkan “address of c[i]” << &c[i]. kemudian lakukan proses +
+i. Jika syaratnya perulangannya tidak terpenuhi lagi maka program selesai.
Program:
5.3.1 Kesimpulan
pointer berisi alamat dari variabel yang mempunyai nilai tertentu. Pointer tidak
hanya berlaku untuk variabel, kita juga bisa menerapkannya ke fungsi, objek, dll.
Implementasinya masih sama seperti yang kita lakukan dengan variabel. Sebuah pointer
dapat berisi alamat dari variabel lain, dan akses langsung ke nilai dalam variabel pointer
dapat dilakukan dengan menggunakan operator. Jadi, setiap variabel mempunyai data (isi
data) dan alamat memori yang menunjukkan variabel tersebut disimpan dimana. Ada dua
jenis pointer yang disediakan oleh borland c++, yaitu Operator Deference (&) Dan
5.3.2 Saran
saja kesalahan dalam menggunakan pointer akan mengakibatkan kesalahan fatal pada
program. Karena pointer bisa langsung menunjukan pada lokasi memori, apabila lokasi
yang ditunjuk salah, berarti data yang diambil juga akan salah, dan sudah tentu program