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: info@grahailmu.co.id Hak Cipta dilindungi undang-undang. Dilarang memper banyak 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 Puji Syukur kehadirat Ida Sang Hyang Widi Wasa yang telah berkenan menganugerahkan ke sempatan 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 v DAFTAR ISI vii BAB 1 PENGANTAR 1 Tujuan Instruksional Umum 1 Tujuan Instruksional Khusus 1 1.1 Pengertian Objek 1 1.2 Konsep Pemrograman Beroriantasi Objek 2 1.3 Perbedaan Pemrograman Berorientasi Objek 2 1.4 Soal Evaluasi Bab 1 3 BAB 2 PENGENALAN BAHASA JAVA 5 Tujuan Instruksional Umum 5 Tujuan Instruksional Khusus 5 2.1 Pengantar Bahasa Java 5 2.2 Memulai Java 6 2.3 Soal Evaluasi Bab 2 8 BAB 3 TIPE DATA 9 Tujuan Instruksional Umum 9 Tujuan Instruksional Khusus 9 3.1 Variabel dan Tipe Data 9 3.2 Jenis-jenis Variabel 12 3.3 Literal 12
viii Pengembangan Pribadi Konselor 3.4 Contoh Program Variabel dan Tipe Data 14 3.5. Soal evaluasi BAB III 15 BAB IV STRING, OBJEK DAN SUBRUTIN 17 Tujuan Instruksional Umum 17 Tujuan Instruksional Khusus 17 4.1 Kelas sebagai tipe data 18 4.2 Kelas sebagai kumpulan subrutin dan variabel statik 18 4.3 Soal evaluasi Bab IV 23 BAB V OPERATOR 25 Tujuan Instruksional Umum 25 Tujuan Instruksional Khusus 25 5.1 Operator Aritmatika 25 5.2 Operator Tunggal 27 5.3 Operator Pembanding, Boolean dan Kondisi 28 5.4 Operator Pemberi Nilai & Type Casting 31 5.5 Soal Evaluasi BAB V 33 BAB VI INTERMEZZO: MEMBACA INPUT DARI USER 35 Tujuan Instruksional Umum 35 Tujuan Instruksional Khusus 35 6.1 Membaca String yang diketik oleh user di konsol 35 6.2 Intermezzo : Mengubah String ke int dan double 37 6.3 Soal evaluasi BAB VI 39 BAB VII MEMULAI JAVA LEBIH LANJUT - STRUKTUR KONTROL 41 Tujuan Instruksional Umum 41 Tujuan Instruksional Khusus 41 7.1 Blok, Perulangan, dan Percabangan 42 7.2 Perancangan Algoritma 58 7.3 Membuat kode, menguji, dan mencari kesalahan (debugging) 62 7.4 Soal evaluasi BAB VII 67 BAB VIII CLASS, METHOD DAN MODIFIER 69 Tujuan Instruksional Umum 69 Tujuan Instruksional Khusus 69 8.1 Pengertian Kelas 69 8.2 Anatomi Kelas 69 8.3 Deklarai Attribute (Variabel Anggota Data) 70
Daftar Isi ix 8.4. Deklarai Method 70 8.5 Soal evaluasi BAB VIII 75 BAB IX PACKAGE 77 9.1. Pengertian Package 77 9.2 Pengaruh Package terhadap Method main() 77 9.3 Mendeklarasikan dan Memberi Nama Package 77 9.4 Membuat Struktur Direktori 78 9.5 Compile dan Run Kelas dari suatu Package 78 9.6 Setting Classpath 78 9.7 Soal Evaluasi BAB IX 79 BAB X INFORMATION HIDING, ENCAPSULATION, INHERITANCE DAN POLYMORHISM 81 Tujuan Instruksional Umum 81 Tujuan Instruksional Khusus 81 10.1 Latar Belakang Encapsulation 81 10.2 Information Hiding dan Encapsulation 82 10.3 Inheritance 83 10.4 Overrriding Attribute dan Method 83 10.5 Menggunakan Method dan Constructor Kelas Super 84 10.6 Polymorphism 84 10.7 Soal Evaluasi BAB X 86 BAB XI KELAS INNER, KELAS ABSTRCT DAN INTERFACE 87 Tujuan Instruksional Umum 87 Tujuan Instruksional Khusus 87 11.1 Kelas Inner 87 11.2 Kelas Abstract 89 11.3 Interface 89 11.4 Interface vs Class 91 11.5 Interface vs Inheritance 91 11.6 Interface vs Abstract Class 92 11.7 Soal Evaluasi BAB XI 92 BAB XII EXCEPTION HANDLING 93 Tujuan Instruksional Umum 93 Tujuan Instruksional Khusus 93 12.1. Pendahuluan 93 12.2 Jenis-Jenis Exception 93 12.3 Soal Evaluasi BAB XII 97
x Pemrograman Berorientasi Objek BAB XIII EVALUASI KONSEP OOP 99 Tujuan Instruksional Umum 99 Tujuan Instruksional Khusus 99 13.1 Pengertian Kelas 99 13.2 SRP (Single Responsibility Principle) 100 13.3 OCP (Open Close Principle) 102 13.4 LSP (Liskov substitution principle) 103 13.5 ISP (Interface Segregation principle) 104 13.6 DIP (Dependency Inversion principle) 106 13.7 Soal Evaluasi BAB XIII 108 DAFTAR PUSTAKA 109 -oo0oo-