2. • Apa itu Object Oriented Programming?
• Perbedaan dengan procedural programming
• Kelebihan OOP
• Pengenalan PHP5
• PHP5 dengan OOP
• Contoh program
3. • Tipe bahasa utama PHP adalah prosedural
• Program kecil, mudah ditulis tanpa mengggunakan class
atau object.
• Tetapi, untuk program besar, kode menjadi banyak dan
penuh dengan banyak fungsi yang tak teratur
• Pengelompokan data dan kebiasaan dengan
menggunakan object membantu mengelola ukuran
kompleksitas
4. • Objek Model: adalah proses bagaimana kita memodelkan sistem
yang ada berupa objek-objek
5. • Konseptual Objek Model terdiri dari 4 konsep dasar:
• Abstraksi:
• Proses mengamati objek2 yang ada di sistem dunia nyata,
mengidentifikasi persamaan dan perbedaan ciri2nya, lalu
membuat classes (+atribut+method) sesuai hasil pengamatan itu.
• Abstraksi: penyederhanaan objek2 yg mirip sehingga kita dapat
membuat sebuah class (atribut2/method) dan menyatakan bahwa
objek2 yg mirip itu kita create/lahirkan dari class yang sama.
• Encapsulasi: access specifier (public, private), get dan set
• Class mempersatukan atribut dan method di dalamnya agar tidak
tercerai-berai. Aturan: semua ATR+METH harus di dalam class.
• Modularitas: masing2 objek ditreatment sendiri
• Hierarki: relasi antar kelas, inheritance (pewarisan)
6. • Membuat program dengan pendekatan semirip mungkin dengan
dunia nyata:
• Langkah pertama: Tentukan benda apa saja yang harus ada,
siapa aktor/pelaku (role)? (Subjek) -> ini jadi Class (Object)
• Apa sifat/elemen masing2 benda/aktor? -> ini jadi Property
• Benda/aktor itu bisa melakukan apa saja? (Predikat) -> ini jadi
Methods (PHP -> Fungsi / function)
• Jadi, setiap Class bisa memiliki Property (Atribut) dan Method
(Function)
• Pada OOP dalam PHP, setiap variabel dan fungsi/prosedur harus
jelas yaitu dimiliki oleh Class yg mana. Cara pemanggilan (invoke)
fungsi/prosedur juga harus ditulis Class yg memilikinya. Misalnya
12. • # Membuat object
• $name = new ClassName(parameters);
• # access sebuah object's field (variabel) (jika public)
• $name->fieldName
• # call an object's method(function)
• $name->methodName(parameters);
13. • Konstruktor adalah sebuah fungsi yang dipanggil ketika
sebuah objek di buat.
• Kegunaanya untuk menginisialisasi nilai-nilai atribut
(variabel) atau mengeksekusi method(fungsi).
Public function __construct() {
Echo “menjalankan konstruktor”
}
14. • Dekstruktor adalah sebuah fungsi yang dipanggil ketika
sebuah objek di hancurkan atau script telah berakhir.
Public function __destruct() {
Echo “menjalankan konstruktor”
}
15. • Inheritance atau turunan adalah salah satu pilar PBO
• Inheritance memungkinkan untuk membuat sebuah kelas
berdasarkan kelas induk
19. Class mamalia {
Private $namaMamalia;
Private $umurMamalia;
Public function setNamaMamalia($nm) {
$this->namaMamalia = $nm;
}
Public function setUmurMamalia($um) {
$this->umurMamalia = $um;
}
Public function getNamaMamalia() {
return $this->namaMamalia;
}
Public function getUmurMamalia() {
return $this->umurMamalia;
}
20. • // kelas turunan Horse
Class horse extends mamalia {
Public function getSpeak() {
Return “Hiiik... Hiiikk... hiikkkk”;
}
}
21. • Sebuah fungsi yang berada di kelas induknya, jika
diturunkan pada beberapa kelas turunan berbeda, maka
setiap objek dari kelas turunan tersebut akan mengkases
fungsi yang sama dan berada pada kelas induknya
22. • Polymorhism dibentuk dari kelas abstract yang
merupakan induk dari kelas turunannya.
• Buat kelas turunan berdasarkan kelas induk yang bertipe
abstract dengan melakukan override pada method yang
bertipe abstract.
• Buat instance objek seperti biasa
23. • Tulis dan jalankan kode program berikut:
Simpan dalam file prosedural01.php
24. • Tulis, simpan dengan nama pbo01.php dan jalankan
kode program berikut:
25. • Tambahkan baris kode program berikut setelah baris
terakhir kode program prosedural01.php:
• echo “</br>”;
• echo “Merk mobilnya : " .$merk;
• echo “</br>”;
• echo “Harga mobilnya : " .$harga;
• Tambahkan baris kode program berikut setelah baris
terakhir kode program pbo.php:
• echo “</br>”;
• $a->tampilMerk();
• echo “</br>”;
• $a->tampilHarga();
26. • 1. Bandingkan dengan penulisan kode program PBO
dengan kode prosedural.
• 2. Jelaskan pendapat Anda.