OOP singkatan dari Object Oriented Programming
sekarang OOP sangat begitu popular, dan banyak digunakan oleh Programer-Programer,
Buktinya CMS,Joomla,Wordpress,Drupal dan banyak lagi, semua itu dibuat dengan gaya pemrograman OOP,
Apalagi saat ini sangat trend penggunaan Framwork PHP,
seperti Zend PHP, CodeIgniter,Yii Framwork, Cake PHP, yang notabenenya semua juga menggunakan dengan teknik OOP.
sekarang OOP sangat begitu popular, dan banyak digunakan oleh Programer-Programer,
Buktinya CMS,Joomla,Wordpress,Drupal dan banyak lagi, semua itu dibuat dengan gaya pemrograman OOP,
Apalagi saat ini sangat trend penggunaan Framwork PHP,
seperti Zend PHP, CodeIgniter,Yii Framwork, Cake PHP, yang notabenenya semua juga menggunakan dengan teknik OOP.
Memang Gaya Pemrograman OOP masih menjadi momok menakutkan
bagi Programer pemula, Terutama yang terbiasa dengan gaya prosedural.
Tetapi hilangkanlah Perasaan yang seperti itu,
Jika memang ingin berusaha berkeras hati untuk mempelajarinya,
dan bersungguh-sungguh, saya yakin. pasti akan mudah..
amiin..
Tetapi hilangkanlah Perasaan yang seperti itu,
Jika memang ingin berusaha berkeras hati untuk mempelajarinya,
dan bersungguh-sungguh, saya yakin. pasti akan mudah..
amiin..
Oke sedikit saja tentang OOP,
karna di blog tercinta ini saya ingin membuat tutorial
karna di blog tercinta ini saya ingin membuat tutorial
tentang OOP di php, tentunya dengan bertahap,
dari mulai membuat Class, Membuat Propertise atau atribut,Membuat Method/fungsi,Membuat object,Lalu ada juga Constructor dan Destructor
Nanti akan berlanjut dengan Mempelajari Encapsulasi, Inheritance, sampai dengan Mempelajari Polymorphism.
dari mulai membuat Class, Membuat Propertise atau atribut,Membuat Method/fungsi,Membuat object,Lalu ada juga Constructor dan Destructor
Nanti akan berlanjut dengan Mempelajari Encapsulasi, Inheritance, sampai dengan Mempelajari Polymorphism.
BAB I
- Class ,Atribut, Method Dan Object
- Constructor Dan Destructor
Class
Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari object.
class juga merupakan grup suatu object dengan kemiripan
attributes/properties, behaviour dan relasi ke object lain.
->Contoh Class
Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari object.
class juga merupakan grup suatu object dengan kemiripan
attributes/properties, behaviour dan relasi ke object lain.
->Contoh Class
1
2
3
4
| <?php//membuat class kendaraanclass Kendaraan {?> |
Jika dijalankan Maka tidak akan terjadi apa-apa.
Atribute/Propertise
Atribut/Propertise adalah kumpulan dari sifat-sifat Class
Oke Kita mulai membuat atribut dari kendaraan yang tadi Kita Buat
Atribut/Propertise adalah kumpulan dari sifat-sifat Class
Oke Kita mulai membuat atribut dari kendaraan yang tadi Kita Buat
->Contoh Class Dan Atribute
1
2
3
4
5
6
7
8
9
| <?php//membuat class kendaraanclass Kendaraan {//membuat atribute/ Propertisevar $merk;var $harga;var $jmlroda;}?> |
Method / Fungsi
Method/Fungsi merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh
suatu object dan kita tidak bisa membuat program hanya dengan membuat fungsi saja dan tanpa adanya object,
Karena Method harus didefinisikan pada class,dan dipanggil melalui object untuk menjalankan programnya !
->Contoh Class, Atribute, Dan Method
Method/Fungsi merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh
suatu object dan kita tidak bisa membuat program hanya dengan membuat fungsi saja dan tanpa adanya object,
Karena Method harus didefinisikan pada class,dan dipanggil melalui object untuk menjalankan programnya !
->Contoh Class, Atribute, Dan Method
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <?php//membuat class kendaraanclass Kendaraan {//membuat propertisenyavar $merk;var $harga;var $jmlroda;//membuat function kondisi mobilfunction KondisiHarga(){if ($this->harga>10000000){return "Mahal";} else {return "Murah";}}}?> |
Script diatas terdiri dari
– Class yang bernama kendaraan,
– Properti2 yang terdiri dari merk,harga,dan jmlroda,
– fungsi yang mendefinisikan dari kelas yang propertisnya Harga, jika harga 100000000 maka “mahal” selain itu Murah.
– Class yang bernama kendaraan,
– Properti2 yang terdiri dari merk,harga,dan jmlroda,
– fungsi yang mendefinisikan dari kelas yang propertisnya Harga, jika harga 100000000 maka “mahal” selain itu Murah.
namun jika script diatas di jalankan, maka tidak akan terjadi apa2 pada browser, karena di dalam script tersebut tidak terdapat objectnya.
Object
Objek adalah instance dari class.
class secara umum merepresentasikan sebuah object, sebuah instance adalah representasi nyata dari class itu
sendiri.
Objek adalah instance dari class.
class secara umum merepresentasikan sebuah object, sebuah instance adalah representasi nyata dari class itu
sendiri.
contoh dari kelas kendaraan, kendaraan itu masih umum,
lalu kita membuat objectnya
apa sajakah objecnya,
misalkan dari kelsa kendaraan,
objecnya adalah, merek mobilnya apa,harganya berapa, dan jumlah rodanya berapa, dan lain-lain..
lalu kita membuat objectnya
apa sajakah objecnya,
misalkan dari kelsa kendaraan,
objecnya adalah, merek mobilnya apa,harganya berapa, dan jumlah rodanya berapa, dan lain-lain..
dan kita lanjutkan script dari kelas kendaraannya..
->Contoh Class, Atribute,Method Dan Object
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| <?php//membuat class kendaraanclass Kendaraan {//membuat propertisenyavar $merk;var $harga;var $jmlroda;//membuat function kondisi mobilfunction KondisiHarga(){if ($this->harga>10000000){return "Mahal";} else {return "Murah";}}}//membuat object agar program bisa ditampilkan$objMobil = new Kendaraan(); //object dari kelas kendaraan//mensetting nilai propertise di dalam object$objMobil->merk=("Avanza");$objMobil->harga=(15000000);$objMobil->jmlroda=(4);//perintah untuk menampilkan program yang telah disettingecho 'Merek Mobil adalah '.$objMobil->merk.'<br>';echo 'Harga Mobil = '.$objMobil->harga.”;echo 'Jumlah Rodanya = '.$objMobil->jmlroda.'<br>';//menampilkan function kondisi yang telah dibuat tadiecho 'Status Harga ='.$objMobil->KondisiHarga();/** program tersebut adalah program sederhana mengguanakn oop php* dimana cara mensetting nilai propertisnya langsung pada objectnya.*/?> |
Constructor
Constructor adalah blok pernyataan khusus, Bisa juga disebut dengan method Khusus yang dibuat ketika sebua objec dibuat (Instance Class).
Pada umumnya Constructor dibuat untuk memberikan suatu operasi awal yang harus dilakukan ketika sebuah object dilahirkan(inisialisasi Object).
Berikut contoh penulisan sebuah constructor;
Constructor adalah blok pernyataan khusus, Bisa juga disebut dengan method Khusus yang dibuat ketika sebua objec dibuat (Instance Class).
Pada umumnya Constructor dibuat untuk memberikan suatu operasi awal yang harus dilakukan ketika sebuah object dilahirkan(inisialisasi Object).
Berikut contoh penulisan sebuah constructor;
1
2
3
4
5
6
| <?phpfunction __construct(parameter){//kode construktor}?> |
Kata construct sebelumnya harus diawali dengan dua kali tanda garis bawah,lalu diberi tanda kurung(). Dianatara tanda kurung juga bisa diberikan parameter . kemudian anda bisa memasukan kode dalam Constructornya.
Destructor
Destructor adalah kebalikan dari pada constructor, Destructor dibuat serta digunakan saat object akan dihapus.
Pada Pemrogaraman PHP, Destructor akan otomatis dipanggil pada saat akhir pengerjaan skript PHP anda.
Destructor adalah kebalikan dari pada constructor, Destructor dibuat serta digunakan saat object akan dihapus.
Pada Pemrogaraman PHP, Destructor akan otomatis dipanggil pada saat akhir pengerjaan skript PHP anda.
Pada Umumnya destructor dibuat untuk mengembalikan kembali sumber daya komputer( Misalnya memory atau File).
Berikut contoh penulisan sebuah destructor;
Berikut contoh penulisan sebuah destructor;
1
2
3
4
5
| <?phpfunction __destruct(){kode}?> |
Adapun Contoh dari script Constructor dan Destructor sebagai Berikut
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| <?php//membuat class kendaraanclass kendaraan{//membuat propertiprivate $merk;private $harga;//membuat method konstruktor, dimana mengambil parameter merk dan harga dari class kendaraanfunction __construct($merk,$harga) {$this->merk=$merk;$this->harga=$harga;}//fungsi getter//membuat method bacamerkfunction BacaMerk(){return $this->merk;}//membuat method bacahargafunction BacaHarga(){return $this->harga;}function __destruct() {echo "Merk dan Harga telah dihapus";}}//membuat objec mobil dari kelas kendaraan, yang berisi nilai dari parameter konstructor$mobil = new kendaraan("Avanza",100000000);//perintah untuk menampilkan pada browser dimana mengambil dari method BacaMerk dan BacaHargaecho " Merk Kendaraan = ".$mobil->BacaMerk()."<br>";echo " Harga Mobil = “.$mobil->BacaHarga()."<br>";?> |
Jika Script tersebut dijalankan maka akan menghasilkan Output
“Merk Kendaraan = Avanza
Harga Mobil = 100000000
Merk dan Harga telah dihapus”
“Merk Kendaraan = Avanza
Harga Mobil = 100000000
Merk dan Harga telah dihapus”
Masih Melanjutkan Permasalahan OOP di bahasa pemrograman PHP,
yakni disini akan membahas tentang apa itu Encapsulation
sebelumnya jika Anda belum mengerti konsep awal dari OOP,
seperti Class, Propertise, Function/Method, dan Objct, diharapkan anda harus Mempelajari ke Bab 1 dahulu,
dimana bab 1 adalah membahas tentang apa itu Class, propertise, Function/Method, dan Object,
silahkan baca Bab 1
yakni disini akan membahas tentang apa itu Encapsulation
sebelumnya jika Anda belum mengerti konsep awal dari OOP,
seperti Class, Propertise, Function/Method, dan Objct, diharapkan anda harus Mempelajari ke Bab 1 dahulu,
dimana bab 1 adalah membahas tentang apa itu Class, propertise, Function/Method, dan Object,
silahkan baca Bab 1
Jika Anda sudah memahaminya..okee kita lanjutkan di BAB 2 ini,
dimana kita akan membahas apa itu Encapsulation,
dimana kita akan membahas apa itu Encapsulation,
BAB II
Encapsulation
Inilah salah satu kelebihn OOP, Terdapat Encapsulation,Apa si encapsulation itu,
Encapsulation berarti Pembungkusan, Namun Yang dimaksud dengan pembungkusan disini adalah suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain,
Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Enkapsulasi juga merupakan suatu cara untuk menyembunyikan informasi detail dari suatu class.
Encapsulation
Inilah salah satu kelebihn OOP, Terdapat Encapsulation,Apa si encapsulation itu,
Encapsulation berarti Pembungkusan, Namun Yang dimaksud dengan pembungkusan disini adalah suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain,
Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Enkapsulasi juga merupakan suatu cara untuk menyembunyikan informasi detail dari suatu class.
Bisa dicontohkan juga dalam kehidupan sehari-hari,
misalkan Dalam Mengendarai sebuah mobil, Namun Pengemudi hanya perlu mengetahui cara mengendarai seperti menginjak kopling, namun pengendara tanpa perlu tahu bagaimana mobil bisa berjalan berdasarkan pengInjakan koplingnya..
dan banyak lagi contoh-contohnya…
misalkan Dalam Mengendarai sebuah mobil, Namun Pengemudi hanya perlu mengetahui cara mengendarai seperti menginjak kopling, namun pengendara tanpa perlu tahu bagaimana mobil bisa berjalan berdasarkan pengInjakan koplingnya..
dan banyak lagi contoh-contohnya…
Latihan Encapsulasi 1.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| <?phpclass kendaraan{//mensettng propertise menggunakan privateprivate $merk;protected $harga;private $jmlroda;//membuat function kondisi mobilfunction Kondisi(){if ($this->harga>10000000){return "Mahal";} else {return "Murah";}}}//membuat object agar program bisa ditampilkan$objMobil = new Kendaraan();//mensetting nilai propertise di dalam objec$objMobil->merk=("Avanza");$objMobil->harga=(15000000);$objMobil->jmlroda=(4);//perintah untuk menampilkan program yang telah disettingecho 'Merek Mobil adalah '.$objMobil->merk.'<br>';echo 'Harga Mobil = '.$objMobil->harga.'<br>';echo 'Jumlah Rodanya = '.$objMobil->jmlroda.'<br>';//menampilkan function kondisi yang telah dibuat tadiecho 'Status Harga ='.$objMobil->Kondisi();?> |
Jika Program dijalankan pasti akan Menghasilkan Output Yang Eror
“Fatal error: Cannot access private property kendaraan::$merk in D:\xampp\htdocs\OOPJadirullah\latihan2.php on line 26”
Karena pada propertise pada class terdapat Private dan Juga Protected,
sehingga kita tidak bisa sembarangan memanggil propertise di dalam objectnya.
“Fatal error: Cannot access private property kendaraan::$merk in D:\xampp\htdocs\OOPJadirullah\latihan2.php on line 26”
Karena pada propertise pada class terdapat Private dan Juga Protected,
sehingga kita tidak bisa sembarangan memanggil propertise di dalam objectnya.
Private adalah kode yang sesuai dengan namanya, akses ini bersifat private. dengan kata lain data maupun method hanya dapat diakses oleh kelas yang dimilikinya saja.
Protected adalah kode akses yang membuat suatu data atau method yang didefinisikan dengan tingkatan akses ini dapat diakses oleh kelas yang memilikinya saja dan juga kelas-kelas yang memasih memiliki keturunan atau Encapsulation data.
Namun ada juga yang dinamakan dengan Public
Public adalah kode akses yang bersifat umum. dengan kata lain, data maupun method dalam suatu kodingan tersebut dapat diakses oleh semua bagian di dalam program.
Public adalah kode akses yang bersifat umum. dengan kata lain, data maupun method dalam suatu kodingan tersebut dapat diakses oleh semua bagian di dalam program.
Lalu Bagaimanakah caranya agar script dari kendaraan diatas bisa dijalankan,
Di OOP ada istilah yang dinamakan setter dan getter,
setter dan getter biasanya berada di dalam method / Fungsi,
Di OOP ada istilah yang dinamakan setter dan getter,
setter dan getter biasanya berada di dalam method / Fungsi,
setter dengan kata lain adalah mensetting,
dan getter adalah mengambil dari nilai yang telah kita setting ..
Berikut contohnya
dan getter adalah mengambil dari nilai yang telah kita setting ..
Berikut contohnya
Latihan Encapsulasi 2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| <?php/** ENCAPSULATION* melanjutkan pada latihan 1, diamana agar bisa menggunakan kondisi private pada propertise agar bisa* ditampilkan di browser*///buat class kendaraanclass kendaraan {//membuat propertise dengan menggunakan kondisi privateprivate $merk;protected $harga;private $jmlroda;//setter//membuat fungtion untuk mensetting nilai propertise di dalam object nantifunction setMerk($merk){$this->merk=$merk;}function setHarga($harga){$this->harga=$harga;}function setJmlroda($jmlroda){$this->jmlroda=$jmlroda;}//membuat function kondisi setatus hargafunction statusharga(){if ($this->harga >150000000){return "Mahal";} else {return "Murah";}}//Getter//membuat function untuk mengambil nilai dari propertise yang telah disetting, dan akan di tampilkan pada browserfunction getMerk(){return $this->merk;}function getHarga(){return $this->harga;}function getJmlroda(){return $this->jmlroda;}}//membuat objek$objkendaraan = new kendaraan();//mensetting nilai propertise dari function set yang telah dibuat di atas$objkendaraan->setMerk("Avanza");$objkendaraan->setHarga(160000000);$objkendaraan->setJmlroda(4);//perintah untuk menampilkan program yang telah disetting pada object, namun untuk mengambiil nilainya mengunakan//function get tadi yang telah dibuatecho 'Merk Mobil Adalah '.$objkendaraan->getMerk().'<br>';echo 'Harga Mobil = '.$objkendaraan->getHarga().'<br>';echo 'Jumlah Roda = '.$objkendaraan->getJmlroda().'<br>';//menampilkan function kondisi yang telah dibuat tadiecho 'Status Harga ='.$objkendaraan->statusharga();?> |
jika script tersebut dijalankan maka akan menghasilkan output
“Merk Mobil Adalah Avanza
Harga Mobil = 160000000
Jumlah Roda = 4
Status Harga =Mahal”
Harga Mobil = 160000000
Jumlah Roda = 4
Status Harga =Mahal”
oke jika sudah paham lanjut ke bab 3 yaitu membahas tentang Inheritnace
BAB III, PHP OOP Inheritance
BAB III, PHP OOP Inheritance
Tidak ada komentar:
Posting Komentar