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