Archive for December 2012
PENGENALAN PEMROGAMAN BERORIENTASI OBJEK
Apakah
Objek?
• Semua benda yang ada di dunia nyata
dapat dianggap sebagai obyek.
• Contoh : rumah, mobil, sepeda motor,
gelas, komputer, meja dll.
Karakteristik
Objek
• Setiap obyek memiliki atribut sebagai
status (state).
• Setiap obyek memiliki tingkah laku
(behavior)
• Contoh: obyek sepeda
– Memiliki atribut (state): pedal, roda,
jeruji, warna, jumlah roda.
– Memiliki tingkah laku (behavior):
kecepatanya menaik, kecepatannya menurun, perpindahan gigi sepeda.
• Penggambaran pemrograman berorientasi
obyek = penggambaran pada dunia nyata.
• Pada pemrograman berorientasi obyek:
- State disimpan
pada → variabel
- Tingkah laku
disimpan pada → method
Apakah
Class?
• Definisi class: merupakan template untuk
membuat obyek.
• Definisi class: merupakan prototipe /
blue prints yang mendefinisikan variabel – variabel dan method – method secara
umum.
• Obyek merupakan hasil instansiasi dari
suatu kelas.
• Proses pembentukan obyek dari suatu
class disebut dengan instantiation.
• Obyek disebut juga instances.
Attributes
• Definisi atribut : adalah data yang
membedakan antara obyek satu dengan yang lain.
• Dalam class atribut disebut sebagai
variabel
• Variable yang mengitari class, dengan
nilai datanya bisa ditentukan di object
• Variable digunakan untuk menyimpan nilai
yang nantinya akan digunakan pada program
• Instance variable: adalah atribut
untuk tiap obyek dari class yang sama.
• Tiap obyek mempunyai dan menyimpan
nilai atributnya sendiri.
• Jadi tiap obyek dari class yang
sama boleh mempunyai nilai yang sama atau beda.
• Class variable: adalah atribut
untuk semua obyekyang dibuat dari class yang sama.
• Semua obyek mempunyai nilai
atribut yang sama.
• Jadi semua obyek dari class yang
sama mempunyai hanya satu nilai yang value nya sama.
• Behavior / tingkah laku adalah hal
– hal yangbisa dilakukan oleh obyek dari suatu class.
• Behavior dapat digunakan untuk
mengubah nilai atribut suatu obyek, menerima informasidari obyek lain, dan
mengirim informasi ke obyek lain untuk melakukan suatu task.
Methods: adalah serangkaian statements
dalam suatu class yang menghandle suatu task tertentu.
Method melakukan:
- Manipulasi data
- Perhitungan matematika
- Memonitor kejadian dari suatu event
Jenis Method:
- Method dengan return value
- Method tanpa return value
Konstruktor
– Method
Method yang identifier/namanya sama dengan
nama Class
Method yang pertama kali di panggil pada
proses instansiasi/pembuatan object
Karakteristik
Pemrogaman Berbasis Objek
• Enkapsulasi (Encapsulation)
• Penurunan (Inheritance)
• Polimorfisme (Polymorphism)
Enkapsulasi
(Pembungkusan)
• Variabel dan method yang dipunyai suatu
obyek, bisa ditentukan hak aksesnya.
• Definisi enkapsulasi: Pembungkusan
variabel dan method dalam sebuah obyek yang terlindungi.
• Definisi enkapsulasi: menyembunyikan
cara kerja dan sistem.
Pewarisan
(Inheritance)
• Definisi (class): merupakan pewarisan
atribut dan method pada sebuah class.
• Definisi (obyek): kemampuan obyek untuk
mewarisi ciri-ciri obyek lainnya.
• Class yang mewarisi: superclass
• Class yang diwarisi: subclass
• Java Keyword: extends
Contoh : terdapat class sepeda dan sepeda
gunung.
– Sepeda: superclass
– Sepeda gunung: subclass
– Sepeda gunung memiliki variabel dan
method yang dimiliki oleh sepeda.
• Prinsip : Persamaan-persamaan yang
dimilikioleh beberapa kelas dapat digabungkan dalamsebuah class induk sehingga
setiap kelas yang diturunkannya memuat hal-hal yang spesifikuntuk kelas yang
bersangkutan.
-Keuntungan
• Subclass menyediakan state/behaviour
yang spesifik yang membedakan dengan superclass memungkinkan programmer untuk
menggunakan ulang source code dari superclass yang telah ada.
• Programmer dapat mendefinisikan
superclass khusus yang bersifat generik, yang disebut abstract class, untuk
mendefinisikan class dengan tingkah laku dan state secara umum.
Polimorfisme
• Definisi: satu nama dapat digunakan
untuk banyak tujuan yang berbeda namun berhubungan satu sama lain.
• Tujuan: memungkinkan kita memberikan
nama yang sama bagi segolongan aksi atau tugas yang mirip.
·
Overloading: Kemampuan untuk menggunakan
nama yang sama untuk beberapa method yang berbeda parameter (tipe dan atau
jumlah)
·
Overriding: Kemampuan subclass untuk
menimpa method dari superclass, yaitu dengan cara menggunakan nama dan
parameter yang sama pada method.