Pengertian Enkapsulasi pada OOP PHP By Sinauo Show Apa itu Enskapsulasi ? Pada pemrograman berbabsis objek (OOP) Enskapsulasi menjadi salah satu aspek terpenting. Pada proses enkapsulasi diterapkan dengan 3 jenis hak skses yaitu : Public, Protected dan Private. Enskapsulasi atau dalam Bahasa Inggris-nya encapsulation merupakan sebuah metode yang digunakan untuk mengatur class dengan cara menyembunyikan alur kerja dari class tersebut. Struktur class yang dimaksud disini adalah property dan method. Enskapsulasi dikenal juga dengan ‘Information hiding’, Dengan menggunakan enkapsulasi kita dapat membuat pembatasan hak akses kepada property dan method. Sehingga hanya property dan method tertentu yang hanya dapat diakses dari luar class. Sehingga dengan menggunakan Enskapsulasi kita dapat dengan mudah menentukan method dan property mana saja yang dapat di akses dan mana yang tidak boleh di akses dengan mudah. Untuk membuat batasan hak akses kepada property dan method dalam sebuah class, OOP (Objek Oriented Programing) menyediakan 3 kata kunci yaitu Public, Protected dan Private. Kata kunci tersebut di letakkan sebelum property atau sebelum method. Hak Akses PublicSaat sebuah property atau method dinyakan sebagai Public, maka semua kode program yang berada dalam luar class dapat mengakses-nya. termasuk class itu sendiri / class turunan. Contoh penulisan Public dalam property dan method: Seperti yang dapat kita lihat pada kode program diatas ada penambahan kata Public sebelum nama property dan method. Jika pada hak akses property dan method tidak tertulis, maka PHP akan menganggapnya sebagai Public.Hak Akses ProtectedDalam sebuah property atau method jika terdapat atu di nyatakan sebagai Protected, maka property atau method tersebut tidak dapat di akses dari luar class, tapi dapat akses oleh class -nya sendiri atau turunan class tersebut. Apabila kita mengakses Protected yang ada di property maupun method dari luar class maka akan terjadi error. Maka hasilnya akan error seperti berikut iniFatal error: Uncaught Error: Cannot access Protected property sepeda_motor::$pemilik in C:\xampp\htdocs\contoh\index.php:19 Stack trace: #0 {main} thrown in C:\xampp\htdocs\contoh\index.php on line 19Pada contoh diatas, pemanggilan property $pemilik & method hidupkan_sepeda_motor() dari luar class maka akan terjadi error. Akses level Protected bisa dii akses dari dalam class itu sendiri namun tidak dapat di akses dari luar class perhatikan contoh berikut ini : Pada contoh kode program di atas saya menambahkan sebuah Public method yang menampilkan property $pemilik, yaitu akses_pemilik(). Dan begitu juga dengan method hidupkan_sepeda_motor(). Yang saya tambahkan method paksa_hidup() secara internal akan dapat mengakses method hidupkan_sepeda_motor(). Fungsi dari penambahan Public method akses_pemilik dan paksa_hidup agar pengaksesan dari luar class tidak terjadi error.Contoh Hak akses Protected yang dapat diakses dari class turunan
Perhatikan kode diatas, walaupun method $jenis_kendaraan di set sebagai Protected pada class kendaraan, tetapi masih dapat diakses dari class sepeda_motor yang merupakan turunan class dari class kendaraan. Hak Akses PrivateHak akses Private, jika dalam sebuah property atau methot di set sebagai Private, maka yang hanya dapat mengakses adalah class itu sendiiri. Class-class yang lain-pun tidak dapat mengaksesnya walaupun class tersebut class turunan. Hak akses Private sering kali digunakaan untuk menyembunyikan property dan method agar tidak dapat diakses dari luar class. Contoh hak akses Private :
Maka akan terjadi error seperti berikut ini : Pada kode diatas, terdapat dua class yaitu class kendaraan dan class sepeda_motor. class sepeda_motor merupakan class turunan dari class kendaraan. Di dalam class kendaraan terdapat property $jenis_kendaraan dengak akses level Private. Dalam class kendaraan dan class sepeda_motor terdapat method tampilkan_kendaraan() yang digunakan untuk mengakses property $jenis_kendaraan. Pengaksesan method tampilkan_kendaraan() dari objek $kendaraan_baru sukses di tampilkan karena berada dalam satu class dimana property $jenis_kendaraan berada. Namun jika method $tampilkan_kendaraan di akses dari objek $sepeda_motor_baru yang merupakan turunan dari class kendaraan, maka akan mengeluarkan error property $jenis_kendaraan tidak dikenal. Apa itu protected pada PHP?Hak Akses Protected
Jika sebuah property ataupun method dinyatakan sebagai protected, berarti property ataupun method tersebut tidak bisa diakses dari luar class. Namun bisa diakses oleh class itu sendiri atau turunan dari class tersebut.
Apa bedanya akses private dan akses protected?Private berfungsi untuk memberikan akses properti yang hanya dapat diakses dari dalam class tersebut. Protected berfungsi untuk memberikan akses properti yang hanya dapat diakses dari dalam class atau turunan dari class (inheritanced class) tersebut.
Apa itu Protected?Arti kata "protected" Bahasa Inggris dalam Bahasa Indonesia. melindungi; terlindung.
Apa itu encapsulation pada PHP?Enskapsulasi atau dalam Bahasa Inggris-nya encapsulation merupakan sebuah metode yang digunakan untuk mengatur class dengan cara menyembunyikan alur kerja dari class tersebut. Struktur class yang dimaksud disini adalah property dan method.
|