Jumat, 13 Januari 2017

Pengertian Pointer











1. PENGERTIAN POINTER

a. Pointer(variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua

b. Operator Pointer ada dua, yaitu :

i. Operator &
    Operator & bersifat unary (hanya memerlukan satu operand saja).
    Operator & menghasilkan alamat dari operandnya.
ii. Operator *
    Operator * bersifat unary (hanya memerlukan satu operand saja).
    Operator * menghasilkan nilai yang berada pada sebuah alamat.


1. Operator Deference ( & )

Didalam mendeklarasikan suatu variabel harus pada lokasi yang pasti didalam penggantian memori.Pada umumnya kita tidak dapat menentukan dimana variabel akan ditempatkan Terkadang secara otomatis dilakukan oleh kompiler dan sistem operasi yang sedang aktif, tetapi sesekali sistem operasi akan memberikan banyak alamat yang kita tidak mengetahui dimana variabel ditempatkan. Hal ini dapat dilakukan dengan memberikan suatu identifier “&” (ampersand sign) didepan nama variabel, operator ini biasa disebut dengan “address of” atau operator alamat. Dengan menggunakan operator dereference ( & ) ini, suatu variabel akan menghasilkan alamat lokasi memori.

2. Operator Reference ( * )

Dengan menggunakan operator anda dapat mengakses secara langsung nilai yamg terdapat didalam variabel yang berpointer, hal ini dapat dilakukan dengan menambahkan identifier asterisk ( * ), agar dapat menterjemahkan nilai sebenarnya dari suatu variabel. Operator ini biasa disebut dengan “value pointed by”. Dengan menggunakan operator reference ( * ) ini, menghasilkan nilai yang berada pada suatu alamat memori. (CPP, 2016)

3. Apa guna pointer ?

Ada beberapa cara untuk memindahkan data atau mentransfer data dari satu fungsi ke fungsi lain. Tentu cara paling sederhana adalah dengan memindahkan data itu sendiri sebagaimana biasanya. Namun ada saatnya cara ini tidak efisien apabila jumlah data yang dipindahkan sangat besar sehingga memakan memory double. Disinilah gunanya pointer, daripada memindahkan datanya lebih baik hanya mengirim address nya saja sehingga fungsi lain tersebut dapat merujuk ke address tersebut untuk mendapatkan nilai datanya. Simple ! Guna lain ? Biasanya fungsi hanya dibekali kemampuan untuk memakainya saja . Bagaimana jika fungsi tersebut ingin diberi kemampuan untuk mengubah nilai data yang melewatinya ? Pakai pointer

Operasi pada Pointer


  1. Operasi Penugasan adalah Suatu variable pointer seperti halnya variable yang lain, juga bisa mengalami operasi penugasan. Nilai dari suatu variable pointer dapat disalin ke variable pointer yang lain. Operasi mengkopi pointer akan mengakibatkan sebuah variabel akan ditunjuk oleh lebih dari satu pointer. Bentuk deklarasi statemen:


T1:=T2;

Keterangan:
  • T1 dan T2 adalah nama dari Variabel pointer
  • Alamat dari Variabel pointer T2 disimpan dalam variabel pointer T1, dengan kata lain, 
  • sekarang variabel pointer menunjuk alamat yang sama dengan variabel pointer T2

Operasi Logika juga dapat dilakukan pada sebuah variabel pointer. Berikut ini


contoh operasi untuk membandingkan isi variabel:

If T1 = T2 then . . . . . .………….

While T1 <> T2 then ………

While T2 <> nil do ………….

3. Operasi Aritmatika adalah Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer saja. Operasi yang biasa dilakukan adalah operasi penambahan satu (increment), pengurangan satu (decrement), + dan -. Operasi penambahan satu menunjukkan lokasi data berikutnya (index selanjutnya) dalammemori. Begitu juga operasi pengurangan satu. Untuk Operasi Arimatika akan dibahas lebih dalam pada kegiatan.










Nama               : Rama Dani Ati’uloh
Asal Sekolah  : SMK ISLAM 1 BLITAR
Motto               : Cari Pengalaman