Pernahkah kamu mendengar istilah Object-oriented programming atau OOP? Bagi kamu yang memiliki keahlian di bidang programming tentunya istilah OOP tidak asing lagi bagimu. Namun apa sih sebenarnya yang dimaksud dengan OOP ini? Nah, untuk lebih mengenal apa itu OOP beserta prinsip dan kelebihan serta kekurangannya, mari kita simak ulasan berikut ini.
Apa itu OOP?
OOP merupakan metode pemrograman yang berorientasi pada objek (Sumber: Pexels)
Menurut Gillis dan Lewis dalam artikelnya, Object-oriented programming atau OOP diartikan sebagai pemrograman yang berorientasi pada objek yang merupakan model pemrograman komputer dengan pengaturan desain perangkat lunak di sekitar data atau objek. Berbeda dengan pemrograman lain yang berfokus pada fungsi dan logika, OOP lebih menaruh fokus pada objek atau bidang data yang memiliki atribut atau perilaku teknis unik. Fokus OOP pada objek ini memungkinkan adanya manipulasi yang dilakukan pengembang dan cocok untuk pemrograman besar dan kompleks. Pendekatan OOP ini lebih mudah untuk perihal pembaruan dan pemeliharaan.
OOP juga dapat didefinisikan sebagai paradigma pemrograman yang mengandalkan konsep kelas dan objek. Paradigma ini digunakan untuk menyusun program perangkat lunak menjadi potongan-potongan kode cetak biru yang sederhana dan dapat digunakan kembali atau kelas-kelas kode. Kelas-kelas ini nantinya digunakan untuk membuat objek individual dalam pemrograman.
OOP dapat digunakan dalam berbagai bahasa pemrograman seperti JavaScript, C++, Java, dan Python. Penggunaan kelas dalam pemrograman OOP ini dapat menentukan atribut apa yang akan dimiliki oleh instance objek seperti warna dan sebagainya. Secara umum, OOP menjadi lebih ringkas karena pengembang bisa lebih fokus melakukan manipulasi terhadap objek daripada pada logic atau fungsi.
Baca juga: 6 Keuntungan menjadi Software Developer
4 Prinsip OOP
OOP secara umum terdiri dari empat prinsip yang memudahkan pengembang dalam mengolah objek dan klasifikasinya (Sumber: Pexels)
Dalam proses teknisnya OOP memiliki prinsip-prinsip atau kaidah yang khusus. Adapun keempat prinsip OOP tersebut antara lain adalah sebagai berikut:
1. Encapsulation
Prinsip enkapsulasi atau kapsulisasi dalam OOP dilakukan ketika setiap objek dalam pemrograman dapat mempertahankan keadaan privat di dalam sebuah kelas-kelas cetak biru. Dengan begitu, objek lain tidak dapat mengakses status objek tersebut secara langsung. Meski begitu, objek lain tetap dapat memanggil daftar fungsi publik karena objek mengelola statusnya sendiri melalui fungsi-fungsi publik ini.
Enkapsulasi secara umum adalah klasifikasi dari logika objek. Seperti misalnya memasukkan semua logika yang berkaitan dengan kelas B ke dalam variabel privat terkait B. Misalnya kelas Harimau, logika-logika yang masuk dalam kelas ini adalah mengaum, belang, karnivora, dan lainnya sesuai sifat B. Namun tidak menutup kemungkinan ada variabel publik yang umum diterima oleh objek kelas lain seperti makan, berburu, berlari, dan sebagainya.
Baca juga: 7 Pertanyaan interview Backend Developer yang sering ditemui
2. Abstraction
Abstraction atau abstraksi merupakan perpanjangan tangan enkapsulasi. Abstraksi merupakan proses pemilihan data dari kumpulan yang lebih besar untuk menunjukkan hanya detail relevan saya yang bisa menjadi objek. Sebagai permisalan, kamu ingin membuat aplikasi kencan daring, maka kemungkinan besar kamu akan diminta untuk mengumpulkan semua informasi tentang pengguna aplikasi tersebut. Hal ini meliputi identitas, nomor kontak, makanan favorit, hobi, dan lain sebagainya. Jumlah data ini tentu saja amat banyak dan tidak semuanya diperlukan untuk membuat sebuah aplikasi kencan daring.
Nah, untuk memilih informasi mana yang relevan dengan aplikasi tersebut maka dilakukan proses pengambilan dan pemilihan informasi pengguna dari sebuah kumpulan besar data pengguna tadi. Proses penyaringan ini yang kemudian disebut sebagai abstraksi. Keuntungan abstraksi adalah pengembang bisa menerapkan informasi yang sama dari satu aplikasi satu ke aplikasi lainnya dengan atau tanpa modifikasi.
Baca juga: Hal yang perlu diketahui Developer dan Programmer
3. Inheritance
Prinsip inheritance dalam OOP dapat membuat sebuah fungsi atau metode dari suatu kelas diturunkan ke tiap objeknya (Sumber: Pexels)
Inheritance merupakan kemampuan suatu objek untuk memperoleh beberapa atau bahkan semua properti dari objek lain dalam pemrograman OOP. Hal ini bisa dimisalkan dari seorang anak mewarisi sifat-sifat orang tuanya. Inheritance merupakan prinsip OOP yang dapat digunakan kembali sebagai keuntungan utama dari sebuah objek. Dalam bahasa pemrograman Java misalnya dikenal beberapa jenis inheritance seperti tunggal, ganda, hierarkis, hibrida, dan bertingkat.
Misalkan, objek Anggur masuk dalam klasifikasi Buah. Lalu, Anggur ini memperoleh properti dari kelas Buah seperti mengandung biji, berdaging, dan sebagainya. Hal ini serupa dengan objek lain dari kelas Buah tersebut sehingga sub-kelas atau objek Anggur memperoleh sifat-sifat utama dari kelas Buah ditambah dengan beberapa sifat unik objek itu sendiri.
4. Polymorphism
Polimorfisme merupakan prinsip OOP yang memberi cara pada pengembang untuk menggunakan kelas atau klasifikasi objek persis seperti induknya sehingga tidak ada kebingungan dengan tipe-tipe campuran. Hal ini disebabkan karena sub-kelas atau objek menyimpan fungsi dan metodenya sendiri secara unik.
Jika pengembang memiliki sebuah kelas umum seperti Tumbuhan, maka di dalamnya ada beberapa metode seperti bentuk daun, batang, waktu tumbuh, dan lain-lain sebagai fungsi dan metode umumnya. Sedangkan di dalam kelas Tumbuhan ada sub kelas atau objek seperti Durian, Rumput Gajah, Pakis, dan lainnya yang masing-masing memiliki ciri khas sendiri namun tetap mempunyai fungsi atau metode dari induk kelasnya yaitu Tumbuhan dan meliputi bentuk daun, batang, dan waktu tumbuh. Hal ini yang lantas disebut sebagai prinsip polimorfisme dalam OOP.
Baca juga: 5 Hal yang pantang kamu katakan saat merekrut Developer
Kelebihan dan kekurangan OOP
Meski mudah dirancang, OOP cenderung sulit diimplementasikan karena beberapa cakupan objek yang luas (Sumber: Pexels)
Meski tampaknya lebih mudah diimplementasikan, namun OOP juga memiliki kelebihan serta kekurangannya sendiri. Adapun kelebihan dan kekurangan OOP dapat dikelompokkan sebagai berikut:
Kelebihan OOP | Kekurangan OOP |
Parallel development, tim pemrograman dapat bekerja masing-masing secara independen setelah diselesaikannya kelas modular dalam pemrograman. Dengan metode ini OOP dapat menyingkat waktu pengembangan kelas (class) secara satu kesatuan dan tidak dibuat satu per satu. | Tidak efisien, bisa dikatakan OOP memang kurang efisien karena lebih banyak menggunakan beban pada prosesor komputer. Hal ini membuat OOP menjadi pilihan yang kurang efisien ketika ada batasan teknis pada perangkat pengembang. |
Reusable, setelah kelas modular dibuat, pengembang dapat menggunakannya lagi dalam aplikasi atau proyek pengembangan lainnya. Hal ini membuat OOP menjadi reusable dan fleksibel bahkan hanya memerlukan sedikit atau tidak ada modifikasi sama sekali. | Manajemen ketat, karena kelebihannya yang scalable secara umum OOP mungkin menyebabkan kondisi kelebihan kapasitas dan lepas kendali. Hal ini terjadi ketika terjadi pembuatan kode dalam jumlah besar dan membengkak dan menaikkan biaya overhead pada saat pengembangan perangkat lunak. |
Scalability, OOP memungkinkan pengembang dapat mengembangkan program dengan menambahkan beberapa fungsi, kelas, dan objek dengan mudah. Prosedur pembuatan kode dalam OOP juga dapat dipelihara dan dijaga dengan meningkatkan keamanan pemrograman. Hal ini disebabkan adanya validasi tingkat tinggi saat dilakukan akses terhadap kode prosedur OOP. | Rawan duplikasi, meski dapat diakses dengan tingkat validitas tinggi, namun OOP rentan terhadap replikasi karena sifatnya yang mudah dirancang tapi lebih sulit diimplementasikan. Hal ini disebabkan pula oleh kelas modular yang amat fleksibel dalam sebuah aplikasi. Pengembang mungkin bisa menerapkan hal tersebut dalam proyek baru tanpa sengaja dan menyadari bahwa tindakan itu merupakan duplikasi. |
Baca juga: Cara ampuh menjadi Back-end Developer yang andal di startup
Berikut tadi adalah apa dan bagaimana OOP dipahami sebagai sebuah metode dalam pemrograman yang berorientasi objek dan mudah dirancang. Kamu perlu mengenal apa dan bagaimana itu OOP jika kamu ingin mengembangkan potensimu di bidang pemrograman ini.
Bagi kamu yang telah memiliki potensi dan kapasitas mumpuni di bidang pemrograman, tentu tak ada salahnya jika kamu mulai meniti kariermu untuk bekerja di bidang yang relevan. Kamu bisa memulainya dengan mendaftar lewat EKRUT karena EKRUT akan mempertemukanmu dengan berbagai perusahaan yang mencari kandidat-kandidat sepertimu.
Kamu bisa mendaftar lewat EKRUT dengan mengklik tautan di bawah ini. Ayo mulai kariermu lewat EKRUT.
Sumber:
- https://searchapparchitecture.techtarget.com/definition/object-oriented-programming-OOP#:~:text=Object%2Doriented%20programming%20(OOP)%20is%20a%20computer%20programming%20model,has%20unique%20attributes%20and%20behavior.
- https://www.educative.io/blog/object-oriented-programming
- https://greengarageblog.org/6-pros-and-cons-of-object-oriented-programming