Konsep Pemrograman Berorientasi Object
Konsep Pemrograman Berorientasi Object
Outline Materi
- Objek, Class
- Enkapsulasi
- Pewarisan / Inheritance
- Polymorphism
- Keuntungan OOP
Apakah yang dimaksud dengan Object (dunia nyata)?
- Object merupakan kunci untuk memahami teknologi object
- Dua karakteristik: state dan behavior
- Anjing:
- State: nama, warna, berkembang biak, lapar
- Behavior: menggonggong, mengambil, mengibaskan ekor
- Sepeda:
- State: gear, irama pedal, kecepatan
- Behavior: mengubah gear, mengubah irama pedal, menerapkan rem
Bagaimana mengidentifikasi state dan behaviour?
- �Apa keadaan yang mungkin dari object ini?"
- �Perilaku apa yang mungkin dilakukan
Object ini?"
- Beberapa object mungkin juga mengandung object lainnya.
- Sebuah rumah berisi pintu, jendela, Keramik
Apakah yang dimaksud dengan Object (software)?
- Object (software) dimodelkan setelah object (dunia nyata) yang juga memiliki state dan behavior
- Object (software) :
- State - variable
- Behavior - method, yang merupakan suatu function
- Method dan variable adalah yang terkait dengan suatu object, yang berada dalam
Object
Apakah yang dimaksud dengan Class?
- Class berbeda dengan objek. Class merupakan prototipe/ template / blueprint yang mendefinisikan variabel-variabel dan method-method secara umum.
- Sedangkan object pada sisi yang lain merupakan instansiasi dari suatu class.
Encapsulation
- Dalam sebuah objek yang mengandung variabel-variabel dan method method, dapat ditentukan hak akses pada sebuah variabel atau method dari objek.
- Pembungkusan variabel dan method dalam sebuah objek dalam bagian yang terlindungi inilah yang disebut dengan enkapsulasi.
- Jadi, enkapsulasi dapat diartikan sebagai bungkusan (wrapper) pelindung program dan data yang sedang diolah.
- Pembungkus ini mendefinisikan behavior dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain.
Inheritance
- Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi.
Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut.
- Setiap subclass akan mewarisi state (variabel-variabel) dan behavior (method-method) dari superclass-nya.
Subclass kemudian dapat menambahkan state dan behavior baru yang spesifik dan dapat pula memodifikasi (override) state dan behavior yang
diturunkan oleh superclass-nya.
Polymorphism
- Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalambahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya
Keuntungan OOP
- Modularity: Kode sumber untuk suatu object dapat ditulis dan dipelihara secara independen dari kode sumber untuk object lainnya.
- Information-hiding: Karena kita dapat menentukan hak akses sebuah variabel/method dari object, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui object lain.
- Code re-use: Jika object sudah ada, dapat menggunakan object tersebut dalam program.
- Pluggability dan debugging ease: Jika object tertentu ternyata bermasalah, kita bisa langsung menghapusnya dari aplikasi dan memasang sebuah object yang berbeda sebagai penggantinya.