Page 150 - Project Akhir Media Pendidikan
P. 150

Ketika  kita  mendeklarasikan  suatu  variabel  di  dalam  bahasa  C,  maka  kompiler  akan
                      memesan  ruang memori  (dengan alamat  tertentu  yang  bersifat unik)  untuk menampung
                      variabel tersebut. Dengan kata lain, kompiler akan mengasosiasikan alamat yang  dimaksud
                      melalui  nama  variabel  yang  telah  dideklarasikan.  Hal  ini  berarti  bahwa apabila kita
                      menggunakan  variabel  tersebut,  maka  sebenarnya  secara  tidak  langsung  kita  juga
                      mengakses  alamat  memori  yang  bersangkutan.  Kita  tidak  perlu mempermasalahkan
                      bagaimana cara kompiler mengakses alamat tersebut, karena semua kerumitan dari proses
                      tersebut telah disembunyikan.

                      7.3.  Apa Itu Pointer?


                      Menurut  definisinya,  pointer  adalah  sebuah  variabel  yang  berisikan  alamat  memori
                      (bukan nilai) atau dengan kata lain dapat dikatakan bahwa pointer adalah suatu variabel
                      penunjuk ke alamat memori tertentu. Secara umum, pointer dapat digambarkan sebagai
                      berikut.


                                                          Alamat ke-1 Alamat
                                                          Alamat ke-2 Alamat

                                          P               Alamat ke-3 Alamat

                                         Pointer  …       Alamat ke-4  …

                                                          …  Alamat ke-N

                                                          Alamat ke-N Alamat



                                                   Gambar 7.1. Ilustrasi Pointer

                      Dari gambar  di atas  dapat kita lihat bahwa pointer P sedang menunjuk  ke alamat  ke-1,
                      ini  berarti  bahwa  nilai  dari  pointer  P  adalah  alamat  ke-1.  Hal  ini  tentu  berbeda
                      dengan definisi variabel biasa yang hanya dapat menyimpan nilai dengan tipe data tertentu.
                      Perhatikan  contoh  pendeklarasian  variabel  berikut  ini.


                      int X;
                      X = 10;



                      Pada pendeklarasian di atas nilai  X  bukan berupa alamat, melainkan berupa nilai yang
                      memiliki tipe data int (yaitu nilai 10).

                      Untuk dapat lebih memahami apa sebenarnya pengertian pointer, marilah kita melihat
                      kembali  pengertian  memori  dan  alamat  memori  komputer.  Memori  komputer  dapat
                      dikatakan sebagai kumpulan atau larik dari alamat memori yang masing-masing bersifat
                      unik. Hal yang perlu sekali untuk diperhatikan adalah bahwa pointer juga merupakan isi
                      memori.  Pointer  merupakan  ‘alamat  khusus’  yang  telah  dipesan  oleh  kompiler  dan
                      linker untuk mencatat atau menunjuk alamat memori dari variabel lain. Oleh sebab itu,
                      pointer juga sering dinamakan dengan alamat memori, walaupun sebenarnya lebih tepat

                                                          146
   145   146   147   148   149   150   151   152   153   154   155