Belajar OOP (Object Oriented Programming) Menggunakan PHP Untuk Pemula

Udah lama nih ga nulis artikel tentang tutorial programming :> Kali ini saya ingin menuliskan beberapa Tutorial Tentang Bahasa Pemrograman Berbasis Web Pake PHP. Pasti udah pada tau kan sama PHP? Bukan Pemberi Harapan Palsu yaw apalagi Penikmat Harapan Palsu haha :D. Yaap, ga perlu dijelasin lagi apa itu PHP, karena sebelumnya saya udah membahasnya Tutorial PHP ini, kali ini saya bukan mebuat tutorial PHP Dasar / Prosedural lagi, melainkan PHP OOP. Apa sih OOP itu? Terus untuk apa ?

OOP singkatan dari Object Oriented Programming, keistimewaan dalam pembungkusan memudahkan para programmer mengarungi lautan kehidupan dalam meng-coding ria bersama pacar tercintanya eh emang punya pacar? :v, sebuah mesin penuh dengan baut, komputer :D~. Ada beberapa istilah inti dari keistimewaan OOP ini, yang paling menarik adalah class, property, method, inheritance, polymorphisme, dan? encapsulation. Apa coba itu ?!! :D

Nah kenapa sih kita menggunakan OOP? mari kita bandingkan dengan pemrograman prosedural :

Pemrograman Prosedural Pemrograman Berorientasi Obyek
Memecah program dalam fungsi dan data Menggabungkan fungsi dan data dalam program
Memiliki ciri Sequence (berurutan), Selection (pemilihan) dan Repetition (perulangan) Memiliki ciri Encapsulation (pengemasan), Inheritance (penurunan sifat) dan Polymorphism (perbedaan bentuk dan perilaku)
Struktur program rumit karena berupa urutan proses dan fungsi-fungsi Struktur program ringkas, cukup dengan membuat obyek dan class lalu bekerja berdasarkan object dan class tersebut.
Re-use kode program kurang Kode program terutama class sangat re-usable
Tidak cocok untuk pemrograman berskala besar, salah satunya karena kurang sulitnya mengkoordinasi teamwork Sangat cocok untuk pemrograman berskala besar salah satunya karena mudah dalam pembagian teamwork
Mudah diawal, namun kompleks diproses selanjutnya Sulit diawal (karena harus membuat class) namun selanjutnya akan terasa mudah dan cepat
Eksekusi lebih lambat karena setiap perintah dikerjakan berurutan Eksekusi lebih cepat karena dieksekusi bersamaan, program hanya mengatur obyek, properties dan method-nya saa

Class ini merupakan template untuk objek yang akan dibuat nantinya. Kalau diambil contoh dalam kehidupan sehari-hari. Hmmmm ? contoh kasusnya memasak telur. :D.

Templatenya adalah satu keutuhan cara menggoreng si telur tersebut.

Sedangkan property-nya atau variable adalah berapa banyak garam yang dibutuhkan, berapa banyak minyak yang dibutuhkan, berapa sayuran yang dibutuhkan, berapa banyak wortel, etc. (Maklum suka goreng telur di oplos sayur) :D

Method sendiri itu sama halnya dengan fungsi yakni bagaimana caranya telur digoreng. Seperti, apakah telurnya akan dimasukkan kedalam piring terlebih dahulu, atau apakah telurnya akan di masukkan ke katel dengan sayur yang berada di dalam katel. Atau mungkin bisa saja telurnya langsung dimasukkan kedalam perut dan gaperlu dimasak. :G ( kebanyakan coding jadi stress ) :D

Inheritance, dalam istilah bahasa indonesianya dikenal dengan turunan. Jelasnya turunan ini berasal dari suatu kelas induk. Kalo diambil contoh dalam menggoreng telur, masing-masing orang punya keunikan tersendiri dalam menggoreng telur, seperti dalam menggoreng telur ada orang yang mengikuti aturan menggoreng telur, ada juga yang senang di oplos dengan sayur seperti saya. :3

Sedangkan polymorphisme itu gaya dalam menggoreng telur itu sendiri, bisa saja ketika menggoreng telur itu ditambah dengan kecap manis, atau sambal pedas, atau mungkin terasi. Bisa saja. Iya kan ?? :D Atau juga, ada yang suka telurnya setengah mateng, atau mungkin saja ada yang senang dengan telor yang gosong. Semua bisa saja terjadi. :v

Nah dari situ timbul satu pertanyaan besar, sebenarnya OOP itu untuk apa sih ? Apakah OOP itu sebagai standarisasi cara menggoreng telor. :D

OOP sering digunakan dalam pembuatan aplikasi besar, dimana ketika penambahan fitur terbaru fungsi encapsulation atau pembungkusan dalam class ini sangat berperan penting. Keuntungan lain adalah maintenance ketika ada bug yang bercokol dalam coding ataupun maintenance jenis lain. Dengan mudah terkontrol. Dan menghasilkan coding yang lebih efisien. Contoh nyata OOP yaitu button. Turunan button seperti bit button, push button dan lain-lain. Dimana button-button tersebut sebenarnya adalah bentuk lain dari button induk yang telah di berikan fitur-fitur tambahan.

Implementasinya sudah jelas bukan? Kalo belum ntar ada list tutorial implementasinya lagi di bawah :D

Terus apa perbedaan PHP yang biasa kita pakai (Prosedural) dengan OOP (Object Oriented Programming) ? Oke kita akan bahas sedikit teorinya agar mudah dipahami ketika kita prakteknya.

OOP DikaProgramming secara Prosedural adalah gaya pemrograman yang paling mudah dipahami secara algoritmik. Jadi ketika kita pertama kali mempelajari bahasa pemrograman, kita dituntut untuk memahami program yang dibuat secara algoritmik. Sedangkan Object Oriented Programming adalah Pemrograman berorientasi objek yang mana OOP ini adalah pengembangan dari gaya pemrograman Prosedural. Bagi kebanyakan orang yang sudah terbiasa dengan gaya programming prosedural, biasanya akan mengalami kesulitan ketika ingin beralih ke gaya pemrograman berbasis objek. Lhaa… kenapa ?

Untuk mempelajari OOP ini memang sangat disarankan bagi para programmer yang sudah mahir / advanced. Karena selain penguasaan dari sisi algoritmik, programmer OOP ini harus mampu menyatakan masalah kedalam bentuk objek-objek. Wajar programmer prosedural agak susah beralih ke object oriented karena mereka sudah terbiasa dengan menyatakan masalah kedalam bentuk algoritma tapi dipaksakan beralih ke bentuk objek. Tapi tenang, OOP dalam PHP tidak sulit kok. Jika kita mempelajarinya secara pelan-pelan asalkan betah di ulang-ulang dan sambil praktek, nanti juga bisa dan terbiasa juga kok. Buktinya sekarang saya sudah terbiasa dengan gaya object oriented untuk membuat program / web. Oke, saya rasa cukup untuk teori pengenalannya, kita langsung lanjut ke topik pembelajaran PHP Object Oriented Programming. :D

Saya buat tahapan pembelajaran PHP Object Oriented ini mulai dari awal dan insyaallah saya akan update terus pembelajaran ini. Berikut ini adalah tahapan belajarnya. :

Artikel ini akan di perbarui dan di buat tutorialnya satu persatu jika saya ada waktu hehe, maklum sibuk pekerjaan sekolah numpuk banyak.. :D Bookmark aja kalo perlu buat ngikutin pembelajarannya :D

Semoga bermanfaat :D

Source : nulis-ilmu.com