


Memahami Tipuan dalam Pemrograman
Indirection adalah teknik pemrograman dimana referensi atau pointer ke suatu objek disimpan di lokasi yang berbeda dari objek itu sendiri. Hal ini memungkinkan lebih banyak fleksibilitas dan efisiensi dalam manajemen memori, serta manfaat lain seperti peningkatan enkapsulasi dan modularitas.
Sebagai contoh, daripada memiliki variabel `x` yang menyimpan nilai 5 secara langsung, kita dapat menyimpan referensi ke objek yang berisi nilai 5 di lokasi terpisah, seperti ini:
```
int *x = &obj; // x menunjuk ke obj
```
Di sini, `x` adalah penunjuk bilangan bulat yang menunjuk ke objek `obj`, yang berisi nilai 5. Hal ini memungkinkan kita mengakses nilai 5 melalui objek `obj`, bukan menyimpannya langsung di `x`.
Indirection dapat digunakan dalam berbagai cara, seperti:
* Pointer: Menyimpan referensi ke suatu objek di lokasi terpisah, seperti pointer.
* Referensi: Menyimpan referensi ke suatu objek di lokasi terpisah, seperti referensi.
* Array: Menyimpan referensi ke array objek di lokasi terpisah.
* Structs: Menyimpan referensi ke struct yang berisi banyak objek di lokasi terpisah.
Indirection dapat berguna dalam berbagai situasi, seperti:
* Manajemen memori: Indirection memungkinkan manajemen memori yang lebih efisien, karena memungkinkan kita menyimpan referensi ke objek di lokasi terpisah daripada menyimpan objek itu sendiri.
* Enkapsulasi: Indirection memungkinkan enkapsulasi yang lebih baik, karena memungkinkan kita menyembunyikan detail implementasi suatu objek dari program lainnya.
* Modularitas: Indirection memungkinkan peningkatan modularitas, karena memungkinkan kita memisahkan implementasi suatu objek dari penggunaannya.
Namun, tipuan juga bisa sumber kerumitan dan kebingungan, terutama bagi pemula. Penting untuk menggunakan tipuan dengan hati-hati dan hanya jika diperlukan, untuk menghindari kebingungan dan membuat kode lebih mudah dikelola.



