TI POLITALA ALPRO 2D

POINTER PADA PEMROGRAMAN C++
 

A.    Pengertian Pointer
Pointer merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu variabel dimaksudkan untuk menunjukkan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah. Pointer adalah penunjuk suatu variabel. Karena menunjuk suatu variabel, maka pointer wajib memiliki alamat dari variabel yang ditunjuknya.
Adapun pengertian versi lain yaitu pointer memiliki arti dalam bahasa sehari – hari yaitu petunjuk atau bisa dibilang penentu atau pointer secara sederhana bisa diartikan sebagai tipe data yang nilainya mengarah pada nilai yang terdapat pada sebuah area memori (alamat memori). Pada pointer memungkinkan untuk menunjuk suatu memori, mengubah nilai dan menyalin nilai memori tersebut secara tidak langsung (perantara melalui variabel pointer).
Kadang kala dalam program yang besar, penghematan memori wajib untuk dilakukan. Dengan mekanisme copy dan paste, nilai variabel satu kedalam variabel lain akan sangat memboroskan memori. Dengan mekanisme pointer, suatu variabel dalam suatu fungsi dapat diakses fungsi yang lain.

B.     Cara Membuat Pointer
Ada dua cara yang dapat dilakukan untuk alokasi space di memori bagi pointer, yaitu:
1.      Menempati space variabel lain yang sudah punya space.
Variabel lain tersebut dapat berupa variabel biasa (bukan pointer) atau pointer yang tentunya sudah punya alokasi space di memori.
Syntax :
var_pointer = & var_biasa;
Contoh program :
Hasil program :
2.      Dialokasikan tersendiri di memori (memori dinamis)
Pointer tidak menempati space variabel lain, tetapi dialokasikan space tersendiri di memori dengan instruksi new.
Syntax :
var_pointer = new tipe_data-pointer;

Contoh program :
Hasil program :
C.     Operator Pointer
1.      Deference (&)
Deference (&) merupakan suatu operator yang berfungsi untuk menanyakan alamat dari suatu variabel. Apabila memberikan simbol “&” pada awal variabel dan mencetak hasilnya maka yang akan tercetak adalah alamat dari variabel tersebut bukan nilai yang ditampung oleh variavel tersebut.
Contoh program :


Hasil program :
Alamat variabel “a” pada setiap komputer akan berbeda - beda tergantung kompiler dalam mengalokasikan memori untuk suatu variabel.
2.      Reference (*)
Reference (*) merupakan suatu operator yang berfungsi menyatakan suatu variabel adalah variabel pointer. Sama halnya dengan operator deference, peletakan simbol operator reference diletakkan di awal variabel. Operator ini akan membuat suatu variabel pointer untuk menampung alamat.
Contoh program :
Hasil program :
Dari program diatas dapat disimpulkan bahwa nilai variabel b sama dengan variabel a, walaupun variabel b tidak diberikan nilai yang sama dengan variabel a. Hal ini sebab variabel pointer b menunjukkan alamat variabel a dan variabel pointer b dapat mengakses nilai yang terkandung dalam alamat yang ditunjuknya.

D.    Pointer dan Array
Pada array, pointer hanya menunjukkan alamat elemen pertama sebab alamat array dalam memori sudah disusun secara berurutan. Sebuah array apabila dituliskan tanpa tanda kurung kotak ([ ]) maupun indeksnya, maka array tersebut menunjuk atau berisi alamat elemen pertama dari array tersebut. Misalkan membuat sebuah pointer bertipe int dengan nama pointerarray dan sebuah array dengan tipe yang sama yaitu int dengan nama nilaiarray, maka pemberian nilai berikut sah.
Contoh program :
Dari variabel pointer dengan nama pointerArray adalah menunjukkan alamat memori elemen pertama array dengan nama nilaiArray. Secara tidak langsung, nilai elemen
Hasil program :
Dari hasil program dapat dilihat bagaimana cara mengakses nilai array dengan menggunakan pointer. Suatu pointer bertipe int hanya dapat digunakan untuk menunjuk pada variabel int. Sebab, tipe data tersebut akan menetukan sifat pointer ketika alamat pointet tersebut dilakukan increment. Begitu juga untuk tipe data yang lain.

E.     Pointer sebagai parameter fungsi
Seperti pada array, pointer dapat digunakan sebagai parameter suatu fungsi. Karena sifat pointer yang hanya sebagai penunjuk, maka setiap perubahan yang terjadi pada parameter, sebenarnya terjadi pada variabel yang ditunjuk bukan pada variabel pointer.
Contoh program :
Hasil program :
Pada program diatas, fungsi tambah dimana ketika alamat suatu variabel diberikan sebagai parameter fungsi, nilai 20 akan ditambahan pada alamat tersebut. Perbedaan parameter berupa pointer dan non-pointer adalah pada variabel non-pointer harus memasukkan nilai dari variabel tersebut. Untuk parameter berupa pointer, cukup memasukkan alamat variabel yang menampung nilai dengan operator (&) kedalam parameter fungsi. Fungsi diatas, walaupun fungsi tersebut merupakan fungsi void tanpa nilai kembalian alias return, namun nilai variabel parameter berubah.



SUMBER:
https://www.coursehero.com/file/20781416/Pengertian-Pointer/
https://www.belajarcpp.com/tutorial/cpp/pointer/
https://www.sinauarduino.com/artikel/pointer-pada-pemrograman-cpp/
http://musttaplay.blogspot.com/2016/05/pemrograman-c-pengertian-dan-contoh.html

Share this

Related Posts

Previous
Next Post »