Object Oriented Programming dalam
PHP
Syarat dalam modul ini anda harus memahami function, variable, conditionals (if..else..) dan loop
1. Buat dua file php
class_lib.php
oop2.php
Pada intinya, oop membuat agar listing kode kita bersifat modular, jadi listing kode kita nanti
akan kita masukkan ke dalam beberapa file dan akan kita masukkan ke php utama kita dengan
mempergunakan php ‘include’. Dalam kasus kali ini, oo php akan kita tuliskan kedalam :
class_lib.php
2. Buat class denganmempergunakankeywordclassdiikuti dengannamaclassyanginginkita buat
3. Tambahkan variabel ke dalam class kita
4. Tambahkan function / method ke dalam class kita
Method dipergunakan untuk memanipulasi data/properti dari kelas itu sendiri
5. Fungsi getter dan setter
Kita sudah membuat function get_name() dan set_name().
Method/functioninimengikutiaturan umum dari OOP seperti di bahasa pemrograman lainnya
(java, ruby dll) dimana kita membuat method untuk menge-’set’ dan menge-‘get’ properti
(atribut) dari class. Aturan umum lainnya adalah, nama getter dan setter harus sesuai dengan
nama dari properti.Sehingga,ketika programmer lain ingin memakai object kita, mereka akan
tahu jika kita memiliki function/method set_name() pasti ada properti bernama name.
6. Variabel $this
Pada listing berikut
$this->name = $new_name;
$this adalah variabel built-in(ada pada semua object), yang menunjuk kepada object saat ini.
Dengankata lain$thisadalahspecial self referencingvariabel.Kitamempergunakan $this untuk
mengakses properti dan memanggil method lain dari class.
7. Include class kita kedalam php utama
Kita tidak akan menuliskan class php langsung kedalam halaman php utama kita. Tujuan dari
oop tidakakantercapai.Langkah yangbaikadalahmembuathalamanphplainyang hanyaberisi
class-classkitalalukitaaksesclass-classtersebutdenganmempergunakan include atau require
8. Instantiate/ buat object
Classadalahblueprint/template/cetakandari object.Classtidakakanmenjadiobjectkalautidak
kitainstantiate.Ketikakitameng-instantiatekitamembuatinstance dari objectkedalammemori
9. Keyword new
Untuk membuatobject dari class kita mempergunakan keyword new. Ketika membuat object,
kita bisa memberi kurung setelah nama class bisa juga tidak, seperti pada contoh dibawah
10. Set properti dari object
Kitamempergunakanmethodsetter.Harapdiingatbahwameskipun$stefandan$jimmy dibuat
dari class person keduanya adalah OBJECT yang BERBEDA
11. Mengakses data dari object
Kitamempergunakan getter untuk mengakses data yang tersimpan di object kita…sebenarnya
adalah data yang sama dengan yang kita masukkan dengan mempergunakan setter.
Ketika mengakses properti dan method dari class, kita mempergunakan operator‘->’.
12. Constructor
Semuaobjectbisamemiliki methodbuiltin yang bernama constructor. Dengan constructor kita
dapat menginisialisasi properti dari object kita (memberi nilai kedalam properti) ketika kita
meng-instantiate object.
Note :
Ketika kita membuat __construct (membuat method ini bersifat opsional), php akan
memanggil method __construct()secara otomatis ketika kita meng-instantiate object.
Methodconstruct diawali denganduaunderscore (__) dankata‘construct’diikuti dengandaftar
argument (seperti function)
13. Membuat object dengan construtor
Kita bisa membuat object baru dengan constructor sekaligus memberi nilai ke propertinya,
dalam artian kita tidak lagi memerlukan method setter
14. Membatasi akses ke properti dengan mempergunakan ‘access modifiers’
Salahsatu prinsipfundamental OOPadalahenkapsulasi.Idenyaadalah,kitamembuatkode yang
lebih baik dengan membatasi akses ke struktur data pada object kita (properti)
Ada 3 access modifier, yaitu :
 Public
 Private
 Protected
Public adalah default modifier.Ketika kita mendefine variabel dengan keyword ‘var’, variabel
tersebut dianggap public
15. Membatasi akses ke properti dengan mempergunakan ‘access modifiers’ : bag 2
Ketikakitamendeclare properti menjadi ‘private’,hanyaclassyangsamayang dapat mengakses
properti tersebut.
Ketika properti dideclare ‘protected’, hanya class yang sama dan class turunannya saja yang
dapat mengakses properti tersebut.
Properti yang dideclare ‘public’ tidak memiliki batasan akses, berarti semua orang bisa
mengaksesnya
Coba listing kode dibawah
16. Membatasi akses ke method
Sama dengan properti. Dapat dibatasi dengan mempergunakan 3 modifier yaitu :
 Public
 Private
 Protected
Karena method get_pinn_number() dideclare private, satu-satunya tempat kita bisa
mempergunakan method ini adalah pada class yang sama – dengan kata lain di method yang
lain pada class yang sama. Jika kita ingin memanggil atau mempergunakan method ini secara
langsung maka pergunakan modifier ‘public’.
17. Inheritance
Kita bisa mempergunakan class sebagai dasar bagi class lain
Kenapa?
Agar kita dapat mempergunakan kembali kode yang sebelumnya pernah kita buat
Kita ingin membuat class employee, karena employee adalah jenis dari orang, akan memiliki
properti dan method yang secara umum sama.
Dalam situasi demikian, inheritance dapat membuat kode kita lebih ringan, karena kita
mempergunakan kode yang sama di dua class yang berbeda.
18. Reusing code dengan inheritance : part 2
Karena class ‘employee’ dasarnya adalah class ‘person’,’employee’ secara otomatis akan
memiliki semua properti dan method public serta private dari class ‘person’.
19. Reusing code dengan inheritance : part 3
Kita dapat memanggil method get_name pada object ‘employee’ kita seperti tampak pada
listing kode dibawah
20. Overriding method
Kadangkala ketikamemakai inheritance,kitaperlumerubahoperasi yangdijalankan oleh suatu
method, sehingga method tersebut menjalankan operasi yang berbeda dengan method yang
bernama sama yang ada pada parentnya (class yang di extend)
Misal,methodset_name() padaclass‘employee’ melakukan hal yang berbeda dengan method
set_name() yang ada pada class ‘person’. Kita meng-override set_name versi class ‘person’
dengan cara mendeklarasikan method yang sama di class ‘employee’.
21. Overriding method : part 2
Kadang kala, kita ingin mengakses method class parent kita dari class anak kita. Dalam kasus
diatas, mengakses method set_name() versi class ‘person’ dari method yang ada pada class
‘employee’. Kode yang dipergunakan adalah :
person::set_name($new_name);
22. Overriding method : part 3
Dengan mempergunakan :: kita bisa menyebutkan nama class yang akan diakses php untuk
menjalankansuatumethod –‘person::set_name()’memerintahkan php untuk mencari method
‘set_name()’ pada class ‘person’. Cara lain untuk melakukan hal ini adalah dengan
mempergunakan keyword ‘parent’
Tugas :
Buat class buku dengan properti id_buku, judul_buku, pengarang, penerbit dan tahun terbit
buatkan getternya dan (pilih salah satu) setter/constructor

Modul 3 object oriented programming dalam php

  • 1.
    Object Oriented Programmingdalam PHP Syarat dalam modul ini anda harus memahami function, variable, conditionals (if..else..) dan loop 1. Buat dua file php class_lib.php oop2.php Pada intinya, oop membuat agar listing kode kita bersifat modular, jadi listing kode kita nanti akan kita masukkan ke dalam beberapa file dan akan kita masukkan ke php utama kita dengan mempergunakan php ‘include’. Dalam kasus kali ini, oo php akan kita tuliskan kedalam : class_lib.php 2. Buat class denganmempergunakankeywordclassdiikuti dengannamaclassyanginginkita buat 3. Tambahkan variabel ke dalam class kita 4. Tambahkan function / method ke dalam class kita Method dipergunakan untuk memanipulasi data/properti dari kelas itu sendiri
  • 2.
    5. Fungsi getterdan setter Kita sudah membuat function get_name() dan set_name(). Method/functioninimengikutiaturan umum dari OOP seperti di bahasa pemrograman lainnya (java, ruby dll) dimana kita membuat method untuk menge-’set’ dan menge-‘get’ properti (atribut) dari class. Aturan umum lainnya adalah, nama getter dan setter harus sesuai dengan nama dari properti.Sehingga,ketika programmer lain ingin memakai object kita, mereka akan tahu jika kita memiliki function/method set_name() pasti ada properti bernama name. 6. Variabel $this Pada listing berikut $this->name = $new_name; $this adalah variabel built-in(ada pada semua object), yang menunjuk kepada object saat ini. Dengankata lain$thisadalahspecial self referencingvariabel.Kitamempergunakan $this untuk mengakses properti dan memanggil method lain dari class. 7. Include class kita kedalam php utama Kita tidak akan menuliskan class php langsung kedalam halaman php utama kita. Tujuan dari oop tidakakantercapai.Langkah yangbaikadalahmembuathalamanphplainyang hanyaberisi class-classkitalalukitaaksesclass-classtersebutdenganmempergunakan include atau require 8. Instantiate/ buat object Classadalahblueprint/template/cetakandari object.Classtidakakanmenjadiobjectkalautidak kitainstantiate.Ketikakitameng-instantiatekitamembuatinstance dari objectkedalammemori
  • 3.
    9. Keyword new Untukmembuatobject dari class kita mempergunakan keyword new. Ketika membuat object, kita bisa memberi kurung setelah nama class bisa juga tidak, seperti pada contoh dibawah 10. Set properti dari object Kitamempergunakanmethodsetter.Harapdiingatbahwameskipun$stefandan$jimmy dibuat dari class person keduanya adalah OBJECT yang BERBEDA 11. Mengakses data dari object Kitamempergunakan getter untuk mengakses data yang tersimpan di object kita…sebenarnya adalah data yang sama dengan yang kita masukkan dengan mempergunakan setter. Ketika mengakses properti dan method dari class, kita mempergunakan operator‘->’.
  • 4.
    12. Constructor Semuaobjectbisamemiliki methodbuiltinyang bernama constructor. Dengan constructor kita dapat menginisialisasi properti dari object kita (memberi nilai kedalam properti) ketika kita meng-instantiate object. Note : Ketika kita membuat __construct (membuat method ini bersifat opsional), php akan memanggil method __construct()secara otomatis ketika kita meng-instantiate object. Methodconstruct diawali denganduaunderscore (__) dankata‘construct’diikuti dengandaftar argument (seperti function)
  • 5.
    13. Membuat objectdengan construtor Kita bisa membuat object baru dengan constructor sekaligus memberi nilai ke propertinya, dalam artian kita tidak lagi memerlukan method setter 14. Membatasi akses ke properti dengan mempergunakan ‘access modifiers’ Salahsatu prinsipfundamental OOPadalahenkapsulasi.Idenyaadalah,kitamembuatkode yang lebih baik dengan membatasi akses ke struktur data pada object kita (properti) Ada 3 access modifier, yaitu :  Public  Private  Protected Public adalah default modifier.Ketika kita mendefine variabel dengan keyword ‘var’, variabel tersebut dianggap public
  • 6.
    15. Membatasi akseske properti dengan mempergunakan ‘access modifiers’ : bag 2 Ketikakitamendeclare properti menjadi ‘private’,hanyaclassyangsamayang dapat mengakses properti tersebut. Ketika properti dideclare ‘protected’, hanya class yang sama dan class turunannya saja yang dapat mengakses properti tersebut. Properti yang dideclare ‘public’ tidak memiliki batasan akses, berarti semua orang bisa mengaksesnya Coba listing kode dibawah 16. Membatasi akses ke method Sama dengan properti. Dapat dibatasi dengan mempergunakan 3 modifier yaitu :  Public  Private  Protected Karena method get_pinn_number() dideclare private, satu-satunya tempat kita bisa mempergunakan method ini adalah pada class yang sama – dengan kata lain di method yang lain pada class yang sama. Jika kita ingin memanggil atau mempergunakan method ini secara langsung maka pergunakan modifier ‘public’.
  • 7.
    17. Inheritance Kita bisamempergunakan class sebagai dasar bagi class lain Kenapa? Agar kita dapat mempergunakan kembali kode yang sebelumnya pernah kita buat Kita ingin membuat class employee, karena employee adalah jenis dari orang, akan memiliki properti dan method yang secara umum sama. Dalam situasi demikian, inheritance dapat membuat kode kita lebih ringan, karena kita mempergunakan kode yang sama di dua class yang berbeda. 18. Reusing code dengan inheritance : part 2 Karena class ‘employee’ dasarnya adalah class ‘person’,’employee’ secara otomatis akan memiliki semua properti dan method public serta private dari class ‘person’. 19. Reusing code dengan inheritance : part 3 Kita dapat memanggil method get_name pada object ‘employee’ kita seperti tampak pada listing kode dibawah
  • 8.
    20. Overriding method Kadangkalaketikamemakai inheritance,kitaperlumerubahoperasi yangdijalankan oleh suatu method, sehingga method tersebut menjalankan operasi yang berbeda dengan method yang bernama sama yang ada pada parentnya (class yang di extend) Misal,methodset_name() padaclass‘employee’ melakukan hal yang berbeda dengan method set_name() yang ada pada class ‘person’. Kita meng-override set_name versi class ‘person’ dengan cara mendeklarasikan method yang sama di class ‘employee’. 21. Overriding method : part 2 Kadang kala, kita ingin mengakses method class parent kita dari class anak kita. Dalam kasus diatas, mengakses method set_name() versi class ‘person’ dari method yang ada pada class ‘employee’. Kode yang dipergunakan adalah : person::set_name($new_name);
  • 9.
    22. Overriding method: part 3 Dengan mempergunakan :: kita bisa menyebutkan nama class yang akan diakses php untuk menjalankansuatumethod –‘person::set_name()’memerintahkan php untuk mencari method ‘set_name()’ pada class ‘person’. Cara lain untuk melakukan hal ini adalah dengan mempergunakan keyword ‘parent’
  • 10.
    Tugas : Buat classbuku dengan properti id_buku, judul_buku, pengarang, penerbit dan tahun terbit buatkan getternya dan (pilih salah satu) setter/constructor