OOP (Object Oriented Programming) 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
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 :
http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
OOP (Object Oriented Programming) 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
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 :
http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
Tidak ada komentar:
Posting Komentar