eperti yang terlihat pada Gambar 1. Jika Anda 

perhatikan, nama file *.java tersebut akan sama dengan nama proyek yang kita buat tadi. File 

kode *.java tersebut disebut sebagai main class. 

 

81 

 

 

Setelah new project berhasil dibuat, maka kita akan masuk ke dalam kode program 

dengan nama Proyek_1.java. File inilah yang akan menjadi main class dari program kita. 

 

C. Membuat Form 

Untuk membuat sebuah form berbasis GUI, maka kita perlu membuat kelas baru 

melalui menu ”File  New File”, kemudian akan muncul jendela seperti gambar di bawah 

ini. 

 

 

Pada jendela seperti tampak pada gambar di atas, pastikan Project yang kita pilih adalah 

Proyek_1, kemudian pilih ”Swing GUI Forms” pada bagian Categories, lalu pilih ”Jframe 

Form” pada bagian File Types. Setelah itu klik ”Next”. Kemudian, masukkan nama kelas 

yang ingin dibuat pada bagian Class Name. Sebagai contoh, coba ketikkan 

”FormDataKaryawan” seperti terlihat pada gambar di bawah ini. 

 

 

 

82 

 

Jika sudah, klik tombol ”Finish”, maka Anda akan dibawa masuk ke dalam area desain GUI 

pada Netbeans seperti tampak pada gambar di bawah ini. 

 

 

 

D. Meletakkan Komponen Swing pada Form 

Pada area desain tersebut, Anda dapat mendesain secara mudah komponen-komponen 

yang ingin dimasukkan ke dalam form tersebut dengan cara drag and drop komponen-

komponen yang ada pada tab Swing Containers atau Swing Controls yang berada pada sisi 

kanan jendela utama Netbeans. Sebagai contoh, kita akan membuat form isian data karyawan 

yang terdiri dari: 

a. Nama Lengkap 

b. Tempat Lahir 

c. Tanggal – Bulan – Tahun Lahir 

d. Pendidikan (D3, S1, S2, S3) 

e. Status Karyawan (Tetap, Kontrak) 

Untuk membuat form isian pada data Nama Lengkap Tempat Lahir, dan Tanggal – 

Bulan – Tahun Lahir, gunakan komponen jTextField. Kemudian untuk membuat form 

pemilihan pada data Pendidikan dan Status Karyawan menggunakan komponen jComboBox. 

Untuk membuat tombol ”Tambah” gunakan komponen jButton. Terakhir, pada bagian 

bawah form kita berikan komponen jTable untuk menampilkan setiap data karyawan yang 

ditambahkan ke dalam  program. 

 

83 

 

 

 

Setelah desain GUI selesai dibuat, selanjutnya kita lakukan pengaturan pada 

komponen jComboBox agar sesuai dengan masing-masing poin isian. Untuk itu, klik kanan 

pada komponen jComboBox ”Pendidikan”, kemudian pilih ”Properties” pada bagian paling 

bawah. Setelah tampil jendela Properties, maka lakukan pengeditan pada bagian ”model” 

dengan cara mengklik tanda titik-titik pada bagian kanannya. 

 

 

 

Setelah muncul jendela baru, isikanlah satu per satu kemungkinan nilai untuk 

komponen Pendidikan, yakni D3, S1, S2, dan S3. Jika sudah, klik tombol ”OK”. Lakukan hal 

yang sama untuk komponen jComboBox lainnya.  

Selanjutnya, kita akan atur tampilan tabel agar sesuai dengan kebutuhan program 

untuk menampilkan setiap data karyawan yang ditambahkan ke dalam program. Untuk itu, 

klik kanan pada komponen jTable yang ada pada form, kemudian pilih ”Table Contents”. 

Pada tab ”Columns” kita bisa mengganti nama header untuk setiap kolom sesuai dengan 

84 

 

kebutuhan kita, serta kita juga dapat menambah jumlah kolom pada tabel. Selain itu kita juga 

bisa mengatur ukuran ”Prefered Size” untuk masing-masing kolom. 

 

 

Lalu, pada tab ”Rows” ubah jumlah baris dari 4 menjadi 0. Jika sudah, klik tombol ”Close”, 

maka seketika tampilan jTable pada form GUI kita akan berubah seperti ini: 

 

 

 

Karena kita menggunakan jTable, maka kita perlu mengimpor library import 

javax.swing.table.DefaultTableModel agar operasi pada jTable dapat dilakukan. 

Setelah itu, kita juga perlu membuat objek baru yang bertipe DefaultTableModel. Lihat 

gambar di bawah ini untuk lebih jelasnya. 

 

85 

 

 

 

E. Menulis Kode Aksi pada Tombol 

Sebagaimana lazimnya sebuah tombol pada sebuah program komputer, ketika diklik 

maka sesuatu akan diproses oleh program tersebut. Dengan kata lain, program akan 

mengeksekusi sebuah aksi tertentu ketika tombol diklik oleh user. Pada contoh kali ini, aksi 

yang akan dilakukan ketika tombol ”Tambah” ditekan ada dua:  

1. Membaca nilai yang diinputkan oleh user, baik pada jTextField, maupun pada 

jComboBox. 

2. Menampilkan data yang telah diisi user ke dalam jTable. 

Untuk itu, klik kanan pada tombol ”Tambah”, lalu pilih ”Events  Action  

ActionPerformed”, maka secara otomatis method jButton1ActionPerformed() akan 

terbentuk pada area source code. 

 

 

 

Di dalam method jButton1ActionPerformed()inilah kita akan mengetikkan kode program 

untuk membaca data yang diinputkan oleh user dan menampilkannya ke dalam tabel. Namun 

sebelumnya, kita perlu mendefinisikan variabel-variabel global yang akan digunakan untuk 

menampung data yang diinputkan oleh user. Perhatikan gambar berikut: 

 

86 

 

 

 

Setelah itu, kita ketikkan kode aksi pada method jButton1ActionPerformed() sebagai 

berikut: 

 

 

 

Pada kode program di atas bisa dilihat bahwa method getText() digunakan untuk membaca 

data yang diinputkan oleh user melalui jTextField. Data yang dibaca tersebut secara otomatis 

bertipe String. Tapi perhatikan pada baris ke-191 s.d. baris ke-193, di sana terdapat proses 

konversi dari tipe String menjadi tipe int menggunakan method parseInt() milik objek 

Integer. Hal ini dilakukan karena data dari field-field tersebut akan disimpan dalam variabel 

bertipe int. Kemudian, kita juga bisa melihat bahwa terdapat method getSelectedItem() 

untuk membaca item yang dipilih oleh user melalui komponen jComboBox. 

 

F. Menjalankan Program Melalui Main Class 

Kita telah berhasil membuat form berbasis GUI pada kelas FormDataKaryawan. 

Langkah selanjutnya adalah melakukan instansiasi untuk membuat sebuah objek yang 

merujuk pada kelas FormDataKaryawan. Perhatikan kode program di bawah ini: 

 

87 

 

 

 

Jalankan program melalui menu ”Run  Run Project (Proyek_1)”. 

 

 

  

88 

 

BAB 11 

Pengaksesan Basis Data 

 

11.1. Capaian Belajar 

 

Setelah mempelajari bab ini, mahasiswa diharapkan: 

1. Memahami proses koneksi database dengan aplikasi 

2. Memahami cara membuat database dengan MySQL 

3. Memahami cara menyimpan dan mengambil data dari/ ke database 

 

11.2. Indikator 

 

1. Mahasiswa mampu mengimplementasikan koneksi database dengan aplikasi yang 

dibuat. 

2. Mahasiswa mampu membuat database dengan MySQL 

3. Mahasiswa mampu mengimplementasikan proses penyimpanan dan pembacaan data 

dari/ ke database. 

 

11.3. Uraian Materi 

Pada pembahasan di bab sebelumnya, kita telah berhasil membuat aplikasi berbasis 

GUI yang dapat menyimpan dan menampilkan data ke dalam tabel. Akan tetapi, masih ada 

kekurangan pada aplikasi tersebut, yakni data yang disimpan dalam aplikasi tersebut masih 

bersifat volatile, artinya ketika aplikasi ditutup, maka data yang tadinya disimpan pun hilang.  

Pada praktiknya, sebuah aplikasi seringkali membutuhkan sistem penyimpanan data 

yang rapi dan terorganisasi dengan baik. Oleh karena itu, penggunaan basis data sangat 

diperlukan untuk dapat mengatasi hal tersebut. Integrasi antara aplikasi berbasis Java dengan 

DBMS (Database Management System) merupakan hal yang sudah lazim, dan dapat 

dilakukan menggunakan library jdbc yang biasanya sudah tersedia dalam IDE Netbeans. Pada 

bab ini, kita akan membahas mengenai proses integrasi antara aplikasi Java dengan DBMS 

MySQL. 

 

A. Persiapan Basis Data 

Untuk menggunakan basis data MySQL, salah satu alternatif yang mudah adalah 

dengan menginstall aplikasi XAMPP yang di dalamnya telah terintegrasi fitur phpMyAdmin 

yang merupakan platform MySQL berbasis GUI, sehingga memudahkan kita untuk 

merancang dan membuat basis data relasional. Anda dapat mengunduh aplikasi tersebut pada 

link: https://www.apachefriends.org/download.html.  

Setelah Anda berhasil mengunduh dan melakukan instalasi XAMPP pada komputer 

Anda, maka buka XAMPP-Control Panel, lalu tekan tombol ”Start” pada fitur ”Apache” dan 

”MySQL” seperti yang terlihat pada gambar di bawah. 

 

89 

 

 

 

Setelah itu, buka aplikasi web browser pada komputer Anda, lalu ketik URL: 

localhost/phpmyadmin. Apabila Anda masuk ke halaman mesin pencari Google, coba 

nonaktifkan dahulu sementara jaringan internet Anda. Jika sudah, Anda bisa mulai membuat 

basis data baru dan membuat tabel baru seperti di bawah ini. Pada contoh ini, kita membuat 

basis data dengan nama ”DataKaryawan” dan membuat sebuah tabel bernama ”Karyawan” 

yang terdiri dari delapan buah kolom. Perhatikan gambar di bawah. 

 

 

 

Kemudian buatlah kedelapan kolom pada tabel tersebut yang terdiri dari: ID, 

NamaLengkap, TempatLahir, TglLahir, BulanLahir, TahunLahir, Pendidikan, dan Status. 

Jadikan kolom/ atribut ID sebagai primary key dan set Auto increment. Jika sudah, maka 

selanjutnya kita lakukan pengetikan kode di dalam Java. 

 

 

90 

 

B. Membangun Koneksi dengan JDBC 

Pada package Proyek_1 yang telah kita buat pada bab sebelumnya, Lihat tab ”Projects” 

pada bagian kiri Netbeans, lalu klik kanan pada ”Libraries”, kemudian pilih ”Add Library”. 

Setelah itu, pilih ”MySQL JDBC Driver” pada kolom ”Available Libraries”. 

 

   

 

 

Berikutnya, buka menu ”File  New File”, lalu pilih ”Java” pada bagian Categories 

dan pilih “Java Class” pada bagian File Types, lalu klik tombol “Next”. Setelah itu, pada 

bagian Class Name, isi dengan “KoneksiDB”. 

 

 

 

Pada kode program dari kelas KoneksiDB, kita tambahkan kode program seperti di bawah 

ini: 

 

91 

 

 

 

Pada kode program di atas, kita deklarasikan sebuah variabel bertipe Connection. 

Variabel ini kita beri nama ”koneksi”. Kemudian kita buat sebuah method bernama 

getKoneksi() yang berfungsi untuk membuat koneksi antara aplikasi Java yang kita buat 

dengan DBMS MySQL pada phpMyAdmin. Pada method tersebut, kita menginisialisasi tiga 

buah variabel, yakni url, username, dan password. Variabel url berfungsi menyimpan 

lokasi penyimpanan database di dalam localhost. Variabel username digunakan untuk 

menyimpan username dari DBMS yang kita gunakan, dan variabel password digunakan 

untuk menyimpan password dari DBMS yang kita gunakan. Apabila tidak ada password yang 

diset, maka variabel password cukup diisi dengan karakter kosong (””). 

Selanjutnya, kita tambahkan baris kode program di bawah ini untuk menyimpan data 

ke database pada method jButton1ActionPerformed(). Letakkan kode di bawah ini di 

bawah kode program yang sudah ada pada method jButton1ActionPerformed(). 

92 

 

 

Apabila koneksi database berhasil dibangun dan proses INSERT query berhasil 

dilakukan, maka seharusnya data yang diinputkan melalui aplikasi Java yang kita buat juga 

tersimpan di dalam database MySQL. Perhatikan gambar di bawah ini. 

 

 

 

Namun, jika Anda cermati, ternyata ada sedikit masalah pada aplikasi yang telah kita 

bangun sejauh ini. Ketika Anda menutup aplikasi tersebut, lalu membukanya lagi, ternyata 

data karyawan yang telah kita simpan sebelumnya tidak tampil pada tabel. Kenapa hal ini 

bisa terjadi? Karena kita belum melakukan load data dari database setiap kali aplikasi dibuka. 

Oleh karena itu, kita perlu membuat sebuah method baru lagi di dalam kelas 

FormDataKaryawan yang berfungsi untuk melakukan load data dari database ke dalam tabel. 

93 

 

 

 

 

Setelah itu, kita panggil method loadData() tersebut di dalam constructor 

FormDataKaryawan. 

 

 

Maka, kini setiap kali kita membuka aplikasi FormDataKaryawan, secara otomatis semua 

data yang tersimpan di dalam database akan dibaca dan ditampilkan di dalam tabel. 

  

94 

 

BAB 12 

Membaca File dari Ms. Excel 

 

12.1. Capaian Pembelajaran 

 

Setelah mempelajari bab ini, mahasiswa diharapkan: 

1. Memahami cara untuk membaca dan menulis data ke dalam file Excel 

2. Memahami cara menerapkan library jxl dalam program 

 

12.2. Indikator 

 

1. Mahasiswa mampu mengimplementasikan proses pembacaan dan penulisan data dari/ 

ke dalam file Excel. 

2. Mahasiswa mampu menerapkan library jxl dalam program 

 

12.3. Uraian Materi 

Salah satu keunggulan Java adalah kaya akan library yang sangat berguna dalam 

membangun aplikasi. Salah satu fitur yang akan dibahas pada bab ini adalah library jxl yang 

merupakan salah satu library yang cukup banyak dipakai untuk membaca data pada dokumen 

berekstensi .xls. 

 

A. Persiapan Library jxl 

Library jExcelAPI (jxl) dapat secara mudah dan gratis untuk Anda unduh pada link: 

https://sourceforge.net/projects/jexcelapi/files/. Library tersebut memang termasuk library 

yang telah cukup lama dikembangkan, namun library ini adalah salah satu yang paling 

mudah digunakan dan ringan. Library jxl mampu membaca file Excel versi 95, 97, 2000, XP, 

dan 2003. Meskipun tidak dapat membaca format file Excel terbaru saat ini, namun masih 

banyak yang menggunakan library ini. 

Pada bab ini, kita akan menggunakan kembali package Proyek_1 yang telah kita buat 

sebelumnya. Setelah Anda berhasil mengunduh library jxl, maka lakukan extract file tersebut 

sehingga kita bisa menemukan folder yang di dalamnya terdapat aplikasi jxl.jar. Setelah itu, 

pada tab ”Projects” di Netbeans, klik kanan pada bagian ”Libraries”, lalu pilih ”Add 

JAR/Folder”. Setelah itu kita load file jxl.jar yang telah kita unduh sebelumnya. 

 

95 

 

   

 

B. Mencetak file Excel 

Pada dasarnya, proses mencetak atau menulis data ke dalam file excel adalah dengan 

cara menempatkan data satu per satu ke dalam cell yang ada di dalam Excel. Penempatan 

data tersebut ditentukan oleh koordinat cell yang dituju. Misalnya, kode s.addCell(new 

Label(0, 0, "Hello World")) akan meletakkan kalimat ”Hello World” pada cell baris ke-

0 dan kolom ke-0, atau sama saja dengan cell A1. 

Pada pembahasan ini, kita akan mempraktikkan bagaimana mencetak data yang ada 

pada jTable agar tersimpan dalam file .xls. Sebelumnya, kita tambahkan dulu sebuah tombol 

untuk melakukan aksi tersebut, kemudian kita akses method jButton2ActionPerformed() 

dari tombol tersebut untuk kemudian kita isi kode program untuk mencetak file .xls. Sebagai 

contoh, pada modul ini, tombol ”Export to Excel” kita letakkan pada bagian bawah sebelah 

kanan dari jTable. Perhatikan gambar berikut ini untuk lebih jelasnya. 

 

 

 

Kode program yang kita tuliskan di dalam method jButton2ActionPerformed() dapat 

dilihat pada gambar di bawah ini. 

96 

 

 

 

 

Pada gambar di atas kita membuat sebuah file baru pada direktori D: yang kita beri 

nama DataKaryawan.xls (baris ke-291). Setelah itu, kita membuat pula sebuah sheet baru 

bernama ”Karyawan” (baris ke-294). Pada baris ke-297 s.d. baris ke-305, kita membaca data 

pada jTable secara cell per cell, kemudian mengalokasikan cell pada file DataKaryawan.xls 

yang nantikan akan digunakan untuk menulis data yang dibaca tersebut. Selanjutnya, pada 

baris ke-314 s.d. baris ke-315, kita menampilkan dialog box untuk menginformasikan kepada 

user bahwa data telah berhasil ditulis dalam file Excel. 

 

C. Membaca File Excel 

Pada pembahasan ini, kita akan membuat sebuah form GUI baru untuk menampilkan 

data yang dibaca dari file Excel. Mula-mula kita buat ”New Project” dari menu ”File  New 

Project”, lalu pilih ”Java” pada bagian Categories, kemudian pilih ”Java Application” pada 

bagian Projects. Beri nama ”BacaExcel” pada bagian Project Name. Lakukan import library 

jxl ke dalam project BacaExcel ini dengan cara seperti yang telah dijelaskan sebelumnya. 

Setelah itu, kita buat lagi sebuah kelas baru melalui menu ”File  New File”, lalu 

pilih ”Swing GUI Forms” pada bagian Categories, lalu pilih ”JFrame Form” pada bagian File 

Types. Beri nama file tersebut dengan nama ”FormBacaExcel”. Selanjutnya kita desain form 

GUI seperti gambar di bawah ini: 

 

97 

 

 

 

Pada tombol ”Baca File Excel”, kita klik dua kali sehingga secara otomatis Netbeans 

akan membuatkan method jButton1ActionPerformed(). Pada method tersebut kita isikan 

kode program di bawah ini: 

 

 

*Catatan: Anda harus terlebih dahulu membuat table model untuk jTable yang Anda buat 

pada FormBacaExcel. Cara membuat table model telah dijelaskan pada Bab 10. 

 

Selanjutnya, jangan lupa melakukan instansiasi objek FormBacaExcel pada main 

class, yakni file BacaExcel.java. 

98 

 

 

  

 

Ketika program dijalankan dan tombol ”Baca File Excel” diklik, maka aplikasi akan 

membaca file Excel yang telah disiapkan sebelumnya dan menampilkannnya ke dalam tabel. 

 

 

 

  

99 

 

Bab 13 

Java Class Library  

 

13.1. Capaian Pembelajaran 

 

Setelah mempelajari bab ini, mahasiswa diharapkan: 

1. Mengenal Java Library 

2. Memahami penggunaan Java Library 

3. Memahami cara pembuatan Java Library. 

 

 

13.2. Indikator 

 

1. mahasiswa mampu memanfaatkan library pada Java  

2. melakukan kompilasi kode program Java menjadi aplikasi .jar. 

3. Mahasisw mampu membangun aplikasi berbasis GUI sederhana untuk pemesanan 

tiket pesawat terbang. 

4. mahasiswa mampu mengintegrasikan beberapa library dalam satu program 

 

13.3. Uraian Materi 

A. Library 

Library merupakan kumpulan perintah yang dapat digunakan oleh aplikasi maupun 

platform lain. Pada dasarnya library sama dengan sebuah aplikasi. Library dapat menampung 

kelas-kelas yang berfungsi untuk melakukan tugas tertentu dan dipanggil dari aplikasi lain. 

Dalam pemrograman Java, library di-compile menjadi Java Archive (JAR). 

Library akan berguna untuk situasi sebagai berikut 

a. Ketika membangun banyak aplikasi yang memilki komponen sama seperti services 

maupun method. 

b. Ketika membangun aplikasi yang bervariasi, seperti versi trial dan versi paid dimana 

keduanya membutuhkan komponen inti yang sama. 

Untuk membuat library, hanya perlu memindahkan kelas atau file yang ingin digunakan 

kembali pada aplikasi lain ke sebuah package tersendiri dan di-compile menjadi sebuah .jar 

Pemanggilan kelas maupun method yang ada pada library sama seperti pemanggilan kelas 

atau method dalam project, yaitu dengan melakukan import pada kelas yang akan memanggil 

method dari library. 

 

B. Distribusi aplikasi  

Aplikasi yang telah kita buat menggunakan Java dapat didistribusikan menjadi sebuah 

aplikasi independen dengan cara mengkompilasi kode program Java tersebut menjadi file 

berekstensi .jar. Jika kita menggunakan IDE Netbeans dalam membangun aplikasi, maka 

proses kompilasi file .jar ini sangat mudah. Anda cukup masuk ke menu ”Run  Clean and 

Build Project”, maka secara otomatis Netbeans akan membuatkan file .jar pada direktori 

”dist” pada project yang Anda buat. 

100 

 

Perlu diingat, apabila Anda membuat aplikasi yang terkoneksi dengan database 

MySQL, maka Anda harus mengaktifkan dulu server database-nya, baru dapat menjalankan 

aplikasi .jar. Jika Anda merasa kurang praktis menggunakan database yang tidak terintegrasi 

di dalam aplikasi yang Anda buat, maka ada beberapa alternatif DBMS lain yang sifatnya 

terintegrasi dengan aplikasi yang dibuat, misalnya: Java DB, Apache Derby, H2, atau 

HSQLDB. DBMS tersebut memungkinkan kita membuat aplikasi yang terintegrasi dengan 

DBMS di dalamnya, sehingga ketika aplikasi dijalankan, secara otomatis DBMS juga 

diaktifkan. 

 

13.4. Latihan 

 

A. PEMBUATAN LIBRARY 

Langkah-langkah pembuatan java library sebagai berikut 

a. Klik File  New Project  Pilih Categories: Java, Project: Java Class Library. 

 

 

b. Klik Next, kemudian berikan nama project dan pilih lokasi penyimpanan. Klik 

Finish 

 

 

101 

 

c. Setelah klik finish, maka pada Project Browser akan muncul seperti pada gambar 

berikut 

 

 

d. Klik kanan pada Source Packages dan pilih New  Java Packages… 

 

 

e. Beri nama package dan klik finish. 

 

 

f. Klik kanan pada package yang telah diberi nama tadi dan pilih New  Java Class… 

102 

 

 

 

g. Beri nama class dan klik finish 

 

 

h. Tulliskan syntax berikut pada Calculator.class 

public class Calculator { 

    //PENJUMLAHAN 

    public static double sum(double firstNumber, double secondNumber){ 

        return firstNumber + secondNumber; 

    } 

    //PENGURANGAN 

    public static double subtract(double firstNumber, double secondNumber){ 

        return firstNumber - secondNumber; 

    } 

    //PERKALIAN 

    public static double multiple(double firstNumber, double secondNumber){ 

        return firstNumber * secondNumber; 

    } 

    //PEMBAGIAN 

    public static double divide(double firstNumber, double secondNumber){ 

        return firstNumber / secondNumber; 

    } 

 

i. Klik Run  Build Project. 

103 

 

Library yang sudah dibuild akan berada di folder /dist. 

 

Library Core.jar ini sudah dapat digunakan oleh aplikasi lainnya. 

 

B. IMPLEMENTASI LIBRARY DALAM APLIKASI 

a. Menambah Library ke aplikasi 

Klik File  New Project  Pilih Categories: Java, Project: Java Application 

 

 

Klik Next, kemudian berikan nama project dan pilih lokasi penyimpanan. Klik 

Finish. 

 

 

Project baru akan muncul di project browser. Klik kanan pada Libraries yang ada di 

project baru, kemudian pilih Add Library… 

104 

 

 

Klik Create Library…  

Berikan nama library dan tipe library. Lalu tekan Ok 

 

 

Pada Classpath, klik Add Jar/Folder… 

Kemudian arahkan ke lokasi Core.jar yang dibuat sebelumnya. Lakukan hal yang 

sama pada tab Sources. Jika sudah, tekan OK. 

 

 

Pilih library yang sudah dibuat dan tekan Add Library 

105 

 

 

Maka pada project browser akan terlihat seperti gambar berikut 

 

 

b. Membuat Aplikasi 

Buatlah form baru seperti pada gambar berikut 

 

 

Form terdiri dari tiga TextField, empat Label, dan empat Button. 

TextField 

- txtFirstNumber, untuk input angka pertama. 

- txtSecondNumber, untuk input angka kedua. 

- txtResult, untuk menampilkan hasil operasi. 

Button 

- btnSum, untuk penjumlahan. 

- btnSubtract, untuk pengurangan. 

- btnMultiple, untuk perkalian. 

- btnDivide, untuk pembagian. 

106 

 

Agar form yang dibuat dapat tampil ketika program dijalankan, tuliskan sintaks 

berikut pada main class project. 

public class SimpleCalculator { 

    public static void main(String[] args) { 

    SimpleCalculatorFrame frame = new SimpleCalculatorFrame(); 

    frame.setVisible(true); 

  }     

 

Tuliskan sintaks berikut pada class form yang sudah dibuat. 

Buat variable global untuk pesan error. 

private final String errorTitle = "Error"; 

private final String errorMessage = "First Number or Second Number must be 

filled with number"; 

 

Pada constructor class form tuliskan sintaks berikut untuk inisiasi. 

public SimpleCalculatorFrame() { 

   initComponents(); 

   txtFirstNumber.setHorizontalAlignment(SwingConstants.RIGHT); 

   txtSecondNumber.setHorizontalAlignment(SwingConstants.RIGHT); 

   txtResult.setHorizontalAlignment(SwingConstants.RIGHT); 

   txtResult.setEnabled(false); 

 

Pada btnSum tuliskan sintaks berikut 

private void btnSumActionPerformed(java.awt.event.ActionEvent evt) {                                        

   String firstNumber = txtFirstNumber.getText(); 

   String secondNumber = txtSecondNumber.getText(); 

   if (firstNumber.equals("") || secondNumber.equals("")) { 

      JOptionPane.showMessageDialog(null, 

                    errorMessage,  

                    errorTitle,  

                    JOptionPane.ERROR_MESSAGE); 

   }else{  

      double first = Double.parseDouble(firstNumber); 

      double second = Double.parseDouble(secondNumber); 

      double result = Calculator.sum(first, second); // Penjumlahan 

      txtResult.setText(String.valueOf(result)); 

   } 

 

 

Pada btnSubtract tuliskan sintaks berikut 

private void btnSubtractActionPerformed(java.awt.event.ActionEvent evt) {                                        

   String firstNumber = txtFirstNumber.getText(); 

   String secondNumber = txtSecondNumber.getText(); 

   if (firstNumber.equals("") || secondNumber.equals("")) { 

      JOptionPane.showMessageDialog(null, 

107 

 

                    errorMessage,  

                    errorTitle,  

                    JOptionPane.ERROR_MESSAGE); 

   }else{  

      double first = Double.parseDouble(firstNumber); 

      double second = Double.parseDouble(secondNumber); 

      double result = Calculator.subtract(first, second); // Pengurangan 

      txtResult.setText(String.valueOf(result)); 

   } 

 

Pada btnDivide tuliskan sintaks berikut 

private void btnDivideActionPerformed(java.awt.event.ActionEvent evt) {                                        

   String firstNumber = txtFirstNumber.getText(); 

   String secondNumber = txtSecondNumber.getText(); 

   if (firstNumber.equals("") || secondNumber.equals("")) { 

      JOptionPane.showMessageDialog(null, 

                    errorMessage,  

                    errorTitle,  

                    JOptionPane.ERROR_MESSAGE); 

   }else{  

      double first = Double.parseDouble(firstNumber); 

      double second = Double.parseDouble(secondNumber); 

      double result = Calculator.divide(first, second); // Pembagian 

      txtResult.setText(String.valueOf(result)); 

   } 

 

  

108 

 

Pada btnMultiple tuliskan sintaks berikut 

private void btnMultipleActionPerformed(java.awt.event.ActionEvent evt) {                                        

   String firstNumber = txtFirstNumber.getText(); 

   String secondNumber = txtSecondNumber.getText(); 

   if (firstNumber.equals("") || secondNumber.equals("")) { 

      JOptionPane.showMessageDialog(null, 

                    errorMessage,  

                    errorTitle,  

                    JOptionPane.ERROR_MESSAGE); 

   }else{  

      double first = Double.parseDouble(firstNumber); 

      double second = Double.parseDouble(secondNumber); 

      double result = Calculator.multiple(first, second); // Penjumlahan 

      txtResult.setText(String.valueOf(result)); 

   } 

 

Hasil running aplikasi sebagai berikut 

 

Running awal 

 

 

Handling error ketika input kosong 

109 

 

 

Hasil perkalian 

 

 

110 

 

BAB 14 

Mengakses Port pada Hardware Komputer 

 

14.1. Capaian Pembelajaran 

 

Setelah mempelajari bab ini, mahasiswa diharapkan: 

1. Mengetahui cara menerapkan library rxtx dalam program 

2. Mengetahui cara komunikasi serial pada comm port 

 

14.2. Indikator 

 

1. Mahasiswa mampu mengintegrasikan library rxtx dalam program 

2. Mahasiswa mampu mengimplementasikan kode program untuk melakukan komunikasi 

pada comm port. 

 

14.3. Uraian Materi 

Sebuah aplikasi yang melibatkan komunikasi dengan hardware komputer dapat 

dilakukan dalam Java, salah satunya dengan menggunakan library Java Comm yang bisa 

Anda unduh dari link berikut ini: http://rxtx.qbang.org/wiki/index.php/Download. Sebagai 

informasi, jika Anda menggunakan IDE Netbeans, maka sebaiknya Anda mengunduh rxtx 

versi binary file. 

 

A. Mencari COMM Port yang Aktif 

Untuk mencari comm port yang sedang aktif menggunakan library rxtx, kita bisa 

menggunakan method di bawah ini: 

 

 

 

111 

 

B. Mencari Semua COMM Port yang Ada 

Untuk mencari semua comm port, baik yang aktif ataupun yang tidak menggunakan 

library rxtx, kita bisa menggunakan method di bawah ini: 

 

 

 

C. Komunikasi Serial 

Berikut adalah contoh kode untuk melakukan komunikasi seriap pada comm port 

menggunakan library rxtx. 

 

import gnu.io.CommPort; 

import gnu.io.CommPortIdentifier; 

import gnu.io.SerialPort; 

 

import java.io.FileDescriptor; 

import java.io.IOException; 

import java.io.InputStream; 

import java.io.OutputStream; 

 

public class TwoWaySerialComm 

    public TwoWaySerialComm() 

    { 

        super(); 

    } 

     

    void connect ( String portName ) throws Exception 

    { 

        CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName); 

        if ( portIdentifier.isCurrentlyOwned() ) 

        { 

            System.out.println("Error: Port is currently in use"); 

        } 

        else 

        { 

            CommPort commPort = portIdentifier.open(this.getClass().getName(),2000); 

             

            if ( commPort instanceof SerialPort ) 

            { 

                SerialPort serialPort = (SerialPort) commPort; 

                

serialPort.setSerialPortParams(57600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PA

RITY_NONE); 

112 

 

                 

                InputStream in = serialPort.getInputStream(); 

                OutputStream out = serialPort.getOutputStream(); 

                 

                (new Thread(new SerialReader(in))).start(); 

                (new Thread(new SerialWriter(out))).start(); 

 

            } 

            else 

            { 

                System.out.println("Error: Only serial ports are handled by this example."); 

            } 

        }      

    } 

     

    /** */ 

    public static class SerialReader implements Runnable  

    { 

        InputStream in; 

         

        public SerialReader ( InputStream in ) 

        { 

            this.in = in; 

        } 

         

        public void run () 

        { 

            byte[] buffer = new byte[1024]; 

            int len = -1; 

            try 

            { 

                while ( ( len = this.in.read(buffer)) > -1 ) 

                { 

                    System.out.print(new String(buffer,0,len)); 

                } 

            } 

            catch ( IOException e ) 

            { 

                e.printStackTrace(); 

            }             

        } 

    } 

 

    /** */ 

    public static class SerialWriter implements Runnable  

    { 

        OutputStream out; 

         

        public SerialWriter ( OutputStream out ) 

        { 

            this.out = out; 

        } 

         

        public void run () 

        { 

            try 

            {                 

                int c = 0; 

                while ( ( c = System.in.read()) > -1 ) 

                { 

                    this.out.write(c); 

                }                 

            } 

            catch ( IOException e ) 

            { 

                e.printStackTrace(); 

            }             

        } 

    } 

     

    public static void main ( String[] args ) 

    { 

        try 

        { 

            (new TwoWaySerialComm()).connect("COM3"); 

        } 

113 

 

        catch ( Exception e ) 

        { 

            // TODO Auto-generated catch block 

            e.printStackTrace(); 

        } 

    }