Pemrograman
Berorientasi Obyek
OOP/PBO merupakan paradigma pemrograman yang popular saat ini yang telah
menggantikan teknik pemrograman berbasis prosedur. Pemrograman Berorientasi
Objek (Object Oriented Programming/OOP) merupakan pemrograman yang
berorientasikan kepada objek, dimana semua data dan fungsi dibungkus dalam
class-class atau object-object. Setiap object dapat menerima pesan, memproses
data, mengirim, menyimpan dan memanipulasi data. Beberapa object berinteraksi
dengan saling memberikan informasi satu terhadap yang lainnya. Penggunaan pemrograman berorientasi objek
sangat benyak sekali, contoh : java, php, perl, c#, cobol, dan lainnya.
Dalam konsep Pemrograman Berorientasi Objek
dikenal beberapa istilah umum, yaitu:
- Attribute
Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah
kelas, Atribut dapat memiliki hak akses private, public maupun protected.
Sebuah atribut yang dinyatakan sebagai private hanya
dapat diakses secara langsung oleh kelas yang membungkusnya, sedangkan kelas
lainnya tidak dapat mengakses atribut ini secara langsung. Sebuah atribut yang
dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar
kelas yang membungkusnya.
- Method
Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer
didalam suatu Class. Dengan kata lain, method pada sebuah kelas hampir sama
dengan fungsi atau prosedur pada pemrograman prosedural.
Sebuah kelas boleh memiliki lebih dari satu
method dengan nama yang sama asalkan memiliki parameter masukan yang berbeda
sehingga kompiler atau interpreter dapat mengenali method mana yang dipanggil.
Method didefinisikan pada class akan tetapi
dipanggil melalui object. Method memiliki peranan diantaranya :
* merubah nilai atribut dari suatu object,
* menerima informasi dari object lain, dan
* mengirim informasi ke obyek lain untuk melakukan
suatu task (cara obyek berkomunikasi dengan obyek lain adalah dengan
menggunakan method).
- Class
Class didefinisikan sebagai sebuah blueprint(denah), atau prototipe,
yang mendefiniskan variabel-variabel dan metode-metode yang umum untuk semua
objek dari n jenis tertentu (n maksudnya jumlah tertentu. Pemahaman singkatnya
:
• Class merupakan pola / template yang menggambarkan
kumpulan object yang mempunyai sifat dan perilaku yang sama.
• Class merupakan struktur data dari object
(blueprint dari sebuah object), dan proses pembuatan object dari sebuah class
disebut juga dengan instantiation.
• Class merupakan definisi data dan fungsi dari
suatu hal (benda, konsep, dll).
• Di dalam class dideklarasikan variabel dan method
yang dimiliki oleh obyek
- Object
Object merupakan sesuatu yang memiliki identitas (nama), pada umumnya
juga memiliki data tentang dirinya maupun object lain dan mempunyai kemampuan
untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Pada
dasarnya semua benda yang ada di dunia dapat dianggap sebagai sebuah object.
Rumah, mobil, sepeda motor, meja, dan komputer merupakan contoh-contoh object
yang ada di dunia nyata. Object adalah implementasi dari class. Secara
sederhananya, dapat dikatakan terdiri dari properti (atribut) dan method.
Pemahaman singkatnya :
• Objek merupakan sebuah objek khusus yang digunakan
untuk mengakses anggota objek (atribut atau method) dari dalam objek itu
sendiri.
• Apabila terdapat variabel lain yang memiliki nama
yang sama dengan nama atribut di dalam objek, “this” dapat digunakan untuk merujuk
ke atribut objek.
Konsep-konsep
dalam OOP/PBO :
- Abstraction
Adalah suatu cara untuk melihat suatu object dalam bentuk yang lebih
sederhana. Sebagai contoh kita tidak melihat sebuah mobil sebagai ribuan
komponen elektronik, sistem mekanik dengan empat buah ban, jok, stir kemudi dan
sebagainya. Dengan Abstraction, suatu sistem yang kompleks dapat dipandang
sebagai kumpulan subsistem-subsistem yang lebih sederhana, seperti halnya mobil
merupakan suatu sistem yang terdiri atas berbagai subsistem, seperti subsistem
kemudi, subsistem pengereman dan sebagainya. Abstraksi merupakan 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.
- Encapsulation
Merupakan suatu mekanisme untuk menyembunyikan atau memproteksi suatu
proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem dan
sekaligus menyederhanakan penggunaan sistem tersebut. 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.
- Inheritance
Merupakan konsep mewariskan attribute dan method yang dimiliki oleh
sebuah class kepada class turunannya. Dengan konsep ini class yang dibuat cukup
mendefinisikan attribute dan method yang spesifik didalamnya, sedangkan
attribute dan method yang lebih umum akan didapatkan dari class yang menjadi
induknya. Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek
didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah
ada.Objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru
mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu
memiliki inheritas.)
- Polymorphism
Merupakan konsep yang memungkinkan digunakannya suatu interface yang
sama untuk memerintah suatu object agar melakukan suatu tindakan yang mungkin
secara prinsip sama tetapi secara proses berbeda. Model data berorientasi objek
disebut 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 selain itu pendekatan OOP lebih mudah dikembangkan
dan dirawat.
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada
pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, dengan
metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung
kepada objek tertentu di mana pesan tersebut dikirim.
Sumber :
2 komentar:
Thanks info nya
Terimakasih post infonya makin lebih penasaran lagi untuk belajar algoritma
Posting Komentar