Part 1 Pengantar Object Oriented Programming dengan dengan PHP Part 1

IKB112312
STMIK EL RAHMA
Oleh : Wahyu Widodo

Pertemuan 1

[ Pengantar Object Oriented Programming ]

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1

Apa yang melatar belakangi lahirnya konsep OOP ?

Pesatnya perkembangan Internet, berbanding lurus dengan kebutuhan akan
tuntutan perkembangan aplikasi web.
Beberapa contoh aplikasi web enterprise : Supply Chain Management (SCM),
Customer Relationship Management (CRM), GIS, Knowledge Management
System

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1

Keuntungan apa yang diperoleh dengan Konsep OOP ?


Menghasilkan aplikasi yang terstuktur dan kokoh
Aplikasi menjadi modular sehingga :

 Ketergantungan antar modul tereduksi
 Mudah ditelusuri jika terjadi kesalahan
 Mudah dikelola (dikembangkan dan diupdate)

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1

Apa saja konsep dasar OOP ?
1. Abstraction
Proses penentuan ciri, sifat atau informasi penting suatu object, mana yang akan
ditampilkan dan disembunyikan.

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1

2. Object dan Class

 Object adalah data yang telah terstruktur sesuai dengan yang didefinisikan dalam

sebuah class.
 Class adalah template/kerangka yang digunakan untuk membentuk sebuah object.
Jadi, Object adalah instance dari classnya
 Object memiliki Attribute dan method.
 Attribute : data-data
 Method : Operasi atau fungsi untuk memodif

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1

3. Inheritance
Pembuatan Class baru berdasarkan class yang sudah ada sebelumnya.

Keuntungan ?

 Mendefinisikan method yang lebih spesifik di subclass
 Dapat dibuat superclass yang bersifat generic

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1

4. Polymorphism

Suatu object dapat memiliki berbagai bentuk.
Ada 2 jenis :
 Overloading : Penggunaan satu nama untuk beberapa method yang berbeda
parameternya.
 Overriding : Pendeklarasian Methode dengan nama dan parameter yang
sama dari superclassnya.

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1

Apa saja pembagian hubungan antar class ?

Dibagi menjadi 3 :
 Generalization : Hubungan class B merupakan penjabaran dari class A

 Dependency : Hubungan ketergantungan antar A class dengan class b

 Association : Hubungan object pada class A berhubungan dengan object
pada class b

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1


Bagaimana cara ….?
Mendeklarasikan attribute pada class
1. class Product{
2.
public $name = 'default product name';
3.
public $price = 0;
4.
public $description; //definisi properti dengan nilai null
5. }

Membuat Instance Sebuah Class
Untuk membuat instance dari sebuah class digunakan kata tercadang new dan diikuti oleh
nama class tersebut. Misalkan:
1. $product = new Product();

Mengakses properti dan men-setting properti
1.
2.

3.
4.
5.
6.
7.

$product = new Product();
//mengakses property
echo $product->name; //ouput 'default product name'
echo 'Price: '.$product->price; //output 'Price: 0';
//men-setting nilai properti
$product->price = 100;
echo 'Price: '.$product->price; //ouput 'Price: 100';

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1

Membuat Method pada sebuah Class
1. class Product{
2.
3. public $name = 'default product name';

4. public $price = 0;
5. protected $discount = 0; //dalam persen
6.
7. public function getDiscount(){
8. return $this->discount; //cara mengakses properti dari sebuah method
9. }
10.
11. public function getPrice(){
12.
$price = $this->price - ($this->price * $this->getDiscount());
13.
return $price;
14. }
15.
16. public function setDiscount($discount){
17.
$this->discount = $discount; // cara men-setting nilai properti dari method
18. }
19. }


Memanggil atau Menggunakan Method Class
Untuk memanggil method dari sebuah class sama seperti properti menggunakan tanda ->,
seperti contoh di bawah:
1.
2.
3.
4.
5.
6.

$product = new Product();
$product->price = 100;
echo 'Price: '.$product->getPrice(); //output 'Price: 100'
$product->setDiscount(5);
echo 'Price: '.$product->getPrice(); //output 'Price: 95'
echo 'Discount: '.$product->getDiscount().'%'; //output 'Discount: 5%'

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1

Seperti apa contoh inheritance ?

1. class CDmusik extends Product{
2.
3.
public $artis;
4.
public $durasi = 0;
5.
public $daftarLagu = array();
6.
7. function tambahLagu($lagu){
8.
if(is_array($lagu)){
9.
$this->daftarLagu = array_merge($this->daftarLagu, $lagu);
10.
}else{
11.
$this->daftarLagu[] = $lagu;
12.
}

13. }
14.
15. function setDurasi($durasi){
16.
$this->durasi = $durasi;
17. }
18.
19. function setArtis($artis){
20.
$this->artis = $artis;
21. }
22.
23. }
24.
25. $cdAndra = new CDmusik('Andra and The Backbone', 40);
26. $cdAndra->tambahLagu('Main Hati');
27. $cdAndra->tambahLagu('Hitamku');
28. $cdAndra->setArtis('Andra');
29. $cdAndra->setDurasi(60);
30.

31. echo 'Artis: '.$cdAndra->artis;
32. echo 'Durasi:'.$cdAndra->durasi;
33. echo 'Lagu:';
34. echo '';
35. foreach($cdAndra->daftarLagu as $lagu){
36. echo ''.$lagu.'';
37. }
38. echo '';

Pertemuan 1 : Pengantar Object Oriented Programming dengan dengan PHP Part 1

Rangkuman
PHP mendukung Object Oriented Programming secara penuh sejak versi PHP 5. Object didefinisikan dalam sebuah class. Secara
singkat class adalah template/kerangka yang digunakan untuk membentuk sebuah object. Dengan demikian object adalah data yang
telah terstruktur sesuai dengan yang didefinisikan dalam sebuah class. Properti memberi object kemampuan untuk menyimpan data,
dan method memberi object kemampuan untuk melakukan sebuah tugas. Method adalah function spesial yang dideklarasikan dalam
sebuah class. Dengan Inheritance atau Pewarisan class bisa diturunkan ke dalam subclass subclass.