pemrograman berorientasi objek dengan · pdf fileproperty & method scope di php...
TRANSCRIPT
![Page 1: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/1.jpg)
Pemrograman Berorientasi Objek Dengan PHP
Agi Putra Kharisma, S.T., M.T.
![Page 2: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/2.jpg)
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
![Page 3: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/3.jpg)
![Page 4: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/4.jpg)
@tomnomnom
![Page 5: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/5.jpg)
Literatur
• Buku [2] halaman 102 - 117
![Page 6: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/6.jpg)
Abstraksi
![Page 7: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/7.jpg)
Contoh Level Abstraksi
ManusiaManusia
-nama
+set_nama()+get_nama()
class Manusia { private $nama; public function set_nama($nama) { $this->nama = $nama; } public function get_nama(){ return $this->nama; }
class Manusia { } class Manusia {
private $nama; public function set_nama(){ } public function get_nama(){ } }
Level abstraksi semakin rendah Level abstraksi semakin tinggi
![Page 8: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/8.jpg)
Terminologi (1)
Class Object
![Page 9: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/9.jpg)
Terminologi (2)
• Interface
![Page 10: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/10.jpg)
Mengapa interface?
• Kontrak
• Reusability
• Konsistensi
• Program to an 'interface', not an 'implementation'. (Baca buku: Design Patterns: Elements of Reusable Object-Oriented Software -GoF)
![Page 11: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/11.jpg)
Terminologi (3)
• Inheritance
• Association (use)
• Aggregation (has)
• Composition (own)
• Dependency
![Page 12: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/12.jpg)
Composition vs Inheritance
@decharlas
![Page 13: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/13.jpg)
Deklarasi Kelas Pada PHP class PerguruanTinggi {
private $nama, $akreditasi;
public function get_nama() {
return $this->nama;
}
public function set_nama($nama) {
$this->nama = $nama;
}
public function get_akreditasi() {
return $this->akreditasi;
}
public function set_akreditasi($akreditasi) {
$this->akreditasi = $akreditasi;
}
}
class Universitas extends PerguruanTinggi {
private $rektor;
public function get_rektor() {
return $this->rektor;
}
public function set_rektor($rektor) {
$this->rektor = $rektor;
}
}
class Politeknik extends PerguruanTinggi {
private $direktur;
public function get_direktur() {
return $this->direktur;
}
public function set_direktor($direktur) {
$this->direktur = $direktur;
}
}
![Page 14: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/14.jpg)
Instansiasi Objek Pada PHP
$UB = new Universitas();
$polinema = new Politeknik();
![Page 15: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/15.jpg)
Objek di PHP = Passing By Reference
class User { } $bona = new User(); $bona->name = "Bona"; $boni = $bona; $boni->name = "Boni"; echo "$bona->name dan $boni->name";
class User { } $bona = new User(); $bona->name = "Bona"; $boni = clone $bona; $boni->name = "Boni"; echo "$bona->name dan $boni->name";
![Page 16: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/16.jpg)
Property & Method Scope di PHP
• Public – Secara default, property & method diasumsikan
bersifat publik (jika tidak ada pendefinisian secara eksplisit).
• Protected – Hanya dapat di-referensi oleh method dalam kelas
yang sama atau turunannya.
• Private – Hanya dapat di-referensi oleh method dalam kelas
yang sama.
![Page 17: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/17.jpg)
Static Property & Method
class PerguruanTinggi { private $nama, $akreditasi; public function get_nama() { return $this->nama; } ....... public static function getAkreditasiA() { // return daftar PT dg akreditasi A } }
![Page 18: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/18.jpg)
Studi Kasus
• Buat abstraksi berorientasi objek dalam bentuk diagram kelas untuk ‘Program Daftar Mahasiswa’ berikut ini: – Contoh solusi berupa kode sumber dapat diunduh di blog mata kuliah.
![Page 19: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/19.jpg)
@urokuta
![Page 20: Pemrograman Berorientasi Objek Dengan · PDF fileProperty & Method Scope di PHP •Public –Secara default, property & method diasumsikan bersifat publik (jika tidak ada pendefinisian](https://reader033.vdocuments.mx/reader033/viewer/2022051507/5a728d6d7f8b9aa7538da8d9/html5/thumbnails/20.jpg)
Tugas
1. Baca chapter 10 pada buku [2]
2. Unduh aplikasi studi kasus (Daftar Mahasiswa), ubah aplikasi tersebut sehingga data mahasiswa dapat disimpan dan diakses pada basis data MySQL.
– Gunakan interface yang telah didefinisikan