POINTER
POINTER
20-DINI ARDIANITA-BAB 4
SMK ISLAM 1 BLITAR
KB 1. Pointer ke Variabel
Definisi
Pointer
Pointer sering
disebut juga dengan istilah link, referensi, penunjuk adalah suatu variabe
yang menyimpan atau
menunjuk alamat dari suatu variabel yang lain. Pointer menunjuk suatu datyang
tersimpan dalam sebuah variabel dengan cara menyimpan alamat dari variabel
penyimpadata tersebut. Pointer dalam kehidupan sehari – hari dianalogikan
seperti kartu alamat sesorang(KTP, atau yg lain) maka kartu tersebut dapat
menunjukkan dimana orang tersebut berada, bagaimana caranya? ya tentu saja
dengan menyimpan alamat tersebut pada kartu. (Dhidhi Pambudi, 2014)
Kemudian bagaimana Cara Deklarasi
Pointer Pada Variabel ? seperti yang terlah kita singgung tadi salah satu
penggunaan Operaor Reference adalah untuk mendeklarasikan variable sebagai
pointer, dalam mendeklarasikan sebuah variabel menjadi pointer kita hanya
menambahkan tanda asterisk (*) di depan nama variable tersebut, Berikut
bentuk umum Dekalrasi Variabel bertipe Pointer dalam C++:
tipe_data *nama_pointer;
atau
tipe_data* nama_pointer;
atau
tipe_data* nama_pointer;
Tipe data diatas berguna untuk
menyatakan bahwa pointer yang kita deklarasikan tersebut akan ditempati oleh
data dengan tipe tertentu. sebagai contoh saat kita akan mendeklarasikan pointer
P yang akan ditempati oleh tipe data long, maka bentuk pendeklarasiannya adalah
sebagai berikut:
// Mendeklarasikan pointer P dengan
tipe data long
long *P;
long *P;
Jika kita mempunyai sebuah variabel
yang bertipe long (misal X), maka kita dapat memerintahkan pointer P diatas
untuk menunjuk ke alamat yang ditempati oleh variabel X. Untuk melakukan hal
tersebut, kita perlu menuliskan kode seperti berikut:
// Mendeklarasikan variabel X dengan
tipe long
long X;
// Mendeklarasikan pointer P
long P;
// Memerintahkan P untuk menunjuk alamat dari variabel X
P = &X;
long X;
// Mendeklarasikan pointer P
long P;
// Memerintahkan P untuk menunjuk alamat dari variabel X
P = &X;
Apabila kita analisis potongan kode
diatas, sebenarnya konsepnya sangat sederhana. Kita tahu bahwa P adalah pointer
(berisi alamat) dan &X juga berisi alamat (alamat variabel X), maka kita
dapat menyimpan alamat dari variabel X tersebut ke dalam pointer P. Kita tidak
diizinkan untuk memasukkan sebuah nilai (bukan alamat) ke dalam pointer P,
seperti yang ditunjukkan oleh kode berikut:
// Salah, karena X berupa nilai
(bukan berupa alamat)
P = X;
P = X;
apabila kita memang ingin mengisikan
nilai kedalam alamat yang disimpan oleh pointer P, maka seharusnya kita
menggunakan tanda asterisk (*) di depan nama pointer tersebut, yaitu dengan
mengubah kode diatas menjadi seperti dibawah ini:
// Benar, karena *P merupakan nilai
yang berada pada pointer P
*P = X;
*P = X;
Sebagai catatan bahwa *P ini disebut
dengan deference pointer, silakan baca materi Pointer pada C++, Lengkap Contoh Program dan
Pembahasan , agak lebih jelas mengenai Operator dereference
(&) dan Operator reference (*). (Materi Dosen, 2016)
KB 2. Pointer ke Array
Sekarang apabila kita
mendeklarasikan pointer ke array, itu artinya kita mendeklarasikan
sebuah pointer yang akan digunakan untuk menunjuk ke variabel yang bertipe
array. Berikut ini contoh pendeklarasiannya.
Source code program:

Contoh hasil yang akan diberikan
dari program di atas adalah sebagai berikut:
Output Program Pointer Ke Array

Perlu diperhatikan bahwa dalam C++
array sebenarnya adalah suatu pointer. Dan seperti yang anda lihat di atas
bahwa nilai P akan sama dengan " & A [ 0 ] ". Ini menunju
ke Array A melalui statemen P = A;.
Contoh program berikut ini akan
menunjukan cara mengakses elemen array melalui pointer.
Source code program Pointer ke Array

Hasil yang akan diberikan oleh
program di atas adalah sebagai berikut:
Output Program Pointer ke Array

KB 3. Pemanfaatan
Pointer
Alasan mengapa harus menggunakan pointer yang utama adalah untuk menyimpan
alamat memori dari sebuah variabel (data type atau object dari class). Selain
menyimpan alamat dari variabel, pointer juga dapat digunakan untuk menyimpan
alamat dari sebuah fungsi (function pointer).Function pointer telah digunakan sejak dikenalkannya bahasa C,dan banyak digunakan untuk sebuah fungsi callback atau untuk meningkatkan readability dari sebuah code
Anda dapat memperlakukan function pointer seperti pointer biasa (pointer ke datatype/object), anda dapat menyimpan,mengirimkan, merubah address, atau meng-evaluasi address dari pointer ke fungsi ini dengan sifat tambahan anda dapat memanggil fungsi yang ditunjuk oleh function pointer.
Atau bisa juga pointer berguna untuk :
1. Mengirimkan “Parameter yang berupa variabel” ke dalam fungsi, artinya nilai
variabel bisa diubah di dalam fungsi
2. Untuk membuat variabel DINAMIS (Bukan variabel Statis)
penggunaan function pointer pada C++ dibatasi, yaitu function pointer tidak boleh menunjuk pada function yang berada dalam sebuah class (class member function) kecuali function tersebut berjenis static.
Mengapa sih harus menggunakan POINTER dalam bahasa C++ …??? Karena dapat meningkatkan kinerja untuk operasi yang dilakukan secara berulang.
dengan syarat Kalau mendeklarasikan pointer kedalam array, tidak boleh menggunakan tanda bintang
Operator yang digunakan untuk pointer adalah tanda “*” dan tanda “&”.
tanda “*” ini berfungsi sebagai penunjuk nilai dari suatu pointer sedangkan tanda
“&” digunakan sebagai penunjuk alamat dari suatu variable.
Pointer di gunakan untuk mengalokasikan tempat pada memori secara dinamis yakni dapat diubah-ubah alokasi tempatnnya pada memori.
data yang dimasukkan sebagai nilai pointer akan selalu tersimpan sehingga diperlukan penghapusan yang tujuannya untuk mengosongkan memori, perintah yang digunakan untuk menghapus memori adalah delete [] nama variable.
*Operasi pointer dapat diterapkan pada tipe data Array,tipe data Struck,
*Pointer dapat digunakan untuk mengakses elemen array
*Pointer dapat menunjuk alamat pointer lain. (Tyoo's Blog, 2010)
DAFTAR PUSTAKA
Bibliography
Dhidhi Pambudi. (2014). Pemrograman Dasar.
Jakarta: Menteri Pendidikan dan Kebudayaan .
Materi Dosen. (2016, november 29). Cara Deklarasi
Pointer Pada Variabel C++. Retrieved from
http://www.materidosen.com/2016/11/cara-deklarasi-pointer-pada-variabel-c.html
Muhammad Hari. (n.d.). Pointer ke Array Dalam C++ .
Retrieved from http://www.xcodeplus.net/2016/12/mengenal-tentang-array-dari-pointer-dan.html
Tyoo's Blog. (2010, april 1). Kegunaan Pointer.
Retrieved from https://ty000.wordpress.com/2010/04/01/kegunaan-pointer/
Komentar
Posting Komentar