Wednesday 31 August 2016

Defenisi Singkat Pemograman Berorientasi Objek (OOP)

Author: M. Sayyidus Shaleh

         
Kalau Pembaca pernah berkecimpung di dunia programming, pasti telah mendengar istilah diatas.
Kalau merujuk pada buku-buku komputer, yang rata-rata ditulis oleh para ahli dan profesor di bidang IT, kemungkinan besar kita akan menemukan pengertian yang agak tinggi bahasanya tentang OOP, yang tentu susah dimengerti oleh orang awam, kecuali telah lama berada di bidang programming.

By the way, Pembaca tentu kenal dengan seorang manusia bernama Steve Jobs, bukan? Dialah sang pendiri Apple Inc., salah satu raksasa perusahaan IT di abad 21 ini. Banyak orang yang menghindari memanggilnya dengan sebutan Insinyur atau Programmer, tapi tak satupun yang membantah kalau ia adalah seorang visioner. Selain sebagai CEO, adalah sebuah fakta dia adalah trainer IT berwawasan luas.


Nah, dalam sebuah wawancara dengan seorang jurnalis IT, ia ditanya tentang bagaimana menjelaskan dengan simpel, apa itu OOP. Steve menjawab seperti ini,

“Objek itu sangat mirip dengan seorang manusia. Mereka hidup, bernafas dan memiliki pengetahuan dalam diri mereka tentang bagaimana melakukan sesuatu seperti membuat PR, atau sesuatu yang sangat dasar seperti bagaimana mengunyah makanan. Juga mereka punya memori sehingga bisa mengingat berbagai hal yang terjadi disekitar mereka. Dan daripada berinteraksi sesama mereka secara primitif alias di level randah, mereka berinteraksi di level abstraksi yang tinggi. Ini dibuktikan oleh berapa banyak bahasa yang tersebar di dunia. Seperti yang kita lakukan sekarang.”

“Nah, sekarang biarkan saya memberikan sebuah contoh. Misalkan saja saya adalah pembantu atau pelayan dan anda tuan saya di sebuah kastel Prancis, dan kita sedang berlibur di London. Suatu ketika, anda memberi saya pakaian kotor anda dengan secarik kertas bertuliskan,’Tolong di-laundry’. 

Saya sebagai pelayan profesional tahu betul tempat laundry terbaik di London. Saya bisa bahasa inggris, dan saya punya beberapa pound di dompet. Jadi saya pergi ke luar rumah dengan pakaian kotor, memanggil taksi seraya menyuruhnya ke tempat laundry tadi. Selesai laundry, saya langsung balik ke taksi, kembali ke rumah. Dan akhirnya memberi anda pakaian bersih, berkata, ‘Ini pakaian bersih tuan’.”

“Anda tak tahu entrah bagaimana saya melakukannya. Anda tak tahu di mana tempat laundry. Mungkin anda tak bisa bahasa inggris, bahkan anda tak bisa memanggil taksi. Anda tak bisa membayarnya, karena tak punya pound sepeserpun. Tapi, saya tahu bagaimana cara melakukan semua hal tadi, dengan anda yang sebaliknya tak tahu apapun. Semua kerumitan, kompleksitas itu tersimpan dalam diri saya. Meski, kita bisa berinterksi di level yang sangat tinggi, abstrak. Sosok pelayan inilah yang disebut dengan objek. Mereka membungkus kerumitan, dan interaksi dengan kerumitan itu berada di level yang sangat tinggi.”

Wow, bagaimana? Dengan penuturan tadi, dengan asumsi Pembaca sudah mempunyai  sedikit saja pengalaman di bidang programming, apakah Pembaca sudah mengerti apa itu OOP? Jika belum, coba saja bandingkan bahasa program berbasis OOP dengan non-OOP. Contohnya saja C dengan C++. Apa perbedaannya?

Bedanya begini. Di C, kita paling jauh hanya bisa mendefinisikan sebuah variabel dengan niali disampingnya, atau persamaan. Sedangkan C++ punya yang dinamakan dengan class, dimana class ini adalah sebuah objek yang memiliki hal-hal tersendiri yang hanya dipunyai olehnya, dan tidak hanya sebuah nilai, tapi ciri-ciri yang bisa kita akses dan ubah. Misalkan saja kita membuat class “Sapi”. Maka properti yang dimiliki “Sapi” adalah seperti di pseudocode ini.

Begin
Create class(Sapi):
{
            declare Kaki as integer, value==4;
            declare Tanduk as integer, value==2;
            declare Nama as string, value==”Jawidenai”;
}
End

Semoga tulisan ini bermanfaat bagi sobat programmer semua.
           




 Tulisan yang dimuat adalah sepenuhnya milik penulis  risalah-online, bukan merupakan pernyataan dari risalah-online

No comments:

Post a Comment