Pemrograman Berorientasi Objek Edisi 2, oleh I Made Agus Wirawan, S.Kom., M.Sc. Hak Cipta © 2014 pada penulis GRAHA ILMU Ruko Jambusari 7A Yogyakarta 55283 Telp: 0274-889398; Fax: 0274-889057; E-mail: [email protected] Hak Cipta dilindungi undang-undang. Dilarang memperbanyak atau memindahkan sebagian atau seluruh isi buku ini dalam bentuk apa pun, secara elektronis maupun mekanis, termasuk memfotokopi, merekam, atau dengan teknik perekaman lainnya, tanpa izin tertulis dari penerbit. ISBN: 978-602-262-361-8 Cetakan Pertama, tahun 2014 Semua informasi tentang buku ini, silahkan scan QR Code di cover belakang buku ini KATA PENGANTAR P uji Syukur kehadirat Ida Sang Hyang Widi Wasa yang telah berkenan menganugerahkan kesempatan sehingga buku ajar Pemrograman Berorientasi Objek (PBO) dapat diselesaikan oleh penulis. Buku ini disusun untuk memudahkan pembaca dalam memahami konsep Pemrograman Berorientasi Objek dan mamapu untuk mengimplementasikannya kedalam bahasa pemroraman java. Materi dalam buku ini disajikan secara tematik. Pada BAB I materi yang disajikan berupa pemahaman dasar mengenai konsep PBO. BAB II materi yang disajikan berupa pengenalan bahasa java. BAB III materi yang disajikan berupa tipe data yang didukung oleh bahasa java. BAB IV materi yang disajikan berupa konsep String, Objek dan Subrutin. BAB V materi yang disajikan berupa Operator dalam bahasa java. BAB VI materi yang disajikan berupa perintah bahasa java untuk menerima input dari user. BAB VII materi yang disajikan berupa struktur control dalam bahasa java. BAB VIII materi yang disajikan berupa konsep class, method, dan modifier serta implementasinya dalam bahasa java. BAB IX materi yang disajikan berupa konsep package serta implementasinya dalam bahasa java. BAB X materi yang disajikan berupa konsep information hiding, encapsulation, inheritance, dan polymorhism serta implementasinya dalam bahasa java. BAB XI materi yang disajikan berupa konsep kelas inner, kelas abstrct, dan interface serta implementasinya dalam bahasa java. BAB XII materi yang disajikan berupa konsep exception handling serta implementasinya dalam bahasa java. Dan pada BAB XIII materi yang disajikan berupa aturan – aturan SOLID yang digunakan dalam membangun sebuah kelas dalam konsep PBO. Pada kesempatan ini penulis mengucapkan terima kasih kepada semua pihak yang berkenan memberikan kritik dan saran dalam rangka penyempurnaan buku ini di kemudian hari. Akhirnya penulis berharap dengan terbitnya buku ini dapat memberikan motivasi yang positif bagi desen dan mahasiswa jurusan Pendidikan Teknik Informatika pada untuk lebih memahami matakuliah Pemrograman Berorientasi Objek. Penulis DAFTAR ISI KATA PENGANTAR DAFTAR ISI BAB 1 BAB 2 BAB 3 v vii PENGANTAR 1 Tujuan Instruksional Umum Tujuan Instruksional Khusus 1.1 Pengertian Objek 1.2 Konsep Pemrograman Beroriantasi Objek 1.3 Perbedaan Pemrograman Berorientasi Objek 1.4 Soal Evaluasi Bab 1 1 1 1 2 2 3 PENGENALAN BAHASA JAVA 5 Tujuan Instruksional Umum Tujuan Instruksional Khusus 2.1 Pengantar Bahasa Java 2.2 Memulai Java 2.3 Soal Evaluasi Bab 2 5 5 5 6 8 TIPE DATA 9 Tujuan Instruksional Umum Tujuan Instruksional Khusus 3.1 Variabel dan Tipe Data 3.2 Jenis-jenis Variabel 3.3 Literal 9 9 9 12 12 viii BAB IV BAB V BAB VI BAB VII Pengembangan Pribadi Konselor 3.4 Contoh Program Variabel dan Tipe Data 3.5. Soal evaluasi BAB III 14 15 STRING, OBJEK DAN SUBRUTIN 17 Tujuan Instruksional Umum Tujuan Instruksional Khusus 4.1 Kelas sebagai tipe data 4.2 Kelas sebagai kumpulan subrutin dan variabel statik 4.3 Soal evaluasi Bab IV 17 17 18 18 23 OPERATOR 25 Tujuan Instruksional Umum Tujuan Instruksional Khusus 5.1 Operator Aritmatika 5.2 Operator Tunggal 5.3 Operator Pembanding, Boolean dan Kondisi 5.4 Operator Pemberi Nilai & Type Casting 5.5 Soal Evaluasi BAB V 25 25 25 27 28 31 33 INTERMEZZO: MEMBACA INPUT DARI USER 35 Tujuan Instruksional Umum Tujuan Instruksional Khusus 6.1 Membaca String yang diketik oleh user di konsol 6.2 Intermezzo : Mengubah String ke int dan double 6.3 Soal evaluasi BAB VI 35 35 35 37 39 MEMULAI JAVA LEBIH LANJUT - STRUKTUR KONTROL 41 Tujuan Instruksional Umum Tujuan Instruksional Khusus 7.1 Blok, Perulangan, dan Percabangan 7.2 Perancangan Algoritma 7.3 Membuat kode, menguji, dan mencari kesalahan (debugging) 7.4 Soal evaluasi BAB VII 41 41 42 58 62 67 BAB VIII CLASS, METHOD DAN MODIFIER Tujuan Instruksional Umum Tujuan Instruksional Khusus 8.1 Pengertian Kelas 8.2 Anatomi Kelas 8.3 Deklarai Attribute (Variabel Anggota Data) 69 69 69 69 69 70 Daftar Isi ix 8.4. 8.5 BAB IX BAB X BAB XI BAB XII Deklarai Method Soal evaluasi BAB VIII 70 75 PACKAGE 77 9.1. Pengertian Package 9.2 Pengaruh Package terhadap Method main() 9.3 Mendeklarasikan dan Memberi Nama Package 9.4 Membuat Struktur Direktori 9.5 Compile dan Run Kelas dari suatu Package 9.6 Setting Classpath 9.7 Soal Evaluasi BAB IX 77 77 77 78 78 78 79 INFORMATION HIDING, ENCAPSULATION, INHERITANCE DAN POLYMORHISM 81 Tujuan Instruksional Umum Tujuan Instruksional Khusus 10.1 Latar Belakang Encapsulation 10.2 Information Hiding dan Encapsulation 10.3 Inheritance 10.4 Overrriding Attribute dan Method 10.5 Menggunakan Method dan Constructor Kelas Super 10.6 Polymorphism 10.7 Soal Evaluasi BAB X 81 81 81 82 83 83 84 84 86 KELAS INNER, KELAS ABSTRCT DAN INTERFACE 87 Tujuan Instruksional Umum Tujuan Instruksional Khusus 11.1 Kelas Inner 11.2 Kelas Abstract 11.3 Interface 11.4 Interface vs Class 11.5 Interface vs Inheritance 11.6 Interface vs Abstract Class 11.7 Soal Evaluasi BAB XI 87 87 87 89 89 91 91 92 92 EXCEPTION HANDLING 93 Tujuan Instruksional Umum Tujuan Instruksional Khusus 12.1. Pendahuluan 12.2 Jenis-Jenis Exception 12.3 Soal Evaluasi BAB XII 93 93 93 93 97 x Pemrograman Berorientasi Objek BAB XIII EVALUASI KONSEP OOP 99 Tujuan Instruksional Umum Tujuan Instruksional Khusus 13.1 Pengertian Kelas 13.2 SRP (Single Responsibility Principle) 13.3 OCP (Open Close Principle) 13.4 LSP (Liskov substitution principle) 13.5 ISP (Interface Segregation principle) 13.6 DIP (Dependency Inversion principle) 13.7 Soal Evaluasi BAB XIII DAFTAR PUSTAKA 99 99 99 100 102 103 104 106 108 109 -oo0oo-