2015-12-21
Robby Cokro Buwono
Badiyanto, S.Kom.,M.Kom
Sesi 12 OOP PHP dasar
Kode MK :
AK2011T
Revisi Terakhir :
2013
Tujuan Intruksional
Memahami cara membuat aplikasi dasar PHP dengan OOP
2
1
2015-12-21
PBO di PHP
PHP pada awalnya hanyalah kumpulan script sederhana. Hal ini dimulai sejak PHP 4. Dengan di release versi PHP 5, fitur-fitur pemrograman berorientasi objek semakin mantap dan semakin cepat. PHP 5, script yang menggunakan konsep object-oriented akan lebih cepat dan lebih efisien. 3
(Pemrograman Berorientasi Objek
Pemrograman berorientasi objek atau object oriented programming (OOP) merupakan suatu pendekatan pemrograman yang menggunakan object dan class. OOP juga banyak digunakan pada bahasa Java dan C++, pascal, . OOP merupakan cara pandang dalam menganalisa sistem dan permasalahan pemrograman. Dalam OOP, setiap bagian dari program adalah object. Sebuah object mewakili suatu bagian program yang akan diselesaikan. 4
2
2015-12-21
OOP Sebuah object mewakili suatu bagian program yang akan diselesaikan. Beberapa konsep OOP dasar, antara lain : 1. Encapsulation (Class dan Object) 2. Inheritance (Penurunan pewarisan sifat) 3. Polymorphisme (Perbanyakan bentuk)
5
Objek Sederhananya, sebuah objek adalah kumpulan dari variabel dan fungsi yang dibungkus menjadi satu entitas. Entitas tersebut dapat berupa variabel biasa. Sebuah objek diciptakan melalui sebuah kelas atau dengan istilah instan dari kelas.
Objek memiliki 2 elemen utama: Attributes atau Properties: yaitu nilai-nilai yang tersimpan dalam objek tersebut dan secara langsung maupun tidak langsung menentukan karakteristik dari objek tersebut. Method: yaitu suatu aksi yang akan dijalankan atau dikerjakan oleh objek tersebut.
6
3
2015-12-21
Contoh:
misalny object mobil, dimana mobil memiliki properties atau bagian-bagian di dalamnya, seperti warna, roda, mesin, pintu dsb.
Sebuah mobil juga dapat melakukan sesuatu (ada sesuatu yang bisa dilakukan dengan mobil), seperti mengisi bensin, menyalakan mesin, berjalan, mengerem dsb. 7
Kelas (class (class))
Kelas atau class dapat didefinisikan sebagai struktur data dari suatu objek. Lebih jelasnya adalah sebuah bentuk dasar yang mendefinisikan variabel, method umum pada semua objek. Objek sendiri adalah kumpulan variabel dan fungsi yang dihasilkan dari template khusus atau disebut class. 8
4
2015-12-21
Pengkapsulann Pengkapsula
Salah satu keuntangan program yang didefinisikan dengan konsep OOP adalah pengkapsulan (encapsulation) program dalam class dan object, dimana programer yang menggunakan class tidak perlu mengetahui isi dan jalannya class secara detail, hanya perlu tahu bagaimana cara menggunakannya. Sama halnya dengan sebuah mobil misalnya, seorang pemilik mobil tentunya tidak perlu mengetahui bagian-bagian mobil secara menyeluruh. 9
Properties dan Method Properties : Setiap class memiliki properties yang kadang disebut juga state atau attributes. Properties dari sebuah mobil misal warna, ukuran, dan harga, di dalam class properties tersebut dinyatakan sebagai sebuah variabel. Misalnya : $warna, $ukuran dan $harga. Method Method merupakan sesuatu yang bisa dilakukan oleh object. Method dalam PHP sama artinya dengan fungsi. Method dari mobil misalnya
menghidupkanMobil(), menjalankanMobil(), menghentikanMobil () dan sebagainya.
10
5
2015-12-21
Properties dan Method Penamaan properties dan method memiliki aturan yang sama dengan penamaan sebuah variabel dan fungsi. Akan tetapi berdasarkan kesepakatan (convention), penamaan properties dan method harus mengguanakan camel Caps, dimana tiap kata diawali dengan huruf besar kecuali kata pertama, setiap kata digabung tanpa spasi atau underunder-score(_). Contoh : Atribute : $warnaBody, $beratMobil, $panjangMobil Method : menjalankanMobil(), menghentikanMobil()
11
Mendefinisikan Kelas (class (class)) Mendefinisikan Class Bentuk umum class NamaClass { ... deklarasi dan definisi properties ... ... definisi method ... }
12
6
2015-12-21
Mendefinisikan class Contoh pendefinsian class beserta propertinya class Mobil { var $warna ; var $merk ; var $harga ; } 13
Mendefinisikan Class Variabel class dapat langsung diinisialisasi dengan sebuah nilai. Seperti contoh berikut. class Mobil { var $warna = "Biru"; var $merk = "BMW" ; var $harga = 100000000 ; }
14
7
2015-12-21
PBO di PHP ( Mendefinisikan Class ) Untuk menambahkan method sama seperti membuat fungsi tetapi di hindari penulisan method dengan menggunakan 2 underscore ( _ _ ) seperti __construct( ), __destruct( ) dan __clone( )
karena sudah digunakan untuk pengaturan class. 15
Mendefinisikan Class Contoh pendefinisian kelas dengan methodenya class Mobil { var $warna = "Biru"; var $merk = "BMW" ; var $harga = 100000000 ; function gantiWarna($warnaBaru) { $this->warna = $warnaBaru ; } function tampilWarna( ) { echo "Warna mobilnya : ". $this->warna ; } } 16
8
2015-12-21
Mendefinisikan class Pada listing program di atas sudah ditambahkan fungsi atau method gantiWarna( ) dan tampilWarna( ). Untuk mengakses properties (variabel) bisa menggunakan keyword $this. Keyword ini me-refer pada class tempatnya berada.
17
Mendefinisikan class
Konstruktor merupakan sebuah method khusus yang akan secara otomatis dijalankan saat object terbentuk. Konstruktor tidak harus ada, namun dalam satu class hanya boleh ada satu konstruktor. Method konstruktor biasanya berisi pemberian nilai default dari masing-masing properties (variabel). Untuk membuat konstruktor, cukup dengan mendefinisikan suatu fungsi dengan nama __construct( ). 18
9
2015-12-21
Mendefinisikan class class Mobil { var $warna ; var $merk ; var $harga ; function __construct() { $this->warna = "Biru" ; $this->merk = "BMW" ; $this->harga = "100000000" ; } function gantiWarna($warnaBaru) { $this->warna = $warnaBaru ; } function tampilWarna() { echo "Warna mobilnya : ". $this->warna ; } } 19
Mengakses kelas $kend = new Mobil $kend->tampilWarna(); echo "
Merk ".$kend->merk; echo "
Harga".$kend->harga; $kend->gantiWarna('Kuning'); echo "
"; $kend->tampilWarna(); 20
10
2015-12-21
Kelas Extends
Sebuah kelas dapat merupakan perluasan dari kelas yang ada sebelumnya. Hal ini yang merupakan kelebihan pemrograman berorientasi objek adalah adanya sifat pewarisan (inheritence). Misalnya pada contoh kelas SegiEmpat hanya terdapat fungsi set_sisi(), luas() dan mungkin itu dirasakan kurang. Jika ingin menciptakan kelas baru Kubus yang menggunakan fungsi yang ada di dalam kelas SegiEmpat, serta ditambahkan fungsi volume (), maka dengan melakukan perluasan terhadap sebuah kelas. Adapun caranya menggunakan pernyataan extends yang sintaksnya adalah sebagai berikut:
21
kelas SegiEmpat
class SegiEmpat { //properti// var $panjang; var $lebar; // metode (fungsi) function set_sisi($pj,$lb) { $this->panjang=$pj; $this->lebar=$lb; } function luas() { return $this->panjang * $this->lebar; } } ?> 22
11
2015-12-21
Kelas Kubus tebal=$tb; } function volume() { return $this->tebal * $this->lebar *$this->panjang; } } ?> 23
Referensi
PHP Manual (http://www.php.net/docs.php)
24
12