Tugas GUI

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 120

TUGAS KELOMPOK

PEMROGRAMAN BERORIENTASI OBJEK

Disusun Oleh:

Alif Al Husaini – 140810220036

Rio Irawan - 140810220084

Angga Prasetyo – 140810220086

Dikumpulkan Tanggal:

16 November 2023

PROGRAM STUDI S-1 TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS PADJADJARAN

JATINANGOR

2023
HelloGUI
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package HelloGuiku;

/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class HelloGui extends javax.swing.JFrame {

/**
* Creates new form HelloGui
*/
public HelloGui() {
initComponents();
}

/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


judulLabel = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
namaLabel = new javax.swing.JLabel();
npmLabel = new javax.swing.JLabel();
alamatLabel = new javax.swing.JLabel();
namaField = new javax.swing.JTextField();
npmField = new javax.swing.JTextField();
alamatField = new javax.swing.JTextField();
tekanButton = new javax.swing.JButton();
bersihkanButton = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
hasilLabel = new javax.swing.JLabel();
hasilLabel1 = new javax.swing.JLabel();
selesaiButton = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);

jPanel1.setBorder(new
javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBor
der.RAISED));

judulLabel.setFont(new java.awt.Font("Segoe UI", 1,


24)); // NOI18N

judulLabel.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
judulLabel.setLabelFor(jPanel1);
judulLabel.setText("Hello GUI NetBeans");

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(judulLabel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(judulLabel)
.addContainerGap())
);

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
("Input"));

namaLabel.setText("Nama :");

npmLabel.setText("NPM :");

alamatLabel.setText("Alamat :");

namaField.setToolTipText("Input Nama");

npmField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
npmFieldActionPerformed(evt);
}
});

tekanButton.setText("Tekan Saya");
tekanButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
tekanButtonActionPerformed(evt);
}
});

bersihkanButton.setText("Bersihkan");
bersihkanButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
bersihkanButtonActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel2Layout = new


javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)

.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(alamatLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(alamatField))

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addComponent(npmLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(npmField))

.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(namaLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(namaField,
javax.swing.GroupLayout.PREFERRED_SIZE, 217,
javax.swing.GroupLayout.PREFERRED_SIZE)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(tekanButton,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 95,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bersihkanButton,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.PREFERRED_SIZE, 95,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(namaLabel)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(namaField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tekanButton)))
.addGap(18, 18, 18)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(npmLabel)
.addComponent(npmField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bersihkanButton))
.addGap(18, 18, 18)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(alamatLabel)
.addComponent(alamatField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(30, Short.MAX_VALUE))
);

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder
(javax.swing.BorderFactory.createTitledBorder(""), "Hasil"));

javax.swing.GroupLayout jPanel3Layout = new


javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(hasilLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 387,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(hasilLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 387,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(hasilLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 23,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(hasilLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 23,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(28, Short.MAX_VALUE))
);

selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(selesaiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 95,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap())
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(29, 29, 29)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jPanel3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(selesaiButton)
.addContainerGap(37, Short.MAX_VALUE))
);

pack();
}// </editor-fold>

private void
npmFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void
tekanButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
hasilLabel.setText("Hi, perkenalkan nama saya " +
namaField.getText()
+ ", NPM saya " + npmField.getText());
hasilLabel1.setText("Saya tinggal di " +
alamatField.getText());
}

private void
bersihkanButtonActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
namaField.setText("");
npmField.setText("");
hasilLabel.setText("");
hasilLabel1.setText("");
alamatField.setText("");
namaField.requestFocus();
}

private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(HelloGui.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(HelloGui.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(HelloGui.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {

java.util.logging.Logger.getLogger(HelloGui.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new HelloGui().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JTextField alamatField;
private javax.swing.JLabel alamatLabel;
private javax.swing.JButton bersihkanButton;
private javax.swing.JLabel hasilLabel;
private javax.swing.JLabel hasilLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JLabel judulLabel;
private javax.swing.JTextField namaField;
private javax.swing.JLabel namaLabel;
private javax.swing.JTextField npmField;
private javax.swing.JLabel npmLabel;
private javax.swing.JButton selesaiButton;
private javax.swing.JButton tekanButton;
// End of variables declaration
}

Tampilan :
Output :
Membentuk NPM Mahasiswa
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package BentukNPM;

/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class NPM extends javax.swing.JFrame {

/**
* Creates new form NPM
*/
public NPM() {
initComponents();
}

/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {

buttonGroup1 = new javax.swing.ButtonGroup();


jLabel1 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
prodiLabel = new javax.swing.JLabel();
angkatanLabel = new javax.swing.JLabel();
noLabel = new javax.swing.JLabel();
prodiComboBox = new javax.swing.JComboBox<>();
noUrutField = new javax.swing.JTextField();
prosesButton = new javax.swing.JButton();
Ang09RadioButton = new javax.swing.JRadioButton();
Ang10RadioButton = new javax.swing.JRadioButton();
Ang11RadioButton = new javax.swing.JRadioButton();
jPanel2 = new javax.swing.JPanel();
selesaiButton = new javax.swing.JButton();
hslLabel = new javax.swing.JLabel();
hasilLabel = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
setTitle("Pembentukan NPM");

jLabel1.setFont(new java.awt.Font("Baskerville Old


Face", 0, 36)); // NOI18N
jLabel1.setText("Proses Pembentukan NPM");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder
("Input Data . ."));

prodiLabel.setText("Prodi :");

angkatanLabel.setText("Angkatan :");

noLabel.setText("No Urut :");

prodiComboBox.setModel(new
javax.swing.DefaultComboBoxModel<>(new String[] { "<List
Prodi>", "Teknik Informatika", "Teknik Elektro",
"Matemamatika" }));
prodiComboBox.setToolTipText("");
prodiComboBox.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prodiComboBoxActionPerformed(evt);
}
});

noUrutField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
noUrutFieldActionPerformed(evt);
}
});

prosesButton.setText("Proses");
prosesButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prosesButtonActionPerformed(evt);
}
});

Ang09RadioButton.setText("2019");

Ang10RadioButton.setText("2020");

Ang11RadioButton.setText("2021");

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(prosesButton)
.addContainerGap())

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addGap(14, 14, 14)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(prodiLabel)
.addComponent(noLabel)
.addComponent(angkatanLabel))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 30, Short.MAX_VALUE)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(Ang10RadioButton)
.addComponent(prodiComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 160,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Ang09RadioButton)
.addComponent(noUrutField,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Ang11RadioButton))
.addGap(62, 62, 62))
);
jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(16, 16, 16)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(prodiLabel)
.addComponent(prodiComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(24, 24, 24)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(angkatanLabel)
.addComponent(Ang09RadioButton))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(Ang10RadioButton)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(Ang11RadioButton)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 31, Short.MAX_VALUE)
.addComponent(noLabel))

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(noUrutField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(31, 31, 31)
.addComponent(prosesButton)
.addContainerGap())
);

prodiComboBox.getAccessibleContext().setAccessibleName("");
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
("Hasil . ."));

selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});

hslLabel.setText("Hasil NPM adalah :");

javax.swing.GroupLayout jPanel2Layout = new


javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(selesaiButton)
.addContainerGap())
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(14, 14, 14)
.addComponent(hslLabel)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(hasilLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 86,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(69, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addGap(17, 17, 17)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)
.addComponent(hslLabel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(hasilLabel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(selesaiButton)
.addContainerGap())
);

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(126, 126, 126)
.addComponent(jLabel1)))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);

pack();
}// </editor-fold>

private void
prodiComboBoxActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void
noUrutFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void
prosesButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String prodi = null; // ””
String angkatan= null;
if(prodiComboBox.getSelectedItem()=="Matematika"){
prodi="103";
}
else if(prodiComboBox.getSelectedItem() == "Teknik
Informatika"){
prodi="203";
}
else if(prodiComboBox.getSelectedItem() == "Teknik
Elektro"){
prodi="303";
}
if(Ang09RadioButton.isSelected()){
angkatan="09";
}
else if(Ang10RadioButton.isSelected()){
angkatan="10";
}
else if(Ang11RadioButton.isSelected()){
angkatan="11";
}

hasilLabel.setText("140"+prodi+angkatan+noUrutField.getText())
;
}

private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {

java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NPM().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JRadioButton Ang09RadioButton;
private javax.swing.JRadioButton Ang10RadioButton;
private javax.swing.JRadioButton Ang11RadioButton;
private javax.swing.JLabel angkatanLabel;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JLabel hasilLabel;
private javax.swing.JLabel hslLabel;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JLabel noLabel;
private javax.swing.JTextField noUrutField;
private javax.swing.JComboBox<String> prodiComboBox;
private javax.swing.JLabel prodiLabel;
private javax.swing.JButton prosesButton;
private javax.swing.JButton selesaiButton;
// End of variables declaration
}

Tampilan :
Output :
Operasi Pengulangan
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package BentukNPM;

/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class NPM extends javax.swing.JFrame {

/**
* Creates new form NPM
*/
public NPM() {
initComponents();
}

/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {

buttonGroup1 = new javax.swing.ButtonGroup();


jLabel1 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
prodiLabel = new javax.swing.JLabel();
angkatanLabel = new javax.swing.JLabel();
noLabel = new javax.swing.JLabel();
prodiComboBox = new javax.swing.JComboBox<>();
noUrutField = new javax.swing.JTextField();
prosesButton = new javax.swing.JButton();
Ang09RadioButton = new javax.swing.JRadioButton();
Ang10RadioButton = new javax.swing.JRadioButton();
Ang11RadioButton = new javax.swing.JRadioButton();
jPanel2 = new javax.swing.JPanel();
selesaiButton = new javax.swing.JButton();
hslLabel = new javax.swing.JLabel();
hasilLabel = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
setTitle("Pembentukan NPM");

jLabel1.setFont(new java.awt.Font("Baskerville Old


Face", 0, 36)); // NOI18N
jLabel1.setText("Proses Pembentukan NPM");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder
("Input Data . ."));

prodiLabel.setText("Prodi :");

angkatanLabel.setText("Angkatan :");

noLabel.setText("No Urut :");

prodiComboBox.setModel(new
javax.swing.DefaultComboBoxModel<>(new String[] { "<List
Prodi>", "Teknik Informatika", "Teknik Elektro",
"Matemamatika" }));
prodiComboBox.setToolTipText("");
prodiComboBox.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prodiComboBoxActionPerformed(evt);
}
});

noUrutField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
noUrutFieldActionPerformed(evt);
}
});

prosesButton.setText("Proses");
prosesButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prosesButtonActionPerformed(evt);
}
});

Ang09RadioButton.setText("2019");

Ang10RadioButton.setText("2020");

Ang11RadioButton.setText("2021");

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(prosesButton)
.addContainerGap())

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addGap(14, 14, 14)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(prodiLabel)
.addComponent(noLabel)
.addComponent(angkatanLabel))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 30, Short.MAX_VALUE)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(Ang10RadioButton)
.addComponent(prodiComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 160,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Ang09RadioButton)
.addComponent(noUrutField,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Ang11RadioButton))
.addGap(62, 62, 62))
);
jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(16, 16, 16)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(prodiLabel)
.addComponent(prodiComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(24, 24, 24)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(angkatanLabel)
.addComponent(Ang09RadioButton))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(Ang10RadioButton)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(Ang11RadioButton)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 31, Short.MAX_VALUE)
.addComponent(noLabel))

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(noUrutField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(31, 31, 31)
.addComponent(prosesButton)
.addContainerGap())
);

prodiComboBox.getAccessibleContext().setAccessibleName("");
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
("Hasil . ."));

selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});

hslLabel.setText("Hasil NPM adalah :");

javax.swing.GroupLayout jPanel2Layout = new


javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(selesaiButton)
.addContainerGap())
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(14, 14, 14)
.addComponent(hslLabel)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(hasilLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 86,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(69, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel2Layout.createSequentialGroup()
.addGap(17, 17, 17)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)
.addComponent(hslLabel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(hasilLabel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(selesaiButton)
.addContainerGap())
);

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(126, 126, 126)
.addComponent(jLabel1)))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);

pack();
}// </editor-fold>

private void
prodiComboBoxActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void
noUrutFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void
prosesButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String prodi = null; // ””
String angkatan= null;
if(prodiComboBox.getSelectedItem()=="Matematika"){
prodi="103";
}
else if(prodiComboBox.getSelectedItem() == "Teknik
Informatika"){
prodi="203";
}
else if(prodiComboBox.getSelectedItem() == "Teknik
Elektro"){
prodi="303";
}
if(Ang09RadioButton.isSelected()){
angkatan="09";
}
else if(Ang10RadioButton.isSelected()){
angkatan="10";
}
else if(Ang11RadioButton.isSelected()){
angkatan="11";
}

hasilLabel.setText("140"+prodi+angkatan+noUrutField.getText())
;
}

private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {

java.util.logging.Logger.getLogger(NPM.class.getName()).log(ja
va.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NPM().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JRadioButton Ang09RadioButton;
private javax.swing.JRadioButton Ang10RadioButton;
private javax.swing.JRadioButton Ang11RadioButton;
private javax.swing.JLabel angkatanLabel;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JLabel hasilLabel;
private javax.swing.JLabel hslLabel;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JLabel noLabel;
private javax.swing.JTextField noUrutField;
private javax.swing.JComboBox<String> prodiComboBox;
private javax.swing.JLabel prodiLabel;
private javax.swing.JButton prosesButton;
private javax.swing.JButton selesaiButton;
// End of variables declaration
}

Tampilan :

Output :
Konversi
Source Code
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/

/**
*
* @author wongf
*/
import java.text.NumberFormat;
import java.util.Locale;

public class Konversi extends javax.swing.JFrame {


/**
* Creates new form Konversi
*/
public Konversi() {
initComponents();
}

/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">//GEN-BEGIN:initComponents
private void initComponents() {

JOptionPane = new javax.swing.JOptionPane();


jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
inputComboBox = new javax.swing.JComboBox<>();
inputField = new javax.swing.JTextField();
jPanel3 = new javax.swing.JPanel();
outputComboBox = new javax.swing.JComboBox<>();
outputField = new javax.swing.JTextField();
bersihkanButton = new javax.swing.JButton();
selesaiButton = new javax.swing.JButton();
konversiButton = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);

jLabel1.setFont(new java.awt.Font("Segoe UI", 3, 24));


// NOI18N
jLabel1.setText("KONVERSI MATA UANG");

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
("Input Uang"));
inputComboBox.setModel(new
javax.swing.DefaultComboBoxModel<>(new String[] { "< Pilih
Mata Uang >", "Dollar", "Euro", "Pounsterling", "Rupiah",
"Yen", "Dollar Singapura", "Dollar Australia", "Ringgit" }));

inputField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent
evt) {
inputFieldFocusLost(evt);
}
});
inputField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
inputFieldActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel2Layout = new


javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(43, 43, 43)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(inputField,
javax.swing.GroupLayout.PREFERRED_SIZE, 265,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(inputComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 265,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(inputComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(inputField,
javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(29, Short.MAX_VALUE))
);

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder
("Hasil Konversi"));

outputComboBox.setModel(new
javax.swing.DefaultComboBoxModel<>(new String[] { "< Pilih
Mata Uang >", "Dollar", "Euro", "Pounsterling", "Yen",
"Rupiah", "Dollar Singapura", "Dollar Australia", "Ringgit"
}));
outputComboBox.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
outputComboBoxActionPerformed(evt);
}
});

outputField.setEditable(false);
outputField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
outputFieldActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new
javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(43, 43, 43)

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(outputField,
javax.swing.GroupLayout.PREFERRED_SIZE, 265,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(outputComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 265,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(34, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(outputComboBox,
javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(outputField,
javax.swing.GroupLayout.PREFERRED_SIZE, 35,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(29, Short.MAX_VALUE))
);

bersihkanButton.setText("Bersihkan");
bersihkanButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
bersihkanButtonActionPerformed(evt);
}
});
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});

konversiButton.setText("Konversi");
konversiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
konversiButtonActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addGap(22, 22, 22)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(38, 38, 38)
.addComponent(jLabel1))

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.TRAILING, false)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()
.addComponent(bersihkanButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(26, 26, 26)
.addComponent(selesaiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(konversiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jPanel2,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(30, Short.MAX_VALUE))
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 42,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(jPanel3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(bersihkanButton)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(konversiButton)
.addComponent(selesaiButton)))
.addContainerGap(20, Short.MAX_VALUE))
);

pack();
}// </editor-fold>//GEN-END:initComponents

private void konversiDariRupiah() {

double hasil;
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
String pilihan =
outputComboBox.getSelectedItem().toString();

switch (pilihan) {
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 15583;

outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 18500; // asumsi 1 Euro = 18500 Rupiah
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 21500; // asumsi 1 Pounsterling = 21500 Rupiah
outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 142; // asumsi 1 Yen = 142 Rupiah
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 11500; // asumsi 1 Dollar Singapura = 11500 Rupiah
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 11500; // asumsi 1 Dollar Australia = 11500 Rupiah
outputField.setText(formatAUD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 3700; // asumsi 1 Ringgit = 3700 Rupiah
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}

private void konversiDariDolar() {


double hasil;
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
String pilihan =
outputComboBox.getSelectedItem().toString();

switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 15583;

outputField.setText(formatRupiah.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 0.85; // asumsi 1 Dolar = 0.85 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 0.75; // asumsi 1 Dolar = 0.75 Pounsterling

outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 0.0091; // asumsi 1 Dolar = 0.0091 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 0.74; // asumsi 1 Dolar = 0.74 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 1.36; // asumsi 1 Dolar = 1.36 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 0.24; // asumsi 1 Dolar = 0.24 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}

private void konversiDariEuro() {


double hasil;
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
String pilihan =
outputComboBox.getSelectedItem().toString();

switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 18500; // asumsi 1 Euro = 18500 Rupiah

outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 1.18; // asumsi 1 Euro = 1.18 Dolar

outputField.setText(formatDollar.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 0.88; // asumsi 1 Euro = 0.88 Pounsterling

outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 0.0076; // asumsi 1 Euro = 0.0076 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 1.59; // asumsi 1 Euro = 1.59 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 1.61; // asumsi 1 Euro = 1.61 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 0.20; // asumsi 1 Euro = 0.20 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}

private void konversiDariYen() {


double hasil;
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
String pilihan =
outputComboBox.getSelectedItem().toString();

switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 142; // asumsi 1 Yen = 142 Rupiah

outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 110; // asumsi 1 Yen = 110 Dolar

outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
/ 130; // asumsi 1 Yen = 130 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 150; // asumsi 1 Yen = 150 Pounsterling

outputField.setText(formatPound.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
/ 80; // asumsi 1 Yen = 80 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 85; // asumsi 1 Yen = 85 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 25; // asumsi 1 Yen = 25 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}

private void konversiDariPounsterling() {


double hasil;
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
String pilihan =
outputComboBox.getSelectedItem().toString();

switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 21500; // asumsi 1 Pounsterling = 21500 Rupiah

outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 1.33; // asumsi 1 Pounsterling = 1.33 Dolar

outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 1.14; // asumsi 1 Pounsterling = 1.14 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 0.0071; // asumsi 1 Pounsterling = 0.0071 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 1.79; // asumsi 1 Pounsterling = 1.79 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 1.81; // asumsi 1 Pounsterling = 1.81 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 0.22; // asumsi 1 Pounsterling = 0.22 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}

private void konversiDariRinggit() {


double hasil;
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
String pilihan =
outputComboBox.getSelectedItem().toString();

switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 3700; // asumsi 1 Ringgit = 3700 Rupiah

outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 4.15; // asumsi 1 Ringgit = 4.15 Dolar

outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 4.85; // asumsi 1 Ringgit = 4.85 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 5.5; // asumsi 1 Ringgit = 5.5 Pounsterling

outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 0.036; // asumsi 1 Ringgit = 0.036 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 3.05; // asumsi 1 Ringgit = 3.05 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 3.2; // asumsi 1 Ringgit = 3.2 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
default:
// kode untuk kasus default
}
}

private void konversiDariDollarAustralia() {


double hasil;
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
String pilihan =
outputComboBox.getSelectedItem().toString();

switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 11500; // asumsi 1 Dollar Australia = 11500 Rupiah

outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
/ 0.72; // asumsi 1 Dollar Australia = 0.72 Dolar

outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 0.61; // asumsi 1 Dollar Australia = 0.61 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 0.53; // asumsi 1 Dollar Australia = 0.53 Pounsterling

outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
/ 0.0081; // asumsi 1 Dollar Australia = 0.0081 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Dollar Singapura":
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
hasil = Integer.parseInt(inputField.getText())
* 0.98; // asumsi 1 Dollar Australia = 0.98 Dollar Singapura
outputField.setText(formatSGD.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 2.36; // asumsi 1 Dollar Australia = 2.36 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
default:
// kode untuk kasus default
}
}

private void konversiDariDollarSingapura() {


double hasil;
NumberFormat formatSGD =
NumberFormat.getCurrencyInstance(new Locale("en", "SG"));
String pilihan =
outputComboBox.getSelectedItem().toString();

switch (pilihan) {
case "Rupiah":
NumberFormat formatRupiah =
NumberFormat.getCurrencyInstance(new Locale("id", "ID"));
hasil = Integer.parseInt(inputField.getText())
* 11500; // asumsi 1 Dollar Singapura = 11500 Rupiah

outputField.setText(formatRupiah.format(hasil));
break;
case "Dollar":
NumberFormat formatDollar =
NumberFormat.getCurrencyInstance(new Locale("en", "US"));
hasil = Integer.parseInt(inputField.getText())
* 0.74; // asumsi 1 Dollar Singapura = 0.74 Dolar

outputField.setText(formatDollar.format(hasil));
break;
case "Euro":
NumberFormat formatEuro =
NumberFormat.getCurrencyInstance(new Locale("de", "DE"));
hasil = Integer.parseInt(inputField.getText())
* 0.63; // asumsi 1 Dollar Singapura = 0.63 Euro
outputField.setText(formatEuro.format(hasil));
break;
case "Pounsterling":
NumberFormat formatPound =
NumberFormat.getCurrencyInstance(new Locale("en", "GB"));
hasil = Integer.parseInt(inputField.getText())
* 0.55; // asumsi 1 Dollar Singapura = 0.55 Pounsterling

outputField.setText(formatPound.format(hasil));
break;
case "Yen":
NumberFormat formatYen =
NumberFormat.getCurrencyInstance(new Locale("ja", "JP"));
hasil = Integer.parseInt(inputField.getText())
* 0.0083; // asumsi 1 Dollar Singapura = 0.0083 Yen
outputField.setText(formatYen.format(hasil));
break;
case "Ringgit":
NumberFormat formatMYR =
NumberFormat.getCurrencyInstance(new Locale("ms", "MY"));
hasil = Integer.parseInt(inputField.getText())
* 2.43; // asumsi 1 Dollar Singapura = 2.43 Ringgit
outputField.setText(formatMYR.format(hasil));
break;
case "Dollar Australia":
NumberFormat formatAUD =
NumberFormat.getCurrencyInstance(new Locale("en", "AU"));
hasil = Integer.parseInt(inputField.getText())
* 1.03; // asumsi 1 Dollar Singapura = 1.03 Dollar Australia
outputField.setText(formatAUD.format(hasil));
break;
default:
// kode untuk kasus default
}
}

private void
inputFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_inputFieldActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_inputFieldActionPerformed

private void
outputFieldActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_outputFieldActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_outputFieldActionPerformed

private void
konversiButtonActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_konversiButtonActionPerformed
// TODO add your handling code here:
String pilihan =
inputComboBox.getSelectedItem().toString();
switch (pilihan) {
case "Rupiah":
konversiDariRupiah();
break;
case "Dollar":
konversiDariDolar();
break;
case "Euro":
konversiDariEuro();
break;
case "Pounsterling":
konversiDariPounsterling();
break;
case "Yen":
konversiDariYen();
break;
case "Dollar Singapura":
konversiDariDollarSingapura();
break;
case "Dollar Australia":
konversiDariDollarAustralia();
break;
case "Ringgit":
konversiDariRinggit();
break;
default:
// kode untuk kasus default
}
}//GEN-LAST:event_konversiButtonActionPerformed

private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_selesaiButtonActionPerformed
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_selesaiButtonActionPerformed

private void
bersihkanButtonActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_bersihkanButtonActionPerformed
// TODO add your handling code here:
inputField.setText("");
outputField.setText("");

}//GEN-LAST:event_bersihkanButtonActionPerformed

private void
outputComboBoxActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_outputComboBoxActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_outputComboBoxActionPerformed

private void inputFieldFocusLost(java.awt.event.FocusEvent


evt) {//GEN-FIRST:event_inputFieldFocusLost
// TODO add your handling code here:
try {
int num = Integer.parseInt(inputField.getText());
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "Input harus
berupa angka", "Kesalahan Input", JOptionPane.ERROR_MESSAGE);
}
}//GEN-LAST:event_inputFieldFocusLost

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Konversi.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Konversi.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Konversi.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {

java.util.logging.Logger.getLogger(Konversi.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Konversi().setVisible(true);
}
});
}

// Variables declaration - do not


modify//GEN-BEGIN:variables
private javax.swing.JOptionPane JOptionPane;
private javax.swing.JButton bersihkanButton;
private javax.swing.JComboBox<String> inputComboBox;
private javax.swing.JTextField inputField;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JButton konversiButton;
private javax.swing.JComboBox<String> outputComboBox;
private javax.swing.JTextField outputField;
private javax.swing.JButton selesaiButton;
// End of variables declaration//GEN-END:variables
}

Output
Program Persegi Panjang
Source Code:
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package PersegiPanjangku;

/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class PersegiPanjang extends javax.swing.JFrame {

/**
* Creates new form PersegiPanjang
*/
public PersegiPanjang() {
initComponents();
}

/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {

JOptionPane = new javax.swing.JOptionPane();


jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
luasLabel = new javax.swing.JLabel();
lebarLabel = new javax.swing.JLabel();
panjangLabel = new javax.swing.JLabel();
panjangField = new javax.swing.JTextField();
lebarField = new javax.swing.JTextField();
luasField = new javax.swing.JTextField();
Bersihkan = new javax.swing.JPanel();
prosesButton = new javax.swing.JButton();
bersihButton = new javax.swing.JButton();
selesaiButton = new javax.swing.JButton();

JOptionPane.setInheritsPopupMenu(true);

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);

jPanel1.setBorder(new
javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBor
der.RAISED));
jPanel1.setFont(new java.awt.Font("Segoe UI", 0, 18));
// NOI18N

jLabel1.setFont(new java.awt.Font("Segoe UI", 0, 18));


// NOI18N

jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENT
ER);
jLabel1.setText("Program Perhitungan Persegi
Panjang");

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addComponent(jLabel1,
javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel1)
.addContainerGap())
);

jPanel2.setBorder(javax.swing.BorderFactory.createBevelBorder(
javax.swing.border.BevelBorder.RAISED));

luasLabel.setText("Luas Persegi Panjang :");

lebarLabel.setText("Masukkan Lebar :");

panjangLabel.setText("Masukkan Panjang :");

panjangField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent
evt) {
panjangFieldFocusLost(evt);
}
});
panjangField.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent
evt) {
panjangFieldKeyPressed(evt);
}
});

lebarField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent
evt) {
lebarFieldFocusLost(evt);
}
});
lebarField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
lebarFieldActionPerformed(evt);
}
});

luasField.setEditable(false);

javax.swing.GroupLayout jPanel2Layout = new


javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(lebarLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 110,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(luasLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 133,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(panjangLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 110,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE, 175,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE, 175,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lebarField,
javax.swing.GroupLayout.PREFERRED_SIZE, 175,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(55, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(panjangLabel)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(21, 21, 21)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(lebarLabel)
.addComponent(lebarField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(luasLabel)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);

Bersihkan.setBorder(new
javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBor
der.RAISED));

prosesButton.setText("Proses");
prosesButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prosesButtonActionPerformed(evt);
}
});
prosesButton.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent
evt) {
prosesButtonKeyPressed(evt);
}
});

bersihButton.setText("Bersihkan");
bersihButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
bersihButtonActionPerformed(evt);
}
});

selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});
javax.swing.GroupLayout BersihkanLayout = new
javax.swing.GroupLayout(Bersihkan);
Bersihkan.setLayout(BersihkanLayout);
BersihkanLayout.setHorizontalGroup(

BersihkanLayout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)
.addGroup(BersihkanLayout.createSequentialGroup()
.addContainerGap()
.addComponent(prosesButton)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bersihButton)
.addGap(66, 66, 66)
.addComponent(selesaiButton)
.addContainerGap())
);
BersihkanLayout.setVerticalGroup(

BersihkanLayout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
BersihkanLayout.createSequentialGroup()
.addContainerGap(18, Short.MAX_VALUE)

.addGroup(BersihkanLayout.createParallelGroup(javax.swing.Grou
pLayout.Alignment.BASELINE)
.addComponent(prosesButton)
.addComponent(bersihButton)
.addComponent(selesaiButton))
.addGap(15, 15, 15))
);

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(Bersihkan,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addGap(17, 17, 17)
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(Bersihkan,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(17, Short.MAX_VALUE))
);

pack();
}// </editor-fold>
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}

private void
prosesButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
prosesHitungLuas();
}

private void
prosesButtonKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 0x0A) {
prosesHitungLuas();
}

private void
panjangFieldFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
float pjg;
try {
pjg = Float.parseFloat(panjangField.getText());
} catch (Throwable t) {
//JOptionPane.showMessageDialog(null,"Nilai non
numerik, "
// + "silahkan dilengkapi");
//atau
JOptionPane.showMessageDialog(null, "Nilai non
numerik, "
+ "silahkan dilengkapi", "Ada Kesalahan",
1);
panjangField.requestFocus();
}
}

private void
panjangFieldKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 0x0A) {
lebarField.requestFocus();
}
}

private void
lebarFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

prosesButton.requestFocus();

private void lebarFieldFocusLost(java.awt.event.FocusEvent


evt) {
// TODO add your handling code here:
try {
// Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
Double.parseDouble(lebarField.getText());
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", JOptionPane.ERROR_MESSAGE);
lebarField.requestFocus(); // Kembali meminta
fokus ke lebarField
}
}

private void
bersihButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
lebarField.setText("");
panjangField.setText("");
luasField.setText("");
}

private float hitungLuas(float pjg, float lbr) {


return (pjg * lbr);
}

private void prosesHitungLuas() {


float panjang, lebar, luas;
try {
panjang =
Float.parseFloat(panjangField.getText());
lebar = Float.parseFloat(lebarField.getText());
luas = hitungLuas(panjang, lebar);
luasField.setText(String.valueOf(luas));
} catch (Throwable t) {
JOptionPane.showMessageDialog(null, "Nilai bukan
numerik, "
+ "silahkan diperbaiki untuk bisa
diproses");
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {

java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new PersegiPanjang().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JPanel Bersihkan;
private javax.swing.JOptionPane JOptionPane;
private javax.swing.JButton bersihButton;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JTextField lebarField;
private javax.swing.JLabel lebarLabel;
private javax.swing.JTextField luasField;
private javax.swing.JLabel luasLabel;
private javax.swing.JTextField panjangField;
private javax.swing.JLabel panjangLabel;
private javax.swing.JButton prosesButton;
private javax.swing.JButton selesaiButton;
// End of variables declaration
}
Output:
Menu Persegi Panjang
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package PersegiPanjangku;

import Menuku.Menu;

/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class PersegiPanjang extends javax.swing.JFrame {

/**
* Creates new form Segitiga
*/
public PersegiPanjang() {
initComponents();
}

/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {

jOptionPane = new javax.swing.JOptionPane();


selesaiButton = new javax.swing.JButton();
kembaliButton = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
judulLabel = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
panjangLabel = new javax.swing.JLabel();
lebarLabel = new javax.swing.JLabel();
panjangField = new javax.swing.JTextField();
lebarField = new javax.swing.JTextField();
bersihButton = new javax.swing.JButton();
prosesButton = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
luasLabel = new javax.swing.JLabel();
luasField = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);

selesaiButton.setForeground(new java.awt.Color(153,
153, 255));
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});

kembaliButton.setBackground(new java.awt.Color(153,
153, 255));
kembaliButton.setForeground(new java.awt.Color(255,
255, 255));
kembaliButton.setText("Kembali ke Menu");
kembaliButton.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
kembaliButtonFocusGained(evt);
}
});
kembaliButton.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent
evt) {
kembaliButtonMouseClicked(evt);
}
});
kembaliButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
kembaliButtonActionPerformed(evt);
}
});

jPanel1.setBackground(new java.awt.Color(204, 204,


255));

judulLabel.setFont(new java.awt.Font("Courier New", 0,


24)); // NOI18N

judulLabel.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
judulLabel.setText("Persegi Panjang");

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(judulLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 219,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(judulLabel)
.addContainerGap(23, Short.MAX_VALUE))
);

jPanel2.setBackground(new java.awt.Color(204, 255,


255));

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
(null, "Input",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("sansserif", 1, 12))); // NOI18N

panjangLabel.setText("Panjang :");

lebarLabel.setText("Lebar :");

panjangField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent
evt) {
panjangFieldFocusLost(evt);
}
});
panjangField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
panjangFieldActionPerformed(evt);
}
});
lebarField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
lebarFieldFocusGained(evt);
}
public void focusLost(java.awt.event.FocusEvent
evt) {
lebarFieldFocusLost(evt);
}
});
lebarField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
lebarFieldActionPerformed(evt);
}
});

bersihButton.setText("Bersihkan");
bersihButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
bersihButtonActionPerformed(evt);
}
});

prosesButton.setText("Proses");
prosesButton.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
prosesButtonFocusGained(evt);
}
});
prosesButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prosesButtonActionPerformed(evt);
}
});
prosesButton.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent
evt) {
prosesButtonKeyPressed(evt);
}
});

javax.swing.GroupLayout jPanel2Layout = new


javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(lebarLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(lebarField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(panjangLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 35, Short.MAX_VALUE)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)
.addComponent(prosesButton,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bersihButton,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(36, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(16, 16, 16)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(panjangLabel)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(prosesButton))
.addGap(12, 12, 12)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(lebarLabel)
.addComponent(lebarField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bersihButton))
.addContainerGap(32, Short.MAX_VALUE))
);

jPanel3.setBackground(new java.awt.Color(204, 255,


255));
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder
(null, "Hasil",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("sansserif", 1, 12))); // NOI18N

luasLabel.setText("Luas :");

luasField.setEditable(false);
luasField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
luasFieldActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel3Layout = new


javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(luasLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()

.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(luasLabel)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 16, Short.MAX_VALUE))
);

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(kembaliButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 155,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(selesaiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 155,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addContainerGap(33, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING, false)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(28, Short.MAX_VALUE))
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(31, 31, 31)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jPanel3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(17, 17, 17)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(selesaiButton)
.addComponent(kembaliButton))
.addContainerGap())
);

pack();
}// </editor-fold>
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}

private void
kembaliButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
kosongkanInput();
Menu obj = new Menu();
obj.setVisible(true);
dispose();
}

private void
panjangFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
lebarField.requestFocus();
}

private void
lebarFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
prosesButton.requestFocus();
}

private void
luasFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void
panjangFieldFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
try {
// Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
Double.parseDouble(panjangField.getText());
} catch (NumberFormatException ex) {
jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
panjangField.requestFocus(); // Kembali meminta
fokus ke panjangField
}
}

private void lebarFieldFocusLost(java.awt.event.FocusEvent


evt) {
// TODO add your handling code here:
try {
// Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
Double.parseDouble(lebarField.getText());
} catch (NumberFormatException ex) {
jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
lebarField.requestFocus(); // Kembali meminta
fokus ke panjangField
}
}

private void
prosesButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
cariLuas();
}

private void
prosesButtonKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 0x0A) {
cariLuas(); // Ganti ini dengan fungsi atau kode
yang ingin Anda jalankan saat tombol Enter ditekan
}
}

private void
kembaliButtonFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
kosongkanInput();
jOptionPane.setVisible(false);
}

private void
kembaliButtonMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}
private void
bersihButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
kosongkanInput();
}

private void
lebarFieldFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
// try {
// // Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
// Double.parseDouble(panjangField.getText());
// } catch (NumberFormatException ex) {
// jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
// panjangField.requestFocus(); // Kembali meminta
fokus ke panjangField
// }
}

private void
prosesButtonFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
// try {
// // Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
// Double.parseDouble(lebarField.getText());
// } catch (NumberFormatException ex) {
// jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
// lebarField.requestFocus(); // Kembali meminta
fokus ke panjangField
// }
}

private void cariLuas() {


try {
double panjang =
Double.parseDouble(panjangField.getText());
double lebar =
Double.parseDouble(lebarField.getText());
double luas = panjang * lebar;

// Tampilkan hasil perhitungan luas di area output


(misalnya sebuah JLabel atau JTextArea)
luasField.setText(String.valueOf(luas));
} catch (NumberFormatException ex) {
jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
}
}

private void kosongkanInput() {


panjangField.setText("");
lebarField.setText("");
luasField.setText("");
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {

java.util.logging.Logger.getLogger(PersegiPanjang.class.getNam
e()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new PersegiPanjang().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton bersihButton;
private javax.swing.JOptionPane jOptionPane;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JLabel judulLabel;
private javax.swing.JButton kembaliButton;
private javax.swing.JTextField lebarField;
private javax.swing.JLabel lebarLabel;
private javax.swing.JTextField luasField;
private javax.swing.JLabel luasLabel;
private javax.swing.JTextField panjangField;
private javax.swing.JLabel panjangLabel;
private javax.swing.JButton prosesButton;
private javax.swing.JButton selesaiButton;
// End of variables declaration
}
Tampilan :

Output :

Menu Segitiga
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package Segitigaku;

import Menuku.Menu;

/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/

public class Segitiga extends javax.swing.JFrame {

/**
* Creates new form Segitiga
*/
public Segitiga() {
initComponents();
}

/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {

jOptionPane = new javax.swing.JOptionPane();


selesaiButton = new javax.swing.JButton();
kembaliButton = new javax.swing.JButton();
jPanel1 = new javax.swing.JPanel();
judulLabel = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
panjangLabel = new javax.swing.JLabel();
tinggiLabel = new javax.swing.JLabel();
panjangField = new javax.swing.JTextField();
tinggiField = new javax.swing.JTextField();
bersihButton = new javax.swing.JButton();
prosesButton = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
luasLabel = new javax.swing.JLabel();
luasField = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);

selesaiButton.setForeground(new java.awt.Color(102,
102, 255));
selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});

kembaliButton.setBackground(new java.awt.Color(153,
153, 255));
kembaliButton.setForeground(new java.awt.Color(255,
255, 255));
kembaliButton.setText("Kembali ke Menu");
kembaliButton.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
kembaliButtonFocusGained(evt);
}
});
kembaliButton.addMouseListener(new
java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent
evt) {
kembaliButtonMouseClicked(evt);
}
});
kembaliButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
kembaliButtonActionPerformed(evt);
}
});

jPanel1.setBackground(new java.awt.Color(204, 204,


255));

judulLabel.setFont(new java.awt.Font("Courier New", 0,


24)); // NOI18N

judulLabel.setHorizontalAlignment(javax.swing.SwingConstants.C
ENTER);
judulLabel.setText("Segitiga");

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(judulLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 219,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(25, 25, 25)
.addComponent(judulLabel)
.addContainerGap(19, Short.MAX_VALUE))
);

jPanel2.setBackground(new java.awt.Color(204, 255,


255));

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder
(null, "Input",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("sansserif", 1, 12))); // NOI18N

panjangLabel.setText("Panjang Alas :");

tinggiLabel.setText("Tinggi :");

panjangField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent
evt) {
panjangFieldFocusLost(evt);
}
});
panjangField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
panjangFieldActionPerformed(evt);
}
});

tinggiField.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
tinggiFieldFocusGained(evt);
}
public void focusLost(java.awt.event.FocusEvent
evt) {
tinggiFieldFocusLost(evt);
}
});
tinggiField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
tinggiFieldActionPerformed(evt);
}
});

bersihButton.setText("Bersihkan");
bersihButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
bersihButtonActionPerformed(evt);
}
});

prosesButton.setText("Proses");
prosesButton.addFocusListener(new
java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent
evt) {
prosesButtonFocusGained(evt);
}
});
prosesButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
prosesButtonActionPerformed(evt);
}
});
prosesButton.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent
evt) {
prosesButtonKeyPressed(evt);
}
});

javax.swing.GroupLayout jPanel2Layout = new


javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(tinggiLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(tinggiField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(panjangLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 35, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)
.addComponent(prosesButton,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(bersihButton,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(36, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(16, 16, 16)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(panjangLabel)
.addComponent(panjangField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(prosesButton))
.addGap(12, 12, 12)

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(tinggiLabel)
.addComponent(tinggiField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bersihButton))
.addContainerGap(32, Short.MAX_VALUE))
);

jPanel3.setBackground(new java.awt.Color(204, 255,


255));

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder
(null, "Hasil",
javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("sansserif", 1, 12))); // NOI18N

luasLabel.setText("Luas :");

luasField.setEditable(false);
luasField.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
luasFieldActionPerformed(evt);
}
});

javax.swing.GroupLayout jPanel3Layout = new


javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(luasLabel,
javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE, 111,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.BASELINE)
.addComponent(luasLabel)
.addComponent(luasField,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 16, Short.MAX_VALUE))
);

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(kembaliButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 155,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(selesaiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 155,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addContainerGap(33, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING, false)
.addComponent(jPanel2,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(28, Short.MAX_VALUE))
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(31, 31, 31)
.addComponent(jPanel2,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jPanel3,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(17, 17, 17)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(selesaiButton)
.addComponent(kembaliButton))
.addContainerGap())
);

pack();
}// </editor-fold>
private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}

private void
kembaliButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Menu obj = new Menu();
obj.setVisible(true);
dispose();
kembaliButton.requestFocusInWindow();
}

private void
panjangFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
tinggiField.requestFocus();
}

private void
tinggiFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
prosesButton.requestFocus();
}

private void
luasFieldActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void
panjangFieldFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
try {
// Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
Double.parseDouble(panjangField.getText());
} catch (NumberFormatException ex) {
// Tampilkan pesan error jika input tidak valid
jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
panjangField.setText(""); // Atur kembali nilai ke
kosong
panjangField.requestFocus();
}
}

private void
tinggiFieldFocusLost(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
try {
// Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
Double.parseDouble(tinggiField.getText());
} catch (NumberFormatException ex) {
jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
tinggiField.requestFocus(); // Kembali meminta
fokus ke panjangField
}
}

private void
prosesButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
cariLuas();
}

private void
prosesButtonKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 0x0A) {
cariLuas(); // Ganti ini dengan fungsi atau kode
yang ingin Anda jalankan saat tombol Enter ditekan
}
}

private void
kembaliButtonFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
kosongkanInput();
jOptionPane.setVisible(false);
}
private void
kembaliButtonMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
kosongkanInput();
}

private void
bersihButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
kosongkanInput();
}

private void
tinggiFieldFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
// try {
// // Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
// Double.parseDouble(panjangField.getText());
// } catch (NumberFormatException ex) {
// jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
// panjangField.requestFocus(); // Kembali meminta
fokus ke panjangField
// }
}

private void
prosesButtonFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
// try {
// // Lakukan pemeriksaan apakah nilai yang
dimasukkan adalah numerik
// Double.parseDouble(tinggiField.getText());
// } catch (NumberFormatException ex) {
// jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
// tinggiField.requestFocus(); // Kembali meminta
fokus ke panjangField
// }
}

private void cariLuas() {


try {
double alas =
Double.parseDouble(panjangField.getText());
double tinggi =
Double.parseDouble(tinggiField.getText());

double luas = 0.5 * alas * tinggi;

// Tampilkan hasil perhitungan luas di area output


(misalnya sebuah JLabel atau JTextArea)
luasField.setText(String.valueOf(luas));
} catch (NumberFormatException ex) {
jOptionPane.showMessageDialog(null, "Masukkan
angka yang valid.", "Error", jOptionPane.ERROR_MESSAGE);
panjangField.requestFocus();
}
}

private void kosongkanInput() {


// Set nilai bidang input ke nilai default (misalnya,
0.0)
panjangField.setText("");
tinggiField.setText("");
luasField.setText("");
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Segitiga.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Segitiga.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Segitiga.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {

java.util.logging.Logger.getLogger(Segitiga.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Segitiga().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton bersihButton;
private javax.swing.JOptionPane jOptionPane;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JLabel judulLabel;
private javax.swing.JButton kembaliButton;
private javax.swing.JTextField luasField;
private javax.swing.JLabel luasLabel;
private javax.swing.JTextField panjangField;
private javax.swing.JLabel panjangLabel;
private javax.swing.JButton prosesButton;
private javax.swing.JButton selesaiButton;
private javax.swing.JTextField tinggiField;
private javax.swing.JLabel tinggiLabel;
// End of variables declaration
}

Tampilan :

Output :
Program Menu Persegi Panjang dan Segitiga
Source Code :
/*
* Click
nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-defa
ult.txt to change this license
* Click
nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java
to edit this template
*/
package Menuku;

import Segitigaku.Segitiga;
import PersegiPanjangku.PersegiPanjang;

/**
*
* @author
* /*
* Anggota 1 : Alif Al Husaini
* NPM : 140810220036
* Anggota 2 : Rio Irawan
* NPM : 140810220084
* Anggota 3 : Angga Prasetyo
* NPM : 140810220086
* Kelas : B
* Tanggal : 19 November 2023
* Deskripsi : Program GUI dengan Java
*/
public class Menu extends javax.swing.JFrame {

/**
* Creates new form Menu
*/
public Menu() {
initComponents();
}

/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


judulLabel1 = new javax.swing.JLabel();
judulLabel2 = new javax.swing.JLabel();
anggotaPanel = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
pilihPanel = new javax.swing.JPanel();
segitigaButton = new javax.swing.JButton();
persegiButton = new javax.swing.JButton();
selesaiButton = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
setBackground(new java.awt.Color(255, 255, 255));
jPanel1.setBackground(new java.awt.Color(204, 204,
255));

judulLabel1.setFont(new java.awt.Font("Courier New",


1, 24)); // NOI18N

judulLabel1.setHorizontalAlignment(javax.swing.SwingConstants.
CENTER);
judulLabel1.setText("Selamat Datang Di Program ");

judulLabel2.setFont(new java.awt.Font("Courier New",


0, 14)); // NOI18N

judulLabel2.setHorizontalAlignment(javax.swing.SwingConstants.
CENTER);
judulLabel2.setText("Luas Persegi dan Segitiga");

javax.swing.GroupLayout jPanel1Layout = new


javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(34, Short.MAX_VALUE)
.addComponent(judulLabel1)
.addContainerGap(35, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(judulLabel2,
javax.swing.GroupLayout.PREFERRED_SIZE, 295,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alig
nment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
jPanel1Layout.createSequentialGroup()
.addGap(29, 29, 29)
.addComponent(judulLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(judulLabel2)
.addContainerGap())
);

anggotaPanel.setBackground(new java.awt.Color(204,
255, 255));

anggotaPanel.setBorder(javax.swing.BorderFactory.createTitledB
order(null, "Anggota", javax.swing.border.TitledBorder.CENTER,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("Arial", 0, 14))); // NOI18N

jLabel2.setText("Alif Al Husaini - 140810220036");

jLabel3.setText("Rio Irawan - 140810220084");

jLabel4.setText("Angga Prasetyo - 140810220086");

javax.swing.GroupLayout anggotaPanelLayout = new


javax.swing.GroupLayout(anggotaPanel);
anggotaPanel.setLayout(anggotaPanelLayout);
anggotaPanelLayout.setHorizontalGroup(

anggotaPanelLayout.createParallelGroup(javax.swing.GroupLayout
.Alignment.LEADING)

.addGroup(anggotaPanelLayout.createSequentialGroup()
.addContainerGap(150, Short.MAX_VALUE)
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 201,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))

.addGroup(anggotaPanelLayout.createSequentialGroup()
.addContainerGap()

.addGroup(anggotaPanelLayout.createParallelGroup(javax.swing.G
roupLayout.Alignment.LEADING)
.addComponent(jLabel2,
javax.swing.GroupLayout.PREFERRED_SIZE, 201,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3,
javax.swing.GroupLayout.PREFERRED_SIZE, 201,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4,
javax.swing.GroupLayout.PREFERRED_SIZE, 201,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
anggotaPanelLayout.setVerticalGroup(

anggotaPanelLayout.createParallelGroup(javax.swing.GroupLayout
.Alignment.LEADING)

.addGroup(anggotaPanelLayout.createSequentialGroup()
.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED, 10, Short.MAX_VALUE)
.addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jLabel3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jLabel4)
.addContainerGap())
);

pilihPanel.setBackground(new java.awt.Color(204, 255,


255));

pilihPanel.setBorder(javax.swing.BorderFactory.createTitledBor
der(null, "Silakan Pilih Menu",
javax.swing.border.TitledBorder.CENTER,
javax.swing.border.TitledBorder.DEFAULT_POSITION, new
java.awt.Font("sansserif", 1, 14))); // NOI18N
pilihPanel.setForeground(new java.awt.Color(51, 51,
51));

segitigaButton.setText("Cari Luas Segitiga");


segitigaButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
segitigaButtonActionPerformed(evt);
}
});
segitigaButton.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent
evt) {
segitigaButtonKeyPressed(evt);
}
});

persegiButton.setText("Cari Luas Persegi Panjang");


persegiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
persegiButtonActionPerformed(evt);
}
});
persegiButton.addKeyListener(new
java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent
evt) {
persegiButtonKeyPressed(evt);
}
});

javax.swing.GroupLayout pilihPanelLayout = new


javax.swing.GroupLayout(pilihPanel);
pilihPanel.setLayout(pilihPanelLayout);
pilihPanelLayout.setHorizontalGroup(
pilihPanelLayout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
pilihPanelLayout.createSequentialGroup()
.addContainerGap()
.addComponent(persegiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 169,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(segitigaButton,
javax.swing.GroupLayout.DEFAULT_SIZE, 171, Short.MAX_VALUE)
.addContainerGap())
);
pilihPanelLayout.setVerticalGroup(

pilihPanelLayout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(pilihPanelLayout.createSequentialGroup()
.addGap(23, 23, 23)

.addGroup(pilihPanelLayout.createParallelGroup(javax.swing.Gro
upLayout.Alignment.BASELINE)
.addComponent(segitigaButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 31,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(persegiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 31,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);

selesaiButton.setText("Selesai");
selesaiButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
selesaiButtonActionPerformed(evt);
}
});

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.TRAILING)
.addComponent(selesaiButton,
javax.swing.GroupLayout.PREFERRED_SIZE, 128,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING, false)
.addComponent(anggotaPanel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(pilihPanel,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jPanel1,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(33, 33, 33)
.addComponent(anggotaPanel,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(8, 8, 8)
.addComponent(pilihPanel,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(32, 32, 32)
.addComponent(selesaiButton)
.addGap(20, 20, 20))
);

pack();
}// </editor-fold>

private void
segitigaButtonActionPerformed(java.awt.event.ActionEvent evt)
{
// TODO add your handling code here:
Segitiga obj = new Segitiga();
obj.setVisible(true);
dispose();
}

private void
selesaiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}

private void
persegiButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
PersegiPanjang obj = new PersegiPanjang();
obj.setVisible(true);
dispose();
}

private void
persegiButtonKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 39) { // 39 adalah nilai ASCII
untuk tombol panah kanan (0x27)
segitigaButton.requestFocus();

}
if (evt.getKeyCode() == 10) { // 10 adalah nilai ASCII
untuk tombol Enter (0x0A)
PersegiPanjang obj = new PersegiPanjang();
obj.setVisible(true);
dispose();
}

private void
segitigaButtonKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (evt.getKeyCode() == 37) { // 37 adalah nilai ASCII
untuk tombol panah kiri (0x25)
persegiButton.requestFocus();
}
if (evt.getKeyCode() == 10) { // 10 adalah nilai ASCII
untuk tombol Enter (0x0A)
Segitiga obj = new Segitiga();
obj.setVisible(true);
dispose();
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Menu.class.getName()).log(j
ava.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Menu.class.getName()).log(j
ava.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Menu.class.getName()).log(j
ava.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {

java.util.logging.Logger.getLogger(Menu.class.getName()).log(j
ava.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Menu().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JPanel anggotaPanel;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel judulLabel1;
private javax.swing.JLabel judulLabel2;
private javax.swing.JButton persegiButton;
private javax.swing.JPanel pilihPanel;
private javax.swing.JButton segitigaButton;
private javax.swing.JButton selesaiButton;
// End of variables declaration
}

Tampilan :

Output :

You might also like