POINTER
A. Pengertian
Pointer
Pointer (penunjuk)
adalah sebuah variabel yang digunakan sebagai penunjuk alamat dari variabel
lain. Pointer disini berfungsi menyimpan alamat dari sebuah variabel dan dapat
mengakses nilai yang ada di alamat tersebut, pointer dapat mengubah nilai,
menampilkan nilai atau menampilkan alamat dari variabel yang disimpannya.
Manusia menggunakan pointer pada dunia nyatasetiap saat. Pointer (penunjuk)
adalah sebuah variabel yang digunakan sebagai penunjuk alamat dari variabel
lain. Pointer disini berfungsi menyimpan alamat dari sebuah variabel dan dapat
mengakses nilai yang ada di alamat tersebut, pointer dapat mengubah nilai,
menampilkan nilai atau menampilkan alamat dari variabel yang disimpannya.
Manusia menggunakan pointer pada dunia nyata setiap saat.
B.
Alamat
dan Variabel
Misalkan kamu
memiliki variabel x dan terletak di memori 0x000001. Jika kamu ingin memasukkan
nilai 100 kedalam variabel x, maka processor harus membawa nilai 100
tersebut kedalam variabel x yang terletak di alamat memori 0x000001. Hal yang
perlu kamu ketahui adalah, setiap variabel ternyata memiliki ukuran byte yang
berbeda-beda dalam memori. Sebagai contoh suatu variabel bertipe int memiliki
ukuran 4 byte dalam memori. Maka variabel tersebut akan menempati 4 kapling
lokasi dalam memori, misalkan 0x000001, 0x000002, 0x000003, dan 0x000004. Jika
terdapat dua buah variabel bertipe int yang bersebelahan, maka alamat variabel
pertama terletak di 0x000001 dan variabel kedua terletak dialamat 0x000005.
C. Macam-macam
operator pada pointer
Address-of
Operator (&), adalah operator yang memungkinkan kita
untuk mendapatkan/melihat alamat memori yang dimiliki oleh variabel tersebut.
Cara menggunakanya adalah dengan meletakan tanda & di depan identitas saat
pemanggilan variabel. Hal itu akan membuat compiler memberikan alamat memori
bukan isi/nilai dari memori tersebut.
Dereference Operator (*),
adalah operator yang memungkinkan mendapatkan isi/nilai dari sebuah memori
berdasarkan alamat memori.
Pointer adalah
sebuah variabel yang menyimpan alamat memori dari variabel lainnya, kita
dimungkinkan untuk mengubah nilai dari variabel yang ditunjuk oleh pointer dan
menyalin. Selama program berjalan kita bebas mengubah tujuan dari pointer,
mengubah untuk menunjuk ke alamat memori variabel lain atau menunjuk ke alamat
memori yang bukan merupakan variabel.
D. Mendirikan
Pointer
Pada
umumnya pointer sebenarnya adalah variabel, peraturan yang dimiliki variabel
juga berlaku pada pointer, jadi tidak jauh beda dengan variabel. pointer hanya
mendapatkan beberapa perbedaan yaitu penambahan dua operator yang akan membuat
variabel menjadi variabel pointer. Untuk mendirikan sebuah variabel pointer
kita hanya menambahkan dereference operator sebelum identitas. Operator
dereference tidak harus melekat pada identitas, operator tersebut juga bisa di
letakan setelah tipe data atau di antara tipe data dan identitas. dari berbagai
cara penulisan tersebut memiliki makna yang sama yaitu satu operator
dereference hanya akan berlaku pada saru variabel. Pointer tidak hanya berlaku
pada variabel, kita juga dapat melakukanya pada function, objek dan lain-lain.
Dan cara implementasi pointer selain pada variabel, caranya masih sama seperti
kita melakukanya pada variabel.
E. Cara
mengakses Pointer
Variabel pointer
adalah variabel yang memiliki alamat memori sebagai nilai dari variabel pointer
tersebut. Dan pada pointer kita dimungkinkan untuk mengakses nilai dari pointer
itu sendiri dan mengakses nilai dari alamat memori yang dimiliki(ditunjuk) oleh
pointer. Pointer merupakan variabel, untuk mengakses pointer tidak jauh beda
dengan cara mengakses variabel. Untuk mengakses nilai dari pointer kita hanya
cukup memanggil identiatas dari pointer tersebut.
Pemanggilan itu akan menghasilkan
nilai dari pointer yang berupa alamat memori dari variabel yang ditunjuk oleh
pointer tersebut. Karena pointer hanya dapat mememiliki nilai berupa alamat
memori, untuk mengubah nilai dari pointer atau mengubah tujuan dari pointer
kita membutuhkan operator address-of (&) pada operand sumber.
Contoh program :
F. Ukuran
Pointer
Besar memori dari
pointer tergantung pada mesin kompiler. jika kompiler merupakan 32bit maka
pointer akan memakan memori sebanyak 4 bytes, Jika menggunakan 64bit maka
pointer memakan memori sebanyak 8 bytes.
G. Pointer
dan Array
Pada Array/Larik,
pointer hanya perlu menunjukan alamat elemen pertama saja karena alamat array
dalam memori sudah disusun secara berurutan.
Pernyataan pa=a
artinya pointer pa menyimpan alamat array a, yang alamatnya diwakili alamat
elemen pertama, yaitu a[0]. Kita juga bisa mengganti perintah pa=a dengan
pa=&a[0]. Untuk pembacaan semua elemen array dengan pointer, bisa
menggunakan perulangan seperti pada penggalan program berikut.
H. Pointer
sebagai parameter suatu fungsi
Parameter pass by
reference adalah pemrosesan parameter di dalam sebuah fungsi di mana yang
dimasukkan didalam prosedur adalah tempat atau alamat dari variabel yang
menjadi parameter sehingga dapat terjadi perubahan nilai variabel yang menjadi
parameter.
DAFTAR PUSTAKA
http://yuliana.lecturer.pens.ac.id/Konsep%20Pemrograman/Teori/T12-Pointer(1).pdf diakses pada tanggal 26 febuari 2019 pukul 11.18 wita
https://www.belajarcpp.com/tutorial/cpp/pointer/ diakses pada tanggal 26 febuari 2019 pukul 11.28 wita
https://bundet.com/pub/detail/pengertian-pointer-dalam-c-1539272230 diakses pada tanggal 26 febuari 2019 pukul 11.55 wita
Tidak ada komentar:
Posting Komentar