Selasa, 26 Februari 2019

Materi Pointer




a. Pengertian pointer
            Pointer merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer dimaksudkan untuk menunjukkan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah. Arti pointer dalam bahasa sehari-hari adalah petunjuk atau bisa dibilang penentu atau poiter secara sederhana bisa diartikan sebagai tipe data yang nilainya mengarah pada nilai yang terdapat pada sebuah area memori (alamat memori). Namun, dalam bahasa C, pointer bisa berfungsi sebagai variabel array berarti pointer sebagai oenunjuk elemen array ke-0 dalam variabel C.



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 memori.
Sintaksnya:
var_pointer = &var_biasa;

Contohnya:



Hasil runnning:

2.      Di alokasikan tersendiri di memori (memori dinamis)
Pointer tidak menempati space variabel lain, tetapi dialokasikan space tersendiri di memori dengan instruksi new.
Sintaksnya:
var_pointer = new tipe_data-pointernya;
contohnya:
int *a;
float *x;
a=new int;
x=new float;
Contoh program:



Hasil running:


c. Operator pointer
            Ada 2 operator pointer yang dikenal secara luas, yaitu operator ”&” dan operator “*”.
1. Operator &
            Operator & merupakan operator alamat. Pada saat pendeklarasian variabel, user tidak diharuskan menentukan lokasi sesungguhnya pada memori, hal ini akan dilakukan secara otomatis oleh compiler dan operating system pada saat runt-time. Jika ingin mengetahui dimana suatu variabel akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) didepan variabel, yang berarti “address of”.
Contoh:
Misalkan variabel DATA_1 diletakkan pada alamat memori 1770, kemudian dituliskan instruksi.
Sebagai berikut:
·         DATA_1 = 27;  Variabel DATA_1 berisi data 27
·         DATA_2 = DATA_1; Variabel DATA_2 diberi isi seperti DATA_1 yaitu 27
·         DATA_3 = & DATA_1; Variabel DATA_3 berisi alamat memori DATA_1, yaitu 1770

2. Operator *
Operator * merupakan operator reference. Dengan menggunakan pointer, kita dapat mengakses nilai yang tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada identifier pointer, yang berarti “value pointed by”.
Contoh:
            Melanjutkan deklarasi sebelumnya, jika ada penulisan variabel berikut:
DATA_4 = *DATA_3
Dapat dikatakan bahwa DATA_4 sama dengan nilai yang ditunjuk oleh DATA_3. DATA_3 berisi alamat memori 1770, sementara memori 1770 menampung data bernilai 27. Jadi DATA_4 berisi nilai yang berada pada alamat 1770, yaitu 27.
Contoh:


Hasil runnng:



d. Pointer dan array
            Pada array/larik, pointer hanya perlu menunjukkan alamat elemen pertama saja karena alamat array dalam memori sudah disusun secara berurutan.
Contoh:
int a[] = {76, 67, 88, 98};
int *pa;
pa = a;
Pernyataan pa = a artinya pointer pa meyimpan 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.
 Contoh:



Hasil running:



e. Pointer sebagai parameter fungsi
            Parameter pass by reference adalah pemrosesan parameter di dalam sebuah fungsi dimana yang dimasukkan didalam prosedur adalah tempat atau alamat dari variabel yang menjadi parameter sehingga dapat terjadi perubahan nilai variabel yang menjadi parameter.
Contoh:


Hasil running:


Sumber:

2 komentar:

Koneksi Database Buku

1.       Aktifkan aplikasi xampp terlebih dahulu. 2.       Masuklah pada browser lalu ke localhost/phpmyadmin , kemudian buat lah sebua...