Pert 1 - Binus Repository

advertisement
Object Oriented
Programming Concept
Matakuliah
Pertemuan
Tahun
Versi
: T0984 / Algoritma dan Metode Object Oriented Programming II
:1
: 2008
: 1/0
Learning Outcomes
Pada akhir pertemuan ini, diharapkan
mahasiswa akan mampu:
– Menjelaskan konsep pemograman
berorientasi objek
Bina Nusantara
Outline Materi
•
•
•
•
•
•
•
•
Pengenalan OOP
Keuntungan OOP
Class and Object
Method
Abstraction
Encapsulation
Inheritance
Polymorphism
Bina Nusantara
Pengenalan OOP
• Object
Oriented
Programming
(OOP)
merupakan suatu teknik untuk membuat
program yang berorientasikan pada objek.
• Sebuah objek digambarkan dengan dengan
entitas pada dunia yang sesungguhnya yang
dapat dengan jelas diidentifikasikan. Contoh :
mahasiswa, mobil, meja dan sesuatu lainnya
yang dapat dilihat sebagai objek.
• Objek dalam bahasa pemograman tentunya
memiliki behavior/method, properties, type, dan
identity.
Bina Nusantara
Pengenalan OOP (lanjutan…)
• Semua data dan fungsi dibungkus dalam kelaskelas dan objek-objek.
• OOP memberi fasilitas untuk menulis program
dengan mengubah objek yang sesungguhnya
dalam komponen kode pemograman.
Bina Nusantara
Keuntungan OOP
• Sebuah bahasa object-oriented seperti Java
menggabungkan kemampuan bahasa yang
secara
prosedur
dengan
menambahkan
dimensi-dimensi yang menyediakan : lebih
fleksibel, lebih jelas, lebih mudah dipakai
kembali melalui abstraksi, encapsulation,
inheritance, dan polymorphism.
• Keuntungan OOP lainnya :
–
–
–
–
Bina Nusantara
Memungkingkan menggunakan real-world modeling
Mendukung penggunaan kembali code yang telah ada.
Menyediakan fleksibilitas dalam memodifikasi aplikasi yang telah ada
Membantu dengan mudah dalam pemeliharaan code yang telah ada.
Class and Object
• Class : Kumpulan atas definisi data dan method
dalam suatu unit untuk suatu tujuan tertentu.
Sebuah template blueprint yang mendefinisikan
apa itu data objek dan method.
• Object : sebuah representasi dari class.
• Contoh Class : manusia, yang memiliki nama,
umur, tinggi, berat badan, dan warna serta jenis
rambut (data objek/properties) dan juga dapat
makan,
berjalan,
bermain,
dan
tidur
(behavior/method).
• Contoh Object : Bernard yang berumur 19 tahun
memiliki tinggi 170cm, berat badan 70kg, rambut
hitam ikal, aktifitasnya makan, tidur, bermain dan
jalan-jalan.
Bina Nusantara
Method / Behavior
• Kemampuan dari objek.
• Semua tingkah laku maupun proses kerja suatu
objek diwakilkan / digambarkan oleh method.
• Contoh : Manusia dapat berbicara / bertanya,
berjalan, makan , tidur dan lain-lainnya.
Bina Nusantara
Abstraction
• Kemampuan sebuah program untuk melewati
aspek informasi yang diproses olehnya, yaitu
kemampuan untuk memfokus pada inti.
• Mengimplementasikan pemisah class dari
pengguna sebuah class.
• Fokus pada karakteristik dari sebuah objek yang
membedakan satu tipe dari objek yang lainnya
• 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.
Bina Nusantara
Encapsulation
• Detail – detail dari implementasi ditampilkan
secara ringkas dan disembunyikan dari user.
• Pengguna dari sebuah objek tidak dapat
mengganti keadaan dalam dengan cara tidak
layak, hanya metode didalam objek tersebut
yang diberi ijin untuk mengakses keadaannya.
Bina Nusantara
Inheritance
• Pewarisan sifat dari class lain ( kelas induk )
sehingga mendapatkan ciri atau sifat dari class
tersebut.
• Setiap class hanya diperbolehkan memiliki 1
kelas induk ( superclass ), dan setiap class
induk boleh memiliki class anak ( subclass )
yang tidak terbatas jumlahnya.
• Dalam OOP memperbolehkan untuk
medefinisikan sebuah class yang general (
general class ) dan yang baru untuk mengatur
beberapa class dengan menambahkan
beberapa detail code sederhana dengan
menggunakan definisi kelas yang lama.
Bina Nusantara
Polymorphism
• Satu method/behavior memiliki banyak
implementasi.
• Kemampuan suatu objek untuk memiliki banyak
bentuk yang bergantung pada situasi.
• Polymorphism menyediakan fleksibilitas untuk
sebuah aplikasi yang berdasarkan
keperluannya.
• Menyederhanakan code dan mengurangi
pengerjaan code yang sama ketika diperlukan
dalam pengembangan dan memodifikasi
aplikasi.
• Dapat diimplementasi dengan class inheritance,
interface atau keduanya
Bina Nusantara
Referensi
• Introduction to Java Programming. 7ed. Liang.
2009. Chapter 9, hal 331
• Java Software Solution. 5ed. Lewis & Loftus.
2007. Chapter 6, hal 322
• OOP
http://en.wikipedia.org/wiki/Object-oriented_programming
• OOP Concepts
http://java.sun.com/docs/books/tutorial/java/concepts/index.html
• OOPs and Its Concepts in Java
http://www.roseindia.net/java/beginners/oop-in-java.shtml
• Advantages of OOP
http://idynsolutions.wordpress.com/2006/11/06/oop-part-i-introduction/
Bina Nusantara
Download