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.