OOP atau Object Oriented Programming merupakan suatu teknik pemrograman untuk membuat bahasa program tersebut lebih rapi, mudah dimaintain, mudah dipahami oleh tim atau sesama rekan programmer, dan dapat dikembangkan menjadi skala besar. Tetapi definisi itupun masih belum mampu dipahami oleh orang awam sekalipun. Berikut ini penulis akan mencoba memaparkan terlebih dahulu sejarah teknik pemrograman juga dengan bahasa awam bukan teknis.

SEQUENTIAL PROGRAMMING

Pada awalnya, programming itu ditulis berurut dari atas ke bawah. Komputer diperintah menggunakan bahasa pemrograman oleh manusia. Kita ibaratkan saja badan manusia ini adalah komputer, dan yang menulis bahasa pemrograman adalah pikiran manusia atau mungkin kesadaran manusia yang lebih tinggi.

Kalau manusia diperintah dengan menggunakan teknik sequential ini, maka dia sulit beradaptasi saat ada tantangan dan rintangan yang ditemui di jalan. Kalau dari awal solusi yang diberikan untuk menghadapi tantangan adalah kabur. Maka manusia tersebut akan kabur seumur hidupnya. Tidak ada solusi lain karena memang sudah diprogram dari sananya seperti itu.

Kalau ingin merubah pola tersebut, maka seluruh pemrograman harus berubah total dari atas ke bawah. Dari lahir sampai hidup saat ini harus dirubah. Dan ini sangat tidak fleksibel dan makan waktu. Manusia keburu tua dengan cara ini bila ingin berubah.

Maka dari itu untuk mengatasi hal ini, dibuatlah procedural programming

PROCEDURAL PROGRAMMING

Manusia tidak bisa menyelesaikan semua masalah sekaligus. Oleh karena itu dengan teknik ini, bahasa pemrograman dikelompokkan atau dibungkus menjadi fungsi. Manusia tidak harus menjalani hidupnya hanya satu arah atau mengikuti manusia kebanyakan. Misalkan jalan hidup manusia secara sequential atau umum adalah lahir, bermain, sekolah, bekerja, menikah, berkeluarga, melahirkan, membesarkan anak, meninggal. Tetapi dengan procedural, maka kegiatan tersebut dibagi dalam suatu fungsi atau procedural. Fungsi lahir, fungsi bermain, fungsi sekolah, fungsi bekerja, fungsi menikah, fungsi berkeluarga, fungsi melahirkan, fungsi membesarkan anak, fungsi meninggal. Dengan memisahkan kegiatan-kegiatan tersebut, manusia tidak harus menjalani semua hal tersebut secara berurutan (sequential). Bisa saja fungsi sekolah dihilangkan dari urutan kehidupan. Tetapi kalau dengan teknik sequential programming, manusia harus urut menjalani semua itu dan tidak boleh membantah sama sekali, kalau tidak manusia akan jatuh ke dalam dosa dan ada ancaman api neraka 🙂

Dengan teknik procedural ini, manusia hidup secara sadar sesuai dengan potensinya. Semua fungsi ada dalam diri manusia, apakah itu fungsi baik atau fungsi jahat, tetapi tidak harus semuanya digunakan.

Setelah hidup secara sadar dan menemukan potensinya, menemukan jati dirinya. Manusia harus tetap bekerja, berkarya dengan cepat dan mampu menghadapi rintangan seberat apapun. Oleh karena itulah fungsi-fungsi yang banyak tersebut harus di atur sedemikan rupa agar tidak membingungkan. Maka lahirlah Object-Oriented Programming

OBJECT-ORIENTED PROGRAMMING

Saat ini, hampir setiap bahasa pemrograman sudah menerapkan OOP karena kasus atau aplikasi yang dibuat sudah semakin rumit, media yang digunakan semakin banyak. Kalau fungsi-fungsi tersebut tidak diatur, maka akan membuat rencana berantakan. Pada OOP dikenal istilah class (kelas), kelas ini terdiri dari kumpulan fungsi yang sama.

Misalkan bekerja di procedural programming di sebut fungsi, tetapi dalam kenyataan hidup, bekerja sudah tidak bisa lagi hanya menjadi fungsi karena sudah terlalu besar bebannya. Oleh karena itu fungsi bekerja kita jadikan saja class(kelas). Dan saat menjadi kelas, maka di dalam class bekerja ada  fungsi-fungsi seperti fungsi team work, fungsi perencanaan, fungsi motivasi, fungsi kecepatan dalam bekerja dan lain sebagainya.

Jadi seperti itu, OOP sangat fleksibel. Ketika beban hidup Anda sudah semakin berat, teknik OOP ini memecahkan beban tersebut menjadi bentuk-bentuk yang kecil sehingga Anda dengan sangat mudah memecahkan masalah tersebut dan mencari solusinya. Dengan begitu, Anda akan tidak takut lagi menghadapi tantangan hidup seberat apapun.

Bagaimana kalau OOP sudah tidak mencukupi lagi?

Kalau di bahasa pemrograman Actionscript 3.0, ada yang dinamakan Package, yang terdiri dari kumpulan class.

Tetapi saya pikir kita cukupkan sampai di sini. Yang penting Anda bisa menangkap apa esensi dibalik teknik pemrograman tersebut. Semoga siapaun yang membaca ini dapat menangkap maksud dibalik bahasa teknis yang canggih dan rumit tersebut.

Salam,
Zeembry
Managing Director  of Baba Studio
http://www.babastudio.com