Rabu, 21 September 2016

Mengenal Enkapsulasi Objek ( Public, Protected & Private )

Assalamu'alaikum Wr Wb.

Hai Teman-teman kali ini saya akan shering tentang Mengenal Enkapsulasi Objek (Public, Protected & Private)


A. Pengertian

    Enkapsulasi (encapsulation) adalah metode untuk mengatur struktur class dengan cara menyembunyikan alur kerja class tersebut. Struktur class yang dimaksud adalah property dan method.

B. Latar Belakang

    Dengan enkapsulasi, kita bisa membuat pambatasan akses kepada property dan method, sehingga hanya property dan method tertentu yang bisa diakses dari luar class. Enkapsulasi juga dikenal dengan istilah information hiding.

C. Maksud dan Tujuan

    Kita dapat memilih property dan method apa saja yang boleh diakses, dan nama yang tidak boleh diakses. Dengan menghalangi kode program lain untuk mengubah property tertentu, class menjadi lebih terintegrasi, dan menghindari kesalahan ketika ada yang mencoba mengubahnya. Programmer yang merancang class dapat menyediakan property dan method khusus yang memang ditunjukkan untuk diakses dari luar.

D. Alat dan Bahan
  • Laptop/PC
  • Text Editor
E. Materi

    Perusahaan pembuat laptop telah menyediakan method khusus, untuk menghidupkan laptop. Yakni dengan cara menekan tombol on. Di dalam laptop sendiri banyak method-method yang akan dijalankan ketika kita menyalakan laptop, contohnya: mengirimkan sinyal booting ke processor, mengirimkan data dari processor ke memory, dan mengirim sinyal listrik ke LED di monitor. Akan tetapi, proses ini adalah method internal laptop dimana kita tidak perlu memahaminya untuk menghidupkan laptop.

Enkapsulasi objek -> Public, Protected dan Private.

   Untuk membatasi hak akses kepada property dan method di dalam sebuah class, OOP menyediakan 3 kata kunci: public, protected dan private. Kata kunci ini diletakkan sebelum nama property atau sebelum nama method.

Hak Akses: Public
    Ketika sebuah property atau method dinyatakan sebagai public, maka seluruh kode program diluar class bisa mengaksesnya, termasuk class turunan. Berikut adalah contoh penulisan public property dan public method PHP.


    Perhatikan, penambahan kata public sebelum nama property dan nama method. Kode di atas pada dasarnya sama dengan contoh class laptop dalam tutorial sebelunnya.
JIka hak akses property dan method tidak ditulis, maka PHP menganggap sebagai public.

Hak Akses: Protected
    Jika sebuah property atau method dinyatakan sebagai protected, berarti property atau method tersebut tidak dapat diakses dari luar class, namun dapat di akses oleh class itu sendiri.
Apabila kita mencoba megakses protected property atau protected method dari luar class, akan menghasilkan error, seperti contoh berikut :


Dalam contoh diatas, pemanggilan property $pemilik dan method
hidupkan_laptop() dari luar class akan menghasilkan error.

Walaupun akses level protected tidak bisa di akses dari luar class, namun bisa di akses dari dalam class itu sendiri, berikut contohnya :


    Hampir sama dengan contoh kita sebelumnya, property $pemilik di deklarasikan sebagai protected, sehingga pengaksesan dari luar class akan menghasilkan eror. Oleh karena itu, membuat sebuah public method yang akan menampilkan hasil property $pemilik, yakni method akses_pemilik().

    Method hidupkan_laptop() yang tidak dapat diakses secara langsung. Kita tambahkan method paksa_hidup() yang secara internal akan mengakses method hidupkan_laptop()

Hak Akses: Private
   Jika sebuah property atau method di-set sebaga private, maka satu-satunya yang bisa mengakses adalah class tu sendiri. Class lain tidak dapat mengaksesnya, termasuk class turunan.

Sebagai contoh, berikut adalah hasil yang didapat jika kita mengakses property dan method dengan level private.


    Dalam kode di atas, saya membuat 2 buah class, yakni class komputer, dan class laptop. Class laptop merupakan turunan dari class komputer. Di dalam class mputer terdapat property $jenis_processor dengan akses level private. Di dalam class komputer dan class laptop, saya membuat method tampilkan_processor() yang digunakan untuk mengakses property $jenis_processor.

    Pengakses method tampilkan_processor() dari objek $komputer_baru sukses ditampilkan  karena berada di dalam suatu class dimana property $jenis_processor berada.

    Akan tetapi, jika method tampilkan_processor() diakses dari objek $laptop_baru yang merupakan turunan dari class komputer, PHP akan mengeluarkan error karena property $jenis_property tidak kenal.
Akses level private sering digunakan untuk menyembunyikan property dan method agar tidak dapat diakses di luar class.

F. Kesimpulan 

   Untuk mambatasi hak akses kepada property dan method di dalam sebuah class, Objek Oriented Programming menyediakan 3 kata kunci, yakni public, protected dan private.

G. Referensi 
Sekian materi dari saya, semoga bermanfaat.


Wassalamu'alaikum Wr Wb.


0 komentar:

Posting Komentar