Memahami Perbedaan Object & Class Dalam Pemrograman Berorientasi Object

,

Dalam pemrograman berorientasi object (PBO), pastinya kita akan mengenal apa itu object, dan apa itu class. Terkadang penjelasan dari  banyak literatur di internet terlalu teoritis dan justru malah membingungkan untuk yang baru pertama kali mengenal pemrograman berorientasi object ini. Belum lagi istilah-istilah seperti Abstraction, Encapsulation, Polymorph dan istilah-istilah makhluk asing  yang tumplek blek dan campur bawur lainnya yang bukannya menambah daya tarik, tapi kadang malah jadi momok tersendiri pagi para pemula dalam belajar. Kali ini akan coba membahas apa itu Object, dan apa itu Class dalam bahasa yang mudah saja, biar kita yang sama-sama lagi belajar tambah “mudheng” dan bukannya “mubeng”. Bagi pembaca yang sudah Advanced, jangan ditertawakan ya.. karena ini ditujukan untuk pemula yang baru mengenal PBO 🙂

Object

Bayangkan object adalah sebuah benda. Iya.. sebuah benda. Begitu saja biar mudah. Misalnya ya seperti mobil, meja, kursi, komputer dan apapun yang bisa kita lihat dan kita sentuh.

Trus berkaitan dengan program apa ? Bagi pemrogram, object itu adalah sesuatu yang dapat direpresentasikan ke dalam sebuah program.

Maksudnya direpresentasikan dalam program itu apa ? Maksudnya adalah memodelkan apa yang ada di dunia nyata itu ke dalam sebuah program. Kita ingin membuat program penjualan ya ya berarti object-object yang terkait dengan penjualan itu mesti kita model kan dalam program. Seperti dalam lingkup Penjualan, object-object seperti Customer, Supplier, Item Barang, Pembelian, Penjualan itulah yang mesti di modelkan/dideklarasikan dalam program. Kalo tidak dimodelkan ya trus programnya mau dibikin gimana … iya to ? hehehe

Oke, sudah mulai pusing dan mual ? Kalo mau berhenti lambaikan tangan ke kamera ya … 😀

State  & Behaviour

Waduh opo maneh iku pakdhe ? Setiap object pasti mempunyai 2 (dua) hal ini, yakni State (Kondisi) dan Behaviour (Perilaku).

State (Kondisi) dari sebuah object dinyatakan dalam sekumpulan property yang disebut Attribute, berikut juga nilainya masing-masing. Bayangkan sebuah mobil, kan punya tuh property semisal Warna, Jumlah Roda, Jumlah Pintu, Kapasitas Mesin dan lain lain. Dan setiap property tersebut, pasti punya nilai misalnya

Warna = Merah,
Jumlah Pintu = 2,
Kapasitas Mesin = 2.000 cc dan seterusnya.

Merah, 2, dan 2.000 cc adalah nilai dari property / attribut dari object mobil.

Yang perlu diingat, state (kondisi) dari sebuah object tidak didasarkan dari nilai satu atau beberapa property saja, melainkan keseluruhan property yang dimiliki oleh object tersebut. Contohnya, kita tidak mungkin kan menyebut sesuatu otu sebagai mobil hanya karena Warna nya Merah, atau hanya karena Jumlah Pintunya 2 kan ?

Sekang tentang Behaviour (Perilaku). Perilaku maksudnya adalah aksi maupun reaksi yang bisa dilakukan oleh object. Bisa jadi aksi dan reaksi ini juga karena request atau permintaan dan object lainnya. Misalnya, mobil bisa berjalan Maju, bisa berjalan Mundur, bisa Berhenti. Sang sopir yang meninjak Gas, adalah bentuk request dari object Sopir kepada object Mobil untuk berjalan Maju.

Identitas

Setiap object, pasti punya identitas yang membedakan satu sama lain. Meskipun state dari object tersebut sama, tapi setiap object mempunyai identitas sendiri-sendir yang unik, yang membedakan antara object satu dengan lainnya.

Sebuah mobil, sama persis dari spesifikasi, warna, merk, tahun pembuatan dan sebagainya. Tapi Nomor Mesin dan Nomor Rangka nya berbeda kan ? Itulah yang disebut Identitas.

Oke, itu mungkin uraian singkat di atas sudah memberikan sampeyan gambaran apa itu object. Biasa nya setelah berkenalan dengan object, maka akan langsung dikenalkan dengan prinsip-prinsip yang menjadi dasar PBO antara lain: Abtraction, Encapsulation, Modalarity dan Hirarki, tapi biasanya sampeyan pasti trus puyeng karena bukannya makin pahamm justru makin ngambang.. iya kan ? Nah, oleh karena itu beruntung sampeyan mampir ke sini, jadi sedikit “Break The Law”, saya langsung saja terangkan soal Class. Soal 4 makhluk asing di atas itu ntar aja… kan biasanya kita lebih mudah memahami klo ada contoh nya kan ? Nanti pas mengenal Class, akan saya jelasin lewat penjelasan teknis disertai contoh coding programnya.. 😀 yang penting fundamentalnya ngerti dulu, paling tidak agak mengerti.

Class

Setelah kita memahami/sedikit paham dengan Object, maka berikutnya dalah Bagaimana cara merepresentasikan object tersebut ke dalam program. Object-object ini diimplementasikan melalui sebuah Class. Sehingga dalam arti sederhana, bisa dikatakan bahwa:

Object adalah sebuah Instance dari sebuah Class
Class adalah Blueprint dari sebuah Object

Ambillah contoh Kue Agar – Agar ( contoh klasik 😀 ). Bayangkan cetakan agar-agar adalah sebuah Class, sedangkan Agar-Agar itu sendiri adalah Object yang dibuat dari cetakan tadi. Jadi cetakan agar-agar bukanlah agar-agar. Begitu juga dengan Class, Class bukanlah sebuah Object. Class adalah blueprint/cetakan yang membentuk sebuah Object.

Sebuah Class adalah definisi abtrak dari sebuah Object.  Class mendifiniskan state dan behaviour dari setiap object. Class berfungsi sebagai sebuah Template untuk membuat sebuah Object.

Attribute & Operation

Kalau tadi kita mengenal State yang merupakan sekumpulan Property dari sebuah Object, maka di dalam Class, Property itu dinyatakan dalam sebuah Attribute. Tidak selalu sebuah Class memiliki Attribute, bisa saja dia tidak memiliki Attribute apa-apa. Setiap Attribute memiliki sebuah Type.

Misalnya untuk merepresentasikan Property Jumlah Pintu dari sebuah Object Mobil, maka Attribut Jumlah Pintu dari Class Mobil haruslah ber-Type Integer, karena nilai di dalamnya akan kita kasih dengan Angka, begitu juga dengan Warna. Property Warna dari sebuah Object Mobil direpresentasikan menjadi Attribute Warna di dalam Class dengan Type String, dan begitu juga seterusnya untuk property/attribute lainnya.

Operation dalam bahasa mudahnya adalah bentuk implementasi Behaviour dari sebuah Object.  Operation dari sebuah Class mendeskripsikan apa yang bisa dilakukan oleh Class tersebut. Operation bisa berbentuk sebuah Perintah (Command) maupun Pertanyaan (Question). Sebuah class boleh memiliki satu atau beberapa Operation, dan boleh tidak memiliki Operation sama sekali.

Demikian penjelasan sederhana mengenai Object dan Class, selanjutnya akan coba saya bahas dengan bahasa teknis dan bagaimana implementasinya dalam bahasa pemrograman sekaligus untuk menjelaskan beberapa istilah makhluk asing yang sudah saya sebut bebeberapa diatantaranya di atas.

Selamat belajar dan jangan lupa berdoa dulu biar barokah dan bermanfaat ilmunya mas bro/mbak sis …. 😀

2 replies

Trackbacks & Pingbacks

  1. […] Memahami Perbedaan Object & Class Dalam Pemrograman Berorientasi Object […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.