Kenapa coding OOP ?

Saya mengenal Object Oriented Programming sekitar 1,5 tahun yang lalu, ketika saya mulai coba-coba coding OOP untuk salah satu project sistem informasi berbasis web di salah satu departemen pemerintahan (menggunakan PHP 4). Pada awalnya saya menggunakan OOP hanya untuk mencari cara bagaimana agar kode-kode yang saya buat bisa digunakan kembali dengan cepat tanpa harus cape-cape menulis prosedural yang rumit, ternyata semakin hari semakin terasa kenyamanan coding dengan style OOP.

Menurut pengalaman saya, beberapa kenyamanan yang saya dapat melalui coding OOP ini adalah :
  1. Kode menjadi lebih bersih
  2. Alur pemrograman menjadi lebih terstruktur
  3. Reusability (penggunaan ulang) yang tinggi
  4. Berkurangnya ketergantungan antar program karena setiap objek bekerja sendiri-sendiri, tetapi saling bekerja sama satu sama lain
  5. Adanya inherintance antar kelas yang memungkinkan kita memperpanjang fungsi dan manfaat dari kelas yang sudah ada, tanpa harus menulis ulang kelas sebelumnya
  6. Kelas memungkinkan kita mengelompokan/mengklasifikasikan properti dan metode-metode yang serupa fungsinya
  7. Dalam lingkungan yang Open Source diperlukan kode-kode pemrograman yang juga readable oleh pemrograman lainnya. OOP bisa menjadi solusi untuk hal ini
  8. Mempelajari OOP di PHP 5, membuat saya lebih mudah untuk mencoba OOP di Java karena modelnya hampir serupa
Tetapi OOP juga mempunyai kekurangan yaitu dalam hal eksekusi skrip. OOP seperti saya pernah baca pada buku Core PHP Programming, karangan Leon Atkinson, eksekusi skrip yang menggunakan OOP bisa berkurang kecepatannya hingga 20%, dibandingkan dengan menggunakan style prosedural biasa.

IHMO OOP merupakan sebuah pilihan bagi programmer. Mereka yang mementingkan kecepatan performa aplikasi akan cenderung memilih style prosedural, sedangkan mereka yang lebih mementingkan modularitas dan keterbacaan kode aplikasi akan cenderung memilih OOP. Saya sendiri tidak strict ke satu style, seperti yang pernah Rasmus Lerdorf (PHP Founding Father) katakan,

"Gunakan OOP di saat yang betul-betul diperlukan, dan gunakan prosedural di sisi yang lain".

Komentar

Postingan populer dari blog ini

Template Aplikasi Web CRUD Sederhana dengan CodeIgniter

Instalasi library YAZ di PHP

An (Relatively) Easy Way for Installing Social Feed Manager on Mac OSX