Apa itu opp dan struktural penjelasan dan contohnya

Diperbarui 18 Jan 2021 - Dibaca 8 mnt

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? Pada artikel kali ini, Glints akan memberikan penjelasannya.

Baca Juga: 8 Kiat Agar Lancar Belajar Bahasa Pemrograman

Pengertian OOP

© Unsplash.com

Bersumber dari Techtarget, 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 OOP

© Unsplash.com

Dalam object oriented programming, dikenal empat prinsip yang menjadi dasar penggunaannya. Merangkum 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. 

Baca Juga: 7 Bahasa Pemrograman yang Dibutuhkan di Dunia Kerja

Kelebihan 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 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. 

Baca Juga: Ingin Jadi Full Stack Developer? Ketahui 5 Skill Ini!

Nah, itulah penjelasan singkat dari Glints mengenai object oriented programming. Memahami OOP adalah salah satu cara untuk mendapatkan karier impianmu di bidang IT.

Selain artikel ini, kamu bisa mendapatkan banyak informasi lain tentang dunia teknologi jika berlangganan newsletter blog Glints.

Kamu hanya perlu mendaftarkan email, dan berbagai informasi yang bisa mendukung karier IT-mu akan dikirim langsung ke kotak masukmu.

Tunggu apa lagi? Daftar gratis sekarang, yuk!


Pernah mendengar istilah Pemrograman Terstruktur atau Pemrograman Berorientasi Objek? Pasti sudah tidak asing lagi bagi kita semua istilah Pemrograman Terstruktur atau Pemrograman Berorientasi Objek. Pemrograman Terstruktur atau Pemrograman Berorientasi Objek merupakan bentuk struktur data dari algoritma pemrograman.

Pemrograman Terstruktur    

Pemrograman Terstruktur merupakan suatu proses untuk mengimplementasikan urutan langkah penyelesaian suatu masalah dalam bentuk program dan merupakan suatu aktifitas pemrograman yang dilakukan dengan memperhatikan setiap urutan dari setiap langkah perintah yang dikerjakan secara sistematis, logis, dan tersusun berdasarkan algoritma yang sederhana dan dapat dengan mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik ataupun langkah tertentu, maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya ataupun kembali ke baris sebelumnya, kecuali pada langkah - langkah untuk proses pengulangan atau berulang (Loop).

Pemrograman Berorientasi Objek

Pemrograman Berorientasi Objek (PBO) atau dalam bahasa inggris disebut Object Oriented Programming (OOP) merupakan sebuah paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalamnya dibungkus dalam suatu kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Perbedaan Pemrograman Terstruktur dan Pemrograman Berorientasi Objek

Perbedaan mendasar antara Pemrograman Berorientasi Objek dan Pemrograman Terstruktur adalah dengan menggunakan Pemrograman Berorientasi Objek maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk Pemrograman Terstruktur,  menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur.

Untuk program yang simpel/sederhana biasanya menggunakan pemrograman terstruktur karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan untuk line lebih dari 100 atau bisa dikatakan rumit, maka digunakan pemrograman berorientasi objek. Pemrograman Terstruktur terdiri dari pemecahan masalah yang besar menjadi masalah yang lebih kecil dan seterusnya, sedangkan untuk pemrograman berorientasi objek terdiri dari pengkelompokan kode dengan data yang mana setiap objek berfungsi secara independen sehingga untuk setiap perubahan kode tidak tergantung pada kode yang lainnya, atau lebih dikenal dengan modular. Terdapat juga perbedaan secara spesifik antara Pemrograman Berorientasi Objek dengan Pemrograman Terstruktur, yaitu pada kelas dan objek. Pada Pemrograman Terstruktur tidak terdapat kelas dan objek.

Kalau di Terstruktur ada "function", di OOP ada "method". Kalau di Terstruktur ada "modules", di OOP ada "objects". Kalau di Terstruktur ada "argument", di OOP ada "message". Begitu juga dengan "variabel" yang ada di Terstruktur, di OOP lebih dikenal dengan nama "atribut".

Perbandingan Pemrograman Terstruktur Dan Pemrograman Berorientasi Objek.

Pemrograman Terstruktur

Pemrograman Berorientasi Objek

Memecah program dalam fungsi dan data

Menggabungkan fungsi dan data dalam kelas – kelas atau objek - objek

Memiliki ciri Sequence (berurutan), Selection (pemilihan) dan Repetition (perulangan)  

Memiliki ciri Encapsulation (pengemasan), Inheritance (penurunan sifat) dan Polymorphism (perbedaan bentuk dan perilaku)

Struktur program rumit karena berupa urutan proses dan fungsi-fungsi 

Struktur program ringkas, cukup dengan membuat Objek dan class lalu bekerja berdasarkan object dan class tersebut.

Re-use kode program kurang

Kode program sangat re-usable. object dan class dapat digunakan berkali-kali, sehingga dapat menghemat space memori.

Efektif digunakan untuk menyelesaikan masalah kecil dan tidak cocok untuk menyelesaikkan masalah yang rumit, karena nantinya akan kesulitan menemukan solusi permasalahan ketika terjadi error

Efektif digunakan untuk menyelesaikan masalah besar, karena OOP terdiri dari class-class yang memisahkan setiap kode program menjadi kelompok - kelompok kecil, sesuai dengan fungsinya

Mudah diawal, namun kompleks diproses selanjutnya

Sulit diawal (karena harus membuat class) namun selanjutnya akan terasa mudah dan cepat

Eksekusi lebih lambat karena setiap perintah dikerjakan berurutan

Eksekusi lebih cepat karena dieksekusi bersamaan, program hanya mengatur Objek, properties dan method-nya saja

Pada dasarnya Pemrograman Berorientasi Objek maupun Terstruktur tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Pemrograman Terstruktur fokus pada bagaimana cara komputer menangani masalah, sedangkan Pemrograman Berorientasi Objek fokus pada masalah yang ditangani dengan menggunakan komputer. Pemrograman Terstruktur biasanya digunakan untuk membuat program yang simpel/sederhana karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan Pemrograman Berorientasi Objek cocok digunakan untuk pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada programmer seperti yang telah disebutkan diatas. Pemrograman Berorientasi Objek lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan Pemrograman Berorientasi Objek lebih mudah dikembangkan dan dirawat.

Sekian penjelasan tentang Perbedaan Pemrograman Terstruktur Dan Pemrograman Berorientasi Objek. Semoga bisa membantu teman-teman dalam menentukan konsep pemrograman yang akan dipakai saat membuat program.

Video yang berhubungan

Postingan terbaru

LIHAT SEMUA