Simak pengertian, konsep dan fungsi dari Object-Oriented Programming atau OOP di artikel MyEduSolve ini!
Posted: Tuesday, Oct 10, 2023
Share:
OOP adalah singkatan dari Object-Oriented Programming yang merupakan bahasa pemrograman menggunakan objek sebagai orientasi utamanya. Untuk kamu yang baru belajar tentang pemrograman, yuk baca artikel ini dan ketahui lebih lengkap mengenai OOP di bidang pemrograman. Simak sampai selesai, ya!
Object-Oriented Programming adalah model pemrograman komputer yang merancang desain software menggunakan data atau objek, tidak seperti metode pemrograman lain yang membuat desain software menggunakan fungsi dan logika.
Dalam metode OOP, sebuah objek dapat didefinisikan sebagai ladang data yang memiliki atribut dan perilaku yang unik.
Lalu, tujuan utama dari OOP adalah untuk mengikat data dan fungsi yang berjalan pada data tersebut, sehingga tidak ada bagian lain dari kode yang bisa mengakses data kecuali fungsi yang sudah diatur.
Bahasa pemrograman OOP dapat menyusun struktur software yang kompleks menjadi sederhana Oleh karena itu, metode OOP sangat cocok untuk program besar, kompleks, dan perlu sering-sering melakukan perawatan. Biasanya OOP digunakan di aplikasi handphone. Selain itu, ada banyak bahasa pemrograman yang memakai metode OOP, seperti JavaScript, Phyton, Java, dan C++.
Di samping itu, metode OOP juga bermanfaat untuk kegiatan kolaborasi antar developer dalam mengembangkan suatu program. Sebab, kode program OOP dinilai efisien (efficiency), dapat digunakan kembali (reusability), dan memiliki skalabilitas (scalability).
Baca juga: Mengenal Apa Itu Developer dan Perbedaannya dengan Programmer
Jika kamu masih pemula dan masih perlu banyak yang dipelajari mengenai OOP, tentu saja harus mempelajari beberapa istilah yang umum digunakan pada OOP agar tidak bingung saat mulai menyentuh langsung program OOP. Apa sajakah itu?
Class
Objects
Data Abstraction
Encapsulation
Inheritance
Polymorphism
Dynamic Binding
Message Passing
Class merupakan tipe data yang ditentukan oleh pengguna dan dapat dapat diartikan sebagai blueprint sebuah object. Class ini berisi data anggota dan fungsi anggota yang dapat diakses dan dipakai dengan membuat contoh sebelumnya. Dengan begitu, class dapat mewakili kumpulan properti atau metode umum untuk semua object dengan tipe yang sama.
Supaya lebih mudah memahami konsep class, berikut ini contoh analoginya:
Mobil diciptakan dengan berbagai macam tipe, kelas, dan dengan merk yang berbeda-beda. Namun, seperti yang kita tahu, semua mobil memiliki kesamaan, yakni memiliki empat roda, batas kecepatan, rentang jarak tempuh, dan berbagai komponen lainnya. Jika dianalogikan secara sederhana, mobil merupakan class, sedangkan roda, batas kecepatan, dan jarak tempuh adalah properties.
Hal yang wajib diketahui programmer adalah memahami objects sebagai unit dasar metode pemrograman OOP. Objects merupakan turunan dari class. Ketika sebuah class ditetapkan, tidak ada memori yang dialokasikan, tetapi ketika objects dibuat maka memori akan dialokasikan.
Sebuah object memiliki identitas, kondisi, dan perilaku yang berisi data dan kode untuk memanipulasi data sesuai keinginan developer. Meski begitu, object dapat berinteraksi tanpa perlu mengetahui data atau kode secara detail, melainkan cukup melalui jenis pesan yang diterima dan jenis respon yang dikembalikan object.
Berikut ini contoh analogi object:
Hewan anjing adalah sebuah object di dunia nyata yang memiliki nama sebagai identitas dan beberapa kondisi tertentu, seperti warna bulu, jenis ras, dan usia. Selain itu, anjing sebagai object juga memiliki perilaku seperti makan dan tidur.
Baca juga: Ingin Jadi Web Programmer? Ini Yang Harus Kamu Lengkapi Agar CV Lebih Menarik!
Data abstraction atau abstraksi data adalah salah satu fitur paling penting pada model pemrograman OOP. Abstraksi data mengacu pada penyediaan penyediaan informasi mengenai data ke dunia luar dan menyembunyikan rincian pada latar belakang data.
Contoh analogi data abstraction:
Seseorang mengendarai sebuah mobil dengan pengetahuan dasar jika menginjak pedal gas akan menambah kecepatan mobil dan jika menginjak pedal rem akan menghentikan mobil. Namun, orang tersebut tidak mengetahui mekanisme mesin mobil yang bertambah kecepatan ketika diinjak pedal gasnya.
Enkapsulasi didefinisikan sebagai proses pembungkusan data pada sebuah unit atau juga sering disebut sebagai penyembunyian data. Enkapsulasi merupakan sebuah mekanisme yang mengikat kode dan data yang dimanipulasi. Dalam proses enkapsulasi, class atau variabel data disembunyikan dan hanya bisa diakses melalui fungsi anggota dari class yang sama.
Contoh analogi encapsulation:
Data dalam suatu kelas disembunyikan dari kelas lain dan isi data tersebut hanya bisa diakses dan diketahui oleh anggota kelas.
Inheritance merupakan pilar penting pada OOP, karena kemampuan suatu class untuk memperoleh properties dan karakteristik dari class lain disebut dengan istilah inheritance.
Contoh analogi inheritance:
Ketika seorang programmer membuat sebuah class, maka data atau property dari kelas lain bisa dipakai, sehingga programmer tidak perlu membuat property dan fungsi baru. Bahkan programmer juga mungkin untuk menggunakan kembali kode dalam membuat suatu class.
Baca juga: 3 Alasan Pentingnya Belajar Bahasa Inggris bagi Programmer
Secara bahasa polymorphism artinya memiliki banyak bentuk. Polymorphism dapat diartikan sebagai kemampuan suatu pesan yang dapat ditampilkan lebih dari satu bentuk.
Contoh analogi polymorphism:
Polimorfisme adalah satu orang yang sama tetapi memiliki perilaku berbeda dalam situasi yang berbeda. Seorang pria memiliki banyak peran sekaligus, yaitu sebagai seorang ayah, seorang suami, dan seorang karyawan.
Dynamic binding berguna untuk mengeksekusi kode sebagai respon terhadap pemanggilan fungsi pada saat run time. Artinya, kode yang terkait pemanggilan masih belum diketahui hingga pada waktu run time. Dalam dunia pemrograman fitur dynamic binding ini juga dikenal sebagai subtype polymorphism.
Contoh analogi dynamic binding:
Beberapa kelas turunan D memiliki anggota kelas B. Ketika kelas D tidak menyembunyikan anggota kelas B, maka objek dari D dapat mewakili anggota kelas B.
Message passing adalah bentuk komunikasi yang digunakan dalam OOP. Object dapat berkomunikasi satu sama lain dengan saling mengirim dan menerima informasi. Pesan yang dikirim berupa permintaan eksekusi suatu prosedur, sehingga object akan memanggil fungsi pada object penerima yang menghasilkan data yang diinginkan.
Pengiriman pesan melibatkan penentuan nama object, nama fungsi, dan isi informasi yang hendak dikirim.
Ada beberapa manfaat yang dirasakan programmer saat menggunakan OOP. Kira-kira apa saja?
OOP dapat mengubah struktur pemrograman yang kompleks menjadi struktur sederhana dan dapat direproduksi.
Dapat digunakan kembali karena objek pada OOP dapat dipakai di seluruh model program.
Lebih mudah untuk melakukan debug.
Adanya polimorfisme dalam pemrograman memungkinkan perilaku pada kelas tertentu.
Tingkat perlindungan pada informasi lebih baik dan aman karena melalui proses enkapsulasi.
Meski begitu, OOP juga memiliki beberapa kekurangan, yaitu tidak efisien, membutuhkan manajemen data yang besar, dan ada kemungkinan duplikasi data.
Itu dia penjelasan lengkap mengenai OOP. Cukup banyak developer yang menerapkan metode OOP pada program yang mereka kerjakan, meski begitu program tersebut bisa dianggap monoton dan kurang inovasi. Yuk, perdalam skill programming kamu dengan ikut sertifikasi Computational Thinking dari MyEduSolve! Informasi lebih lanjut, kunjungi laman resmi MyEduSolve.
Sumber:
https://www.geeksforgeeks.org/
https://www.educative.io/
Posted: Tuesday, Oct 10, 2023
Updated: Friday, Nov 22, 2024
1,448
Pengembangan Skill
Pelajari Rumus INDEKS MATCH, Rumus Alternatif VLOOKUP
Posted: 2 months ago
14 Min Read
Pengembangan Diri
3 Cara Cepat Membuat Mind Map Sederhana Di Microsoft Word
Posted: a year ago
13 Min Read
Pengembangan Skill
Cara Menghapus Page Break Di Word dengan Mudah!
Posted: 2 years ago
8 Min Read
What topics are you interested in learning more about? We want to hear from you! Share with us your feedback and article suggestions for our blog.