OOP: Pengertian, Prinsip, Bahasa, Kelebihan, dan Kekurangannya
Table of Contents
OOP (Object-Oriented Programming) |
Pengertian OOP
OOP (Object-Oriented Programming) atau Pemrograman berorientasi objek adalah paradigma pemrograman berdasarkan konsep "objek", yang dapat berisi data, dalam bentuk field atau dikenal juga sebagai atribut; serta kode, dalam bentuk fungsi/prosedur atau dikenal juga sebagai method. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Objek-objek tersebut nantinya akan saling berinteraksi untuk menyelesaikan masalah program yang rumit. Jika sebelumnya developer harus berfokus pada logic yang akan dimanipulasi, dengan OOP, developer dapat lebih terfokus pada objeknya saja untuk dimanipulasi. Pendekatan ini menawarkan cara yang mudah untuk menangani kerumitan suatu pemrograman.
Tujuan utama OOP adalah untuk mengatasi kelemahan pendekatan pemrograman konvensional. Fungsi utama dari adanya OOP adalah mempermudah pengembangan program kedepannya. Program yang sudah jadi memerlukan fitur tambahan sesuai dengan kebutuhan pengguna, jika tidak menggunakan OOP dokumentasi program akan sulit dipahami bahkan oleh pembuat program.
OOP digunakan untuk meminimalisir bug program dan membuat script coding bisa tertata lebih rapi. Selain itu OOP dipilih karena bisa memangkas waktu pembuatan program yang lebih cepat daripada menggunakan cara lama. Untuk urusan maintenance dan pengembangan, OOP lebih mudah karena programnya tertata lebih rapi.
Prinsip OOP
OOP memiliki prinsip-prinsip atau kaidah yang khusus dalam proses teknisnya. Berikut keempat prinsip OOP tersebut di antaranya,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.
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.
Misalnya, Anda ingin membuat aplikasi kencan daring, maka kemungkinan besar Anda 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.
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.
3. Inheritance
Inheritance adalah 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.
Bahasa OOP yang Sering Digunakan
Terdapat lima bahasa OOP yang sering digunakan menurut laman BairesDev di antaranya,1. Java
OOP Java adalah bahasa pemrograman yang cukup sering digunakan. Java sendiri adalah salah satu bahasa resmi pemrograman yang digunakan untuk pengembangan sistem atau aplikasi berbasis Android. Android adalah sistem operasi yang saat ini banyak digunakan, khususnya pada smartphone. Sehingga, Java akan lebih sulit tergeser dari posisi puncaknya.
2. Python
OOP Python adalah suatu pemrograman yang digunakan sesuai dengan bahasa tujuannya. Bahasa Python sangat penting untuk proses pembelajaran mesin dan juga ilmu data. Hal tersebutlah yang membuat bahasa ini menjadi sangat terkenal.
3. C++
C++ adalah salah satu bahasa yang sangat terkenal, karena semua sistem operasi ditulis dengan menggunakan kombinasi bahasa C dan C++. Beberapa pengembangan besar seperti Safari, Firefox dan Chrome menggunakan bahasa C++ ini.
4. C#
C# adalah bahasa pemrograman yang dibuat oleh Microsoft pada tahun 2000 lalu. C# mempunyai beberapa kesamaan seperti C, C++ dan juga Java. Tujuan dibuatnya C# adalah agar bisa mengembangkan aplikasi berbasis desktop dan web. Selain itu, C# juga banyak digunakan untuk membuat game.
5. Ruby
Ruby adalah bahasa pemrograman yang hampir sama dengan Python. Ruby adalah OOP yang bisa digunakan di berbagai platform. Sintaks yang terdapat di dalamnya cukup sederhana, sehingga bisa dipelajari secara mudah oleh siapa saja. Ruby biasanya digunakan untuk membuat pemrograman pada bidang analisa data, membuktikan suatu konsep, atau membuat prototipe.
Kelebihan OOP
1. Parallel developmentKetika bekerja sama dengan tim, masing-masing programmer dapat membangun class sendiri. Dengan membangun class secara tersendiri, komponen yang sudah dibentuk kemudian dapat digabung menjadi satu kesatuan. Hal ini tentu saja menghemat banyak waktu dibanding harus membangun class satu per satu.
2. Reusable
Dengan OOP, Anda dapat menggunakan berbagai class yang telah dibuat sebelumnya. Ini tentu akan memudahkan untuk digunakan pada project lainnya yang sejenis. Class tersebut juga dapat Anda ubah sesuai dengan kebutuhan.
3. Scalability
Berbagai prinsip yang dimiliki OOP bertujuan untuk mempermudah kebutuhan program yang lebih luas atau rumit. Hal ini membuat jika terjadi perkembangan dari program yang sudah ada, menambahkan beberapa fungsi, object, atau class lainnya akan jadi lebih mudah. Program tersebut juga dapat tetap berfungsi dengan baik.
Kekurangan OOP
1. Tidak efisienMenggunakan OOP akan lebih memakan daya pada CPU yang digunakan. Oleh karenanya, sangat disarankan untuk menggunakan perangkat terbaru saat melakukan pengembangan dengan OOP.
2. Membutuhkan manajemen data yang ketat
Hal lain yang dikeluhkan oleh developer mengenai OOP adalah perlunya kontrol yang cukup ketat terhadap kode-kode tersebut. Hal ini karena OOP akan memunculkan beberapa kode-kode baru jika terdapat kode-kode yang kurang berfungsi dengan baik. Tentu hal ini akan menambah beban pada perangkat Anda.
3. Kemungkinan duplikasi
Dengan berbagai kemudahan yang diberikan oleh OOP, mengembangkan program baru dari yang telah ada sebelumnya akan jadi lebih mudah. Namun, hal ini justru membuat berbagai project yang dibuat akan terasa seperti sekadar duplikasi saja.
Dari berbagai sumber
Post a Comment