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-