Anda di halaman 1dari 2

MODUL 8: POINTERS

DEFINISI
Pointer pada dasarnya merupakan sebuah variabel integer sederhana yang menyimpan
alamat memori yang menunjuk ke suatu nilai, bukannya menyimpan nilai itu sendiri.
Memori komputer adalah penyimpanan data yang berurutan, dan pointer menunjuk ke
bagian tertentu dari memori tersebut. Pada program dengan bahasa C kita dapat menggunakan
pointer dengan berbagai cara dengan menunjuk ke memori dengan ukuran besar tergantung pada
berapa banyak yang kita ingin baca dari alamat memori yang sudah kita tunjuk.
Pointer juga merupakan variabel yang memiliki peran penting pada bahasa pemrograman
C. Pointer digunakan untuk beberapa alasan seperti:
• Strings

• Dynamic memory allocation


• Mengirimkan argument function dengan cara reference
• Membangun data structures yang kompleks

• Menunjuk ke function lain


Dan masih banyak lagi.

POINTER SEBAGAI STRING


Kita telah mengetahui bahwa untuk menyimpan kumpulan dari kata-kata pada memori
dapat menggunakan array dengan tipe data char, tetapi dengan adanya pointer kita dapat
mendefinisikan suatu variabel dengan pointer yang menunjuk ke suatu alamat dari strings seperti
berikut.

Baris code diatas akan melakukan tiga hal, pertama perintah tersebut akan mengalokasikan
stack variabel yang disebut name, yang mana merupakan pointer yang menunjuk ke sebuah
character. Kedua, perintah tersebut membuat kata “Alfi Aldo” ada entah dimana pada memori
program (tentu saja setelah program dieksekusi). Ketiga, perintah tersebut akan menginisialisasi
variabel name untuk menunjuk kemana alamat huruf A pada memori yang selanjutnya diikuti
dengan alamat huruf-huruf berikutnya.
Karena kita tahu bahwa memori menyimpan data secara berurutan, kita dapat
mengasumsikan jika kita maju di memori yaitu menuju character selanjutnya, kita akan
mendapatkan huruf selanjutnya yang ada pada string “Alfi Aldo” yaitu l hingga kita mencapai
akhir dari string yang ditandai dengan null terminator yaitu ‘\0’.

3
DEREFERENCING
Dereferencing merupakan metode untuk merujuk kemana pointer menunjuk, bukan ke
alamat memori. Sebenarnya, kita sudah menggunakan dereferencing dalam array. Operator tanda
kurung siku [0] misalnya, mengakses nilai pertama yang ada pada suatu variabel array. Dan karena
array sebenarnya adalah pointer,mengakses nilai pertama pada array sama dengan dereferencing
pointer. Dereferencing pointer dapat dilakukan dengan menggunakan operator tanda bintang * .

Dapat dilihat kita menggunakan operator & untuk menunjuk ke memori dari variabel a
yang baru saja dibuat. Setelah kita merujuk ke variabel a menggunakan operator dereferencing.
Kita juga dapat mengganti konten atau isi dari dereferenced variabel.

Anda mungkin juga menyukai