Author: M.
Sayyidus Shaleh
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