Pemrograman Berbasis Objek Fery Updi, M.Kom 1
Capaian Kompetensi Mahasiswa mampu: 1. Memahami definisi objek dan cara mendesain berorientasi objek, 2. Memahami definisi dan deklarasi class & method, 3. Memahami definisi dan contoh penggunaan message, 4. Memahami konsep dan definisi dari instance, 5. Memahami konsep dan fungsi inisialisasi, 6. Memahami definisi dari tiga pilar pembentukan OOP, 7. Memahami definisi dari subclass dan subtype, 8. Memahami definisi dari replacement dan refinement dan konsep overriding, 9. Memahami konsep dari multithreading, 10. Memahami konsep penanganan eksepsi, 11. Memahami konsep dari multiple inheritance, 12. Memahami cara membuat multiple inheritance, 13. Memahami konsep dari polymorphism 14. Memahami penyelesaian dari kasus untuk OOP 2
Komponen Penilaian 1. Absen : 10% 2. KAT* : 25 % 3. UTS : 25 % 4. UAS : 40 % *)Kegiatan Akademik Terstruktur 3
Praktikum Praktikum mengikuti pokok bahasan Tool: NetBeans IDE Versi 8 4
Apa yang Anda harapkan dari kuliah ini? Mencari nilai? Memahami konsep pemrograman berorientasi objek? Bisa menerapkan konsep pemrograman berorientasi objek dalam pemrograman Java? 5
Pokok Bahasan Berpikir Object Oriented 6
Berpikir Object Oriented OOP (Object Oriented Programming) merupakan teknik membuat suatu program berdasarkan objek dan apa yang bisa dilakukan objek tersebut. OOP terdiri dari objek-objek yang berinteraksi satu sama lain untuk menyelesaikan sebuah tugas. Kode-kode di-breakdown agar lebih mudah di-manage. Breakdown berdasarkan objek-objek yang ada pada program tersebut. Dianjurkan diimplementasikan untuk program dengan berbagai ukuran karena lebih mudah untuk men-debug. 7
Apa sih OOP itu? Pemrograman Berorientasi Object (OOP) adalah model pemrograman yang paling banyak dipakai saat ini. OOP telah menggantikan teknik pemrograman prosedural yang telah dipakai sejak tahun 1970-an Java adalah bahasa yang berorientasi objek, karena itu Anda harus paham OOP agar dapat produktif menggunakan Java. Program yang Berorientasi Objek akan terdiri dari objek-objek. Objek-objek ini seringkali merepresentasikan apa yang ada di dunia nyata. 8
Class Object Relationship (antar class) Dependence Aggregation Inheritance Encapsulation Instantiation & Instance Instance Variable Istilah-istilah baru di OOP Method (mutator & accessor method) 9
Berpikir OOP (contoh: Di pabrik Mobil) Sebelum seseorang mengendarai mobil, tentu Anda harus membuat mobil tersebut terlebih dahulu. 10
Bagaimana cara membuat mobil Langkah 1 : Menggambar desain mobil. Langkah 2 : Menambahkan detil mobil tersebut, misal : Desain pedal gas untuk maju Desain rem untuk berhenti Desain setir untuk belok kiri/kanan, dll. Langkah 3 : Proses pembuatan mobil dimulai. 11
Bagaimana pedal gas bekerja? Apa yang sebenarnya terjadi di dalam mesin pada saat pedal gas diinjak? Apakah Anda sebagai pengendara perlu tahu, bagaimana cara kerja detil dari pedal gas? Tentu tidak. Yang perlu Anda ketahui hanyalah bahwa kalau pedal gas diinjak akan mempercepat laju mobil! Artinya, detil dan cara kerja pedal disembunyikan dari penggunanya. Anda cukup tahu aturan dan fungsinya saja: Injak pedal gas sebelah kiri maka mobil akan melaju 12
Desain Mobil Objek Mobil Jadi kesimpulannya, sebelum Anda membuat objek mobil, seseorang harus merancang terlebih dahulu. Di dalam rancangan tersebut, semua detil cara kerja mobil disembunyikan dari para penggunanya kelak. Setelah desain mobil dibuat, maka kita dapat mulai membuat berbagai objek mobil yang diinginkan. 13
Apa hubungannya dengan OOP? Sama halnya dengan penyembunyian detil PEDAL pada sebuah MOBIL, di OOP kita menyembunyikan detil pemrograman di dalam sebuah METHOD (FUNGSI) METHOD-METHOD ini dibuat dan disimpan bersama-sama di dalam suatu desain yang disebut dengan CLASS. METHOD injak gas, injak rem, belok kiri, belok kanan, dll CLASS rancangan mobil 14
Merancang aplikasi program berbasis OOP Sekarang, Anda diminta merancang suatu program untuk sebuah BANK: Di aplikasi BANK, pasti ada yang namanya REKENING Dengan menggunakan konsep yang sama: Anda dapat mendesain sebuah CLASS yang merepresentasikan REKENING. REKENING tersebut didesain sedemikian rupa sehingga memiliki 3 METHOD, yaitu: METHOD untuk menyimpan uang (tabung) METHOD untuk mengambil uang (tarik) METHOD untuk memeriksa saldo (cek) 15
Analogi Pabrik Mobil & Program BANK 16
Perbedaan OOP dengan Non-Obyek 1. Penggunaan alat: Untuk menggambarkan model dalam PBO digunakan object diagram sedangkan dalam Non-PBO digunakan data flow diagram, entity relationship diagram dan structure chart 2. Data dan proses: Pada non-obyek, data dan proses dianggap sebagai dua komponen yang berlainan, sedangkan pada PBO, data dan proses merupakan satu kesatuan yaitu bagian dari obyek. 17
Struktur program dari OOP 18
Perangkat lunak pendukung OOP Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut : 1. Sederhana 2. Berorientasi objek (Object Oriented) 3. Dapat didistribusi dengan mudah 4. Interpreter (JVM) 5. Robust (deteksi error lebih teliti) 6. Aman 7. Architecture Neutral (platform independent) 8. Portable 9. Performance 10. Multithreaded (melakukan pekerjaan sekaligus) 11. Dinamis 19
Perangkat Lunak PBO Alur kerja perangkat lunak PBO Mengapa memilih Java sebagai perangkat lunak pemrograman berorientasi obyek? Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. 20
Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform system operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source. 21
Topik : Class dan Method Next 22
23