"Apakah Itu OOP?"
Pemrograman berorientasi objek merupakan konsep pemrograman untuk 
memodelkan objek yang kita gunakan dalam kehidupan sehari-hari, dan 
konsep ini membawa perubahan yang mendasar dalam konsep pemrograman 
terstruktur.
Perubahan dramatis dalam konsep dasar 
disebut    paradigma, banyak orang yang menyebut “paradigma OOP” karena 
memang OOP membawa konsep yang sama sekali berbeda dengan bahasa 
pemrograman generasi sebelumnya (bahasa pemrograman terstruktur).
Konsep utama pemrograman berorientasi objek yaitu melakukan permodelan objek dari kehidupan nyata ke dalam tipe data abstrak.
Kesimpulannya :
  
 Dengan OOP, kita dapat mengimplementasikan objekt data yang tidak hanya
 memiliki ciri khas (attribut), melainkan juga memiliki metode untuk 
memanipulasi attribut tersebut. Singkatnya, OOP memiliki keunggulan dari
 konsep pemrograman terstruktur, selain itu juga memiliki kemampuan 
untuk mengimplementasikan objek dalam kehidupan nyata.
"Apakah Keistimewaan OOP?"
OOP memiliki beberapa keuntungan dalam pemrograman, di antaranya:
- OOP menyediakan struktur modular yang jelas untuk program sehingga OOP sangat bagus digunakan untuk mendefinisikan tipe data abstrak di mana detil implementasinya tersembunyi.
- OOP akan mempermudah dalam memaintain dan memodifikasi kode yang sudah ada. Objek yang baru dapat dibuat tanpa mengubah kode yang sudah ada.
- OOP menyediakan framework untuk library kode di mana komponen software yang tersedia dapat dengan mudah diadaptasi dan dimodifikasi oleh programmer. Hal ini sangat berguna untuk mengembangkan GUI (Graphical User Interfaces).
Sedangkan beberapa kelemahan OOP antara lain adalah sebagai berikut:
1. Tidak memperbolehkan implementasi yang kuat pada reuse
2. Properti software tidak terikat dalam satu unit fungsional, sehingga harus
crosscut di antara komponennya.
3. Crosscut tersebut mengakibatkan sulitnya pengembangan dan pemeliharaan
"Konsep OOP"
Pemrograman orientasi-objek menekankan konsep berikut:
·         Class
 — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk 
suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit 
yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk
 pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah 
dasar dari modularitas dan struktur dalam pemrograman berorientasi 
object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh 
seorang non-programmer sekalipun terkait dengan domain permasalahan yang
 ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) 
bersifat mandiri dan independen (sebagaimana kode tersebut digunakan 
jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah 
program akan terkait dengan aspek-aspek dalam masalah yang akan 
diselesaikan melalui program tersebut. Cara seperti ini akan 
menyederhanakan pemetaan dari masalah ke sebuah program ataupun 
sebaliknya.
·         Object –
 membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah 
program komputer; objek merupakan dasar dari modularitas dan struktur 
dalam sebuah program komputer berorientasi objek.
·         Abstraksi –
 Kemampuan sebuah program untuk melewati aspek informasi yang diproses 
olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam 
sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan
 kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek
 lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini 
diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan 
beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
·         Enkapsulasi –
 Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam 
dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek
 tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek 
mengakses interface yang menyebutkan bagaimana objek lainnya dapat 
berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan 
tergantung kepada representasi dalam objek tersebut.
·         Polimorfisme melalui
 pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa 
orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan 
dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana 
pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan 
“gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor 
singa menerima pesan yang sama, dia akan menggerakkan kakinya dan 
berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai 
dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah 
variabel tungal dalam program dapat memegang berbagai jenis objek yang 
berbeda selagi program berjalan, dan teks program yang sama dapat 
memanggil beberapa metode yang berbeda di saat yang berbeda dalam 
pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang 
mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
sumber
 
 
 
 
 
 
 
 

0 komentar :
Posting Komentar
Silahkan tinggalkan komentar anda dibawah postingan ini.terima kasih jika anda berkomentar secara positif dan membangun.