Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) 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:
- 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. 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.
- 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.
- 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 izin 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.
- 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. Sebagai contoh anggap kita memiliki sebuah departemen
yang memiliki manager, sekretaris, petugas administrasi data dan
lainnya. Misal manager tersebut ingin memperoleh data dari bag
administrasi maka manager tersebut tidak harus mengambilnya langsung
tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada
kasus tersebut seorang manager tidak harus mengetahui bagaimana cara
mengambil data tersebut tetapi manager bisa mendapatkan data tersebut
melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu
masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek
memiliki deskripsi tugasnya sendiri.
Sumber : Wikipedia
Sabtu, 12 Mei 2012
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar