Manfaat OOP pada PHP

Dalam dunia pemograman, ada dua metode yang digunakan dalam membuat program. Yaitu metode Prosedural dan metode OOP. Metode prosedural adalah metode yang berfokus pada penyelesaian masalah. 
Jadi bila si programer menggunakan metode Prosedural, dia akan berfikir bagaimana cara masalah ini dapat selesai?
Sedangkan metode OOP adalah metode yang berfokus terhadap Objek. 
Jadi bila si programer menggunakan metode Prosedural, dia akan berfikir Objek apa saja yang diperlukan agar program saya bisa menyelesaikan masalah?
Di bangku kuliah saya, konsep OOP sebenarnya sudah diajarkan sejak semester satu, saat belajar pempgraman C++. Namun entah kenapa sebagian besar dari mahasiswa masih belum mengerti apa sebenarnya itu OOP. Apa lagi kalau sudah belajar PSBO (Permodelan Sistem Berbasis Objek), Itu udah lain lagi deh :). Wajar karena konsep OOP adalah metode yang sebenarnya di tunjukan untuk orang yang sudah mahir di dunia pemograman.
OOP sendiri adalah kepanjangan dari Object Oriented Programing. Maksudnya adalah cara kita membuat program adalah dengan beorientasi kepada Object. Hmmm, kurang ngerti yah? Sama saya juga sebenarnya gak terlalu paham. Hehe!!!
Aku kasih contoh deh, analoginya kita membuat rumah. Kita harus tahu objek-objek apa saja yang di perlukan untuk membangun rumah. Dalam hal ini objek itu berarti bahan bangunan. Jadi objek yang diperlukan untuk membangun rumah berupa batu-bata, semen, pasir, dll. (yang kuli pasti udah tahu).
Nah, begitu pula dalam membuat program. Berarti kita mesti tahu objek-objek apa saja yang diperlukan untuk membuat program. Kalau dalam membangun rumah objeknya berupa bahan bangunan, berarti dalam pemograman PHP objek itu berupa class.
Nah, lalu apa manfaat kalau kita menggunakan metode OOP dalam pembuatan program? Metode OOP menurut saya pas untuk membuat program skala besar. Sedangkan untuk program skala kecil, lebih baik menggunakan metode prosedural saja. Tapi bila program yang Anda buat berskala besar dan rumit, lebih baik gunakan metode OOP untuk pembuatannya. Berikut beberapa manfaat jika kita menggunakan metode OOP :
1.Hemat dalam penulisan.  Dalam pemrograman prosedural, penggunaan kode2 untuk operasi yang sama bisa sangat melelahkan (bikin tangan capek euy :) ), tetapi jika dengan oop, operasi-operasi yang sama tersebut bisa dikurangi dengan menggunakan fungsi-fungsi. Jadi, dengan membuat satu fungsi, kita kemudian bisa menggunakannya berkali-kali. Jauh lebih nyaman kan?
2. Deteksi Error.  Tidak ada yang sempurna di dunia ini, apalagi itu program buatan manusia.  Pasti ada errornya.  Kalau di prosedural, kita harus mendeteksi error ini berdasarkan error line tetapi yang menjadi adalah error terjadi mungkin bisa karena konflik antar operasi, alur yang salah, dll..Nah di prosedural, hal ini berarti kita harus menceknya satu persatu. Jika line errornya di line 40 bisa saja kita harus mencek line 30-39 atau mungkin lebih.  Dengan oop, dimana operasi-operasi dibedakan berdasarkan class dan fungsi, kita hanya mencari fungsi-fungsi yang saling berkaitan, dan tentunya hal ini akan jauh lebih menghemat waktu.
3. Update.  Mungkin suatu saat kita ingin mengupdate aplikasi kita, dengan prosedural caranya gmn? Yah ganti aja semua kode selesai masalah :) . Dengan oop, kita bisa melakukannya dengan mengganti beberapa class atau mungkin bisa hanya dengan mengganti satu class. Bagaimana bisa? Jika kita menggunakan sistem pemrograman dengan menggunakan inheritance (pewarisan), kita hanya perlu mengganti class induk, contoh: class b,c,d semuanya merupakan turunan dari class a, jadi jika kita ingin mengupdate program kita, kita hanya perlu merubah class a ini, sedangkan class b,c,d pasti akan langsung mengikuti perubahan tersebut.
4. Loading. Kalau masalah ini juga pernah di bahas di tulisanku yang lainnya. Ide ini aku dapet waktu baca bukunya google, yaitu google hebat dalam programnya karena google mampu memotong-motong bagian program menjadi kecil-kecilsehingga dapat memangkas waktu loading menjadi lebih cepat. Dengan adanya konsep oop ini, tentunya hal ini tidak mustahil dilakukan, yaitu dengan cara membagi2nya berdasarkan class dan fungsi.
Mungkin 4 item ini bisa dijadikan bahan pertimbangan untuk para programmer lainnya apakah memutuskan untuk tetap prosedural ataukah oop, baik dua-duanya, semuanya bisa dipake :) klo ada pengalaman pake oop juga dishare disini yah, yg prosedural juga boleh kok..i’m waiting your comment (ralat please :) )

2 comments:

Blogger Template by Kerendi Developers