Mengenal Enkapsulasi PHP dengan Contoh Simpel

Mengenal Enkapsulasi PHP dengan Contoh Simpel

Pada artikel kali ini, saya akan membahas mengenai apa itu enkapsulasi PHP? Apa keuntungan menggunakannya? Kali ini saya akan menjelaskannya dengan contoh yang simpel, saya menyarankan sebelumnya kamu sudah mengerti mengenai konsep class dan object PHP.

Apa Itu Enkapsulasi PHP?

Seperti yang kita tahu, setiap class PHP memiliki property (variable) dan behavior (function dan method). Menggabungkan property dan behavior dalam satu unit single class dikenal sebagai Encapsulation.

Mari kita coba mengerti enkapsulasi dengan contoh di dunia nyata yang coba kita mainkan. Pastinya kamu tahu apa itu mesin ATM (automatic teller machine), yang ada di setiap sudut kota tidak hanya di bank tetapi di pusat perbelanjaan hingga mini market. Melalui mesin ATM, nasabah bank dapat dengan mudah mengambil uang, mengirim uang, melakukan pembayaran, dan fungsi lainnya.

Pernahkan kamu berpikir apa yang terjadi dibalik itu semua? Mungkin kamu menganggapnya simpel, namun pada kenyataannya adalah tidak. Ada banyak proses yang berjalan di-background yang disembunyikan oleh nasabah, kenapa?

Jawabannya adalah sangat simpel untuk membuat data kuat dan aman. Di dalam PHP, enkapsulasi juga melakukan hal yang sama membuat kode semakin kuat dan aman. Dengan menggunakan enkapsulasi PHP, kita dapat menyembunyikan implementasi asli data dari pengguna akhir.

Contoh Enkapsulasi PHP

/* class yang menangani semua operasi ATM */
class ATM {
 
 private $nasabahId;
 private $atmPin;
 private $saldo;
 
 // Verifikasi pengguna kartu ATM
 public function verifikasiNasabah($nasabahId, $atmPin) {
 ... function body ...
 }
 
 // Function mengambil uang
 public function ambilCash($saldo) {
 ... function body ...
 }
 
 // Function cek saldo
 public function miniStatement($saldo) {
 ... function body ...
 }
}

Seperti yang bisa kamu lihat pada contoh di atas, kita telah mendeklarasikan semua property (variable) class ATM dengan akses private. Yang berarti property class ATM tidak dapat langsung diakses oleh pengguna akhir di dunia luar. Pengguna akhir di dunia luar tidak dapat mengganti atau mengupdate property class secara langsung.

Satu-satunya cara yang mungkin adalah dengan mengganti class property (data) dengan method (function). Itulah mengapa kita mendeklarasikan class ATM method dengan akses publik. Pengguna dapat memberikan argumen yang dibutuhkan ke class method untuk melakukan operasi tertentu.

Ini berarti pengguna tidak memiliki implementasi detil keseluruhan untuk class ATM. Hal ini juga diketahui sebagai data hiding.

 

Jakartawebhosting.com menyediakan layanan Web Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan dengan yang menarik.

You may also like...