Langsung ke konten utama

Mengenal lebih dalam konsep dari OOP

Untuk dapat membuat program yang sesuai dengan penerapan di kehidupan sehari-hari, OOP adalah jalan keluarnya. Jika biasanya developer merangkai kode berdasarkan function dan logic, dengan OOP developer dapat mengembangkan software yang terbagi dalam objek-objek tertentu. Memang, apa sebenarnya OOP itu?

Apa itu OOP?

Melansir dari laman Wikipedia, Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan 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. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Jadi, object-oriented programming atau OOP adalah suatu metode pemrograman yang berorientasi pada objek. Program-program yang telah ada merupakan gabungan dari beberapa komponen-komponen kecil yang sudah ada sebelumnya. Hal itu dapat mempermudah pekerjaan seorang programmer dalam melakukan pengembangan program.

Objek-objek yang saling berkaitan dan disusun kedalam satu kelompok ini disebut dengan class. Nantinya, objek-objek tersebut 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.

Prinsip dari OOP

Dalam object oriented programming, dikenal empat prinsip yang menjadi dasar penggunaannya. Merangkum dari Freecodecamp, keempat prinsip OOP tersebut adalah sebagai berikut.

1. Encapsulation

Encapsulation atau pengkapsulan adalah konsep tentang pengikatan data atau metode berbeda yang disatukan atau “dikapsulkan” menjadi satu unit data. Maksudnya, berbagai objek yang berada dalam class tersebut dapat berdiri sendiri tanpa terpengaruh oleh yang lainnya.

Encapsulation dapat mempermudah pembacaan kode. Hal tersebut terjadi karena informasi yang disajikan tidak perlu dibaca secara rinci dan sudah merupakan satu kesatuan. Proses enkapsulasi mempermudah untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.

2. Abstraction

Prinsip selanjutnya yaitu abstraction. Prinsip ini sendiri berarti memungkinkam seorang developer memerintahkan suatu fungsi, tanpa harus mengetahui bagaimana fungsi tersebut bekerja. Lebih lanjut, abstraction berarti menyembunyikan detail latar belakang dan hanya mewakili informasi yang diperlukan untuk dunia luar.

Ini adalah proses penyederhanaan konsep dunia nyata menjadi komponen yang mutlak diperlukan. Seperti kala menggunakan handphone, kamu cukup memberikan suatu perintah, tanpa tahu bagaimana proses terlaksananya perintah tersebut.

3. Inheritance

Inheritance dalam konsep OOP adalah kemampuan untuk membentuk class baru yang memiliki fungsi turunan atau mirip dengan fungsi yang ada sebelumnya.  Konsep ini menggunakan sistem hierarki atau bertingkat. Maksudnya, semakin jauh turunan atau subclass-nya, maka semakin sedikit kemiripan fungsinya. 

4. Polymorphism

Prinsip terakhir dalam OOP adalah polymorphism. Pada dasarnya polymorphism adalah kemampuan suatu pesan atau data untuk diproses lebih dari satu bentuk.  Salah satu ciri utama dari OOP adalah adanya polymorphism. Tanpa hal ini, suatu pemrograman tidak bisa dikatakan sebagai OOP.

Polymorphism sendiri adalah konsep di mana suatu objek yang berbeda-beda dapat diakses melalui interface yang sama. Sebagai contoh, kamu memiliki fungsi untuk menghitung luas suatu benda, sementara benda tersebut berbentuk segitiga, lingkaran, dan persegi. Tentu, ketiga benda tersebut memiliki rumus perhitungan tersendiri.

Dengan polymorphism, kamu dapat memasukkan fungsi perhitungan luas ke tiga benda tersebut, dengan tiap benda memiliki metode perhitungannya sendiri. Ini tentu akan mempermudah perintah yang sama untuk beberapa class atau subclass tertentu. 

Kelebihan dari OOP

1.  Parallel development

Ketika 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, kamu dapat menggunakan berbagai class yang telah kamu buat sebelumnya. Ini tentu akan memudahkan untuk digunakan pada project lainnya yang sejenis. Class tersebut juga dapat kamu 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 dari OOP

1. Tidak efisien

Menggunakan 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 perangkatmu. 

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. 

Komentar

Postingan populer dari blog ini

Apa Perbedaan USB Type A, Type C, Micro, dan Lighting?

Charger dan kabel data menjadi perangkat yang sangat penting dan harus dimiliki oleh setiap pengguna smartphone. Berbagai tipe USB (Universal Serial Bus) bermunculan seiring berkembangnya teknologi pada gadget yang dirilis. Misalnya saja seperti charger Type C yang semakin banyak digunakan di ponsel pintar keluaran terbaru. Namun tidak hanya Type C saja yang sering digunakan, masih ada Type A, Micro, serta Lighting. Lalu, apa sih perbedaannya? Apa itu USB? Universal Serial Bus (USB) adalah standar bus serial untuk perangkat penghubung, biasanya kepada komputer namun juga digunakan di peralatan lainnya seperti konsol permainan, ponsel dan PDA. Sistem USB mempunyai desain yang asimetris, yang terdiri dari pengontrol host dan beberapa peralatan terhubung yang berbentuk "pohon" dengan menggunakan peralatan hub yang khusus. Desain USB ditujukan untuk menghilangkan perlunya penambahan expansion card ke ISA komputer atau bus PCI, dan memperbaiki kemampuan plug-and-play (pasang-dan-m...

Kenalan dengan Visual Basic .NET, Bahasa Pemrograman yang Digunakan Microsoft

VB .NET atau Visual Basic .NET adalah object-oriented programming language yang diciptakan oleh Microsoft. Pastinya kamu tak asing lagi dengan nama perusahaan teknologi raksasa ini. Ternyata, Microsoft menggunakan VB .NET untuk mengembangkan aplikasi Windows yang sering kamu gunakan sehari-hari, lho. Apa Itu Visual Basic .NET? Seperti yang sudah disebutkan sebelumnya, Visual Basic .NET merupakan bahasa pemrograman yang bersifat object-oriented. Menurut Funtech, pemrograman object-oriented berbasis konsep objek. Jadi, struktur data atau objek dalam pemrograman ini memiliki atributnya masing-masing. Bahasa pemrograman VB .NET dikembangkan dari Visual Basic (VB) yang sudah terlebih dahulu diciptakan dan digunakan oleh Microsoft. Awalnya, VB .NET dikembangkan pada tahun 2002 untuk menyempurnakan Visual Basic 6.0. Java T Point menyampaikan bahwa aplikasi yang dibuat dengan VB .NET lebih dapat diandalkan dan terukur karena menggunakan .NET framework untuk eksekusinya. Bahkan, kamu bisa membu...

Mengenal apa itu Machine Learning?

Di tengah pesatnya perkembangan teknologi kecerdasan buatan atau artificial intelligence (AI) saat ini. Belum banyak orang yang mengetahui bahwa kecerdasan buatan itu terdiri dari beberapa cabang, salah satunya adalah machine learning atau pembelajaran mesin. Teknologi machine learning (ML) ini merupakan salah satu cabang dari AI yang sangat menarik perhatian, kenapa? Karena machine learning merupakan mesin yang bisa belajar layaknya manusia. Kembali pada kecerdasan buatan. Kecerdasan buatan pada pengaplikasiannya secara garis besar terbagi tujuh cabang, yaitu machine learning, natural language processing, expert system, vision, speech, planning dan robotics. Percabangan dari kecerdasan buatan tersebut dimaksudkan untuk mempersempit ruang lingkup saat pengembangan atau belajar AI, karena pada dasarnya kecerdasan buatan memiliki ruang lingkup yang sangat luas. Apa itu Machine Learning? Menurut IBM, machine learning merupakan cabang dari kecerdasan buatan (AI) dan ilmu komputer yang berf...