Pemrograman Web Pemrograman Berorientasi Objek Adam Hendra Brata
Pokok Bahasan Pengantar PBO PBO dengan PHP Pengembangan Website Berorientasi Objek
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek Konsep dasar dan pengenalan PBO di FILKOM Pemrograman Lanjut Pemodelan Berorientasi Objek Analisis dan Perancangan Sistem Analisis dan Perancangan Sistem Informasi 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
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() { return 'Halo!'; //echo ‘Hai’; } // 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…"; } }
Pengembangan Website Berorientasi Objek
Pengembangan Website Berorientasi Objek Project Akhir ? ^^
Pengembangan Website Berorientasi Objek Project Akhir ? ^^ Langkah – langkah pengerjaan ?
Proyek Akhir Pemrograman Web
1. Analisis Kebutuhan a. Identifikasi Aktor b. Spesifikasi Kebutuhan i. ii.
Pemodelan Diagram Use Case Deskripsi Use Case Scenario
2. Perancangan Sistem a.
Perancangan arsitektural website (Analisis Statis) i. ii.
Pemodelan Class Diagram Definisi Class
b. Perancangan Data i.
c.
Pemodelan Entity Relationship Diagram
Perancangan perilaku website (Analisis Dinamis) i.
Pemodelan Sequence Diagram
d. Perancangan Antarmuka Website i. ii.
Pemodelan template antarmuka website Pemodelan aliran halaman website
3. Implementasi Sistem Website a.
Pengembangan aplikasi web berorientasi objek dengan menggunakan PHP
4. Implementasi Basis Data a.
Implementasi struktur basis data dengan menggunakan MySQL
5. Implementasi Antarmuka a.
Implementasi antarmuka website dengan menggunakan HTML5 dan CSS3
6. Pengujian Website 7. Presentasi dan Evaluasi Proyek
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
Terimakasih dan Semoga Bermanfaat ^^