XI. MATERI PBO
Menurut Gillis dan Lewis dalam artikelnya, objek oriented proggra,i atau OOP diartikan sebagai pemrograman yang
berorientasi pada objek yang merupakan model pemrograman komputer dengan
pengaturan desain perangkat lunak di sekitar data atau objek. Berbeda dengan
pemrograman lain yang berfokus pada fungsi dan logika, OOP lebih menaruh fokus
pada objek atau bidang data yang memiliki atribut atau perilaku teknis unik.
Fokus OOP pada objek ini memungkinkan adanya manipulasi yang dilakukan
pengembang dan cocok untuk pemrograman besar dan kompleks. Pendekatan OOP ini
lebih mudah untuk perihal pembaruan dan pemeliharaan.
OOP juga dapat didefinisikan sebagai paradigma pemrograman yang mengandalkan konsep kelas dan
objek. Paradigma ini digunakan untuk menyusun program perangkat lunak menjadi
potongan-potongan kode cetak biru yang sederhana dan dapat digunakan kembali
atau kelas-kelas kode. Kelas-kelas ini nantinya digunakan untuk membuat objek
individual dalam pemrograman.
OOP
dapat digunakan dalam berbagai bahasa pemrograman seperti JavaScript, C++, Java, dan Python. Penggunaan kelas dalam
pemrograman OOP ini dapat menentukan atribut apa yang akan dimiliki oleh instance objek seperti warna dan sebagainya. Secara umum, OOP menjadi
lebih ringkas karena pengembang bisa lebih fokus melakukan manipulasi terhadap
objek daripada pada logic atau fungsi.
1.enkapsulasi
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. Sebagai permisalan, kamu ingin membuat
aplikasi kencan daring, maka kemungkinan besar kamu 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.
Nah, 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 merupakan 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.polimorfisme
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.
Komentar
Posting Komentar