Pointer Pada Bahasa Pemrograman C++

Pointer Pada Bahasa Pemrograman C++

Seperti apa pointer pada bahasa pemrograman C++? Bagaimana cara menggunakan pointer pada bahasa pemrograman C++? Apa saja kegunaan pointer?

Pada bahasa pemrograman C++, variabel adalah tempat untuk menyimpan sebuah nilai. Nilai tersebut memiliki tipe data tertentu. Pointer termasuk dalam kategori variabel. Pointer merupakan variabel yang menyimpan alamat memori dari variabel lain. Alamat memori adalah pengenal unik yang digunakan oleh komputer untuk melacak data. Pada saat kamu membuat variabel, variabel tersebut akan diberi pengenal unik bernama alamat memori. Contoh alamat memori: 0x61fe14. Intinya pointer digunakan untuk menyimpan alamat memori, sedangkan variabel digunakan untuk menyimpan sebuah nilai. 

Karena pointer menyimpan alamat memori dari variable lain, kita dapat mengakses nilai dari  variabel tersebut melalui pointer. Selain itu, kita juga dapat memodifikasi nilai dari variabel tersebut melalui pointer. 

Pada saat kita mengubah nilai yang tersimpan di alamat memori melalui pointer, nilai dari variabel yang alamat memorinya sama dengan alamat memori yang disimpan di pointer juga akan berubah. Pada saat kita mengubah nilai melalui variabel, nilai di alamat memori akan berubah sehingga pada saat kita mengakses nilai tersebut melalui pointer, kita mendapatkan nilai yang juga sudah berubah. Hal ini terjadi karena pointer menyimpan alamat memori dari variabel tersebut.

Baca juga :
Konsep Enkapsulasi Pada C++
AI Untuk Membuat Video dari Teks

 

Sintaks dari pointer mirip dengan sintaks variabel. Hanya saja, kita menambahkan tanda asterisk (*) pas di depan nama variabel dan tanda ampersand (&) didepan nilai pointer. Asterisk menandakan bahwa variabel tersebut adalah variabel pointer. Ampersand menandakan bahwa kita mengakses alamat memori dari variabel lain. Keduanya adalah hal wajib. Namun, kita juga diperbolehkan membuat variabel pointer terlebih dahulu (mendeklarasikan) tanpa memberikan nilai pada variabel pointer.

Sintaks Pointer Pada Bahasa Pemrograman C++

Contoh pointer pada bahasa pemrograman C++:

Coba jalankan kode diatas. Kamu akan mendapatkan dua alamat memori yang sama ditampilkan di terminal.

Mengakses nilai sebuah variabel melalui variabel pointer:

Contoh kasus pada saat pointer dibutuhkan

Pada saat pemanggilan fungsi yang memiliki parameter, kita biasanya memberikan argumen untuk disimpan di parameter fungsi tersebut. Misalnya kita memberikan argumen berupa variabel yang didefinisikan diluar fungsi pada saat pemanggilan fungsi, nilai dari variabel tersebut akan disalin lalu disimpan di parameter fungsi. Kita tidak dapat mengubah nilai dari variabel tersebut melalui fungsi walaupun dia diberikan sebagai argumen pada saat pemanggilan fungsi. Karena yang dilakukan adalah menyalin nilai dari variabel tersebut lalu memberikannya sebagai argumen untuk disimpan ke parameter fungsi pada saat pemanggilan fungsi. Ini disebut call by value. 

Bagaimana jika kita butuh untuk mengubah nilai dari variabel tersebut melalui sebuah fungsi  sedangkan variabel tersebut berada di luar fungsi? Caranya dengan call by reference. Parameter pada fungsi harus berjenis pointer, dan kita dapat memasukkan alamat memori variabel tersebut sebagai argumen pada saat pemanggilan fungsi. 

Berikut contoh kodenya:

Hasil yang ditampilkan ke terminal:

Pointer Pada Bahasa Pemrograman C++

Sebuah fungsi juga dapat mengembalikan pointer. Berikut ini contohnya:

Kegunaan Pointer

  1. Pointer memperbolehkan alokasi memori secara dinamis pada saat runtime. Di mana berguna untuk memanajemen data besar dan alokasi memori untuk objek yang butuh untuk tetap ada selama masa hidup sebuah fungsi.
  2. Pointer bisa digunakan untuk memberikan nilai untuk parameter fungsi dengan referensi, bukan dengan nilai. Dengan demikian, jumlah memori yang dibutuhkan untuk memberikan objek berukuran besar ke fungsi dapat dikurangi.
  3. Mengurangi jumlah penyalinan nilai atau object di memori.
  4. Memberikan akses secara langsung ke alamat memori yang disimpan oleh pointer.
  5. Memanipulasi struktur data dinamis seperti linked list dan trees.

Baca juga: Apa Itu Framework Laravel?

Sekian, terimakasih, dan semoga bermanfaat:)