POINTER

 PERTEMUAN 13

POINTER




POINTER

Suatu variabel yang berisi alamat memori sebagai nilainya.

Merupakan variabel level rendah yang dapat digunakan untuk menunjuk nilai integer, character, float, double, atau single dan tipe-tipe data lain yang didukung oleh bahasa pemrograman.


FUNGSI POINTER

Meningkatkan kinerja untuk operasi yang dilakukan secara berulang, karena variabel pointer bersifat dinamis (dapat diubah-ubah lokasi penyimpannya dalam memory).

Pada variabel biasa kita tidak perlu tahu alamat memory dari variabel tersebut. Untuk mengakses hanya perlu nama variabel tersebut. Tapi untuk struktur data dinamis (linked list, tree dsb) hal tersebut tidak bisa.


DEREFERENCING POINTER

Adalah mengambil nilai yang ditunjuk oleh sebuah variabel pointer .

Untuk melakukan dereferencing pointer, kita harus menggunakan simbol *. Bila p adalah pointer, maka *p adalah nilai yang ditunjuk oleh p.


Terdapat 3 operasi yaitu sebagai berikut

1. OPERASI POINTER

  a. Operasi Penugasan

    Nilai dari suatu variabel pointer dapat          disalin ke variabel pointer yang lain.

    Contoh:

    y = 65;

    x₁ = &y;

    X₂ = x1;

b. Operasi Aritmatika

    Suatu variabel pointer hanya dapat                dilakukan operasi aritmatika dengan            nilai integer saja.

   Operasi penambahan dengan suatu nilai       menunjukkan lokasi data berikutnya             (index selanjutnya) dalam memori.

c. Operasi Logika

  • Atau disebut operasi perbandingan.
  • Pointer dapat dibandingkan dengan menggunakan operator hubungan, seperti !=, ==, <, dan >.
  • Contoh:

{

int num[4];

int *start, *end;

start = num;

end = &num[3];

while (start != end)

}

POINTER DAN ARRAY

Array secara internal akan diterjemahkan dalam bentuk pointer.

„Deklarasi variabel:

  int tgl_lahir[3] = { 01, 09, 64 };

  int *ptgl;

Kemudian diberi instruksi:

  ptgl = &tgl_lahir[0]; 

maka ptgl akan berisi alamat dari elemen array tgl_lahir yang berindeks nol. 


POINTER DAN STRING

Pointer juga dapat digunakan untuk mendeklarasikan variabel string.

„Contoh:

 char *pkota = “SEMARANG”; 

  Hampir sama dengan:

 char kota[] = “SEMARANG”;

 Tetapi sebenarnya tidak tepat sama. 

 pkota adalah pointer (menyatakan alamat)   yang menunjuk 

  ke string “SEMARANG”, kota adalah array (array 

 menyatakan alamat yang konstan, tak dapat diubah).





Nama : Ian Sunandar

No/HP : 085797211759

Email : Iansnndr@gmail.com


Komentar