tutorial java [bab 1]
Post on 14-Jun-2015
8.033 Views
Preview:
DESCRIPTION
TRANSCRIPT
Pengenalan Java
Pengenalan Java
1.1 Sejarah Java
Java bermula dari proyek penelitian perusahaan Sun Microsystems dengan nama sandi Green pada tahun 1991. Terdapat prediksi bahwa mikroprosesor akan digunakan luas pada peralatan-peralatan elektronik. Karena adanya bermacam tipe mikroprosesor, maka dibutuhkan sebuah bahasa pemrograman yang dapat berjalan di semua mikroprosesor.
Terciptalah sebuah bahasa pemrograman baru. Oleh James Gosling, yaitu salah satu orang yang berperan besar dalam proyek tersebut, program ini diberi nama Oak. Sesuai dengan pohon Oak yang tumbuh dan bisa dilihat melalui jendela kerjanya di Sun Microsystems.
Selang beberapa waktu kemudian, ditemukan bahwa sudah ada bahasa pemrograman dengan nama Oak. Akhirnya setelah beberapa pegawai Sun mengunjungi sebuah kedai kopi, nama bahasa pemrograman ini diganti dengan Java. Java merupakan salah satu jenis biji kopi yang ada di kedai tersebut, yaitu biji kopi Jawa.
Sun Microsystems mengumumkan kehadiran bahasa Java secara formal di tahun 1995. Bahasa ini mulai disambut hangat masyarakat luas seiring dengan meledaknya era internet.
www.binsis.com 1
B a b 1
Bab 1 Mastering Java™
1.2 Perkembangan Teknologi JavaSaat ini Sun Microsystems membagi Java menjadi empat jenis edisi:
Java Card: Teknologi Java yang digunakan pada peralatan elektronik yang memiliki memori sangat terbatas, misalnya smart card.
J2ME: Java 2 Platform, Micro Edition. Merupakan teknologi Java edisi mikro, digunakan untuk penerapan teknologi Java pada peralatan elektronik seperti hand phone dan PDA.
J2SE: Java 2 Platform, Standard Edition. Merupakan teknologi Java edisi standar, digunakan untuk penerapan teknologi Java pada komputer desktop.
J2EE: Java 2 Platform, Enterprise Edition. Merupakan teknologi Java edisi enterprise, digunakan untuk penerapan teknologi Java pada komputer server.
Setiap edisi Java terdiri dari dua komponen utama berikut:
Java Application Programming Interface (Java API). Java API terdiri dari kumpulan library yang digunakan untuk keperluan pemrograman. Dengan adanya API, Anda tidak harus membuat program dari awal. Misalnya untuk J2SE, sudah terdapat API untuk pengolahan window dengan Swing dan AWT (Abstract Window Toolkit).
Java Run Time Environment (JRE). JRE merupakan lingkungan yang membuat aplikasi Java dapat dijalankan. Salah satu komponen penting JRE adalah Java Virtual Machine (JVM).
JVM merupakan mesin virtual berupa aplikasi yang digunakan untuk menjalankan kode Java (bytecode). JVM inilah yang membuat Java menjadi platform independen. JVM bisa berbeda, tergantung pada platform yang akan digunakan. Misalnya ada JVM untuk PC Windows dan Linux, serta untuk Apple. Setiap komputer dan peralatan elektronik dapat menjalankan program Java, asalkan terdapat JVM untuk komputer atau peralatan elektronik tersebut. JVM sendiri tidak ditulis dalam bahasa Java namun dengan bahasa lain, yaitu C++.
Versi Java Tahun Jumlah class
2 www.binsis.com
Pengenalan Java
1.0 1996 2111.1 1997 4771.2 1998 15241.3 2000 18401.4 2004 27235 2004 32796 2005 >=3777
Di tahun 2006, Sun Microsystems mulai menerapkan lisensi open source yaitu GNU General Public License (GNU GPL) sehingga semua pihak semakin leluasa menggunakan teknologi Java.
Sejak J2SE 1.4, perubahan Java diatur oleh Java Community Process (JCP). JCP memungkinkan semua pihak yang menggunakan teknologi Java untuk ikut memberi masukan bagaimana bahasa Java akan dikembangkan. JCP menggunakan Java Specification Request (JSR) untuk pengusulan atau proposal pengubahan atau penambahan pada Java. Sedangkan bahasa Java sendiri menggunakan Java Language Specification (JLS) yang diatur oleh JSR 901. Java tidak hanya sekedar bahasa pemrograman namun sudah menjadi sebuah teknologi.
Situs Java Community Process (JCP) di www.jcp.org
www.binsis.com 3
Bab 1 Mastering Java™
1.3 Pemrograman dengan JavaPemrograman dengan Java dilakukan melalui tiga tahap berikut:
Menuliskan program Java
Melakukan kompilasi program Java
Menjalankan program Java
Tahap-tahap pemrograman Java
1. Menuliskan kode program Java.
Anda dapat menulis bahasa Java menggunakan aplikasi teks editor biasa, misalnya Notepad. Namun untuk kemudahan pemrograman, sangat dianjurkan menggunakan aplikasi Integrated Development Environment (IDE) Java.
IDE Java merupakan aplikasi yang digunakan khusus untuk mengembangkan program Java. Di dalamnya sudah tersedia banyak fitur untuk memudahkan pemrograman, seperti kompilasi dan debugging, pengaturan file-file Java, dan deteksi kesalahan sintaks pemrograman Java. IDE Java yang banyak dipakai untuk menuliskan program Java antara lain: NetBeans, Eclipse, JBuilder, JCreator, dan Intelli J IDEA. Kode program Java biasanya disimpan dengan ekstensi file .Java.
Selain dengan menggunakan IDE, penulisan program Java yang masih sederhana dapat dilakukan menggunakan text editor seperti Notepad++ dan Edit Plus. Kedua aplikasi ini dapat mengenali sintaks Java sehingga memudahkan pengguna menuliskan kode program.
2. Kompilasi program Java.
4 www.binsis.com
Pengenalan Java
Setelah kode Java selesai dituliskan, maka kode tersebut dikompilasi sehingga menjadi file binary. File binary merupakan hasil terjemahan kode program yang kita tulis menjadi bentuk yang dapat dibaca komputer.
File binary hasil kompilasi program Java disebut juga dengan bytecode. File ini disimpan dengan ekstensi file .class. Setiap file berisi kode program Java (.Java), akan dikompilasi sendiri-sendiri sehingga setiap file .Java mempunyai hasil kompilasinya (.class).
3. Menjalankan program Java.
Hasil kompilasi akan dijalankan oleh Java Virtual Machine dan program Anda siap dipakai. Jadi, Java merupakan bahasa pemrograman intepreted sekaligus compiled. Pertama dikompilasi dulu menjadi bytecode. Setelah itu diintepretasikan dari Java bytecode oleh JVM menjadi native code sehingga dimengerti oleh prosesor yang digunakan.
www.binsis.com 5
Bab 1 Mastering Java™
Diagram alir tahap-tahap pemrograman dengan Java
1.4 Keunggulan JavaDibanding bahasa pemrograman lain, Java mempunyai beberapa kelebihan yang membuatnya dipakai luas terutama untuk aplikasi enterprise. Java bahkan diprediksi menjadi bahasa masa depan. Java telah banyak diajarkan di lingkungan pendidikan dan dipakai secara luas oleh perusahaan dan lembaga berskala internasional seperti IBM dan NASA.
Beberapa keunggulan Java antara lain:
1. Relatif Mudah Dipelajari
6 www.binsis.com
Pengenalan Java
Java merupakan bahasa pemrograman berorientasi objek (Object Oriented Programming) yang mudah dipelajari, terutama bagi yang sudah familiar dengan bahasa C, C++, atau C#.
Java meningkatkan pemrograman objek pada C++ dengan menghilangkan pointer pada tipe data biasa dan multiple inheritance. Java juga menggunakan pengalokasian memori secara otomatis termasuk menerapkan garbage collection.
2. Mudah dikembangkan
Dengan pemrograman berorientasi objek, komponen program Java terpecah menjadi satu atau beberapa class. Pengembangan bahasa Java sangat mudah karena tinggal mengubah atau menambah class yang pernah dibuat. Selain itu, kita juga dapat menggunakan class-class yang sudah ada dalam Java API ataupun dibuat oleh pihak ketiga.
3. Plaftrom Independent
Dengan semboyan write once run everywhere, Anda dapat menggunakan program Java pada beberapa mesin yang berbeda. Mulai dari PDA, handphone, komputer, hingga server. Dengan mesin hardware yang berbeda dan sistem operasi berbeda, Java tetap dapat digunakan. Asalkan sudah mendukung Java platform. Misalnya, program Java dapat dijalankan pada PC Windows, PC Linux, dan Apple Mac OS.
www.binsis.com 7
Bab 1 Mastering Java™
1.5 Instalasi Java, Dokumentasi, dan Java IDE
Agar dapat mempelajari Java pada komputer Anda, maka perlu dilakukan langkah-langkah berikut:
1. Instalasi JDK ke dalam komputer Anda.
2. Ekstrak Dokumentasi JDK. Penting untuk mempelajari Java API.
3. Instal IDE Java yang akan dipakai, bisa NetBeans, Eclipse, dll.
1.5.1 Instalasi Java Development Kit (JDK)
Agar dapat bekerja dan mempelajari Java, dalam komputer Anda harus terinstal JDK. Java Development Kit (JDK) atau pernah disebut dengan Java Software Development Kit (Java SDK), merupakan seperangkat aplikasi yang digunakan untuk mengembangkan program dengan bahasa Java. Di dalamnya
8 www.binsis.com
Pengenalan Java
terdapat tiga komponen utama, yaitu: Java API, Java Virtual Machine, dan Java Compiler. Dapat dilihat bahwa JDK ini adalah JRE ditambah dengan Java Compiler.
JDK merupakan perangkat minimal yang harus dimiliki oleh pemrogram Java. Aplikasi ini bisa di-download melalui situs Sun Microsystems http://java.sun.com atau dapat Anda dapatkan dalam CD pada folder \JDK\jdk-6u11-windows-i586-p.exe. Lakukan langkah-langkah berikut untuk menginstal JDK:
1. Klik ganda pada file JDK untuk melakukan instalasi.
2. Klik tombol Accept pada License Agreement.
3. Klik tombol Next.
4. Klik tombol Next lalu klik tombol Finish untuk mengakhiri proses instalasi JDK.
www.binsis.com 9
Bab 1 Mastering Java™
Dengan diinstalnya JDK, maka komputer Anda telah siap digunakan untuk melakukan kompilasi dan menjalankan program Java.
Susunan Folder dalam JDKJika pada saat instalasi tidak dilakukan pengubahan, JDK akan diinstal dalam folder C:\Program Files\Java\. Untuk JDK 1.6, maka akan menempati folder C:\Program Files\Java\jdk1.6.0_11.
Diagram yang menggambarkan isi folder JDK
Berikut adalah keterangan untuk folder-folder hasil instalasi JDK di atas:
Folder Keteranganbin Berisi kompiler dan file-file program lainnyademo Berisi program demo yang dapat digunakan untuk mempelajari Javainclude Berisi file header C untuk native code
10 www.binsis.com
Pengenalan Java
jre Berisi file dan folder untuk Java Runtime Environmentlib File-file library yang digunakan sebagai APIsample Berisi program demo yang dapat digunakan untuk mempelajari Javasrc Berisi source code dari library, berada dalam file .zip
Membuka Contoh ProgramContoh program yang disertakan dalam JDK berada dalam folder demo. Untuk melihat contoh penerapan Java pada grafik dua dimensi, buka folder:
C:\Program Files\Java\jdk1.6.0_11\demo\jfc\Java2D\.
Setelah itu, jalankan file Java2Demo.jar dengan mengklik-nya dua kali.
Anda juga dapat menggunakan command prompt untuk menjalankan program Java.
1. Buka command prompt lalu masuk ke dalam folder demo JDK. Caranya, ketik:
cd "C:\Program Files\Java\jdk1.6.0_11\demo\jfc\Java2D"
2. Tekan Enter keyboard.
3. Jalankan aplikasi demo dengan mengetik perintah berikut lalu tekan Enter keyboard.
java -jar Java2Demo.jar
www.binsis.com 11
Bab 1 Mastering Java™
Menjalankan program demo melalui Command Prompt
Di dalam folder demo terdapat banyak contoh aplikasi Java lainnya yang dapat Anda lihat. Selain aplikasi, turut disertakan kode sumber (source code), yaitu di dalam file src.zip.
Konfigurasi PathFile untuk keperluan kompilasi dan menjalankan program Java terdapat dalam folder bin. Jika konfigurasi path dalam komputer tidak diset dengan benar, maka program Java tidak akan dapat dijalankan dengan baik. Pesan yang muncul adalah sebagai berikut:
Kesalahan setting path membuat perintah Java tidak dikenali
Jika terjadi kegagalan dalam menjalankan perintah java atau javac, Anda perlu mengedit konfigurasi path pada sistem operasi Anda. Caranya gunakan Control Panel dengan langkah-langkah berikut.
1. Klik tombol Start pada desktop lalu pilih Control Panel.
2. Pilih Classic View.
12 www.binsis.com
Pengenalan Java
3. Klik ganda pada System lalu pilih Advanced system settings.
4. Klik tombol Environment Variables.
5. Jika pada bagian atas sudah terdapat PATH yang mengarah ke folder bin dalam JDK, berarti konfigurasi sudah benar. Namun jika tidak, Anda perlu memasukkan alamat folder bin dari JDK yang terinstal di komputer Anda. Misalnya:
C:\Program Files\Java\jdk1.6.0_11\bin\.
Anda dapat melihat konfigurasi path yang baru dengan mengetik perintah echo %path% melalui command prompt. Setelah itu, tekan tombol Enter keyboard.
echo %path%
www.binsis.com 13
Bab 1 Mastering Java™
Sedangkan untuk versi Java yang aktif dalam command prompt dapat dilihat dengan perintah java –version.
1.5.2 Menyalin Dokumentasi JDK
Dokumentasi JDK berisi bantuan dan informasi class-class dalam library Java (Java API). Anda dapat men-download dokumentasi ini di situs Sun Microsystems atau menyalin dari CD yaitu file \JDK\jdk-6-doc.zip.
Penulis sudah mendapatkan izin langsung dari Sun Microsystems untuk mendistribusikan ulang dokumentasi ini, khusus hanya di Indonesia.
Berikut langkah-langkah untuk mengekstrak dokumentasi JDK ke dalam komputer.
1. Ekstrak file ini ke dalam folder di mana Anda menginstal JDK, yaitu di C:\Program Files\Java\ jdk1.6.0_11\. Semua file akan diekstrak ke dalam folder docs yaitu di C:\Program Files\Java\ jdk1.6.0_11 \docs\.
14 www.binsis.com
Pengenalan Java
2. Setelah selesai diekstrak, buka file index.html di dalam folder docs.
3. Pada contoh ini, terlihat isi file dokumentasi JDK 6 yang dibuka dengan aplikasi Internet Explorer.
1.5.3 Instalasi NetBeans
NetBeans merupakan Integrated Development Environment (IDE) yang telah banyak dipakai untuk mengembangkan program dalam bahasa Java.
Lakukan langkah-langkah berikut untuk menginstal NetBeans:
1. Jalankan aplikasi NetBeans yang ada dalam CD yaitu di folder \Aplikasi\NetBeans\netbeans-6.5-ml-windows.exe.
www.binsis.com 15
Bab 1 Mastering Java™
2. Klik tombol Next untuk melanjutkan instalasi.
3. Aktifkan I accept the terms in the license agreement lalu klik tombol Next.
4. Klik tombol Next untuk melakukan instalasi pada folder yang telah ditentukan secara otomatis.
5. Masukkan password yang akan digunakan pada server web GlassFish. Klik tombol Next kemudian Next lagi.
6. Klik tombol Install untuk mulai melakukan instalasi.
16 www.binsis.com
Pengenalan Java
7. Tunggu hingga instalasi selesai.
8. Klik tombol Finish. Maka NetBeans telah selesai diinstal.
Konfigurasi Dokumentasi JDK dan NetBeansAgar dokumentasi Java API dapat digunakan pada NetBeans, maka harus di-setting dulu.
1. Jalankan NetBeans dengan mengklik tombol Start pada desktop lalu klik All Programs > NetBeans > NetBeans IDE.
www.binsis.com 17
Bab 1 Mastering Java™
2. Pada NetBeans, klik menu Tools > Java Platforms.
3. Klik tab Javadoc lalu klik tombol Add ZIP/Folder.
4. Klik tombol Add ZIP/Folder.
Buka folder di mana terdapat file-file dokumentasi Java API. Jika Anda menggunakan anjuran saya di langkah sebelumnya, berarti folder ada dalam C:\Program Files\Java\ jdk1.6.0_11\docs\.
5. Klik tombol Add ZIP/Folder.
6. Lanjutkan dengan mengklik tombol Close.
18 www.binsis.com
Pengenalan Java
Dengan langkah terakhir ini, NetBeans dapat menggunakan dokumentasi Java API untuk membantu Anda menuliskan kode program.
Berikut contoh bantuan yang muncul saat menuliskan kode dengan NetBeans. Bantuan ini akan muncul ketika Anda menekan tombol Ctrl + Space pada keyboard.
Bantuan untuk class System muncul secara otomatis
1.6 Mulai Membuat Program Java
www.binsis.com 19
Bab 1 Mastering Java™
Setelah instalasi selesai, mari kita coba membuat beberapa program Java sederhana. Pada bagian ini, akan dibuat program Java yang menampilkan tulisan sederhana. Program dibuat dengan cara yang berbeda-beda.
1.6.1 Aplikasi dengan Teks EditorBuka teks editor, misalnya Notepad. Ketikkan tulisan berikut pada Notepad.
Menuliskan kode Java untuk pertama kali
Setelah diketik, simpan ke dalam hard disk dengan nama ProgramContoh.Java. Pada contoh ini, file disimpan dalam drive C.
Berikut keterangan untuk kode di atas:
public class ProgramContoh: kita membuat class baru dengan nama ProgramContoh. Class ini menerapkan akses public agar dapat dipanggil oleh class lainnya.
public static void main: main merupakan nama method yang dijalankan pertama kali oleh JVM. Semua program Java akan dijalankan dimulai dari method main. Void mengandung arti bahwa method ini tidak mengembalikan nilai apapun. Sedangkan static berarti method ini dapat dijalankan tanpa harus membuat objeknya dulu.
{, tanda kurung kurawal digunakan untuk menandai dimulainya isi (body) class ProgramContoh. Sedangkan untuk menutup body class, digunakan tanda tutup kurung kurawal }.
20 www.binsis.com
Komentar
Method
mainString
// Ini adalah contoh program Java
public class ProgramContoh {
public static void main(String[] args)}
System.out.println(“Ini program Java”);
}
}
Nama Class
Pengenalan Java
Strings[] args: method main menerima variabel dengan nama args dan tipe Strings segabai parameter. Tanda [] berarti args merupakan variabel array.
System.out.println: digunakan untuk menampilkan tulisan melalui command prompt.
Kode Java dituliskan menggunakan Notepad
Setelah itu, lakukan kompilasi program dengan menggunakan perintah Javac pada Command Prompt. Caranya, lakukan langkah berikut:
1. Jalankan command prompt dengan mengetik cmd pada Run lalu tekan Enter keyboard.
2. Masuk ke drive C: dengan mengetik cd\ lalu tekan Enter keyboard.
3. Lakukan kompilasi dengan mengetik Javac diikuti nama file Java, yaitu: Javac ProgramContoh.Java lalu tekan Enter keyboard. Perhatikan bahwa penulisan huruf besar dan huruf kecil harus sama, misalnya tidak boleh programcontoh.Java.
www.binsis.com 21
Bab 1 Mastering Java™
4. Jalankan program dengan mengetik Java diikuti nama file yang telah dikompilasi, tanpa menyertakan .class.
Karena itu, ketikkan Java ProgramContoh, bukan Java ProgramContoh.class, lalu tekan tombol Enter keyboard. Jika berhasil, maka akan keluar tulisan Ini program Java.
1.6.2 Aplikasi GUI dengan Notepad++
Notepad++ merupakan aplikasi teks editor, namun sudah dapat mengenali sintaks beberapa bahasa pemrograman termasuk Java. Aplikasi ini dapat Anda dapatkan dalam CD yaitu pada file npp.5.0.2.Installer.exe.
Cara instalasi Notepad++ sangat mudah sehingga tidak akan dibahas dalam buku ini. Namun jika Anda mengalami kesulitan, panduan dalam file PDF ada dalam CD yaitu file suplemen.pdf.
1. Ketikkan kode berikut dengan menggunakan Notepad++.
// Program Contoh dengan GUI
import Javax.swing.JOptionPane;
public class GUI {
public static void main(String[] args) {
// Tampilkan tulisan dengan dialog box
22 www.binsis.com
Pengenalan Java
JOptionPane.showMessageDialog(null, "Ini program Java",
"Program Pertama", JOptionPane.INFORMATION_MESSAGE);
}
}
2. Jika sudah selesai diketikkan, simpan ke dalam drive C:\ dengan nama file GUI.Java.
3. Lakukan kompilasi kode di atas melalui command prompt. Caranya, masuk ke dalam C:\ lalu ketik Javac GUI.Java. Tekan Enter keyboard.
4. Jalankan program hasil kompilasi dengan mengetik Java GUI lalu tekan Enter keyboard.
5. Jika berhasil, akan muncul kotak dialog bertuliskan Ini program Java.
www.binsis.com 23
Bab 1 Mastering Java™
Berikut adalah keterangannya:
import Javax.swing.JOptionPane: Perintah yang digunakan untuk mengimpor class JOptionPane. JOptionPane merupakan class yang digunakan untuk menampilkan dialog box.
JOptionPane.showMessageDialog: Method showMessageDialog dari class JOptionPane dijalankan. Method ini biasa digunakan untuk menampilkan dialog box dengan pesan. Tombol yang ditampilkan untuk dialog box jenis adalah tombol OK saja.
Ini program Java: Isi pesan yang akan ditampilkan.
Program Pertama: Teks yang ditampilkan sebagai judul dialog box.
JOptionPane.INFORMATION_MESSAGE: konstanta yang digunakan untuk menampilkan gambar berupa ikon informasi .
1.6.3 Aplikasi Applet
Applet merupakan aplikasi Java yang dapat diintegrasikan dalam halaman web. Dengan demikian, aplikasi ini dapat berjalan di atas aplikasi web browser, seperti Internet Explorer atau Mozilla Firefox.
24 www.binsis.com
Judul
JOptionPane.INFORMATION_MESSAGE
Pesan
Jenis OptionPane
Pengenalan Java
Tahap pembuatan applet
Untuk membuat applet, langkah yang dilakukan adalah sebagai berikut:
1. Menuliskan kode Java dan disimpan dalam file .Java
2. Melakukan kompilasi sehingga dihasilkan program dengan file .class
3. Menuliskan tag applet pada halaman HTML. Tag applet berfungsi untuk memanggil program applet Java yang telah kita buat sebelumnya.
4. Buka file HTML yang kita buat dengan web browser atau bisa juga menggunakan appletviewer.
Pada contoh ini, kita akan membuat applet yang akan menampilkan tulisan “Wkwkwkkwkwk”.
1. Menuliskan kode Java
Tuliskan kode berikut lalu simpan file dengan nama HH.Java.
import Java.awt.Graphics;
public class HH extends Java.applet.Applet{
public void paint (Graphics gggg) {
gggg.drawString("Wkwkwkkwkwk", 20, 40);
};
}
www.binsis.com 25
Bab 1 Mastering Java™
2. Kompilasi kode Java
Lakukan kompilasi pada file HH.Java sehingga menghasilkan file HH.class.
3. Menyiapkan file HTML
Tuliskan kode berikut dan simpan file dengan nama wek.html.
<applet name="Wk" code="HH.class" width="200" height="200">
</applet>
4. Buka file HTML
File yang sudah ditambahi tag applet, dapat dijalankan dengan melalui aplikasi web browser ataupun melalui command prompt dengan appletviewer.
Untuk membuka applet melalui applet viewer, ketik appletviewer diikuti nama file HTML yang akan dibuka. Setelah itu tekan Enter keyboard.
26 www.binsis.com
Pengenalan Java
1.6.4 Aplikasi Grafik dengan NetBeans
NetBeans merupakan IDE Java yang berlisensi open source yang dikembangkan dengan dukungan Sun Microsystems. Pada praktek kali ini, akan dibuat program bertuliskan “Ini program Java” yang dilengkapi dengan jendela Graphical User Interface (GUI). Lakukan langkah berikut:
1. Klik menu File > New Project.
2. Pilih Java pada Categories dan pilih Java Desktop Application pada Projects. Klik tombol Next.
www.binsis.com 27
Bab 1 Mastering Java™
3. Beri nama ProgramContoh pada Project Name. Perhatikan bahwa kode program akan disimpan di dalam Project Folder. Klik tombol Finish.
4. Karena kita memilih projek tipe Java Desktop Application, maka jendela baru akan muncul secara otomatis.
28 www.binsis.com
Pengenalan Java
5. Tulisan pada jendela dapat ditambahkan dengan menggunakan label. Untuk itu, klik Label dari Swing Controls pada Palette. Geser ke arah jendela.
6. Edit tulisan dengan mengklik ganda pada label.
7. Ketikkan Ini program Java.
8. Lakukan kompilasi sekaligus menjalankan program dengan cara klik menu Run > Run Main Project.
9. Jika berhasil, akan muncul program berupa jendela baru dengan tulisan Ini program Java.
Semua file listing kode program dalam buku ini dapat Anda temukan pada CD buku Mastering Java™, yaitu dalam folder Latihan\.
www.binsis.com 29
Bab 1 Mastering Java™
Tutorial dalam buku ini diambil dari buku “Mastering Java” yang diterbitkan oleh Elex Media Komputindo dan dikarang oleh Ir. Sutarto Msi dan Rachmad Hakim ST.
Daftar Isi
Mastering JavaPengenalan Java..................................................................................................................................................1
1.1 Sejarah Java.......................................................................................................................................... 1
1.2 Perkembangan Teknologi Java.....................................................................................................2
1.3 Pemrograman dengan Java............................................................................................................4
1.4 Keunggulan Java.................................................................................................................................7
1.5 Instalasi Java, Dokumentasi, dan Java IDE..............................................................................8
1.5.1 Instalasi Java Development Kit (JDK).............................................................................8
Susunan Folder dalam JDK................................................................................................................10
Membuka Contoh Program...............................................................................................................11
Konfigurasi Path.....................................................................................................................................12
1.5.2 Menyalin Dokumentasi JDK.............................................................................................14
1.5.3 Instalasi NetBeans................................................................................................................15
Konfigurasi Dokumentasi JDK dan NetBeans............................................................................17
1.6 Mulai Membuat Program Java...................................................................................................19
1.6.1 Aplikasi dengan Teks Editor............................................................................................20
1.6.2 Aplikasi GUI dengan Notepad++....................................................................................22
1.6.3 Aplikasi Applet.......................................................................................................................25
1.6.4 Aplikasi Grafik dengan NetBeans..................................................................................27
Dasar Pemrograman Java............................................................................................................................29
2.1 Identifier dan Keyword.................................................................................................................31
2.1.1 Identifier...................................................................................................................................32
2.1.2 Keyword...................................................................................................................................32
30 www.binsis.com
Pengenalan Java
2.2 Bekerja dengan Data......................................................................................................................33
2.2.1 Tipe Data Primitif.................................................................................................................33
Tipe Data Boolean.................................................................................................................................34
Tipe Data Char........................................................................................................................................35
Tipe Data Integer...................................................................................................................................36
Tipe Data Floating Point.....................................................................................................................36
2.2.2 Variabel.....................................................................................................................................36
2.2.3 Konstanta.................................................................................................................................38
2.2.4 Tipe Enumerated..................................................................................................................38
2.3 Statement............................................................................................................................................40
2.3.1 Operator....................................................................................................................................40
Operator Assignment...........................................................................................................................40
Literal dan Ekspresi..............................................................................................................................41
Operator Logika Boolean...................................................................................................................42
Operator Numerik.................................................................................................................................44
Operator Shorthand (Compound, op=).........................................................................................44
Increment dan Decrement.................................................................................................................45
Operator Perbandingan......................................................................................................................45
Konversi Tipe Data................................................................................................................................46
Scope...........................................................................................................................................................47
Operator Bitwise....................................................................................................................................48
2.3.2 Komentar, Huruf, dan Whitespace................................................................................49
Komentar...................................................................................................................................................49
Javadoc.......................................................................................................................................................50
Tag Javadoc.............................................................................................................................................. 50
Huruf........................................................................................................................................................... 51
Whitespace...............................................................................................................................................51
2.4 Alur Program.....................................................................................................................................51
www.binsis.com 31
Bab 1 Mastering Java™
2.4.1 Logika Boolean.......................................................................................................................52
2.4.2 Pencabangan...........................................................................................................................52
If.................................................................................................................................................................... 52
If Else...........................................................................................................................................................54
Nested If Else...........................................................................................................................................55
Else If...........................................................................................................................................................58
Ternary.......................................................................................................................................................60
Switch......................................................................................................................................................... 61
2.4.3 Perulangan...............................................................................................................................65
While loop.................................................................................................................................................65
Do While Loop.........................................................................................................................................67
For Loop.....................................................................................................................................................68
For Loop Berbasis Koleksi.................................................................................................................69
Nested Loop.............................................................................................................................................70
Menghitung Faktorial Dengan Nested Loop..............................................................................72
2.4.4 Branching Statement...........................................................................................................73
Break dan Continue..............................................................................................................................74
Break dan Label......................................................................................................................................75
Continue dan Label...............................................................................................................................76
Return.........................................................................................................................................................77
2.5 Array.....................................................................................................................................................78
2.5.1 Deklarasi Array......................................................................................................................78
2.5.2 Array pada Method Main...................................................................................................80
2.5.3 Array Multidimensi..............................................................................................................82
2.6 Latihan Membuat Aplikasi Sederhana...................................................................................83
Aplikasi Penghitung Volume Tabung............................................................................................83
Pemrograman Objek dengan Java............................................................................................................81
3.1 Pemrograman Berorientasi Objek...........................................................................................81
32 www.binsis.com
Pengenalan Java
3.1.1 Objek..........................................................................................................................................84
3.1.1 Class (Kelas)............................................................................................................................85
3.1.2 Inheritance..............................................................................................................................85
3.1.3 Polymorphism........................................................................................................................87
3.1.4 Encapsulation.........................................................................................................................88
3.2 Objek Java...........................................................................................................................................88
3.2.1 Class............................................................................................................................................89
Keyword this...........................................................................................................................................91
Latihan Membuat Class.......................................................................................................................93
3.2.2 Konstruktor.............................................................................................................................93
3.2.3 Objek..........................................................................................................................................96
3.2.4 Field (Attribute).................................................................................................................100
Object Variable.....................................................................................................................................100
Class Variable.......................................................................................................................................100
Mengakses Field..................................................................................................................................101
3.2.5 Metode (Behavior)............................................................................................................101
Deklarasi Metode................................................................................................................................102
Variabel pada Metode (Local Variable).....................................................................................103
Memanggil Metode.............................................................................................................................104
Passing by Value (Call by Value)..................................................................................................105
Passing by Reference.........................................................................................................................106
Getter dan Setter.................................................................................................................................108
3.3 Pengorganisasian Class dan Objek........................................................................................109
3.3.1 Hirarkhi Class......................................................................................................................110
Implementasi Inheritance pada Class........................................................................................112
Class Java.lang.Object........................................................................................................................115
Konstruktor Superclass....................................................................................................................117
Praktek Abstraksi dan Konstruktor Pada Lingkaran..........................................................118
www.binsis.com 33
Bab 1 Mastering Java™
Abstract Class.......................................................................................................................................121
3.3.2 Package...................................................................................................................................121
Menerapkan Package........................................................................................................................122
Struktur Folder....................................................................................................................................123
Package dan Classpath......................................................................................................................124
Mengimpor Package..........................................................................................................................127
3.3.3 Polimorfisme........................................................................................................................128
Overriding..............................................................................................................................................128
Overloading...........................................................................................................................................130
Polimorfisme Objek...........................................................................................................................131
3.3.4 Interface.................................................................................................................................132
3.3.5 Hubungan Antar Objek....................................................................................................134
Komposisi...............................................................................................................................................135
Agregasi...................................................................................................................................................136
Inner Class (Nested Class)..............................................................................................................136
Inheritansi..............................................................................................................................................137
3.4 Modifier.............................................................................................................................................137
3.4.1 Access Modifier...................................................................................................................137
3.4.2 Static Modifier.....................................................................................................................138
3.4.3 Final Modifier......................................................................................................................140
Final Class...............................................................................................................................................140
Final Metode.........................................................................................................................................140
Final Variabel........................................................................................................................................141
3.5 Penulisan Kode..............................................................................................................................141
3.6 Kompresi dengan JAR.................................................................................................................142
3.6.1 Menggunakan Jar...............................................................................................................142
Melihat isi dalam file jar...................................................................................................................143
Mengekstrak isi file jar.....................................................................................................................143
34 www.binsis.com
Pengenalan Java
3.6.2 JAR Manifest.........................................................................................................................144
Java API............................................................................................................................................................. 141
4.1 String..................................................................................................................................................145
Pembandingan String........................................................................................................................147
Method String.......................................................................................................................................148
4.2 Perhitungan Matematika...........................................................................................................148
4.3 Exception Handling......................................................................................................................150
4.3.1 Menangkap Exception......................................................................................................151
4.3.2 Menggunakan Exception.................................................................................................153
4.3.3 Menampilkan Informasi Exception............................................................................155
4.3.4 Melempar Exception.........................................................................................................156
4.3.5 Mendefinisikan Sendiri Exception..............................................................................157
4.3.6 Assert.......................................................................................................................................159
4.4 Thread............................................................................................................................................... 160
4.4.1 Mengimplementasikan Runnable...............................................................................161
4.4.2 Menurunkan Class Thread.............................................................................................164
4.4.3 Class Thread.........................................................................................................................166
4.5 Bekerja dengan File.....................................................................................................................166
4.5.1 Class File................................................................................................................................167
4.5.2 Aliran Data Karakter.........................................................................................................169
Penulisan Data Karakter..................................................................................................................169
Pembacaan Data Karakter..............................................................................................................171
4.5.3 Aliran Data Binary.............................................................................................................173
4.6 Bekerja dengan Database..........................................................................................................173
Perintah SQL.........................................................................................................................................175
Sintaks SQL............................................................................................................................................176
Database dan Java...............................................................................................................................177
Koneksi Database dengan ODBC..................................................................................................180
www.binsis.com 35
Bab 1 Mastering Java™
Menjalankan Queri Melalui Java...................................................................................................183
INSERT.....................................................................................................................................................184
UPDATE...................................................................................................................................................185
SELECT.................................................................................................................................................... 185
4.7 Data Structure dengan Collection..........................................................................................187
4.7.1 Objek Array...........................................................................................................................188
4.7.2 Array List...............................................................................................................................190
4.7.3 Vector......................................................................................................................................192
4.7.4 HashMap................................................................................................................................193
4.7.5 Interface Iterator................................................................................................................194
4.7.6 Generic....................................................................................................................................195
Deklarasi dan Penerapan Generic...............................................................................................196
4.7.7 Stack.........................................................................................................................................196
4.8 Swing dan AWT.............................................................................................................................198
4.8.1 MVC..........................................................................................................................................198
4.8.2 Komponen GUI....................................................................................................................199
4.8.3 Membuat Komponen GUI...............................................................................................200
Frames.....................................................................................................................................................200
Button...................................................................................................................................................... 202
Container................................................................................................................................................203
Label......................................................................................................................................................... 204
Text Field dan Password Field......................................................................................................207
Text Area................................................................................................................................................ 208
Scroll Bar................................................................................................................................................210
Radio Button dan Check Box..........................................................................................................212
Combo Box.............................................................................................................................................213
List.............................................................................................................................................................215
Progress Bar..........................................................................................................................................216
36 www.binsis.com
Pengenalan Java
Slider........................................................................................................................................................ 217
Menu.........................................................................................................................................................218
Tabbed Pane..........................................................................................................................................220
4.8.4 Layout Manager..................................................................................................................221
FlowLayout............................................................................................................................................222
BorderLayout........................................................................................................................................223
4.8.5 Menampilkan Dialog Box................................................................................................225
Message Dialog Box............................................................................................................................225
Confirm Dialog Box............................................................................................................................227
Input Dialog Box..................................................................................................................................228
Option Dialog Box...............................................................................................................................228
4.8.6 Event Handling....................................................................................................................230
Jenis-jenis Event..................................................................................................................................231
Penanganan Event..............................................................................................................................232
Pembuatan Event Handling............................................................................................................233
Latihan Event Handling....................................................................................................................234
Event Adapter.......................................................................................................................................235
4.9 JavaBeans.........................................................................................................................................236
Latihan Pemrograman Java......................................................................................................................235
5.1 Error dan Debugging...................................................................................................................238
5.1.1 Syntax error..........................................................................................................................238
5.1.2 Runtime error......................................................................................................................238
5.1.3 Rounding Error...................................................................................................................239
5.1.4 Debugging.............................................................................................................................240
5.2 Kalkulator........................................................................................................................................241
Deskripsi Kalkulator..........................................................................................................................241
Pengerjaan.............................................................................................................................................241
Tujuan Pembuatan Program Kalkulator...................................................................................242
www.binsis.com 37
Bab 1 Mastering Java™
5.2.1 Method Kalkulator.............................................................................................................242
Method clear()......................................................................................................................................244
Method naik().......................................................................................................................................244
Method hitung()..................................................................................................................................244
Method operasi()................................................................................................................................245
Pengetesan Kode.................................................................................................................................246
5.2.2 Tampilan Grafis Kalkulator...........................................................................................246
5.2.3 Membuat Tampilan Menjadi Interaktif...................................................................250
Menangani Method............................................................................................................................250
Menangani Event Handling............................................................................................................253
5.2.4 Informasi Tentang Aplikasi...........................................................................................255
5.2.5 Distribusi Aplikasi Java....................................................................................................257
5.3 Aplikasi Kontak Person..............................................................................................................258
Deskripsi Aplikasi Kontak Person...............................................................................................258
Tujuan Pembuatan Aplikasi Kontak Person...........................................................................259
5.3.1 Membangun User Interface...........................................................................................259
5.3.2 Membuat File Teks Sebagai Penyimpan Data........................................................261
5.3.3 Kode untuk Membaca File..............................................................................................262
5.3.4 Menampilkan Data pada JTable...................................................................................264
5.3.5 Entri Data...............................................................................................................................267
Tampilan Form Entri Data..............................................................................................................267
Membuat Form Entri Data Bekerja.............................................................................................272
Meng-update Tampilan JTable......................................................................................................274
5.3.6 Fitur Hapus Data................................................................................................................275
5.3.7 Melengkapi Fitur Entri Data..........................................................................................277
5.3.8 Mengganti Judul dan Icon Aplikasi.............................................................................277
5.3.9 Mengganti Look And Feel...............................................................................................280
5.4 Aplikasi Penjualan........................................................................................................................281
38 www.binsis.com
Pengenalan Java
5.4.1 Membangun User Interface...........................................................................................281
Membuat User Interface Utama....................................................................................................282
Membuat User Interface Master Barang...................................................................................284
Membuat Form Penjualan...............................................................................................................287
5.4.2 Membuat Aplikasi Berjalan...........................................................................................288
5.4.3 Splash Screen.......................................................................................................................290
5.4.4 Menambahkan About.......................................................................................................293
5.4.5 Konfigurasi MySQL............................................................................................................295
Instalasi XAMPP...................................................................................................................................295
Instalasi MySQL Front.......................................................................................................................296
Membuat Database.............................................................................................................................298
Informasi Database SIB....................................................................................................................299
5.4.6 Impor Database Driver....................................................................................................300
5.4.7 Koneksi (Koneksi.java)....................................................................................................301
5.4.8 Kode untuk Form Barang...............................................................................................302
Menambahkan/Mengedit Barang................................................................................................302
Pencarian Barang................................................................................................................................305
Penghapusan Barang.........................................................................................................................307
5.4.9 Kode untuk Form Penjualan.........................................................................................309
Tanggal Nota.........................................................................................................................................309
Menampilkan Data Kosong pada JTable...................................................................................309
Data pada tblPenjualan....................................................................................................................313
Menghitung Kembalian....................................................................................................................318
Nomor Nota...........................................................................................................................................318
Mengupdate data................................................................................................................................319
Modifikasi Aplikasi.............................................................................................................................322
5.5 Menggunakan iReport dan JasperReport...........................................................................322
5.5.1 Menggunakan iReport......................................................................................................323
www.binsis.com 39
Bab 1 Mastering Java™
Membuat Static Text..........................................................................................................................324
Menambahkan Parameter...............................................................................................................326
Menambahkan Field..........................................................................................................................328
Kompilasi................................................................................................................................................329
Tips............................................................................................................................................................331
5.5.2 Mencetak Laporan.............................................................................................................331
Menambahkan Library ke Dalam NetBeans............................................................................332
Menambahkan Library ke Dalam Projek..................................................................................333
Menuliskan Kode.................................................................................................................................335
Menambahkan Gambar....................................................................................................................338
Daftar Pustaka................................................................................................................................................337
40 www.binsis.com
top related