Penjelasan Sederhana Konsep Pemrograman Berorientasi Objek

Analogi sederhana dari konsep OOP

Penjelasan Sederhana Konsep Pemrograman Berorientasi Objek
Photo by Kobu Agency on Unsplash

Object Oriented Programming (OOP) atau pemrograman berorientasi objek adalah salah satu konsep pemrograman yang paling rumit untuk dipahami.

Yang lebih aneh lagi, banyak programmer yang sebenarnya sudah sering bergelut dengan OOP, tapi ketika ditanya definisinya, tidak bisa menjawab.

Konsep OOP itu sama seperti jatuh cinta. Rumit. Tidak ada orang yang benar-benar bisa menjelaskan bagaimana rasanya jatuh cinta. Paling kuat ya membuat analogi: rasanya seperti dapat hadiah mobil, rasanya seperti memenangkan pertandingan, rasanya seperti terbang, dan lain-lain. Walaupun sebenarnya rasanya tidak sama, tapi paling tidak, analogi tersebut memberikan sedikit gambaran.

Ok lanjut..

Ada empat prinsip dalam pemrograman berorientasi objek; yaitu enkapsulasi (encapsulation), abstraksi (abstraction), pewarisan (Inheritance) dan polimorfisme (polymorphism).

Bayangkan ada seseorang bernama Budi.

Wajahnya sangat mirip dengan ayahnya yang memiliki hidung mancung, mata coklat dengan alis tebal dan simetris.

Dalam pemrograman berorientasi objek, inilah yang disebut dengan inheritance dimana Budi adalah class dan ayahnya adalah parent class; sedangkan hidung mancung, mata cokelat dan alis tebal ini adalah attributes.

Namun, Budi tidak mewarisi semua karakteristik ayahnya. Budi berambut lurus dan kulitnya putih bersih. Berbeda dengan ayahnya yang berambut ikal dan kulit sawo matang. Proses ini disebut information hiding, dalam hal ini memberikan akses kontrol private pada attributes jenis rambut dan warna kulit.

Di dalam pemrograman hal ini disebut encapsulation. Yaitu suatu cara untuk menyembunyikan informasi detail dari suatu class (Ayah Budi).

Budi adalah anak yang rajin, penurut dan sopan kepada orangtua. Tapi ketika bersama dengan gebetannya dia bisa berubah menjadi laki-laki yang romantis melebihi pujangga. Pun Budi juga bisa bertingkah seperti anak kecil ketika bertemu dengan keponakan-keponakannya yang masih kecil.

Lingkungan yang berbeda mempengaruhi sifat dan kebiasaan Budi yang dalam pemrograman disebut dengan polymorphism.

Walaupun memiliki mata yang indah, tapi Budi menderita rabun jauh, sehingga dia harus selalu memakai kacamata. 

Kacamata yang dipakai Budi ini tujuannya adalah menambah atau mengurangi kekuatan yang diperlukan untuk memfokuskan bayangan secara langsung ke retina mata Budi. Sehingga bayangan tidak fokus tepat di retina mata yang mengakibatkan penglihatannya menjadi kabur.

Tapi Budi tidak pernah memusingkan hal itu. Budi tidak peduli dengan cara kerja kacamatanya. Pokoknya, kalau burem, pakai kacamata; selesai. Dalam pemrograman berorientasi objek, inilah yang disebut dengan abstraction.


Pemrograman Berorientasi Objek yang sebenarnya memang tidak sesederhana penjelasan di atas. Tapi semoga bisa memberikan gambaran secara umum dari pengertian OOP. Sementara itu dulu. Lain kali saya akan bahas OOP dari sisi teknisnya.

Danke!