Monday, January 1, 2018

Pointer

1. Pointer ke Variabel

*      Definisi
Pointer sering disebut juga dengan istilah link, referensi, penunjuk adalah suatu variabel yang menyimpan atau menunjuk alamat dari suatu variabel yang lain. Pointer menunjuk suatu data yang tersimpan dalam sebuah variabel dengan cara menyimpan alamat dari variabel penyimpan data tersebut.
Suatu pointer dapat menunjuk ke data bertipe elementer, terstruktur, pointer yang lain, atau tidak bertipe. Jika suatu pointer tidak menunjuk ke mana-mana, pointer itu dinamakan dangling, sedangkan bagian memori yang tidak dapat diakses karena tidak ada pointer yang menunjuk dinamakan garbage (sampah)

*      Pointer ke Variabel
Pendeklarasian variabel Pointer tidak jauh berbeda dengan pendeklarasian variabel biasa,
hanya perlu ditambahkan simbol topi ( ^ ), biasa juga disebut ceret, topi atau circumflex. Simbol topi tersebut menandakan bahwa variabel tersebut menunjuk ke lokasi tertentu di memori.
Deklarasi secara umum adalah sebagai berikut :

Cara 1. Deklarasi type diikuti dengan deklarasi variabel:
Type         
 nama_pointer:^tipe_data;
Var
 nama_var_pointer:nama_pointer;

Cara 2. Deklarasi variabel secara langsung:
 Var
  nama_pointer:^tipe_data;

Keterangan:
*      nama_pointer adalah definisi pointer pada type
*      nama_var_pointer adalah deklarasi variabel pointer
*      tipe_data adalah  tipe data dari variabel yang ditunjuk variabel pointer (Pambudi & Maryono, Pemrograman Dasar, 2014)

2. Pointer ke Array
Ada dua macam pointer:
-typed(tertentu): merupakan pointer yang menunjuk pada tipe data tertentu pada variable.
-generic(umum): merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variable. (Blog.ugm, 2010)

Pointer merupakan sebuah tipe data yang isinya menunjuk ke data lain memory. Untuk pendeklarasian pointer sendiri hampir sama dengan pendeklarasian variable biasa pada program. Tetapi hal yang membedakan pendeklarasian pointer dengan variable biasa terletak pada data bertipe pointer harus ditambahkan dengan tanda ‘^’’di depan tipe pointer.
Contoh pendeklarasian pointer :

Var
                 P1:^integer;
                 P2:^real;


Antara Array dan Pointer memeliki beberapa perbedaan. Menurut sifatnya, variable bertipe array bersifat statis yang dimana ukuran dan urutannya sudah pasti atau sudah ditentukan sebelumnya sehingga tidak dapat ditambah lagi. Selain itu memori yang dipakai tidak dapat dihapus bila variable bertipe array tersebut sudah tidak digunakan lagi pada saat program dijalankan. Sedangkan variable bertipa pointer  adalah tipe data yang bersifat dinamis, yaitu variable hanya dialokasikan pada saat dibutuhkan, dan jika tidak dibutuhkan lagi dapat dialokasikan kembali.

Perbandiangan antara tipe data Array dan tipe data Pointer:
Kriteria
Array
Pointer
Sifat
Statis
Dinamis
Ukuran
Pasti
Sesuai kebutuhan
Alokasi Variabel
Saat program dijalankan sampai selesai
Dapat diatur sesuai dengan kebetuhan

            Dalam menggunakan pointer dalam bahasa pemrograman turbo pascal terdapat nilai-nilai fungsi yang digunakan dalam penggunaan pointer. Nilai-nilai fungsi tersebut yaitu:
1. NIL, merupakan reserved word dalam Pascal, di mana pointer yang bernilai NIL dianggap tidak menunjuk alamat memori manapun.
2. Fungsi ptr
3. Operator @
4. Procedure New dan GetMem

3. Pemanfaatan Pointer
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

No comments:

Post a Comment

Mengatur Cahaya pada gambar

Langkah-langkah membuat  foto gelap menjadi terang di photoshop 1.        Aktifkan atau buka photoshop cs2 boleh cs3 cs4 atau cs5 cs 7.0 ...