Pemrograman berorientasi objek
Pemrograman berorientasi objek merupakan
paradigma pemrograman yang berorientasikan kepada objek. 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,
Model data berorientasi objek
dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program,
dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi,
pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding
dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan
dirawat.
Konsep dasar dari Pemrograman
Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:
1. Kelas
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.
2. Objek
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.
3. Abstraksi
Kemampuan sebuah
program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan
untuk memfokus pada inti
4. 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
izin untuk mengakses keadaannya.
5. 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.
Dengan menggunakan OOP 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.