Anda di halaman 1dari 17

LAPORAN PRAKTIKUM

“ Pemrograman Berorientasi Objek”


MODUL IX
Graphical User Interface Swing

EKA PUTRI MAHARANI


20103109
S1-SI-04-C

PROGRAM STUDI S1 SISTEM INFORMASI


FAKULTAS INFORMATIKA
INSTITUT TEKNOLOGI TELKOM PURWOKERTO
2021
Dasar Teori
Paket Java Swing merupakan Library dan komponen GUI yang lebih baru dari Java
AWT dan yang biasa dipakai saat ini. Komponen Java Swing sebagian besar adalah
turunan dari Java AWT akan tetapi tidak menggunakan komponen-komponen pada Java
AWT sehingga tampilan komponen-komponen dalam Java Swing tidak
bergantungpada sistem penjendelaan lokal. Dengan demikian tampilan grafiknya akan
sama untuk semua sistem operasi. Untuk dapat menggunakan kelas-kelas pada paket
java Swing, sama halnya dengan java AWT, dapat dilakukan dengan perintah import
yang diletakkan pada posisi paling atas yakni, import javax.swing.*;

Gambar 2.1 Hierarky sebagian kelas Java Awt (Biru) dan Kelas Java Swing (Hijau)

Konsep pemrograman GUI pada java secara umum sama seperti melakukan
pemrograman biasa, hanya saja dalam penempatan komponen-komponen GUI harus
disesuaikan dengan ketentuan-ketentuan bahasa Java. Berikut tersaji pada tabel 2.1,
pengelompokkan komponen-komponen dasar GUI java Swing.
Tabel 2.1 Pengelompokkan Komponen Dasar GUI Java
Swing
Top-Level Kontainer dasar dimana komponen JFrame, JDialog, dan
Container lainnya diletakkan JApplet
Intermediat Kontainer perantara dimana JPanel,
eContainer komponen lainnya diletakkan JScrollPane,
JTabbedPane,
JToolbar, JSplitPane
Atomic Komponen yang memiliki fungsi JButton,
Componen spesifik dan menerima interaksi JLabel,
t langsung dari user JTextArea, dsb

Layout Manager Mengatur tata letak dan posisi BorderLayout,


komponen dalam kontainer BoxLayout,
FlowLayout,
GridBagLayout,
GridLayout,
Card
Layout
Event Handling Menangani event atau kejadian yang Klik mouse, ketik
dilakukan user keyboard, perbesar
frame, dsb

Dari tabel 2.1, dapat diturunkan komponen-komponen GUI yang sering dipakaiyakni,
tersaji dalam tabel 2.2.

Tabel 2.2 Komponen Dasar GUI Java Swing


No Komponen Fungsi
1 Kelas JFrame Komponen yang berfungsi untuk membuat jendela yang
dilengkapi dengan judul
2 Kelas JPanel Panel merupakan ruang kecil yang biasanya berada dalam
sebuah objek frame. Untuk menampung sejumlah
komponen yang saling terkait.
3 Kelas JLabel Biasanya digunakan untuk menampilkan teks pendek
4 Kelas JButton Untuk membuat objek tombol dilengkapi dengan nama
tombol dan ikon
5 Kelas JTextArea Komponen yang memungkinkan untuk menyajikan teks
lebih dari satu baris.
6 Kelas Komponen yang ditujukan untuk menyajikan/memasukkan
JTextField teks tidak lebih dari satu baris.
7 Kelas Komponen yang biasa digunakan untuk memberikan pilihan
JCheckBox diantara dua pilihan.
8 Kelas Menampilkan pilihan dalam bentuk group radio button yang
JRadioButto disatukan dalam ButtonGroup
ndan
ButtonGroup
9 Kelas JList Komponen yang memungkinkan untuk memilih salah satu
dari sejumlah pilihan
10 Kelas Komponen yang merupakan gabungan fitur dari teks field
JComboBox dan list
11 Kelas Menyediakan beberapa dialog yang siap pakai dan sering
JOptionPane digunakan dalam aplikasi. JOptionPane sangat memudahkan
kita dalam meminta user suatu input tertentu atau
memberitahu user apa yang terjadi dalam aplikasi.
GUIDED
A. Latihan 1
Komponen JFrame
import javax.swing.*; public class
PraktikJFrame{
public static void main(String [] args){
JFrame myFrame = new JFrame ("My First Frame");
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
}

B. Latihan 2

Komponen Jpanel

import javax.swing.*;
public class PraktikJPanel
{
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JFrame myFrame = new JFrame ("My Frist
Frame");JPanel myPanel = new JPanel();
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);

}
C. Latihan 3
Komponen JLabel

public class PraktikJLabel{


public static void main(String [] args){
JFrame myFrame = new JFrame ("My First Frame");JPanel myPanel =
new JPanel();
JLabel myLabel = new JLabel("Label Pertama Ku..."); myPanel.add(myLabel);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
}
D. Latihan 4
Komponen JButton
import javax.swing.*; public class
PraktikJButton{
public static void main(String [] args){
JFrame myFrame = new JFrame ("My First Frame");JPanel myPanel =
new JPanel();
JLabel myLabel = new JLabel("Label Pertama Ku...");JButton myButton
= new JButton("Tombol 1st"); JButton myNdButton = new
JButton("Tombol 2nd"); myPanel.add(myLabel);
myPanel.add(myButton); myPanel.add(myNdButton);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
}

E. Latihan 5
Komponen JtextField
import javax.swing.*;
public class PraktikJTextArea {

public static void main(String[] args) {


JFrame myFrame = new JFrame ("My Frist
Frame");JPanel myPanel = new JPanel();
JLabel myLabel = new JLabel ("Label Pertama
Ku..."); JButton myButton = new JButton ("TOMBOL
1"); JButton myNdButton = new JButton ("TOMBOL
2nd");
JTextArea myTextArea = new JTextArea("My Frist Text Area...",5,30);

//Pemanggilan JFrame
myPanel.add(myLabel);
myPanel.add(myButton);
myPanel.add(myNdButton);
myPanel.add(myTextArea);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
F. Latihan 6
Komponen JcheckBox
import javax.swing.*;
public class PraktikJCheckBox {

public static void main(String[] args) { JFrame


myFrame = new JFrame ("My Frist
Frame");JPanel myPanel = new JPanel();
JLabel myLabel = new JLabel ("Label Pertama Ku...");
JButton myButton = new JButton ("TOMBOL1"); JButton
myNdButton = new JButton ("TOMBOL 2nd");
JTextArea myTextArea = new JTextArea("My Frist Text
Area...",5,30);JCheckBox myCbxOne =new JCheckBox("Libur masih
lama"); JCheckBox myCbxTwo =new JCheckBox("Libur agak dekat");
JCheckBox myCbxTree =new JCheckBox("Libur sudah dekat");
JCheckBox myCbxFour =new JCheckBox("Libur sudah tiba");
//Pemanggilan JFrame
myPanel.add(myLabel);
myPanel.add(myButton);
myPanel.add(myNdButton);
myPanel.add(myCbxTree);
myPanel.add(myCbxFour);
myFrame.getContentPane().
add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_C
LOSE);myFrame.setSize(400,400);
myFrame.setVisible(true);
}
}
G. Latihan 7

Komponen JRadioButton
import javax.swing.*;
public class PraktikJRadioButton {

public static void main(String[] args) { JFrame


myFrame = new JFrame ("My Frist
Frame");JPanel myPanel = new JPanel();
JLabel myLabel = new JLabel ("Label Pertama Ku...");
JButton myButton = new JButton ("TOMBOL1");
JButton myNdButton = new JButton ("TOMBOL 2nd");
JTextArea myTextArea = new JTextArea("My Frist Text
Area...",5,30);JCheckBox myCbxOne = new JCheckBox("Libur
masih lama"); JCheckBox myCbxTwo = new JCheckBox("Libur
agak dekat"); JCheckBox myCbxTree = new JCheckBox("Libur
sudah dekat"); JCheckBox myCbxFour = new JCheckBox("Libur
sudah tiba"); JRadioButton myRdoOne = new
//Button group untuk radio button haarus memakai button
groupButtonGroup grpRdo = new ButtonGroup();
grpRdo.add(myRdoOne);
grpRdo.add(myRdoTwo);

//Pemanggilan JFrame
myPanel.add(myLabel);
myPanel.add(myButton);
myPanel.add(myNdButton);
myPanel.add(myTextArea);
myPanel.add(myCbxOne);
myPanel.add(myCbxTwo);
myPanel.add(myCbxTree);
myPanel.add(myCbxFour);
myPanel.add(myRdoOne);
myPanel.add(myRdoTwo);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
H. Latihan 8
Komponen Jlist
import javax.swing.*;
public class PraktikJList
{
* @param args the command line arguments
*/
public static void main(String[] args) {
String hari [] = {"Senin", "Selasa",
"Rabu","Kamis","Jumat","Sabtu","Ahad"};

//JFrame
JFrame myFrame = new JFrame ("My Frist Frame");
//JPanel
JPanel myPanel = new JPanel();
//JLabel
JLabel myLabel = new JLabel ("Label Pertama Ku...");
//JButton
JButton myButton = new JButton ("TOMBOL
1"); JButton myNdButton = new JButton
("TOMBOL 2nd");
//JTextArea
JTextArea myTextArea = new JTextArea("My Frist Text Area...",5,30);
//JCheckBox
JCheckBox myCbxOne = new JCheckBox("Libur masih
lama"); JCheckBox myCbxTwo = new JCheckBox("Libur
agak dekat"); JCheckBox myCbxTree = new
JCheckBox("Libur sudah dekat");JCheckBox myCbxFour
= new JCheckBox("Libur sudah tiba");
//JRadiButton
JRadioButton myRdoOne = new
JRadioButton("Putera",true); JRadioButton myRdoTwo
= new JRadioButton("Puteri",false);
//Button group untuk radio button haarus memakai
button groupButtonGroup grpRdo = new ButtonGroup();
grpRdo.add(myRdoOne);
grpRdo.add(myRdoTwo);
//JList
JList daftarHari = new
JList(hari);
daftarHari.setSelectedInde
x(0);

//Pemanggilan JFrame
myPanel.add(myLabel);
myPanel.add(myButton);
myPanel.add(myNdButton);
myPanel.add(myTextArea);
myPanel.add(myCbxOne);
myPanel.add(myCbxTwo);
myPanel.add(myCbxTree);
myPanel.add(myCbxFour);
myPanel.add(myRdoOne);
myPanel.add(myRdoTwo);
myPanel.add(daftarHari);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
}

I. Latihan 9
Komponen JcomboBox
import javax.swing.*;
public class PraktikJComboBox {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String hari [] = {"Senin", "Selasa", "Rabu","Kamis","Jumat","Sabtu","Ahad"};

//JFrame
JFrame myFrame = new JFrame ("My Frist Frame");
//Jpanel
JPanel myPanel = new JPanel();
//JLabel
JLabel myLabel = new JLabel ("Label Pertama Ku...");

//JButton
JButton myButton = new JButton ("TOMBOL 1"); JButton
myNdButton = new JButton ("TOMBOL 2nd");

//JTextArea
JTextArea myTextArea = new JTextArea("My Frist Text Area...",5,30);

//JCheckBox
JCheckBox myCbxOne = new JCheckBox("Libur masih lama");
JCheckBox myCbxTwo = new JCheckBox("Libur agak dekat");
JCheckBox myCbxTree = new JCheckBox("Libur sudah dekat");
JCheckBox myCbxFour = new JCheckBox("Libur sudah tiba");

//JRadiButton
JRadioButton myRdoOne = new JRadioButton("Putera",true);
JRadioButton myRdoTwo = new JRadioButton("Puteri",false);

//Button group untuk radio button haarus memakai button group


ButtonGroup grpRdo = new ButtonGroup();
grpRdo.add(myRdoOne);
grpRdo.add(myRdoTwo);

//JList
JList daftarHari = new JList(hari);
daftarHari.setSelectedIndex(0);

//JComboBox
JComboBox cbbHari = new JComboBox(hari);

//Pemanggilan JFrame
myPanel.add(myLabel);
myPanel.add(myButton);
myPanel.add(myNdButton);
myPanel.add(myTextArea);
myPanel.add(myCbxOne);
myPanel.add(myCbxTwo);
myPanel.add(myCbxTree);
myPanel.add(myCbxFour);
myPanel.add(myRdoOne);
myPanel.add(myRdoTwo);
myPanel.add(daftarHari);
myPanel.add(cbbHari);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
}
J. Latihan 10
Komponen JoptionPane
import javax.swing.*;
public class PraktikJOptionPane {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JFrame myFrame = new JFrame("JOptionPane Trial");
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JOptionPane.showMessageDialog(null, "Peringatan sebentar lagi
libur","Warning",JOptionPane.WARNING_MESSAGE);
myFrame.setSize
(400,400);
}
K. Case
• Latihan tata letak komponen GUI
import javax.swing.*;
public class Case {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String hari [] = {"Senin", "Selasa", "Rabu","Kamis","Jumat","Sabtu","Ahad"};

//JFrame
JFrame myFrame = new JFrame ("My Frist Frame");

//JPanel
JPanel myPanel = new JPanel(null);

//JLabel
JLabel myLabel = new JLabel ("Label Pertama Ku...");

//JButton
JButton myButton = new JButton ("TOMBOL 1");
JButton myNdButton = new JButton ("TOMBOL 2nd");

//JTextArea
JTextArea myTextArea = new JTextArea("My Frist Text Area...",5,30);

//JCheckBox
JCheckBox myCbxOne = new JCheckBox("Libur masih lama");
JCheckBox myCbxTwo = new JCheckBox("Libur agak dekat");
JCheckBox myCbxTree = new JCheckBox("Libur sudah dekat");
JCheckBox myCbxFour = new JCheckBox("Libur sudah tiba");

//JRadiButton
JRadioButton myRdoOne = new JRadioButton("Putera",true);
JRadioButton myRdoTwo = new JRadioButton("Puteri",false);

//Button group untuk radio button haarus memakai button group


ButtonGroup grpRdo = new ButtonGroup();
grpRdo.add(myRdoOne); grpRdo.add(myRdoTwo);

//JList
JList daftarHari = new JList(hari);
daftarHari.setSelectedIndex(0);

//JComboBox
JComboBox cbbHari = new JComboBox(hari);
//Pemanggilan JFrame
myPanel.add(myLabel);
myLabel.setBounds(130, 10, 150, 30);
myPanel.add(myButton);
myButton.setBounds(20, 100, 120, 30);
myPanel.add(myNdButton);
myNdButton.setBounds(150, 100, 120, 30);
myPanel.add(myTextArea);
myTextArea.setBounds(20, 50, 300, 30);

myPanel.add(myCbxOne);
myCbxOne.setBounds(20, 135, 130, 30);
myPanel.add(myCbxTwo);
myCbxTwo.setBounds(160, 135, 130, 30);
myPanel.add(myCbxTree);
myCbxTree.setBounds(20, 160, 130, 30);
myPanel.add(myCbxFour);
myCbxFour.setBounds(160, 160, 130, 30);
myPanel.add(myRdoOne);
myRdoOne.setBounds(20, 190, 130, 30);
myPanel.add(myRdoTwo);
myRdoTwo.setBounds(20, 210, 130, 30);
myPanel.add(daftarHari);
daftarHari.setBounds(20 ,240 ,50, 140);
myPanel.add(cbbHari);
cbbHari.setBounds(150 ,240 ,100, 30);
myFrame.getContentPane().add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(400,400);
myFrame.setVisible(true);
}
}
UNGUIDED

Buatlah suatu interface / tampilan antar muka yang unik dan bagus untuk sebuah
program !. Cukup interfacenya saja. Cari Ide program yang sederhana dan unik.
Tugas ini akan berkaitan dengan tugas praktikum pertemuan berikutnya, yakni
melengkapi komponen-komponen yang kalian pakai pada interface yang telah kalian
buat dengan event handler sehingga menjadi program yang benar-benar bisa berjalan.

Contoh : Interface Program Kalkulator


Interface dan program yang telah dicontohkan ini tidak boleh dipakai untuk tugas !!!

Jawaban :
Nom or Rekening

Anda mungkin juga menyukai