Minggu, 25 Oktober 2009

Resensi Buku



MUDAH BELAJAR JAVA +CD
ISBN 979-1153-08-9
Pengarang BUDI RAHARJO / IMAM HERYANTO / ARIF HARYONO
Penerbit INFORMATIKA
Terbitan 02 Juli 2007
Kategori Language Programming Visual
Ukuran 21 x 14 cm (Standar)
Status lama
Harga Rp. 60,000


Java merupakan bahasa pemrograman yang saat ini sedang “naik daun” dan banyak digunakan oleh para programmer dan software developer untuk mengembangkan berbagai tipe aplikasi, mulai dari aplikasi console, aplikasi desktop, applet (aplikasi yang berjalan di lingkungan web browser), sampai ke aplikasi-aplikasi yang berskala enterprise. Untuk memenuhi kebutuhan tipe aplikasi yang beragam tersebut, Java dikategorikan menjadi tiga edisi, yaitu: J2SE (Java 2 Platform, Standard Edition) – untuk pembuatan aplikasi-aplikasi desktop dan applet, J2EE (Java 2 Platform, Enterprise Edition) – untuk pembuatan aplikasi-aplikasi multi-tier berskala enterprise, dan J2ME (Java 2 Platform, Micro Edition) – untuk pembuatan aplikasi-aplikasi yang dapat dijalankan di lingkungan perangkat-perangkat mikro seperti handphone dan PDA

Buku ini akan membahas semua teknik pemrograman di dalam J2SE, yang merupakan “core” atau inti dari pemrograman Java. Melalui buku ini, Anda akan diajak untuk mengenal, memahami, mempraktekkan, dan mampu mengimplementasikan konsep-konsep yang diperlukan dalam pemrograman Java. Pembahasan dalam buku ini akan dimulai dari yang paling sederhana, yaitu dengan penguasaan elemen-elemen dasar program seperti: arsitektur program di dalam Java beserta dengan teknik pembuatan dan kompilasinya, tipe data, operator, struktur kontrol, dan sebagainya. Selanjutnya, Anda akan diajak untuk bereksplorasi tentang fitur-fitur yang mendukung konsep pemrograman berorientasi objek di dalam Java. Terakhir, Anda akan dikenalkan dengan teknik-teknik pemrograman tingkat lanjut, termasuk cara-cara pembuatan aplikasi visual (aplikasi berbasis GUI – Graphical User Interface) di dalam Java.

Buku ini cocok untuk siapa saja yang berminat mempelajari dan mengimplementasikan semua konsep pemrograman Java secara mudah dan cepat. Semua materi dalam buku ini disuguhkan dalam “logat” tutorial dan langsung disertai dengan contoh program sehingga akan mudah untuk dipahami. Tujuan akhir dari buku ini adalah mengantarkan, menuntun, dan memandu Anda untuk menjadi seorang programmer Java.

Untuk memudahkan Anda dalam mempelajari semua materi yang disampaikan, buku ini juga disertai dengan CD pendukung yang berisi kode sumber (source code) dari contoh-contoh program yang ada dan software-software yang dibutuhkan sehingga Anda tidak perlu repot untuk mencari maupun men-download-nya dari internet.

Adapun isi CD pendukung yang terdapat dalam buku ini adalah sebagai berikut:

  • Kode sumber (source code)
  • Software Java 2 SDK, Standard Edition
  • Software Java IDE (Integrated Development Environment)
    • JCreator
    • Eclipse
    • NetBeans

Daftar Isi


Kata Pengantar iii
Daftar Isi v


Bab 1. Pengenalan Java 1
1.1 Program di dalam Java: Bytecode 2
1.2 Perbedaan Pemrograman Prosedural dan Pemrograman Berorientasi Objek 4
1.3 Software Apa yang Dibutuhkan? 6
1.4 Instalasi Software Java 2 SDK, Standard Edition 7
1.5 Setting CLASSPATH 11
1.6 Membuat Program “Hello World” 12
1.7 Melakukan Kompilasi dan Eksekusi Program 16
1.8 Java IDE: JCreator, Eclipse, dan NetBeans 18
1.8.1 Menggunakan JCreator 18
1.8.2 Menggunakan Eclipse 23
1.8.3 Menggunakan NetBeans 27
1.9 Elemen-elemen Dasar dalam Bahasa Java 29
1.9.1 Komentar Program 30
1.9.2 Blok Program 31
1.9.3 Separator 32
1.9.4 Kata Kunci 34
1.10 Konsep Pemrograman Berorientasi Objek 35
1.10.1 Abstraksi 35
1.10.2 Pembungkusan 36
1.10.2.1 Tingkat Akses private 36
1.10.2.2 Tingkat Akses protected 37
1.10.2.3 Tingkat Akses public 37
1.10.3 Pewarisan 37
1.10.4 Polimorfisme 38

Bab 2. Tipe Data, Variabel, dan Array 39
2.1 Pengelompokkan Tipe Data dalam Java 39
2.1.1 Tipe Integer (Bilangan Bulat) 41
2.1.1.1 Tipe byte 41
2.1.1.2 Tipe short 42
2.1.1.3 Tipe int 42
2.1.1.4 Tipe long 43
2.1.2 Tipe Floating-Point (Bilangan Riil) 43
2.1.2.1 Tipe float 44
2.1.2.2 Tipe double 44
2.1.3 Tipe Karakter 45
2.1.4 Tipe Boolean 48
2.2 Variabel 51
2.2.1 Mendeklarasikan Variabel 51
2.2.2 Inisialisasi Variabel 53
2.2.3 Lingkup dan Daur Hidup Variabel 54
2.3. Typecasting 54
2.3.1 Konversi Otomatis dalam Java 55
2.3.2 Konversi Tipe Data yang Tidak Kompatibel 55
2.4 Promosi Tipe Data di dalam Ekspresi 58
2.4.1 Batasan Promosi Tipe Data 59
2.5 Array 59
2.5.1 Array Satu-Dimensi 60
2.5.2 Array Multi-Dimensi 63
2.6 Pengenalan Tipe String di dalam Java 65
2.7 Java dan Pointer (Bagi Programmer C/C++) 66

Bab 3. Operator 67
3.1 Operator Aritmetika 67
3.1.1 Operator-operator Aritmetika Dasar 69
3.1.2 Operator Modulus (Sisa Bagi) 70
3.1.3 Operator Increment dan Decrement 72
3.2 Operator Relasional 74
3.3 Operator Logika 76
3.4 Operator Bitwise 78
3.4.1 Operator Bitwise AND 79
3.4.2 Operator Bitwise OR 79
3.4.3 Operator Bitwise XOR 80
3.4.4 Operator Bitwise NOT 80
3.4.5 Operator Shift Right 80
3.4.6 Operator Shift Right Zero Fill 81
3.4.7 Operator Shift Left 81
3.5 Operator ?: 82
3.6 Prioritas pada Operator 83
3.7 Penggunaan Tanda Kurung dalam Ekspresi 84

Bab 4. Statemen Kontrol 85
4.1 Pemilihan 86
4.1.1 Statemen if 86
4.1.1.1 Satu Kondisi 87
4.1.1.2 Dua Kondisi 89
4.1.1.3 Tiga Kondisi atau Lebih 92
4.1.2 Statemen switch 96
4.2 Pengulangan 102
4.2.1 Struktur for 103
4.2.1.1 Penggunaan Koma dalam Struktur for 106
4.2.1.2 Beberapa Variasi dalam Struktur for 107
4.2.2 Struktur while 110
4.2.3 Struktur do-while 113
4.2.4 Pengulangan Bersarang 116
4.3 Statemen Peloncatan 118
4.3.1 Menggunakan break 118
4.3.1.1 Menggunakan break untuk Menghentikan Proses Pengulangan 118
4.3.1.2 Menggunakan break untuk Keluar dari Blok Label 121
4.3.2 Menggunakan continue 122
4.3.3 Menggunakan return 123

Bab 5. Kelas dan Objek (Bagian 1) 125
5.1 Apa Itu Kelas? 126
5.1.1 Mendefinisikan Kelas 127
5.1.2 Contoh Kelas Sederhana 128
5.2 Mendeklarasikan Objek 131
5.3 Mengisi Nilai pada Referensi Objek 133
5.4 Apa Itu Method? 137
5.4.1 Mendefinisikan Method 138
5.4.2 Pengembalian Nilai di dalam Method 140
5.4.3 Method Berparameter 142
5.5 Constructor 145
5.6 Kata Kunci this 147
5.7 Mengenal Garbage Collection di dalam Java 149
5.8 Method finalize() 150

Bab 6. Kelas dan Objek (Bagian 2) 151
6.1 Melakukan Overload terhadap Method 151
6.1.1 Overload pada Constructor 155
6.2 Objek sebagai Parameter 159
6.3 Melewatkan Argumen di dalam Java 162
6.4 Objek sebagai Nilai Kembalian 167
6.5 Rekursi 168
6.5.1 Menentukan Nilai Faktorial 169
6.5.2 Menentukan Nilai Perpangkatan 171
6.5.3 Konversi Bilangan Desimal ke Bilangan Biner 173
6.5.4 Konversi Bilangan Desimal ke Bilangan Heksadesimal 175
6.6 Menentukan Tingkat Akses Data dan Method 177
6.7 Mengenal Kata Kunci static 180
6.8 Mengenal Kata Kunci final 184
6.9 Mendefinisikan Kelas di dalam Kelas (Inner Class) 186

Bab 7. Pewarisan Sifat Objek 189
7.1 Dasar Pewarisan: Superclass dan Subclass 189
7.2 Membuat Kelas Turunan (Subclass) 191
7.3 Tingkat Akses protected 194
7.4 Menggunakan Kata Kunci super 198
7.4.1 Menggunakan super untuk Memanggil Constructor Kelas Induk 199
7.4.2 Menggunakan super untuk Mengakses Anggota Kelas Induk 202
7.5 Java Tidak Mendukung Multiple-Inheritance 204
7.6 Constructor pada Proses Penurunan Kelas 208
7.7 Melakukan Override terhadap Method 210
7.8 Perbedaan Override dengan Overload 213
7.9 Polimorfisme 214
7.10 Kelas Abstrak 219
7.11 Kata Kunci final pada Proses Pewarisan 225
7.11.1 Mencegah Method dari Proses Override 225
7.11.2 Menjadikan Kelas Tidak Dapat Diturunkan Lagi 226

Bab 8. Paket dan Interface 227
8.1 Apa Itu Paket? 228
8.2 Membuat Paket 228
8.3 Mengimpor Paket yang Telah Dibuat ke dalam Program 231
8.4 Paket di dalam Paket 232
8.5 Peranan Tingkat Akses di dalam Paket 233
8.6 Apa Itu Interface 234
8.7 Membuat Interface 235
8.8 Menggunakan Interface 236
8.9 Membuat Referensi ke Tipe Interface 240
8.10 Variabel di dalam Interface 241
8.11 Interface Dapat Diturunkan Menjadi Interface Lain 242

Bab 9. Penjebakan Eksepsi 245
9.1 Apa Itu Eksepsi? 246
9.2 Tipe Eksepsi dalam Java 248
9.3 Menggunakan Kata Kunci try dan catch 250
9.4 Penjebakan Beberapa Tipe Eksepsi 254
9.5 Blok try Bersarang 258
9.6 Menggunakan Kata Kunci throw 260
9.7 Menggunakan Kata Kunci throws 263
9.8 Menggunakan Kata Kunci finally 266
9.9 Membuat Kelas Eksepsi Sendiri 268

Bab 10. Input dan Output 273
10.1 Dasar-dasar I/O 273
10.1.1 Pengertian Stream 274
10.1.2 Tipe Stream 274
10.1.2.1 Stream Byte 275
10.1.2.2 Stream Karakter 276
10.1.2.3 Stream yang Telah Terdefinisi 277
10.2 Melakukan Input 278
10.2.1 Membaca Input Data Karakter 279
10.2.2 Membaca Input Data String 280
10.2.3 Membaca Input Data Numerik 281
10.3 Menampilkan Output 283
10.4 Mengenal Kelas PrintWriter 284
10.5 Dasar-dasar Baca/Tulis File 286
10.6 Kelas dan Interface yang Berkaitan dengan I/O 291
10.7 Kelas File 292
10.7.1 Memperoleh Informasi File 294
10.7.2 Membuat File 295
10.7.3 Mengubah Nama File 296
10.7.4 Menghapus File 296
10.7.5 Menampilkan Daftar File dan Direktori 297
10.7.6 Membuat Direktori Baru 298

Bab 11. String dalam Java 299
11.1 Dalam Java, String adalah Objek 300
11.2 Membentuk Objek dari Kelas String 301
11.3 Operasi String 303
11.3.1 Menyambung String 303
11.3.2 Memahami Method toString() 306
11.3.3 Menentukan Huruf Besar/Kapital dan Huruf Kecil 308
11.4 Pengambilan Karakter dari Sebuah String 309
11.4.1 Method charAt() 310
11.4.2 Method getChars() 312
11.4.3 Method getBytes() 313
11.4.4 Method toCharArray() 314
11.5 Method-method Penting untuk Modifikasi String 315
11.5.1 Method trim() 315
11.5.2 Method substring() 316
11.5.3 Method replace() 317
11.5.4 Method concat() 318
11.6 Membandingkan Dua Buah String 318
11.6.1 Method equals() 319
11.6.2 Method equalsIgnoreCase() 320
11.6.3 Method startsWith() 321
11.6.4 Method endsWith() 322
11.6.5 Method regionMatches() 323
11.6.6 Method compareTo() dan compareToIgnoreCase() 324
11.6.7. Perbedaan Method equals() dengan Operator == 326
11.7 Pencarian String 328
11.8 Array dari Tipe String 330
11.9 Argumen pada Command-Line 330
11.10 Menggunakan Kelas StringBuffer 331
11.10.1 Perbedaan Method capacity() dan length() 333
11.10.2 Menentukan Kapasitas Buffer 333
11.10.3 Menentukan Lebar Karakter 335
11.10.4 Method charAt() dan setCharAt() 336
11.10.5 Method getChars() 338
11.10.6 Menambahkan Karakter atau Substring 338
11.10.7 Menyisipkan Karakter atau Substring 339
11.10.8 Menghapus Karakter atau Substring 340
11.10.9 Mengganti Karakter atau Substring 342
11.10.10 Membalik Posisi String 343
11.10.11 Menggunakan Method substring() 344

Bab 12. Thread 345
12.1 Multitasking dan Multithreading 345
12.2 Apa Itu Thread? 347
12.3 Thread Utama: Setiap Program Java Memiliki Thread 348
12.4 Membuat dan Menjalankan Thread 351
12.4.1 Cara I: Mengimplementasikan Interface Runnable 351
12.4.2 Cara II: Menurunkan Kelas Thread 354
12.4.3 Cara Mana yang Lebih Direkomendasikan? 355
12.5 Menghentikan Thread 356
12.6 Multiple Thread 358
12.7 Mengenal Method isAlive() dan join() 360
12.8 Menentukan Prioritas Thread 363
12.9 Sinkronisasi 366
12.9.1 Monitor/Lock 367
12.9.2 Method untuk Sinkronisasi 367
12.9.3 Blok untuk Sinkronisasi 370

Bab 13. Pembuatan GUI: Aplikasi Visual 373
13.1 AWT dan Swing 374
13.2 Mengapa Kita Tidak Menggunakan AWT? 374
13.3 Penanganan Kejadian (Event-Handling) 374
13.3.1 Mekanisme Event-Handling dalam Java 375
13.3.1.1 Event Source 378
13.3.1.2 Event Listener 379
13.3.2 Kelas-kelas Event 379
13.3.3 Objek-objek yang Dapat Membangkitkan Event 381
13.3.4 Interface-interface untuk Event Listener 381
13.4 Eksplorasi Komponen-komponen Swing 384
13.4.1 Tipe Container Tertinggi dalam Swing 384
13.4.1.1 Applet 384
13.4.1.2 Dialog 387
13.4.1.3 Frame 390
13.4.2 Komponen-komponen Kontrol Tingkat Dasar 392
13.4.2.1 Komponen JButton 393
13.4.2.2 Komponen JCheckBox 395
13.4.2.3 Komponen JRadioButton 397
13.4.2.4 Komponen JTextField 400
13.4.2.5 Komponen JTextArea 403
13.4.2.6 Komponen JComboBox 405
13.4.2.7 Komponen JList 409
13.4.3 Komponen-komponen Kontrol Tingkat Lanjut 412
13.4.3.1 Komponen JTabbedPane 412
13.4.3.2 Komponen JTree 416
13.4.3.3 Komponen JTable 420
13.4.4 Membuat Menu 423


Daftar Pustaka 427




1 komentar:

  1. boleh minta referensi bukunya gak soalnya ini penting buat tugas....
    trims :)

    BalasHapus