Page 147 - PEMROGRAMAN DASAR MENGGUNAKAN C
P. 147

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
   142   143   144   145   146   147   148   149   150   151   152