Object Oriented Programming (OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Secara garis besar, OOP dapat digambarkan sebagai berikut:
merupakan suatu software objek yang memiliki State dan Behaviour yang digunakan untuk memodelkan objek pada dunia nyata (didalam proses pemodelan tersebut dilakukan abstraksi terhadap objek nyata kedalam bentuk yang lebih sederhana).
A Software Object //docs.oracle.com/javase/tutorial/figures/java/concepts-object.gif |
2. Class
merupakan model yang berisi kumpulan attribute dan method dalam suatu unit untuk suatu tujuan tertentu. Misalkan, pada class sepeda di bawah ini merupakan salah satu blueprint yang mungkin dari Sepeda:
1 |
class sepeda {<br /><br /> int cadence = 0;<br /> int kecepatan = 0;<br /> int gear = 1;<br /><br /> void changeCadence(int newValue) {<br /> cadence = newValue;<br /> }<br /><br /> void changeGear(int newValue) {<br /> gear = newValue;<br /> }<br /><br /> void tambahKecepatan(int increment) {<br /> kecepatan = kecepatan + increment; <br /> }<br /><br /> void fungsiRem(int decrement) {<br /> kecepatan = kecepatan – decrement;<br /> }<br /><br /> void printStates() {<br /> System.out.println(“cadence:” +<br /> cadence + ” kecepatan:” + <br /> kecepatan + ” gear:” + gear);<br /> }<br />} |
3. Method
biasa juga disebut behaviour merupakan bagian yang dimiliki oleh sebuah class yang dapat melakukan operasi, bertindak atau mengerjakan sesuatu.
4. Attribute
biasa juga disebut state/properties/field merupakan bagian yang dimiliki oleh sebuah class yang tidak melakukan operasi tetapi kepadanya dilakukan operasi sehingga dapat merubah nilai dari attribute tersebut.
5. Polymorphism
suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek
6. Abstraction
suatu cara untuk melihat suatu object dalam bentuk yang lebih sederhana.
7. Encapsulation
pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut
8. Inheritance
merupakan suatu hubungan dua buah kelas atau lebih. Dalam hal ini ada kelas yang memiliki atribut dan metode yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya. Seperti tergambarkan di kelas Sepeda pada diagram berikut ini:
A hierarchy of Sepeda Classes. |
Copyright: andikurnia@2012