Modul Pemrograman Java Netbeans
Modul Pemrograman Java Netbeans
PEMROGRAMAN VISUAL 2
(Java Programming)
disusun oleh:
Daftar Isi.....................................................................................................................................2
Modul 1. Pengenalan – NetBeans IDE.......................................................................................1
Materi Dasar..........................................................................................................................1
Praktikum 2.1 – Project.........................................................................................................2
Praktikum 1.2 – Hello World.................................................................................................4
Modul 2. Java Swing – Swing Component................................................................................6
Materi Dasar..........................................................................................................................6
Praktikum 2.1 – JLabel, JTextfield, dan JButton.................................................................10
Praktikum 2.2 – JCheckBox dan JRadioButton...................................................................12
Praktikum 2.3 – JList dan JComboBox...............................................................................15
Modul 3. Java Swing – Swing Dialog dan File Chooser..........................................................19
Materi Dasar........................................................................................................................19
Praktikum 3.1 – Pre-defined Dialog Dengan JOptionPane.................................................20
Praktikum 3.2 – File Chooser..............................................................................................23
Modul 4. Java Swing – Swing Menu.......................................................................................27
Materi Dasar........................................................................................................................27
Praktikum 4.1 – Menu.........................................................................................................28
Praktikum 4.2 – Popup Menu..............................................................................................32
Praktikum 4.3 – Toolbar......................................................................................................33
Modul 5. Java Swing – Event Handler.....................................................................................37
Materi Dasar........................................................................................................................37
Praktikum 5.1 – ActionListener...........................................................................................39
Praktikum 5.2 – ItemListener..............................................................................................40
Praktikum 5.3 – MouseListener...........................................................................................40
Praktikum 5.4 – KeyListener...............................................................................................42
Modul 6. Java Swing – Layout.................................................................................................44
Materi Dasar........................................................................................................................44
Praktikum 6.1 – Border Layout...........................................................................................45
Praktikum 6.2 – Card Layout...............................................................................................46
Praktikum 6.3 – Flow Layout..............................................................................................48
Praktikum 6.4 – Grid Layout...............................................................................................49
Praktikum 6.5 – GridBag Layout.........................................................................................50
Modul 7. Java Database Connectivity......................................................................................52
Materi Dasar........................................................................................................................52
Praktikum 7.1 – Java Database Connectivity......................................................................53
Praktikum 7.2 – Insert Data.................................................................................................55
Praktikum 7.3 – Update Data...............................................................................................57
Praktikum 7.4 – Delete Data................................................................................................59
Praktikum 7.5 – Tampil Data...............................................................................................60
Daftar Pustaka..........................................................................................................................63
DAFTAR GAMBAR
Materi Dasar
Netbeans merupakan sebuah aplikasi Integrated Development Environment (IDE) yang
berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing merupakan
sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat berjalan pada
berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE
merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat
lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau text, suatu
compiler dan suatu debugger.
2
3
ii. Berikutnya akan muncul sebuah window dialog untuk memilih kategori project.
Pada bagian Categories, pilih Java dan pada bagian Projects pilih Java Application.
Tekan tombol Next.
iii. Selanjutnya, akan ditampilkan window dialog untuk menentukan nama project dan
lokasi di mana project tersebut akan disimpan. Secara default, netbeans
menyimpan semua projects yang dibuat di dalam folder NetbeansProjects yang
terletak pada folder user document (contoh pada sistem operasi Windows,
C:\<username PC>\My Documents\). Tekan tombol Next.
iv. Setelah menekan tombol Finish, netbeans akan men-generate semua konfgurasi
yang dibutuhkan dalam membuat sebuah aplikasi seperti source code, library,
deployment, dan sebagainya.
Pada pilihan Categories pilih Java dan pada bagian File Types, pilih Java Class; Atau
bisa juga dilakukan dengan cara lain yaitu pada projects sidebar, pilih dan klik source
package. Lalu klik kanan untuk memunculkan popup menu, pilih new, Java Class.
ii. Berikutnya akan muncul sebuah dialog yang akan meminta nama fle dan lokasi dari
class yang akan dibuat.
Pada isian class name, silahkan isi dengan nama class yang diinginkan, sedangkan
untuk isian project name, location, dan package tidak perlu diubah. Lalu tekan
tombol Finish. (khusus pada praktikum ini, isian package akan diabaikan dan
akan dibahas secara lebih lanjut pada praktikum berikutnya).
Class Name : HelloWorld
Project : PraktikumVisualJava1
Location : Source Package
Package : <kosongkan>
iii. Setelah menekan tombol Finish, NetBeans akan men-generate sebuah fle baru
dengan nama HelloWorld.java yang tersimpan pada Source Package di project
PraktikumVisualJava1.
iv. Langkah berikutnya adalah membuat sebuah source code yang nantinya akan
dikompilasi menjadi sebuah program. Pada workspace HelloWorld.java, silahkan
ketik source code dimulai dari baris 2 sampai baris 4.
Metode Penjelasan
Run Project Mengkompilasi keseluruhan source code yang terdapat pada project
sekaligus menjalankan program sebagai satu kesatuan.
Run File Mengkompilasi sekaligus menjalankan source code tertentu.
Compile File Hanya mengkompilasi source code tapi tidak menjalankan.
MODUL 2. JAVA SWING – SWING COMPONENT
Materi Dasar
Dalam aplikasi NetBeans terdapat menu Palette yang berisi Swing dan komponen-
komponen penting didalamnya untuk membangun sebuah aplikasi menggunakan NetBeans,
mungkin masih ada beberapa pengguna NetBeans yang belum tau deskripsi masing-masing
komponen tersebut maka postingan ini dibuat untuk menjelaskan satu persatu komponen
tersebut.
Nama Deskripsi
Merupakan panel yang dapat digunakan sebagai papan dari suatu
Panel
bidang / layar lain
Split Pane Merupakan 2 tombol yang tebagi menjadi 2 sisi (kiri & kanan)
Merupakan bar yang dapat dimasukkan tool didalamnya, biasanya
Toolbar
digunakan diatas layar
Internal Frame Merupakan bingkai layar baru yang berada didalam bingkai utama
Merupakan panel yang memiliki tab & bisa beralih dari tab 1 ke tab
Tabbed Pane
lainnya
Scroll Pane Merupakan panel yang dapat di scroll baik horizontal ataupun vertikal
Merupakan container yang digunakan untuk membuat multi dokumen
Desktop Pane
interface atau dekstop virtual
Sebuah container yang memungkinkan setiap komponen didalamnya
Layered Pane
saling overlap jika diperlukan
Swing Controls
Nama Deskripsi
Sebuah kolom/area yang digunakan untuk menampilkan tulisan atau
Label
gambar
Toggle Button Tombol yang memiliki 2 keterangan seperti saklar (ON/OFF)
Tombol yang berfungsi untuk memilih dan tidak memilih pilihan
Radio Button
lainnya, tombol ini hanya dapat memilih satu dari sekian pilihan
Komponen yang digunakan sebagai dropdown list, bisa digunakan
Combo Box
untuk memilih multiple selection
Komponen yang digunakan sebagai input / bidang yang dapat diedit
Text Field
(menulis didalamnya)
Komponen yang menyesuaikan tampilan sebuah konten yang terbatas
Scroll Bar
& menampilkan scroll
Sebuah bar yang mengindikasi sebuah pekerjaan dengan menampilkan
Progress Bar
presentasi pekerjaan tersebut
Password Field Sebuah bidang yang digunakan untuk menulis katasandi, tidak akan
Nama Deskripsi
menampilkan karakter & diganti dengan tanda titik
Digunakan untuk keperluan umum seperti membatasi komponen &
Separator
memberikan garis pemisah
Bidang yang sering disebut textarea, biasa digunakan untuk menulis
Editor Pane
apapun didalamnya
Button Sebuah tombol sederhana
Check Box Kotak centang yang dapat dicentang atau tidak
Class yang digunakan untuk membuat multi lingkup eksklusi satu set
Button Group
tombol
List Menampilkan sebuah daftar & dapat dipilih lebih dari satu
Tidak berbeda jauh dengan Editor Pane, sebuah kolom besar yang dapat
Text Area
digunakan untuk menulis
Pengguna dapat menggeser sebuah nilai secara grafik seperti membesar
Slider
kecilkan volume
Komponen yang memungkinkan untuk mengedit sebuah nilai
Formatted Field
didalamnya secara partikular
Sebuah bidang input angka yang memiliki tombol naik dan turun untuk
Spinner
mengontrol angka tersebut
Text Pane Bidang text yang dapat diisi dengan ilai dan menandai isi-isi tersebut
Sebuah direktori folder yang tersusun seperti pohon ketika memiliki
Tree
folder didalam folder
Swing Menus
Swing Menus memiliki komponen-komponen yang dapat digunakan untuk keperluan menu /
navigasi.
Nama Deskripsi
Menu Bar Komponen untuk menampilkan menu dan item menu
Sebuah menu tunggal, bisa digunakan sebagai menu utama jika
Menu
disisipkan submenu
Menu Item Sebuah item menu tunggal didalam menu
Menu Item / CheckBox Sebuah item menu tunggal atau kotak centang didalam menu
Menu Item / RadioButton Sebuah item menu tunggal atau kotak centang didalam menu
Layar munculan kecil yang menampilkan beberapa pilihan /
Popup Menu
menu
Keperluan umum untuk membatasi antara komponen dan
Separator
memberikan garis pembatas
Swing Windows
Swing Windows menampilkan beberapa komponen yang digunakan untuk keperluan jendela
(window) / layar.
Nama Deskripsi
Dialog Sebuah jendela yang digunakan menampilkan dialog
Color Chooser Jendela baru yang digunakan untuk memilih warna / memanipulasi
Jendela yang digunakan untuk menampilkan dialog dan opsi yang
Option Pane
ditampilkan
Frame Top Level Window, digunakan untuk bingkai window utama
File Chooser Jendela baru untuk memilih sebuah file
Swing Fillers
Nama Deskripsi
Komponen yang tersedia untuk menggerakkan ke arah vertikal &
Glue
horizontal
Komponen yang memiliki lebar pasti dan dapat bergerak ke arah
Horizontal Strut
horizontal
Vertical Glue Komponen yang memiliki lebar bebas & dapat bergerak ke arah vertikal
Vertical Strut Komponen yang memiliki lebar pasti dan dapat bergerak ke arah vertikal
Komponen yang memiliki lebar bebas & dapat bergerak ke arah
Horizontal Glue
horizontal
Rigid Area Komponen yang memiliki ukuran pasti
AWT
AWT merupakan singkatan dari Abstract Window Tookit menampilkan toolbox widget,
grafis dan widget antarmuka pengguna yang sebelumnya ada di Swing.
Nama Deskripsi
Label Bidang yang menampilkan tulisan, biasa digunakan untuk judul
Text Field Bidang yang menampilkan kolom penulisan
Checkbox Kotak yang dapat dicentang atau tidak
List Menampilkan daftar
Scroll Pane Anak komponen yang otomatis membuat scroll horizontal / vertikal
Canvas Sebuah kanvas kosong dapat dimasukkan sesuatu bahkan oleh pengguna lain
Popup Menu Layar popup yang menampilkan menu atau pilihan lain
Nama Deskripsi
Button Tombol
Text Area Bidang besar untuk menulis beberapa baris kalimat
Choice Kolom tarik-turun yang menampilkan beberapa pilihan untuk dipilih
Scrollbar Tombol scroll yang dapat diterapkan dimana saja
Panel Sebuah panel / container untuk keperluan umum
Menu Bar Sebuah bar menu yang dapat dimasukkan kedalam frame
Java Persistence
Nama Deskripsi
Entity Manager Sebuah entitas yang terasosiasi dengan persistensi unit
Query Result Hasil dari kueri persistensi
Query Kueri persistensi
iv. Ganti nama setiap komponen agar mudah dikenali. Klik kanan di atas setiap
komponen yang ada dalam Jendela Design di atas, kemudian pilih Change Variable
Name ...
Ganti nama komponen-komponen tersebut (sesuai urutan dari kiri ke kanan, atas ke
bawah) menjadi : txtA, txtB, btnHitung, lblHasil.
v. Menambahkan variabel untuk menampung nilai yang akan dijumlahkan. Klik tombol
Source untuk membuka jendela yang menampilkan kode sumber dari program di
atas kemudian tambahkan kode di bawah ini tepat di bawah defnisi dari class
Penjumlahan (baris 3-4):
1 public class NewJFrame extends javax.swing.JFrame {
2
3 private String str = "Hasilnya adalah : ";
4 private int a, b;
5 ......
vi. Menangani penekanan tombol Jumlah. Klik tombol Design untuk menampilkan
frame yang telah dibuat, klik kanan di atas komponen button Jumlah kemudian pilih
menu Events, Action, actionPerformed. Anda akan dibawa ke jendela Source, dan
akan menemukan kode program seperti berikut.
Untuk membuat aplikasi ini menggunakan Matisse, lakukan langkah-langkah berikut ini:
i. Buat class baru bertipe JFrame Form, kemudian beri nama Pilihan.java
ii. Buat tampilan di atas menggunakan Matisse. komponen yang harus dibuat adalah :
✔ Dua object JRadioButton : radioBerwarna dan radioTransparan.
✔ Satu object ButtonGroup : groupTipeWarna.
✔ Empat object JCheckBox : chkHijau, chkBiru, chkMerah, chkKuning.
✔ Satu object JTextArea : txtWarna.
✔ Satu object JLabel : lblTipeWarna
Untuk melihat semua komponen yang ada dalam Jendela Design, gunakan Jendela
Navigator di sisi kiri bawah.
iii. Masukkan object radioBerwarna dan radioTransparan ke dalam object
groupTipeWarna. Caranya dengan :
✔ Memilih komponen radioBerwarna di Jendela Design
✔ Klik tab code di Jendela Properties
✔ Pilih properti : Post-Creation Code
✔ Masukkan kode berikut ini kedalam dialog yang muncul :
groupTipeWarna.add(radioBerwarna);
Lakukan langkah yang sama terhadap object radioTransparan.
iv. Menangani event ketika JRadioButton diklik. Caranya dengan :
✔ Memilih komponen radioBerwarna di Jendela Design
✔ Klik kanan komponen radioBerwarna, kemudian pilih menu:
Event > Action > actionPerformed
✔ Anda akan dibawa ke dalam Jendela Code, dan menemukan kode berikut ini
vii. Compile dan jalankan program dengan menekan tombol SHIFT + F6.
Cara lain dalam menampilkan pilihan adalah dengan menggunakan JList dan JcomboBox.
Kedua komponen ini mempunyai fileksibilitas yang lebih tinggi dan lebih mudah digunakan
jika object yang dimasukkan dalam pilihan lebih kompleks. JList dan JComboBox bisa
mempunyai ComponentEditor agar pilihan yang ditampilkan tidak hanya berupa text, bisa
berupa warna atau icon. Bagian berikutnya akan membahas bagaimana bekerja
menggunakan JList dan JComboBox.
Catatan :
• Method getSelectedValues dari JList mengembalikan item-item yang
terpilih.
vii. Compile dan jalankan program dengan menekan tombol SHIFT + F6.
MODUL 3. JAVA SWING – SWING DIALOG DAN FILE CHOOSER
Materi Dasar
Dialog memerankan peran yang penting dalam aplikasi berbasis desktop. Interaksi antara
user dengan aplikasi terkadang tidak berjalan dengan baik karena user memberikan aksi
yang tidak valid kepada aplikasi. Ketika hal tersebut terjadi, aplikasi harus memberitahukan
kepada user apa yang telah terjadi dan bagaimana seharusnya user memperbaikinya.
Model interaksi seperti ini tepat dilaksanakan menggunakan dialog.
Skenario lain adalah ketika aplikasi memerlukan input dari user agar aplikasi bisa terus
melaksanakan tugasnya, misalnya meminta konfrmasi apakah user yakin akan
melaksanakan sebuah aksi penting terhadap aplikasi seperti delete, update atau add data.
Dialog juga memberikan pembatasan kepada user, sebelum dialog selesai diproses, user
tidak akan bisa berinteraksi dengan bagian aplikasi lainya. Dialog mencegah hal ini terjadi
dengan memastikan bahwa jendela yang bisa diaktifkan hanyalah jendela dialog,
sedangkan jendela aplikasi yang lain tidak dapat diaktifkan selama jendela dialog masih
aktif.
Aplikasi sangat sering menggunakan dialog untuk berinteraksi dengan user, tetapi jenis
interaksinya selalu seragam dan berulang-ulang. Swing menyediakan dialog yang didesign
untuk keperluan yang sering muncul dalam aplikasi, seperti JOptionPane dan
JFileChooser. Swing juga menyediakan class JDialog jika kita ingin membuat dialog custom
sesuai keinginan kita.
Praktikum 3.1 – Pre-defned Dialog Dengan JOptionPane
JOptionPane menyediakan beberapa dialog yang siap pakai dan sering digunakan dalam
aplikasi. JOptionPane sangat memudahkan kita dalam meminta user suatu input tertentu
atau memberitahu user apa yang terjadi dalam aplikasi.
JOptionPane mempunyai banyak static method untuk menampilkan popup dialog dengan
mudah. Terdapat empat method utama yang dapat kita gunakan sebagai landasan
membuat dialog.
Keempat method tersebut secara rinci digambarkan dalam tabel berikut ini:
Method Deskripsi
showConfrmDialog Meminta konfrmasi daru user, seperti yes/no/cancel
showInputDialog Meminta input dari user, baik berupa input text menggunakan
JtextField maupun pilihan menggunakan JComboBox
showMessageDialog Memberitahukan user tentang apa yang baru saja terjadi
showOptionDialog Gabungan dari ketiga jenis dialog di atas
Parameter dari keempat method tersebut mengikuti pola yang konsisten. Terurut dari kiri
ke kanan, berikut ini parameter-parameter yang bisa diterima oleh method-method dalam
class JoptionPane:
a) parentComponent :Mendefsikan komponen yang akan menjadi parent dari dialog
box ini. Frame dari parent component tersebut akan menjadi frame dari dialog dan
dialog akan ditampilkan di tengah-tengah parent component. Jika nilai dari
parentComponent diset null, maka dialog akan menggunakan frame default dan
dialog akan diletakkan ditengah-tengah layar monitor (tergantung L&F).
b) message : Pesan yang deskriptif menerangkan perihal dialog yang muncul. Pada
umumnya message berupa pesan String yang akan diletakkan dalam dialog, namun
jenis object lain juga diijinkan digunakan sebagai message. Object-object yang
diijinkan akan diperlakukan berbeda, object-object tersebut antara lain
i. Object[] : Setiap object akan ditampilkan dalam dialog berurut dari atas ke
bawah. Aturan ini berlaku rekursif untuk semua object didalam array.
ii. Component : Jika object yang dimasukkan sebagai message bertipe
Component, maka Component tersebut akan ditampilkan ditengah-tengah
dialog.
iii. Icon : Icon akan dimasukkan ke dalam sebuah JLabel kemudian ditampilkan di
sebelah kiri dari dialog.
iv. others : Object lainya akan ditampilkan dalam dialog dengan mengambil nilai
kembalian dari method toString dari setiap object.
c) messageType :Mendefsikan jenis dari pesan. Pada umumnya memberikan custom
icon untuk setiap jenis pesan. Setiap L&F manager akan memperlakukan setiap jenis
pesan dengan berbeda, namun perbedaanya tidak akan terlalu mencolok. Pilihan
yang mungkin dan icon yang mewakilinya adalah:
i. ERROR_MESSAGE
ii. INFORMATION_MESSAGE
iii. WARNING_MESSAGE
iv. PLAIN_MESSAGE (tanpa icon)
d) optionType : Mendefsikan tombol-tombol yang akan ditampilkan di bagian bawah
dari dialog
i. DEFAULT_OPTION
ii. YES_NO_OPTION
iii. YES_NO_CANCEL_OPTION
iv. OK_CANCEL_OPTION
Namun kita tidak dibatasi untuk hanya menggunakan empat jenis set tombol di
atas, kita dapat mendefsikan tombol-tombol yang akan muncul sesuai kebutuhan.
e) Options : Deskripsi yang lebih detail dari set tombol yang digunakan dialog. Nilai
yang lazim adalah sebuah array String berisi text yang akan ditampilkan di setiap
tombol. Namun Object lain juga dapat diterima, antara lain:
i. Component
Component akan diletakkan dalam baris tombol secara langsung.
ii. Icon
Sebuah JButton akan dibuat dan didekorasi dengan icon ini.
iii. other
Object dengan tipe selainnya akan dirubah ke dalam bentuk String dengan
mengambil nilai kembalian dari method toString dari object tersebut.
f) Icon : Icon yang digunakan untuk mendekorasi dialog. Jika icon ini didefnisikan
maka akan menimpa icon default yang didefnisikan oleh messageType.
g) Title : Judul dari dialog yang diletakkan di bagian paling atas dari dialog.
h) InitialValue : Nilai default dari pilihan yang mungkin ada dalam dialog.
Aplikasi berikut ini adalah contoh penggunaan JOptionPane untuk menampilkan sebuah
dialog.
Gambar 15. Contoh program menggunakan JfleChooser
iii. Meng-handle event penekanan tombol btnCheck. Ketika tombol btnCheck ditekan,
MessageDialog akan menampilkan dialog yang akan menampilkan kondisi
perbandingan angka yang diinputkan oleh txtA dan txtB. Klik kanan di atas
komponen btnCheck kemudian pilih menu :
Events > Action > actionPerformed.
Anda akan dibawa ke jendela Source, dan akan menemukan kode program seperti
berikut.
Tampilan JFileChooser ketika tombol open ditekan adalah seperti di bawah ini :
Gambar 18. Tampilan JFileChooser
Materi Dasar
Menu, Popup menu dan Toolbar digunakan untuk melakukan navigasi dalam aplikasi.
Dengan ketiga komponen itu navigasi dalam aplikasi menjadi lebih fileksibel dan mudah
digunakan oleh user. Menu dan Toolbar pada umumnya diletakkan di bagian atas dari
aplikasi agar mudah ditemukan oleh user. Sedangkan Popup Menu bisa muncul di mana
saja sesuai dengan konteks aplikasi.
JMenuBar adalah class yang digunakan untuk menampung JMenu. JMenu dapat
menampung satu atau lebih JMenuItem. JMenuItem merupakan bagian terluar dari
struktur menu yang tidak bisa mempunyai child. JSeparatordigunakan untuk memisahkan
antara satu menu item dan menu item yang lain. Jika didalam menu terdapat sub menu,
gunakan JMenu untuk menampung sub menu tersebut. Selain JMenuItem, JMenu juga
dapat menerima class JCheckBoxMenuItem dan JRadioButtonMenuItem.
JPopupMenu mempunyai banyak kesamaan dibandingkan dengan JMenuBar. Perbedaan
utamanya adalah JMenuBar hanya bisa berada di atas sebuah jendela JFrame. Sedangkan
JPopupMenu bisa muncul di mana saja sesuai dengan konteks dari aplikasi.
Perbedaan lainnya terletak di dalam penggunaan umum keduanya. JMenuBar berisikan
menu/instruksi yang bersifat umum dan berlaku untuk semua keadaan dalam aplikasi.
Sedangkan JPopupMenu akan mempunyai menu/instruksi yang berbeda-beda berdasarkan
dari konteks aplikasi. Oleh karena itu JPopupMenu terkadang disebut juga sebagai konteks
menu.
Toolbar memberikan cara yang lebih praktis dibandingkan menu, bahkan bisa dikatakan
bahwa toolbar adalah cara cepat untuk mengakses menu. Oleh karena itu, setiap item
dalam toolbarbiasanya juga tersedia dalam menu. Pada umumnya toolbar diwakili hanya
dengan gambar/icon yang melambangkan perintah dari toolbarnya. Di internet banyak
tersedia toolbar icon gratis yang dapat kita gunakan.
Berbeda dengan JMenuBar dan JPopupMenu yang hanya bisa menerima menu item,
JtoolBar dapat menampung JButton atau control lainya. Seperti contohnya : JCheckBox,
JradioButton, JtoggleButton dan lainya. Normalnya, JToolBar akan diisi dengan JButton
yang dihilangkan text-nya dan diganti dengan icon. Kita juga perlu merubah dekorasi
JButton agar tampilannya terlihat cantik dan menarik.
Gambar 20. Contoh program dengan Menu, Popup Menu dan Toolbar
Untuk membuat program seperti di atas, ada beberapa tahap yang perlu dilakukan. Tahap
pertama adalah membuat Menu, yang kedua adalah membuat Popup Menu dan yang
ketiga adalah membuat Toolbar.
Ikuti langkah-langkah berikut ini untuk membuat struktur menu seperti di atas:
i. Buat sebuah class JFrame dan beri nama ToolbarMenu.java
ii. Menambahkan JMenuBar ke dalam JFrame. Pilih komponen Menu Bar dari Jendela
Pallete kemudian klik JFrame di Jendela Design. Sebuah class JMenuBar akan
ditambahkan di dalam JFrame. Ganti namanya menjadi menuBar.
iii. Menambahkan JMenu ke dalam JMenuBar. Klik kanan JMenuBar yang baru saja kita
buat di Jendela Inspector, kemudian pilih menu :
Add > JMenu
Ganti nama JMenu tersebut menjadi menuFile. Kemudian alihkan perhatian anda ke
Jendela Properties.
Gambar 22. Jendela Properties dari class JMenu
Isi properti text dengan string “File”. Kemudian set isi properti mnemonic dengan
string “f”, hal ini akan menyebabkan tampilanya menuFile menjadi File dan user
dapat menekan tombol ALT + F untuk mengaktifkan menu menuFile.
iv. Menambahkan JMenuItem. Langkah berikutnya adalah menambahkan JMenuItem
ke dalam JMenu menuFile yang telah dibuat di langkah sebelumnya. caranya, klik
kanan di JMenu menuFile di Jendela Inspector, kemudian pilih menu :
Add > JMenuItem
Tambahkan berturut-turut menuNew, menuOpen dan menuSave. Pilih JMenuItem
dari Jendela Inspector, kemudian untuk masing-masing JMenuItem set text dan
mnemonic yang sesuai dari Jendela Properties.
v. Menambahkan JSeparator. Dalam struktur menu yang bagus, menu yang
mempunyai fungsi serupa diletakkan dalam urutan berderdekatan dan dipisahkan
dengan separator (pemisah). Langkah menambahkan Jseparator tidak berbeda
dengan langkah menambahkan JMenuItem, klik kanan di JMenu menuFile
kemudian pilih menu:
Add > JSeparator
vi. Menambahkan JMenu. Berikutnya kita akan menambahkan JMenu baru ke dalam
Jmenu menuFile. JMenu yang baru ini akan bertindak sebagai sub menu. Caranya
juga sama : klik kanan di JMenu menuFile kemudian pilih menu :
Add > JMenu
Beri nama menuSetting, set text dan mnemonic yang sesuai pada Jendela
Properties.
vii. Menambahkan JCheckBoxMenuItem. Perilaku JCheckBoxMenuItem tidak berbeda
jauh dengan JCheckBox biasa, bedanya hanyalah JCheckBoxMenuItem berada
dalam struktur menu. Cara menambahkan JCheckBoxMenuItem sama dengan
komponen lain : klik kanan JMenu menuSetting kemudian pilih menu :
Add > JCheckBoxMenuItem
Beri nama chkLineNumber, set text dan mnemonic yang sesuai pada Jendela
Properties.
JCheckBoxMenuItem sedikit sepesial dibandingkan dengan JMenuItem, karena
JCheckBoxMenuItem memiliki properties selected. Properties selected ini
digunakan untuk menentukan apakah JCheckBoxMenuItem dalam keadaan terpilih
atau tidak.
viii. Menambahkan JRadioButtonMenuItem. Dalam contoh ini kita akan mempunyai dua
buah JRadioButtonMenuItem, radioBinary dan radioText. Keduanya dibuat dengan
langkah yang sama dengan komponen lain, klik kanan di JMenu menuSetting,
kemudian pilih menu :
Add > JRadioButtonMenuItem
Set text dan mnemonic yang sesuai dari Jendela Properties.
ix. Menambahkan ButtonGroup. Seperti halnya JRadioButton, JRadioButtonMenuItem
juga memerlukan ButtonGroup agar hanya satu buah JRadioButtonMenuItem yang
bisa dipilih. Cara menambahkan ButtonGroup sangat mudah, klik item ButtonGroup
dari Jendela Pallete kemudian klik Jendela Design, maka otomatis ButtonGroup
akan ditambahkan. Ganti namanya menjadi groupOpenMethod.
Dalam Jendela Navigator, ButtonGroup yang baru dibuat tadi akan berada dalam
kategori Other Components, seperti terlihat dalam gambar di bawah ini :
xi. Compile dan jalankan class ToolbarMenu.java. Klik kanan class ToolbarMenu dari
Jendela Design kemudaian pilih menu Run File atau tekan tombol SHIFT + F6.
Beri nama images untuk Java package yang baru saja kita buka.
b) Memasukkan Icon ke dalam package. Untuk memasukkan image ke dalam package
kita perlu tahu dimana project disimpan, misalkan project disimpan dalam folder :
C:\javaswing
Buka file explorer, kemudian navigasi ke folder (untuk Windows OS)
C:\<username_PC>\My Document\NetbeansProjects\<project_name>\src\images
Copy semua icon yang diperlukan ke dalam folder di atas.
c) Build project. Langkah ini diperlukan untuk mengcompile semua fle .java menjadi
file .class. Selain itu proses ini juga akan mengkopi file selain file .java (termasuk file
icon) ke dalam folder build\classes. Jika proses ini tidak dilaksanakan, maka ketika
program dijalankan, fle icon tidak akan ditemukan dan program menjadi error .
Setelah proses persiapan selesai, lakukan langkah-langkah berikut untuk membuat Toolbar
:
i. Buka class ToolbarMenu.java yang sudah dibuat di langkah sebelumnya.
ii. Buat sebuah object JToolBar, caranya : klik item JToolBar dari Jendela Pallete,
kemudian klik JFrame di Jendela Design. Secara otomatis sebuah object JToolBar
akan dimasukkan ke dalam JFrame. Ganti namanya menjadi toolBar.
iii. Menambahkan JButton dalam JToolBar. Klik item JButton dalam Jendela Pallete
kemudian klik komponen JToolBar yang baru saja kita buat tadi. JButton baru akan
diletakkan di atas JToolBar, ganti nama JButton tersebut menjadi btnNew.
Letakkan lagi satu buah JButton di atas JToolBar dan beri nama btnMaximize.
iv. Mendekorasi Tampilan JButton. Agar tampilan JButton terlihat cantik, kita perlu
mengeset beberapa nilai dari properti JButton, seperti terlihat pada gambar di
bawah ini :
✔ Pilih radio button Classpath, kemudian tekan tombol Select File dan pilih
salah satu icon yang telah disiapkan. Tekan OK. Lakukan langkah-langkah
yang sama terhadap JButton yang lain.
v. Compile dan jalankan class ToolbarMenu untuk melihat hasilnya.
MODUL 5. JAVA SWING – EVENT HANDLER
Materi Dasar
Perubahan keadaan objek dikenal sebagai event, seperti event yang menggambarkan
perubahan keadaan sumber. Event dihasilkan sebagai hasil interaksi pengguna dengan
komponen GUI. Misalnya, mengklik sebuah tombol, menggerakkan mouse, memasukkan
karakter melalui keyboard, memilih item dari daftar, dan menggulir halaman adalah
aktivitas yang menyebabkan terjadinya event.
Event Handling adalah mekanisme yang mengendalikan event dan memutuskan apa yang
harus terjadi jika sebuah event terjadi. Mekanisme ini memiliki kode yang dikenal sebagai
event handler, yang dijalankan saat sebuah event terjadi.
Java menggunakan Delegation Event Model untuk menangani event. Model ini
mendefnisikan mekanisme standar untuk menghasilkan dan menangani sebuuah event.
Delegation Event Model memiliki dua participant sebagai berikut.
Source – Source adalah objek tempat event terjadi. Source bertanggung jawab
untuk menyediakan informasi event yang terjadi pada handler nya. Java
memberikan class sebagai objek source.
Listener - Juga dikenal sebagai event handler. Listener bertanggung jawab untuk
menghasilkan tanggapan terhadap suatu event. Dari sudut pandang implementasi
Java, listener juga merupakan objek. Listener menunggu sampai menerima sebuah
event. Begitu event diterima, listener memproses event tersebut.
Manfaat dari pendekatan ini adalah bahwa logika GUI benar-benar terpisah dari logika
yang menghasilkan event. Elemen GUI dapat mendelegasikan pemrosesan event ke bagian
kode yang terpisah.
Dalam model ini, listener perlu didaftarkan pada objek source sehingga listener bisa
menerima notifkasi event. Ini adalah cara yang efsien untuk menangani event karena
pemberitahuan event dikirim hanya kepada listener yang ingin menerimanya.
Java menyediakan berbagai kelas Event, namun hanya yang lebih sering digunakan akan
dibahas. Salah satu contoh penggunaan event telah dipraktekkan pada praktikum-
praktikum sebelumnya, yaitu event ketika sebuah komponen (JButton, JComboBox, JList)
ditekan oleh user.
Class Deskripsi
AWTEvent Dasar dari class event untuk semua event yang ada pada SWING.
Class ini dan sub-sub class nya menggantikan class original
java.awt.Event
ActionEvent ActionEvent akan dibangkitkan ketika sebuah button di klik atau item
dari sebuah list di klik dua kali.
InputEvent Class InputEvent adalah dasar dari semua class event untuk semua
event yang terdapat pada komponen input.
KeyEvent Ketika memasukkan sebuah karakater, KeyEvent akan di-generate
MouseEvent Event ini mengindikasikan sebuah aksi yang diberikan oleh mouse
pada suatu komponen.
WindowEvent Class ini merepresentasikan perubahan keadaan dari suatu window.
AdjustmentEvent Objek kelas ini mewakili peristiwa penyesuaian yang dikeluarkan
oleh objek Adjustable.
ComponentEvent Class ini merepresentasikan perubahan keadaan dari suatu window.
ContainerEvent Class ini merepresentasikan perubahan keadaan dari suatu window.
MouseMotionEvent Class ini merepresentasikan perubahan keadaan dari suatu window.
PaintEvent Class ini merepresentasikan perubahan keadaan dari suatu window.
Class Deskripsi
ActionListener Listener ini biasa digunakan untuk menerima action event.
ComponentListener Listener ini biasa digunakan untuk menerima component event
ItemListener Listener ini biasa digunakan untuk menerima item event
KeyListener Listener ini biasa digunakan untuk menerima key event
MouseListener Listener ini biasa digunakan untuk menerima mouse event
WindowListener Listener ini biasa digunakan untuk menerima window event
AdjustmentListener Listener ini biasa digunakan untuk menerima adjustment event
ContainerListener Listener ini biasa digunakan untuk menerima container event
MouseMotionListener Listener ini biasa digunakan untuk menerima motion event
FocusListener Listener ini biasa digunakan untuk menerima focus event
iv. Compile dan jalankan class ActionListener untuk melihat hasilnya atau tekan
Shift+F6.
Praktikum 5.3 – MouseListener
Kelas yang memproses MouseEvent harus mengimplementasikan antarmuka ini. Objek
kelas itu harus terdaftar dengan komponen. Objek dapat didaftarkan menggunakan
metode addMouseListener ().
Pada pilihan background, pilih dan sesuaikan warna latar. Berikutnya, pada pilihan
border pilih dan sesuaikan border untuk panel sesuai yang diinginkan.
iv. Menangani event MouseListener pada JPanel. Klik kanan panelTest di Jendela
Design, kemudian pilih menu :
Events > Mouse > mouseClicked
Jendela Code akan terbuka, tambahkan code seperti di bawah ini :
v. Compile dan jalankan class MouseListener untuk melihat hasilnya atau tekan
Shift+F6.
iv. Compile dan jalankan class KeyListener untuk melihat hasilnya atau tekan Shift+F6.
MODUL 6. JAVA SWING – LAYOUT
Materi Dasar
Layout mengacu pada penataan komponen dalam suatu container. Dengan cara lain, dapat
dikatakan bahwa layout menempatkan komponen pada posisi tertentu dalam container.
Layout Manager secara otomatis memposisikan semua komponen dalam container. Bahkan
jika tidak menggunakan Layout Manager, komponen masih diposisikan oleh Layout
Manager secara default. Properti seperti ukuran, bentuk, dan pengaturan bervariasi dari
satu layout manager ke layout manager yang lain. Bila ukuran applet atau window aplikasi
berubah, ukuran, bentuk, dan susunan komponen juga berubah sebagai contoh, yaitu
layout manager beradaptasi dengan dimensi appletviewer atau jendela aplikasi.
Layout Manager diasosiasikan dengan setiap objek Container. Setiap layout manager
adalah objek kelas yang mengimplementasikan interface LayoutManager.
Berikut adalah daftar pengaturan layout yang umum digunakan saat merancang GUI
menggunakan AWT.
iii. Masukkan lima buah JButton: btnNorth, btnSouth, btnWest, btnEast, dan
btnCenter. Sesuaikan penataan komponen sesuai dengan gambar berikut.
Gambar 35. Tampilan Frame dengan BorderLayout
iv. Untuk pengaturan layout untuk masing-masing komponen dapat dilakukan dengan
cara memilih komponen yang akan diatur kemudian pada Properties > Layout
v. Compile dan jalankan class BorderLayout untuk melihat hasilnya atau tekan
Shift+F6.
1 public Praktikum_6_2() {
2 initComponents();
3
4 panelTest.add(lblSatu, “satu”);
5 panelTest.add(lblDua, “dua”);
6 panelTest.add(lblTiga, “tiga”);
7 panelTest.add(lblEmpat, “empat”);
8 }
iii. Masukkan dua JLabel: lblNama dan lblAlamat, dua JTextField: txtNama dan
txtAlamat. Sesuaikan penataan komponen sesuai dengan gambar berikut.
iv. Compile dan jalankan class FlowLayout untuk melihat hasilnya atau tekan Shift+F6.
iv. Compile dan jalankan class GridLayout untuk melihat hasilnya atau tekan Shift+F6.
atur tata letak komponen dengan mengubah nilai pada Layout Constraint sehingga
menjadi seperti berikut.
Gambar 47. Hasil akhir layouting komponen pada GridBagLayout
v. Compile dan jalankan class GridBag Layout untuk melihat hasilnya atau tekan
Shift+F6.
MODUL 7. JAVA DATABASE CONNECTIVITY
Materi Dasar
Java Database Connectivity adalah API yang digunakan Java untuk melakukan koneksi
dengan aplikasi lain atau dengan berbagai macam database. JDBC memungkinkan kita
untuk membuat aplikasi Java yang melakukan tiga hal: konek ke sumber data,
mengirimkan query dan statement ke database, menerima dan mengolah resultset yang
diperoleh dari database.
JDBC mempunyai empat komponen :
1. JDBC API
JDBC API menyediakan metode akses yang sederhana ke sumber data relational
(RDBMS) menggunakan pemrograman Java. dengan menggunakan JDBC API, kita
bisa membuat program yang dapat mengeksekusi SQL, menerima hasil ResultSet,
dan mengubah data dalam database. JDBC API juga mempunyai kemampuan untuk
berinteraksi dengan lingkungan terdistribusi dari jenis sumber data yang berbeda-
beda. JDBC API adalah bagian dari Java Platform yang disertakan dalam library JDK
maupun JRE. JDBC API sekarang ini sudah mencapai versi 5.0 yang disertakan dalan
JDK 8.0.
2. JDBC Driver Manager
Class DriverManager dari JDBC bertugas untuk mendefsikan object-object yang
dapat digunakan untuk melakukan koneksi ke sebuah sumber data. Secara
tradisional DriverManager telah menjadi tulang punggung arsitektur JDBC.
3. JDBC Test Suite
JDBC Test Suite membantu kita untuk mencara driver mana yang cocok digunakan
untuk melakukan sebuah koneksi ke sumber data tertentu. Tes yang dilakukan tidak
memerlukan resource besar ataupun tes yang komprehensif, namun cukup tes-tes
sederhana yang memastikan ftur-ftur penting JDBC dapat berjalan dengan lancar.
4. JDBC-ODBC Bridge
Bridge ini menyediakan fasilitas JDBC untuk melakukan koneksi ke sumber data
menggunakan ODBC (Open DataBase Connectivity) driver. Sebagai catatan, anda
perlu meload driver ODBC di setiap komputer client untuk dapat menggunakan
bridge ini. Sebagai konsekuensinya, cara ini hanya cocok dilakukan di lingkungan
intranet dimana isu instalasi tidak menjadi masalah.
Dengan keempat komponen yang dipunyainya, JDBC menjadi tools yang dapat diandalkan
untuk melakukan koneksi, mengambil data dan merubah data dari berbagai macam
sumber data. Modul ini hanya akan membahas dua komponen pertama dari keempat
komponen yang dipunyai oleh JDBC, yaitu JDBC API dan DriverManager. Sumber data yang
digunakan adalah Relational Database.
lalu akan ditampilkan sebuah window yang berisi library yang disediakan oleh
netbeans. Pilih MySQL JDBC Driver, lalu pilih Add Library
iii. Buat sebuah class baru dengan nama DBConnection yang berfungsi untuk
mengkoneksikan database MySQL dengan Java.
Setelah membuat class baru, tambahkan kode berikut (baris 3-16).
1 public Person() {
2 initComponents();
3 setLocationRelativeTo(null);
4
5 try {
6 DriverManager.registerDriver(new com.mysql.jdbc.Driver());
7 connection = DriverManager
.getConnection("jdbc:mysql://localhost/nama_database",
"username", "pasword");
8 } catch (SQLException ex) {
9 System.err.println(ex.getMessage());
10 }
11
12 if (connection == null) {
13 JOptionPane.showMessageDialog(null, "Koneksi Gagal!");
14 } else {
15 JOptionPane.showMessageDialog(null, "Koneksi Berhasil!");
16 }
17 }
Perhatikan!! nama_database, username, dan password HARUS disesuaikan dengan
konfgurasi database yang telah dibuat sebelumnya.
iv. Buat event untuk btnSimpan sehingga ketika btnSimpan diklik maka akan
menyimpan data inputan ke dalam tabel Person. Klik kanan JButton di Jendela
Design, kemudian pilih menu :
Events > Action > actionPerformed
Jendela Code akan terbuka, tambahkan code seperti di bawah ini :
v. Compile dan jalankan class Person untuk melihat hasilnya atau tekan Shift+F6.
Untuk memastikan apakah data telah terinput ke dalam tabel Person, buka MySQL
editor lalu ketikkan perintah berikut dengan terlebih dahulu memilih database yang
digunakan.
iii. Buat event untuk btnUpdate sehingga ketika btnUpdate diklik maka akan
mengubah data inputan yang ada tabel Person. Klik kanan JButton di Jendela
Design, kemudian pilih menu :
Events > Action > actionPerformed
Jendela Code akan terbuka, tambahkan code seperti di bawah ini :
iv. Compile dan jalankan class Person untuk melihat hasilnya atau tekan Shift+F6.
Untuk memastikan apakah data telah berubah pada tabel Person, buka MySQL
editor lalu ketikkan perintah berikut dengan terlebih dahulu memilih database yang
digunakan.
iii. Buat event untuk btnDelete sehingga ketika btnDelete diklik maka akan
menghapus data yang ada tabel Person. Klik kanan JButton di Jendela Design,
kemudian pilih menu :
Events > Action > actionPerformed
Jendela Code akan terbuka, tambahkan code seperti di bawah ini :
1 private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {
2 // TODO add your handling code here:
3 String nik = txtNIK.getText();
4
5 String sqlQuery = "delete from t_person where nik=?";
6
7 try {
8 PreparedStatement preparedStatement = connection
.prepareStatement(sqlQuery);
9 preparedStatement.setString(1, nik);
10 preparedStatement.executeUpdate();
11 } catch (SQLException ex) {
12 System.err.println("Terjadi Kesalahan: "+ex.getMessage());
13 }
14 }
iv. Compile dan jalankan class Person untuk melihat hasilnya atau tekan Shift+F6.
Untuk memastikan apakah data telah terhapus pada tabel Person, buka MySQL
editor lalu ketikkan perintah berikut dengan terlebih dahulu memilih database yang
digunakan.
iii. Buat event untuk btnCari sehingga ketika btnCari diklik maka akan menampilkan
data yang ada tabel Person pada komponen txtNIK, txtNama, dan
radioButtonKelamin. Klik kanan JButton di Jendela Design, kemudian pilih menu :
Events > Action > actionPerformed
Jendela Code akan terbuka, tambahkan code seperti di bawah ini :
1 public Person() {
2 initComponents();
3 setLocationRelativeTo(null);
4
5 tableModel = new DefaultTableModel(header, 0);
6 tableData.setModel(tableModel);
7
8 try {
9 .....
1 public Person() {
2 initComponents();
3 .....
4 try {
5 .....
6 } catch (SQLException ex) {
7 System.err.println("Terjadi Kesalahan: "+ex.getMessage());
8 }
9
10 tampilData();
11 }
v. Compile dan jalankan class Person untuk melihat hasilnya atau tekan Shift+F6.
DAFTAR PUSTAKA
Bima, Ifnu. Java Desktop Aplikasi POS Berarsitektur Three Tier Menggunakan Swing,
Hibernate, dan Spring [pdf]. (https://www.scribd.com/doc/53411895/Java-Desktop-
Ifnu-Bima, diakses tanggal 15 Maret 2017)
TutorialsPoint. MySQL Tutorial [online]. (https://www.tutorialspoint.com/mysql/index.htm,
diakses tanggal 20 Februari 2018)
TutorialsPoint. Swing Tutorial [online]. (https://www.tutorialspoint.com/swing/index.htm,
diakses tanggal 20 Februari 2018)