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;
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;
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;
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;
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;
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:
Description: C:\Users\Administrator\Downloads\Screenshot_23.jpg

Contoh hasil yang akan diberikan dari program di atas adalah sebagai berikut:
Output Program Pointer Ke Array
Description: C:\Users\Administrator\Downloads\Screenshot_22.jpg

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
Description: C:\Users\Administrator\Downloads\Screenshot_23.jpg

Hasil yang akan diberikan oleh program di atas adalah sebagai berikut:

Output Program Pointer ke Array
Description: C:\Users\Administrator\Downloads\Pointer ke array.jpg (Muhammad Hari)

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

Postingan populer dari blog ini

Operator Aritmatika dan Logika

Operasi String dan Konversi Data