Pemrograman Web Pemrograman Berorientasi Objek Adam Hendra Brata
8
Pokok Bahasan
Pengantar PBO
PBO dengan PHP Pengayaan : Halaman Administrasi Tugas 4
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek Konsep dasar dan pengenalan PBO di PTIIK / FILKOM Pemrograman Lanjut Pemodelan Berorientasi Objek PBO / OOP adalah sebuah konsep / teori pengembangan perangkat lunak yang sifatnya universal dan tidak terikat dengan platform atau bahasa pemrograman tertentu PHP juga sudah mendukung konsep PBO untuk proses pengembangan website yang lebih dinamis dan modern Materi PBO dengan PHP tidak ada di materi praktikum
Pemrograman Berorientasi Objek dengan PHP
Pemrograman Berorientasi Objek dengan PHP Class & Object
Class
Object
Pemrograman Berorientasi Objek dengan PHP Class & Object
Class = Blueprint / cetakan, Object = Instance / hasil cetakan
// filename: manusia.class.php class manusia { public $nama; // attribute
public function menyapa() { echo 'Halo!'; } // method } ?>
Pemrograman Berorientasi Objek dengan PHP Class & Object // file php berbeda nama = 'Susan'; echo $susan->nama . ' jika menyapa, berkata: ' . $susan->menyapa(); ?>
Pemrograman Berorientasi Objek dengan PHP Class & Object
Jika ingin menggunakan / mengakses atribut dalam method, dapat digunakan keyword $this class manusia {
public $nama; public function menyapa() { echo $this->nama . ' bilang Halo!';
} }
$susan = new manusia; $susan->nama = 'Susan'; $susan->menyapa();
Pemrograman Berorientasi Objek dengan PHP Constructor
Method yang pertama kali akan dieksekusi saat kelas diinstansiasi nama = $nama; } public function menyapa() { echo $this->nama . ' bilang Halo!'; } } ?>
Pemrograman Berorientasi Objek dengan PHP Constructor
Method yang pertama kali akan dieksekusi saat kelas diinstansiasi
… $susan = new manusia('Susan'); $susan->menyapa();
… ?>
Output Susan bilang Halo!
Pemrograman Berorientasi Objek dengan PHP Constructor
$mahasiswa = new manusia('Adi'); echo $mahasiswa->nama; // Adi
$mahasiswa->nama = "Budi"; echo $mahasiswi->nama; // Susan echo $mahasiswa->nama; // siapa dan kenapa ? ?>
Pemrograman Berorientasi Objek dengan PHP Inheritance
Teknik menciptakan kelas dari turunan kelas lain Kelas turunan mewarisi atribut dan method kelas induk dan dapat memiliki atribut dan method tambahan yang lain
Parent
Children
Pemrograman Berorientasi Objek dengan PHP Inheritance
class mahasiswa extends manusia { public function __construct($nama){ $this->nama = $nama;
} public $tugas = 'belajar'; } $susan = new mahasiswa('Susan'); echo $susan->menyapa() . ' ketika sedang ' . $susan->tugas; Output Susan bilang Halo! ketika sedang belajar
Pemrograman Berorientasi Objek dengan PHP Inheritance
class mahasiswa extends manusia { ... public function menyapa(){ echo $this->nama . ' bilang Hei!'; } // override ...
} // apa hubungan constructor parent dan child ? $susan = new mahasiswa('Susan'); echo $susan->menyapa() Output ? // apa outputnya
Pemrograman Berorientasi Objek dengan PHP Class Visibility
Public : dapat diakses oleh semua class Private : hanya dapat diakses oleh class itu sendiri Protected : hanya dapat diakses oleh class itu sendiri dan class turunannya
Pemrograman Berorientasi Objek dengan PHP Class Visibility
protected $protected = 'Protected'; private $private = 'Private';
function printHello() { echo $this->public; echo $this->protected; echo $this->private; } }
// apa keluarannya ? $obj = new MyClass(); echo $obj->public; echo $obj->protected; echo $obj->private; $obj->printHello();
Pemrograman Berorientasi Objek dengan PHP Encapsulation
Teknik untuk menyimpan elemen dari suatu atau lebih objek ke dalam objek yang lain, sehingga objek yang menyimpannya mendapat kontrol penuh Jika digabungkan dengan penggunaan class visibility yang baik akan memungkinkan adanya information hiding
Pemrograman Berorientasi Objek dengan PHP Encapsulation
class manusia { private $baju; public function __construct() { $this->baju = new pakaian; $this->baju->warna = 'biru'; } public function warnaBaju() {
return $this->baju->warna; } }
// apa keluarannya ? $susan = new manusia(); echo 'Susan memakai Baju berwarna ' . $susan->warnaBaju();
Pemrograman Berorientasi Objek dengan PHP Abstract Class
Class yang harus diturunkan jika ingin dipakai, untuk mengakses elemen – elemen yang berada di parent class, children class harus menggunakan keyword parent Abtsract class memiliki sifat sebagai berikut : Tidak dapat diinstansiasikan Method-methodnya dapat berupa method abstrak tidak diimplementasikan Method-methodnya dapat berupa method tidak abstrak diimplementasikan Suatu class dapat menuruni sifat dari 1 abstract class
Pemrograman Berorientasi Objek dengan PHP Abstract Class
abstract class Binatang { abstract protected function bicara(); // Common method (shared) public function garukGaruk() { echo "garuk garuk…"; } }
Pemrograman Berorientasi Objek dengan PHP Abstract Class
class Kucing extends Binatang { public function bicara() {
echo "Meong…" } } $anggora = new Binatang; // E $anggora = new Kucing; $anggora->bicara(); // meong… $anggora->garukGaruk(); // garuk garuk…
Pemrograman Berorientasi Objek dengan PHP Interface
Interface memiliki sifat sebagai berikut : Sifat dasarnya adalah “menyatakan kontrak” Method-methodnya berupa method abstrak tidak diimplementasikan Method-methodnya harus diimplementasikan sesuai aslinya, baik jumlahnya maupun deklarasinya dan sifatnya semuanya public Suatu class dapat mengimplementasikan sifat dari banyak interface
Kenapa Interface dan apa bedanya dengan class abstract ? Design Pattern
Lihat materi pendukung !
Pemrograman Berorientasi Objek dengan PHP Polymorphism
Polymorphism adalah istilah untuk pemberian interface yang sama untuk beberapa bentuk implementasi yang berbeda namun memiliki 1 sifat dasar yang sama
Pemrograman Berorientasi Objek dengan PHP Polymorphism interface binatang { public function bicara(); } class kucing implements binatang { public function bicara() { echo "Meong…"; }
} class anjing implements binatang { public function bicara() { echo "Guk… Guk…"; } }
Materi Pengayaan : Halaman Administrasi pada Website
Halaman Administrasi pada Website Halaman administrasi adalah halaman yang pada umumnya digunakan untuk melakukan pengelolaan isi atau unsur lain sebuah website Halaman administrasi berbeda dengan halaman website yang dapat diakses secara bebas oleh pengguna melalui internet (halaman klien) Halaman administrasi hanya dapat digunakan oleh pihak yang punya autoritas khusus (admin) Pada umumnya website dinamis memiliki 2 sisi halaman, yaitu klien dan admin
Halaman Administrasi pada Website
Klien
Admin
Halaman Administrasi pada Website LOGIN Admin
HALAMAN ADMINISTRATOR KELOLA CRUD Klien
HALAMAN KLIEN
Tugas 4
Tugas 4 Tugas Kelompok
Memodifikasi Tugas 3 menjadi website yang memakai pemrograman berorientasi objek Tambahkan halaman administrasi di website tematik tiap kelompok untuk melakukan proses CRUD Tugas 4
Deadline : Pengumpulan: file source code web di zip dengan folder sesuai format. (Nomor Tugas: 4) Pengumpulan via email: Minggu, 3 Mei 2015, 24.00
Terimakasih dan Semoga Bermanfaat ^^