1. LAPORAN PRAKTIKUM
BAHASA PEMROGRAMAN 2
MODUL I
PEMROGRAMAN SWING
DISUSUN OLEH
NAMA : DEVI
NIM : 2012081043
KELAS : TI2012A
LABORATORIUM KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN
2014
2. I. DASAR TEORI
Selain package java.awt, java juga memiliki package javax.swing untuk
membuat komponen GUI. Swing lebih portable daripada AWT karena
beberapa komponennya bersifat multiplatform sehingga disebut juga
komponen lightweight.
Komponen Swing
Komponen-komponen Swing dapat dibagi menjadi beberapa kategori,
yaitu:
1. Root Container
Nama Container Deskripsi
JWindow
Merupakan top level container tanpa border,
title bar, atau fungsi manajemen window
lainnya.
JFrame
Merupakan top level container dan dilengkapi
dengan border, title bar, atau fungsi
manajemen window lainnya. Digunakan
sebagai window aplikasi.
JDialog
Merupakan top level container dan dilengkapi
dengan border, title bar, atau fungsi
manajemen window lainnya. Digunakan
sebagai window sementara untuk mengambil
input dari user.
JApplet
Container yang disisipkan (embedded) ke
dalam aplikasi lainnya.Digunakan pada web
browser.
JInternalFrame
Container lightweight yang mengemulasikan
fitur dari native frame.
2. Label dan Button
Komponen
Swing
Padannya dengan
komponen AWT
Deskripsi Komponen
Swing
JLabel Label
Teks singkat yang
diletakan pada komponen
AbstractButton tidak ada
Merupakan kelas abstract
dari semua komponen
Button
JButton Button Merupakan push button
JToggleButton tudak ada
Mengimplementasikan
Button dengan dua
kondisi/state
3. JCheckBox
Checkbox tanpa
CheckboxGroup
Mengimplementasikan
item CheckBox
JRadioButton
Checkbox dengan
CheckboxGroup
Mengimplementasikan
item RadioButton
JMenuItem MenuItem
Mengimplementasikan
Item dalam menu item
JMenu Menu
Mengimplementasik suatu
menu
JCheckBoxMenu
Item
CheckBoxMenuIte
m
Mengimplementasikan
CheckBox di dalam menu
JRadioButtonMe
nuItem
tidak ada
Mengimplementasikan
RadioButton di dalam
menu
3. Komponen Lightweight
Komponen Swing
Lightweight
Padannya dengan
komponen AWT
Deskripsi Komponen
Swing
JPanel Panel
General Purpose
container
JMenuBar MenuBar
Digunakan untuk
membuat bar menu yang
mengandung komponen
JMenu
JToolBar tidak ada
Container untuk
menempatkan
menu/fungsi-fungsi yang
akan digunakan
JScrollBar Scrollbar Scrollbar
JSlider Scrollbar
Komponen yang dapat
digeser-geser posisinya.
JProgressBar tidak ada
Kompone yang dapat
mengindikasikan
kemajuan suatu proses
JList List List dari item-item
JComboBox Choice
JSeparator tidak ada
Komponen yang
menyediakan garis
pemisah diantara
komponen
4. Komponen Text
Komponen Swing
Text
Padannya dengan
komponen AWT
Deskripsi Komponen
Swing
4. JTextComponent TextComponent
Merupakan kelas abstract
untuk semua kompinen
text
JTextField TextField
Komponen untuyk
menampungtext singkat
(satu baris) yang dapat
diedit.
JPasswordField
TextField dengan
set karakter echo
Komponen sebagai input
password
JTextArea TextArea
Kompone yang dapat
menampung text
berjumlah lebih dari satu
baris dan dapat diedit.
JEditorPane tidak ada
Komponen untuk
mengedit barbagai jenis
text.
JTextPane tidak ada
Komponen untuk
mengedit berbagai jenis
text dengan banyak style.
5. Komponen Space-saving
Komponen Swing
Space-saving
Padannya dengan
komponen AWT
Deskripsi Komponen
Swing
JScrollPane ScrollPane
Digunakan untuk men-
scroll komponen yang
besar.
JTabbedPane tidak ada
Digunakan untuk
membuat pilihan multiple
page dengan tombol tab.
JSplitPane tidak ada
Untuk meng-adjust
pembagi di antara dua
komponen.
6. Komponen dengan Model Kompleks
Komponen Swing
Model Kompleks
Padannya dengan
komponen AWT
Deskripsi Komponen
Swing
JTable tidak ada
Merepresentasikan data
dalam tabel dua dimensi.
JTree tidak ada
Merepresentasikan set
data, seperti pada
windows explorer
7. Komponen yang tersusun dari komponen lain
5. Komponen Swing
Padannya dengan
komponen AWT
Deskripsi Komponen
Swing
JFileChooser FileDialog
Mengijinkan user untuk
memilih satu atau lebih
file atau direktori.
JColorChooser tidak ada
Mengijinkan user untuk
memilih suatu warna dari
template warna.
JOptionPane tidak ada
Menampilkan suatu list
pilihan.
6. II. PRAKTIKUM DAN PEMBAHSAN
1. Praktek JLabel : Untuk menampilkan teks yang pendek dengan icon
Kode Program:
Pembahasan:
Program, diatas adalah program unruk menampilkan text yang
pendek dengan icon. Program diatas dibuat dengan GUI menggunakan
package javax.swing.
Container JFrame merupakan top level container dan dilengkapi dengan
border, title bar, atau fungsi manajemen window lainnya. Digunakan
sebagai window aplikasi.
Baris ke empat merupakan menginstansiasikan objek bernama ap1 dari
kelas contohJLabel.
Baris ke enam adalah constructor, super adalah untuk member nama
pada header frame dengan nama Tes JLabel dengan ukuran panjang dan
lebar masing-masing 300 dan 100.
Icon adalah gambar berukuran kecil yang digunakan untuk melapisi
Label, sehingga tampak lebih menarik dibandingkan dengan label
standar. Untuk menambahkan icon terlebih dahulu harus menciptakan
objek icon yang diinstans dari kelas ImageIcon. Pada baris ke enam
dibuat objek dengan nama iconCangkir.
Pada baris 10 sampai 11 adalah proses dibuat objek dari kelas JLabel
dengan label pesanan Devi dan Kopi, dan ikonCangkir diletakan
7. disebelah kiri dari label kopi. Pada baris ke 12 dibuat objek dengan
nama panelLabel.
Baris 13 dan 14 adalah pemanggilan objek panelLabel yang
ditambahkan objek labelpesanan dan labelkopi.
Lalu panelLabel tersebut diletakan disebelah selatan dari frame.
Method show digunakan untuk menampilkan dari kelas contohJLabel.
Output:
Gambar diatas adalah output dari kode program, dimana pada label Kopi
terdapat icon atau gambar kecil sehingga tampak lebih menarik.
2. Praktek JButton
Kode Program:
8. Pembahasan:
Kode program diatas adalah mendemonstrasikan komponen
JButton dari container JFrame yang diimport dari package javax.swing dan
java.awt.event. Package java.awt.event adalah berisi kelas dan interface
untuk menghandle event pada GUI.
Pada kode program diatas terdapat 2 button yaitu button perbesar
dan button selesai, pada button selesai terdapat icon kopi untuk melapisi
button agar terlihat lebih menarik. Pada baris 22 terdapat interface
ActionListener dengan method addActionListener() yang digunakan pada
JButton untuk mendeteksi aksi apa yang akan dilakukan oleh user terhadap
button “Perbesar” begitu juga pada button “Selesai”. Pada baris
selanjutnya yaitu baris 25 terdapat kelas PenanganKejadian yang
diturunkan dari interface WindowAdapter dengan method
windowClosing(Window Event e) untuk mendeteksi event close.
Pada baris 28 terdapat class PenanganTombol yang
diimplementasikan dari interface ActionListener. Method dari Interface
ActionListener adalah actionPerformed(Action Event e), jika user
mengklik button “Perbesar” maka Frame akan bertambah besar dengan
lebar+=20 dari keadaan semula yang telah diinisialisai di variabel awal dan
tinggi+=10, dan jika mengklik tombol “Selesai” maka frame akan closing.
9. Output:
Gambar diatas adalah outputnya, jika kita perbesar dengan mengklik 1 kali
maka akan terlihat pada gambar yang di bawah.
3. Praktek Pembuatan paket dengan nama latjava.uniku
Kode Program:
10. Pembahasan:
Pada kode program diatas dengan nama class KotakPesan terdapat
package latjava.uniku;, package adalah cara pengelompokan dan
pengorganisasian kelas-kelas ke dalam satu library, package tersebut akan
sangat bermanfaat pada saat membuat program yang besar dan kompleks
yang membutuhkan banyak kelas dari library yang berbeda. Kode program
tersebut menggunakan container JDialog, container tersebut sama dengan
JFrame namun JDialog digunakan sebagai window sementara untuk
mengambil input dari user. Terdapat method void show() yang akan
membuat layout dan semua subkomponennya yang termuat didalamnya
menjadi visible pada layar monitor dan sekaligus membawa ke urutan
paling muka dari semua aplikasi window yang sedang dijalankan. JDialog
dari kelas KotakPesan tersebut diberi nama “Informasi” pada toolbar dari
kotak dialog tersebut. Terdapat satu button yaitu “Ok” dan method pack()
yang digunakan untuk mengemas layout managemen agar sesuai dengan
ukuran subkomponen yang termuat didalamnya.
Kelas PenanganKejadian dan PenanganTombol yang diimport dari
java.awt.event yang digunakan untuk menghandle event pada GUI. Pada
kelas PenanganTombol jika kita mengklik button “Ok” maka akan
menjal;ankan method dispose() yang digunakan untuk “membebaskan”
resource window, setelah anda selesai menggunakan komponen-
komponennya. Method ini tidak berarti menghapus objek window tersebut,
hanya bersifat menutup, dan kemungkinan objek tersebut diakse kembali
setelah operasi selesai dilakukan.
11. Output:
Jika kita mengcompile maka hasilnya seperti diatas karena tidak ada
method main untuk menjalankan program tersebut.
4. Praktek Pemanggilan Paket dengan nama latjava.uniku dengan JButton.
Kode Program:
Pembahasan:
Kode program diatas dengan nama ContohJDialog akan
menggunakan/mengakses method dan variabel pada class KotakPesan
yang berada pada package latjava.uniku; yang telah dibuat sebelumnya.
12. Karena kelas ContohJDialog ini berbeda direktori dengan class
KotakPesan maka kita harus mencantukan deklarasi import
latjava.uniku.KotakPesan agar dapat mengakses class KotakPesan
tersebut.
Class ContohJDialog diturunkan dari container JFrame, dalam
frame tersebut terdapat komponen button yaitu Dialog dan Selesai. Jika
user mengklik tombol “Dialog” maka dia akan mengakses objek kp dari
class KotakPesan yang telah diimport, dan akan menampilkan pesan
“Anda mengklik tombol Dialog” dan button “Ok”. Button “Ok” jika di
klik maka akan menutup dialog tersebut dan kembali ke frame utama,
tidak berarti menghapus objek window tersebut karena kemungkinan objek
tersebut diakses kembali. Jika user mengklik button “Selesai” maka frame
tersebut akan ditutup.
Output:
Tampilan dari kode program ContohJDialog adalah seperti gambar diatas,
dimana jika mengklik button tombol maka akan menampilkan Informasi (dialog).
13. III. KESIMPULAN
Dari dari pembahasan praktikum diatas dapat disimpulkan bahwa Swing
adalah package untuk tampilan GUI, swing berada pada package javax.swing
yang bersifat lightweight, yaitu dapat diaplikasikan untuk semua platform.
Berbeda dengan awt yang tidak multiplatform, Swing dikatakan multiplatform
karena pada package tersebut sudah lengkap sehingga dapat menyesuaikan
dengan platform apapun.
Komponen-komponen Swing dapat dibagi menjadi beberapa kategori,
yaitu:
1. Root Container
2. Label dan Button
3. Komponen Lightweight
4. Komponen Text
5. Komponen Space-saving
6. Komponen dengan Model; Kompleks
7. Komponen yang tersusun dari komponen lain
14. IV. DAFTAR PUSTAKA
Menguasai JAVA 2 & Object Oriented Programming/Benny Hermawan; -
Ed.1.-Yogyakarta:Andi,09-08-07.
·