Object Oriented Programming (OOP): Pengertian, Prinsip serta Kelebihan dan Kekurangannya
OOP biasa digunakan untuk pemrograman yang besar dan kompleks.
Dalam bidang programming, umumnya setiap programmer bekerja secara individu untuk membuat sebuah pemrograman. Sayangnya, hal tersebut cenderung memakan lebih banyak waktu karena harus membuat setiap kelas-kelas pemrograman satu per satu.
Untuk itu, OOP atau object oriented programming hadir sebagai sebuah solusi untuk mempersingkat waktu pemrograman menjadi sebuah kesatuan. Tak hanya itu saja, OOP akan memudahkan programmer dalam melakukan pembaruan dan pemeliharaan.
Lantas, apa yang sebenarnya disebut sebagai object oriented programming dan mengapa hal ini cukup penting untuk digunakan?
Pengertian Object Oriented Programming
Mengutip dari TechTarget, object orientedprogramming (OOP) adalah suatu metode pemrograman yang berorientasi pada objek. Objek yang dimaksud adalah suatu bidang data yang memiliki atribut dan perilaku teknis yang unik.
Berbeda dengan metode pemrograman lain yang berorientasi pada fungsi dan logika, fokus OOP pada objek ini memungkinkan adanya manipulasi yang dilakukan pengembang, sehingga cocok untuk pemrograman yang besar dan kompleks. Oleh sebab itu, OOP lebih mudah untuk digunakan dalam perihal pembaruan dan pemeliharaan.
Secara teknis, OOP digunakan untuk menyusun program perangkat lunak menjadi potongan-potongan kode atau kelas-kelas kode. Nantinya, kelas-kelas inilah yang digunakan untuk membuat objek individual dalam pemrograman.
Penggunaan kelas tersebut juga dapat menentuan atribut apa yang akan dimiliki oleh objek. OOP juga dapat diguanakan dalam berbagai bahasa pemrograman, seperti JavaScript, C++, Java, dan Python.
Prinsip Object Oriented Progamming
Object oriented programming memiliki 4 prinsip, yakni:
1. Encapsulation
Encapsulation adalah pengikatan data atau metode berbeda untuk disatukan atau “dikapsulkan” menjadi satu unit data. Tujuannya, untuk memudahkan dalam pembacaan kode, karena informasi yang disajikan sudah menjadi suatu kesatuan.
Encapsulation sering digunakan karena memiliki fitur information-hiding mechanism, yang berguna untuk menghilangkan akses publik ke atribut-atribut yang terdapat dalam kesatuan data tersebut. Oleh sebab itu, encapsulation berguna untuk memudahkan dalam mendefinisikan atribut apa saja yang dapat dibaca dan diperbarui.
2. Inheritance
Inheritance merupakan pembentukan kelas baru yang memiliki bagian-bagian dari kelas yang sudah ada sebelumnya. Konsep ini menggunakan sistem hierarki atau bertingkat, seperti sebuah drop-down menu yang ada di kebanyakan website. Dalam inheritance OOP, semakin spesifik subclass-nya, semakin sedikit pula komponen yang dapat diwarisi dari kelas tersebut.
3. Abstract Class
Abstract class merupakan kelas-kelas yang memiliki informasi yang abstrak dari sekumpulan data yang ada. Prinsip ini digunakan sebagai kerangka dalam pembuatan berbagai sub-kelas yang sifatnya tidak bisa diubah. Suatu abstract class memiliki informasi dan metode yang dapat diturunkan ke dalam sub-kelas untuk diikuti.
4. Polymorphism
Terakhir, prinsip polymorphism adalah prinsip di mana suatu objek yang berbeda-beda dapat diakses melalui satu interface. Objek polymorphic ini dapat beradaptasi dengan metode apapun yang diimplementasikan.
Dalam pemrograman Java, ada dua jenis polymorphism, yakni static polymorphism dan dynamic polymorphism. Static polymorphism digunakan untuk memberi izin dalam menerapkan berbagai implementasi metode dan parameter yang berbeda-beda dalam kelas yang sama.
Sementara dynamic polymorphism merupakan sebuah subclass yang dapat menimpa metode dari superclass-nya.
Kelebihan dan Kekurangan OOP
Kelebihan OOP
Parallel Development
Dalam pembuatan sebuah pemrograman, setiap programmer biasanya membangun kelas-kelas secara independen. Dengan metode ini, OOP dapat mempersingkat waktu pengembangan kelas secara kesatuan.
Reusable
OOP dianggap reusable dan fleksibel karena hanya memerlukan sedikit atau bahkan tidak ada modifikasi sama sekali. Setelah kelas modular dibuat, pengembang dapat menggunakannya lagi dalam aplikasi atau proyek pengembangan lainnya.
Scalability
OOP memungkinkan pengembang dapat mengembangkan program dengan menambah beberapa fungsi, kelas, dan objek dengan mudah. Prosedur pembuatan kode dalam OOP juga dapat dipelihara dan dijaga dengan meningkatkan keamanannya karena adanya validasi tingkat tinggi saat dilakukan akses terhadap kode prosedur.
Kekurangan OOP
Tidak Efisien
OOP dianggap kurang efisien karena lebih banyak menggunakan beban pada prosesor komputer. Hal tersebut membuat OOP memiliki batasan teknik pada perangkat pengembang.
Butuh Manajemen Data yang Tinggi
OOP juga mungkin dapat menyebabkan kondisi kelebihn kapasitas dan lepas kendali karena sifatnya yang scalable. Hal tersebut dapat terjadi ketika ada pembuatan kode dalam jumlah besar yang membengkak dan menaikkan biaya overhead pada saat perangkat lunak dikembangkan.
Kemungkinan Adanya Duplikasi
Meski OOP dapat diakses dengan tingkat validasi tinggi, namun OOP cukup rentan terhadap replikasi karena sifatnya yang mudah dirancang tapi lebih sulit untuk diimplementasikan. Pengembang juga mungkin dapat menerapkan hal baru tersebut dalam proyek baru tanpa menyadari bahwa tindakan itu merupakan duplikasi.
Demikian penjelasan mengenai object oriented programming (OOP) yang telah dirangkum oleh Daily Social.