Java Library dan Java Swing Pembuatan Class Library Aritmatik pada Bangun Datar dan Bangun Ruang serta Dimanfaatkan pada Project Java Swing Java Library dan Java Swing Pembuatan Class Library Aritmatik pada Bangun Datar dan Bangun Ruang serta Dimanfaatkan pada Project Java Swing Oleh: Windu Purnomo E-mail : wpwindupurnomo[at]gmail.com Blog : http://windupurnomo.wordpress.com Eko Zulkaryanto E-mail : ekozul[at]student-partners.com Blog : http://zulkaryanto.wordpress.com Computer Science, Bogor Agricultural University http://cs.ipb.ac.id i Table of Contents Table of Contents ....................................................................................................... ii Java Library ................................................................................................................ 1 Pendahuluan .......................................................................................................... 1 Pembuatan Project ................................................................................................ 1 Class diagram ..................................................................................................... 1 Project BangunLib .............................................................................................. 2 Project BangunForm ........................................................................................ 10 Penambahan Library ........................................................................................ 20 ii Java Library Pendahuluan Pada praktikum pertemuan sebelumnya telah mempelajari tentang Java Library menggunakan IDE Netbeans. Pada pertemuan sebelumnya kita membuat Library ArithmaticLib yang kemudian dipakai oleh project lain untuk menghitung operasi matematika. Pada kesempatan kali ini kita akan membuat library perhitungan luas dan keliling bangun datar serta luas dan volume bangun ruang. Kita beri nama library ini BangunLib. Kemudian library ini akan kita pakai di java Swing (JFrame Form). Pembuatan Project Kali ini kita membutuhkan 2 buah interface yang berperan sebagai kontrak untuk masing-masing bangun datar dan bangun ruang. Interface bangun datar berperan sebagai kontrak untuk class-class bangun datar dan Interface bangun ruang berperan sebagai kontrak untuk class-class bangun ruang. Class diagram Langsung saja untuk memperjelas kalimat tadi mari kita lihat class diagram berikut: 1 Project BangunLib Sekarang buka Netbeans dan buatlah project baru (New Project Java Java Class Library). Next. Beri nama “BangunLib”. Buatlah Package baru dengan cara klik kanan pada Source Packages New Java Packages , beri nama BangunLib. 2 Buatlah interface IBangunDatar dan IBangunRuang, dengan cara Klik kanan package BangunLib New Java Interface. Pada interface IBangunDatar ikuti kode program berikut: Pada interface IBangunRuang ikuti kode program berikut: 3 Buatlah class Persegi, Lingkaran, dan Segitiga pada package BangunLib yang mengimplementasikan interface IBangunDatar. Pada class Persegi ikuti kode program berikut: Klik tanda kuning di sebelah kiri untuk mengimplemen semua method yang terdapat pada interface IBangunDatar. Kemudian klik “Implement all abstract methods”. 4 Kemudian akan terlihat kode di bawah ini: Dan modifikasikasilah kode program di atas menjadi kode program seperti berikut: Lakukan hal yang sama untuk class Lingkaran dan Segitiga. Pada class Lingkaran modifikasi kode programnya menjadi: 5 6 Pada class Segitiga ikuti kode program berikut: Sekarang buatlah 3 class lagi yaitu class Bola, Kubus, dan Tabung yang mengimplementasikan interface IBangunRuang. Pada class Bola ikuti kode program berikut: 7 Pada clas Kubus ikuti kode program berikut: 8 Pada class Tabung ikuti kode program berikut: Selesai. 9 Sekarang Build project. Klik kanan project Build. Pada jendela output: Terlihat bahwa hasil build menghasilkan file BangunLib.jar pada folder “C:\Users\Ekozul\Documents\NetBeansProjects\Bangunlib\dist\Bangunlib.jar”. File BangunLib.jar ini akan kita gunakan untuk project baru selanjutnya. Project BangunForm Buatlah project baru Java Java Application Next, Beri nama BangunForm dan uncheck Create Main Class. Finish. 10 Pada default packages tambahkan JframeForm. Klik kanan New JFrame Form. Beri nama “MainWindow”. Terlihat ada warning karena kita tidak membuatkan package terlebih dahulu. Tapi untuk latihan ini tidak masalah karena project ini masih sederhana. Finish. 11 Pada tampilan Design tambahkan JPanel dari jendela Palette. Lakukan Drag and Drop JPanel ke area Design. Perluas JPanel tersebut. Klik kanan JPanel tersebut dan pilih Properties Border (klik tombol di sebelah kanan). Lalu muncul jendela border. 12 Pada jendela border pilih Titled Border. Dan pada properties Title isikan “Bangun Datar”. OK. JPanel akan terlihat seperti di bawah ini. Selanjutnya tambahkan JPanel lagi dengan perlakuan yang sama dan beri title “Bangun Ruang”. Sehingga terlihat seperti di bawah ini: 13 Tambahkan JComboBox dari Palette ke JPanel Bangun Datar. Klik kanan JComboBox Change Variable Name Beri nama “cmbBangunDatar”. Klik kanan JComboBox cmbBangunDatar Properties Model. Isikan “Persegi, Lingkaran, Segitiga”. 14 Klik Preview untuk melihat hasil design. Tambahkan JTextField, JLabel dan JButton dengan design berikut: Ubahlah properties dari JTextField, Jlabel, dan Jbutton tersebut dengan mengikuti tabel berikut: Control JTextField1 JTextField2 JTextField3 JTextField4 Jlabel1 Jlabel2 JButton Variabel Name txtPertama1 txtKedua1 txtLuas1 txtKeliling [default] [default] btnHitung1 Text Luas : Keliling : Hitung 15 Sehingga terlihat seperti ini: Pada jendela inspector haruslah sama seperti ini: Sekarang lakukan untuk area JPanel dengan title Bangun Ruang. Tambahkan JComboBox dengan Variable Name “cmbBangunRuang”. Dan ubah properties model menjadi “Bola, Kubus, Tabung”. Dengan design seperti ini: 16 Ubahlah properti dari JTextField, JButton, dan JLabel seperti pada tabel berikut: Control Variable Name JTextField1 txtPertama2 JTextField2 txtKedua2 JTextField3 txtLuas2 JTextField4 txtVolume JButton1 btnHitung2 JLabel3 [default] JLabel4 [default] Pada jendela inspector terlihat seperti ini : Text Hitung Luas : Volume : Dan preview terlihat seperti ini: 17 Beri event pada cmbBangunDatar. Klik kanan Events Item itemStateChanged. Sekarang ketik kode program berikut pada blok kode event cmbBangunDatar tersebut: Jika dipilih Lingkaran maka txtKedua1 akan hilang. 18 Kembali ke design view dan tambahkan event juga pada cmbBangunRuang. Klik kanan Events Item itemStateChanged. Tambahkan kode program berikut: Sekarang menuju ke method MainWindow(): Dan modifikasilah menjadi: Run (F6). Sekarang theme aplikasi mengikuti theme sistem operasi Anda: 19 Penambahan Library Setelah itu sekarang kita tambahkan library yang sudah kita buat yaitu BangunLib.jar ke dalam project BangunForm. Klik kanan Libraries Add JAR/Folder Klik Open. Lalu terlihat BangunLib.jar seperti ini. Kemudian pada source view MainWindow tambahkan import berikut: BangunLib adalah namespace dari BangunLib.jar sehingga perlu di sebutkan namespacenya. 20 Sekarang kembali ke design view dan beri event pada btnHitung1 dengan cara double click pada button tersebut atau click kanan btnHitung1 Events actionPerformed. Ingat! Inputan dari JTextField adalah String jadi harus diubah ke Float terlebih dahulu sebelum dihitung. Pada blok kode event btnHitung1 dan tambahkan kode program berikut. Sekarang ke btnHitung2 dan buatlah event dengan cara yang sama. Modifikasi menjadi seperti berikut: 21 Selesai. Run (F6). Selamat Mencoba!!! 22