Pemrograman berorientasi objek (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.
Sumber : http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
Pendekatan Berorientasi Object
Karakteristik yang menjadi ciri-ciri dari
pendekatan berorientasi object adalah :
1. Pendekatan
lebih pada object itu sendiri yang mengkombinasikan data dan fungsionalitas dan
bukan hanya pada prosedur/fungsi saja.
2.
Program besar dibagi menjadi object-object
3. Struktur
data dirancang dan menjadi karakteristik dari object-object.
4. Fungsi-fungsi
yang mengoperasikan data tergabung dalam suatu object yang sama.
5. Data
tersembunyi dan terlindung dari fungsi/prosedur yang ada di luar
6.
Object-object dapat saling berkomunikasi dengan saling mengirim
message (pesan) satu sama lain.
7.
Pendekatan adalah bottom-up.
Suatu sistem yang dibangun dengan metode
berorientasi object adalah :
1. Sebuah
sistem yang komponennya di-enkapsulasi menjadi kelompok data dan fungsi, yang
dapat mewarisi atribut dan sifat dari komponen lainnya dan komponen-komponen
tersebut saling berinteraksi satu sama lain [Meyer,1997]
2. Objek adalah sesuatu yang memiliki identitas (informasi tentang dirinya)
dan tingkah laku (apa yang dapat dilakukan) contoh objek dalam dunia nyata
adalah rumah, sepeda, motor, manusia, hewan dll. Identitas dari suatu objek
adalah informasi tentang dirinnya sebagai contoh adalah objek Hewan memiliki
indentas berupa nama, jenis, tangan, kaki, mata dll, tingkah laku dari objek
hewan adalah berjalan, berlari, tidur dll. Untuk tingkah laku disebut sebagai
methode.
* Objek diciptakan dengan perintah new.
* Misal akan diciptakan objek baru dari class mobil dengan nama mobilku.
* Maka perintah penciptaan objek mobilku dari class Mobil :
* Mobil mobilku = new Mobil();
Ciri-ciri objek:
a.
Objek memiliki status
(state) dan tingkah laku (behavior).
b.
Status (state) disebut juga
dengan atribut.
c.
Contoh objek: objek mobil.
d. Atribut: merek, warna, bahan bakar.
e. Method: pindah persnelling,
kecepatan bertambah, dll.
f. Pada OOP: status disimpan dalam variabel, dan tingkah laku disimpan dalam method.
3. Class adalah suatu frame yang merupakan definisi
yang memuat data dan metod pengolah data. Class juga dapat diartikan sebagai
tempat untuk membuat obyek. Di dalam class dideklarasikan variable dan method
yang dimiliki oleh obyek. Proses pembuatan obyek dari sebuah class disebut
dengan instantiation. Jadi obyek merupakan hasil instansiasi dari class. Obyek
disebut juga dengan instance. Class memiliki anggota yang disebut Anggota Class (class member).
Anggota Class terdiri dari :
1.
Atribut
2.
Method.
Tiap anggota class memiliki kontrol pengaksesan tersendiri, artinya apakah anggota tersebut dapat diakses dengan bebas (tipe public) atau hanya dapat diakses melalui sebuah interface.
Contoh:
public
class ApaMotormu {
public
static void main(String[] args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}
Jadi pada saat runtime, yang kita punyai
adalah OBJECT. Di dalam teks program, yang kita lihat hanyalah CLASS.
Karakteristik Utama dari Sistem Berorientasi Object, adalah :
1. Enkapsulasi
Enkapsulasi atau pembungkusan atau penyembunyian informasi (data hiding)
berarti meninggalkan aspek eksternal dari object yang dapat diakses oleh
object lain dan memfokus diri pada implementasi internal suatu object atau mengemas
suatu objek sehingga pada saat kita akan memakai objek tersebut kita tidak
perlu lagi tahu tentang detail bagaimana suatu action itu terjadi. Contoh dalam hal
ini, misal siswa (suatu object) sedang menulis (method). Maka detail dari
tentang cara siswa itu menulis (bagaimana otot tangan itu bekerja untuk
menulis, bagaimana sistem saraf pusat memerintahkan untuk menulis) kita tidak
perlu mengerti. Kita hanya melihat si siswa sedang menulis.
Dua Hal dalam Enkapsulasi.
1. Information Hidding.
2. Menyediakan Perantara (method) untuk mengakses data
Contoh :
public class Siswa {
private int nrp;
public void setNRP(int n) {
nrp=n;
}
}
2. Inheritance
Inheritance atau pewarisan pada dasarnya mengijinkan objek dari suatu
kelas untuk mengakses data & fungsi yang termuat dalam kelas lebih dahulu
terdefinisi tanpa harus mendefinisikan ulang. Banyak objects diklasifikasikan
menurut hirarki. Contoh, kita dapat mengklasifikasikan sebuah mobil yang
mempunyai karakteristik umumnya mobil, seperti mempunyai ban, mesin, serta
body. Keturunan berikutnya diklasifikasikan dengan atribut umum seperti ukuran,
jumlah roda, isi silinder dll atau mengklasifikasikan mereka atas dasar daya
angkutnya. Contoh, ada kendaraan komersial atau kendaraan pribadi, ada truk
atau mobil penumpang. Lalu menggunakan inheritance dalam OOP untuk
mengklasifikasikan objects dalam program sesuai karakteristik umum dan
fungsinya.
*
Sebuah class bisa mewariskan atribut dan method-nya ke class yang
lain
*
Class yang mewarisi disebut superclass
*
Class yang diberi warisan disebut subclass
*
Sebuah subclass bisa mewariskan atau berlaku sebagai superclass
bagi class
yang lain => disebut multilevel inheritance.
Contoh Pewarisan
1. Class Nenek adalah superclass dari class Ibu
2. Class Ibu adalah superclass dari class Anak
3. Sebuah subclass memiliki beberapa kesamaan dengan superclass-nya,
dalam
hal atribut/variabel dan method yang
dimilikinya
4. Contoh pewarisan yang lain : class
kendaraan merupakan superclass bagi class
mobil,
truk dan bis
Keuntungan Penggunaan Pewarisan
1. Subclass memiliki atribut dan method yang spesifik yang membedakannya
dengan superclass, meskipun keduanya mirip (dalam hal kesamaan atribut dan
method)
2.
Dengan demikian pada pembuatan subclass, programmer bisa
menggunakan ulang source code dari superclass yang ada => ini yang disebut
dengan istilah reuse.
3. Class-class yang didefinisikan dengan atribut dan method yang bersifat umum
yang berlaku baik pada superclass maupun subclass disebut dengan abstract class
3. Polimorphisme
Polimorphisme merupakan konsep Pewarisan memunculkan konsep Polimorphisme,
dimana mengijinkan penyesesuaian berbagai code untuk memenuhi keadaan tertentu.
Bisa di katakan kemampuan 2 buah object yg berbeda untuk merespon pesan
permintaan yang sama dalam suatu cara yang unik. Contoh, saya melatih Anjing
saya dengan perintah untuk menggonggong, dan juga saya melatih burung untuk
merespon perintah saya untuk berkicau. Saya lakukan latihan untuk merespon
kepada mereka dengan perintah lisan. melalui Polumorphism saya tahu bahwa
anjing dan burung akan merespon dengan gonggongan dan kicauan.
Sumber
: Eddy Muntina Dharma,ST,MT (Konsep OOP) aguseddy@stttelkom.ac.id
Bahasa Pemrograman yang mendukung OOP antara lain:
1.
Visual Foxpro
2.
Java
3.
C++
4.
Pascal
5.
Simula
6.
Smalltalk
7.
Ruby
8.
Pyhton
9.
PHP
10. C#
11. Delphi
Keuntungan Penggunaan OOP
a. Natural
OOP dapat
melakukan pendekatan terhadap objek yang menggambarkan segala sesuatu yang
nyata, seperti sifat suatu benda maupun kegunaan dari benda tersebut.
b. Modular
Objek yang
sudah dibentuk dapat dikelompokkan kembali dengan objek-objek yang lain,
seperti kelompok alat tulis yang dapat dikelompokkan kembali dengan kelompok
pensil, kelompok buku dan lain-lain.
c. Mudah
diperbaharui
Dikarenakan
sifat jangkauan dari objek memiliki bagian private dan public, maka jika bagian
private ingin digunakan pada objek-objek lain dapat diperbaharui dengan
menempatkan objek lain tersebut di bagian public.
d. Dapat didaur
ulang
Suatu objek
yang telah didefinisikan baik jenis, bentuk, ciri maupun perilaku dapat
didefinisikan kembali dengan objek yang lain. Misalkan objek rumah yang
memiliki ciri umum ada pintunya, jendelanya, atapnya, temboknya dan lian-lain,
dapat didefinisikan kembali ciri-ciri tersebut dengan menyebutkan cirinya
masing-masing seperti temboknya yang memiliki ciri jenisnya, ketebalannya,
warna catnya dan lain-lain.
Tidak ada komentar:
Posting Komentar