Nama: Evi Marliya NIM: 190212004
Nama: Evi Marliya NIM: 190212004
NIM : 190212004
PENJUALAN MOTOR
1. Desain tampilan output penjualan motor dengan menggunakan JFrame From, kemudian
menggunakan Label untuk ( Nama Pembeli, Merk Motor, Jenis Motor, Harga Motor,
Pembayaran, Diskon, dan Total Diskon), kemudian menggunakan TextField untuk
(Nama Pembeli, Harga Motor, Diskon, dan Total Diskon), kemudian ComboBox untuk
(Merk Motor dan Pembayaran), kemudian Radio Button untuk (Jenis Motor), kemudian
Button untuk (Hitung, Simpan, Ubah, Hapus, dan Keluar), kemudian Table untuk
menampilkan data yang disimpan.
2. Setelah TextField pada nama pembeli diisi kemudian merk motor dipilih dan jenis motor
dipilih maka otomatis harga motor akan keluar.
Harga motor akan muncul tergantung merk dan jenis motor yang dipilih.
Merk Sport Matik
HONDA Rp. 32.000.000 Rp. 15.000.000
YAMAHA Rp. 30.000.000 Rp. 14.000.000
SUZUKI Rp. 33.000.000 Rp. 13.000.000
KAWASAKI Rp. 28.000.000 Rp. 13.500.000
3. Kemudian pilih metode pembayaran selanjutnya klik button hitung maka otomatis akan
muncul diskon dan total pembayaran.
Merk Tunai Kredit
HONDA 20% 8%
YAMAHA 20% 7%
SUZUKI 20% 6%
KAWASAKI 20% 5%
4. Kemudian klik button simpan untuk menyimpan kedalam tabel, maka akan muncul
message “Data Berhasil Disimpan” kemudian klik ok maka data tersimpan kedalam tabel.
5. Kemudian selanjutnya jika ingin mengubah data yang ada di dalam tabel maka klik data
yang ada di dalam tabel dan silakan ubah data apa yang ingin di ubah kemudian klik
button ubah maka data akan terubah begitu juga jika ingin menghapus data dan keluar
jika ingin selesai.
6. Flowchart Penjualan Motor
Start
Nama
Pembeli
HONDA
Merk YAMAHA
SUZUKI
KAWASAKI
Jenis SPORT
MATIK
Harga
Bayar TUNAI
KREDIT
Hitung
Diskon Total
Selesai
7. Source Code Penjualan Motor
import javax.swing.table.DefaultTableModel;
import javax.swing.JOptionPane;
/**
*
* @author EVI
*/
public class Penjualan_Motor extends javax.swing.JFrame {
int sport, matik, diskon, total, harga, totaldiskon;
/**
* Creates new form Penjualan_Motor
*/
public Penjualan_Motor() {
initComponents();
}
int x = 0;
/**
* 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();
buttonGroup2 = new javax.swing.ButtonGroup();
buttonGroup3 = new javax.swing.ButtonGroup();
buttonGroup4 = new javax.swing.ButtonGroup();
buttonGroup5 = new javax.swing.ButtonGroup();
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
txtNama = new javax.swing.JTextField();
cbMerk = new javax.swing.JComboBox<>();
rbSport = new javax.swing.JRadioButton();
rbMatik = new javax.swing.JRadioButton();
txtHarga = new javax.swing.JTextField();
cbPembayaran = new javax.swing.JComboBox<>();
btnHitung = new javax.swing.JButton();
txtDiskon = new javax.swing.JTextField();
txtTotal = new javax.swing.JTextField();
btnSimpan = new javax.swing.JButton();
btnSelesai = new javax.swing.JButton();
btnUbah = new javax.swing.JButton();
btnHapus = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
tabel = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
txtNama.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtNamaActionPerformed(evt);
}
});
cbMerk.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "-", "HONDA",
"YAMAHA", "SUZUKI", "KAWASAKI" }));
cbMerk.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cbMerkActionPerformed(evt);
}
});
buttonGroup1.add(rbSport);
rbSport.setFont(new java.awt.Font("Serif", 1, 12)); // NOI18N
rbSport.setText("SPORT");
rbSport.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
rbSportActionPerformed(evt);
}
});
buttonGroup1.add(rbMatik);
rbMatik.setFont(new java.awt.Font("Serif", 1, 12)); // NOI18N
rbMatik.setText("MATIK");
rbMatik.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
rbMatikActionPerformed(evt);
}
});
tabel.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null},
{null, null, null, null, null, null, null}
},
new String [] {
"Nama Pembeli", "Merk Motor", "Jenis Motor", "Harga Motor", "Pembayaran",
"Diskon", "Total Bayar"
}
));
tabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tabelMouseClicked(evt);
}
});
jScrollPane1.setViewportView(tabel);
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel4)
.addComponent(jLabel5)
.addComponent(jLabel6)
.addComponent(jLabel7)
.addComponent(jLabel8))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(btnSimpan)
.addGap(21, 21, 21)))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(62, 62, 62)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(txtTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 200,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtNama, javax.swing.GroupLayout.PREFERRED_SIZE, 200,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtHarga, javax.swing.GroupLayout.PREFERRED_SIZE, 200,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbMerk, javax.swing.GroupLayout.PREFERRED_SIZE, 145,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(rbSport)
.addGap(18, 18, 18)
.addComponent(rbMatik))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(cbPembayaran,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(102, 102, 102)
.addComponent(btnHitung))
.addComponent(txtDiskon, javax.swing.GroupLayout.PREFERRED_SIZE, 200,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 117, Short.MAX_VALUE))))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(16, 16, 16)
.addComponent(btnUbah)
.addGap(47, 47, 47)
.addComponent(btnHapus)
.addGap(38, 38, 38)
.addComponent(btnSelesai)
.addGap(0, 0, Short.MAX_VALUE))))
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 597,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(29, 29, 29)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(txtNama, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(cbMerk, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(rbSport)
.addComponent(rbMatik))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(txtHarga, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(29, 29, 29)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(cbPembayaran, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnHitung))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(txtDiskon, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(txtTotal, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(42, 42, 42)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btnSimpan)
.addComponent(btnUbah)
.addComponent(btnHapus)
.addComponent(btnSelesai))
.addGap(18, 18, 18)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 147,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 23, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
} else
if (cbMerk.getSelectedItem().equals("YAMAHA"))
{
sport = 30000000;
matik = 14000000;
} else
if (cbMerk.getSelectedItem().equals("SUZUKI"))
{
sport = 33000000;
matik = 13000000;
} else
if (cbMerk.getSelectedItem().equals("KAWASAKI"))
{
sport = 28000000;
matik = 13500000;
}
}
if (cbMerk.getSelectedItem().equals("YAMAHA"))
{
if (cbPembayaran.getSelectedItem().equals("TUNAI"))
{
diskon = 20;
txtDiskon.setText(String.valueOf(diskon));
}
else
if (cbPembayaran.getSelectedItem().equals("KREDIT"))
{
diskon = 7;
txtDiskon.setText(String.valueOf(diskon));
}
}
if (cbMerk.getSelectedItem().equals("SUZUKI"))
{
if (cbPembayaran.getSelectedItem().equals("TUNAI"))
{
diskon = 20;
txtDiskon.setText(String.valueOf(diskon));
}
else
if (cbPembayaran.getSelectedItem().equals("KREDIT"))
{
diskon = 6;
txtDiskon.setText(String.valueOf(diskon));
}
}
if (cbMerk.getSelectedItem().equals("KAWASAKI"))
{
if (cbPembayaran.getSelectedItem().equals("TUNAI"))
{
diskon = 20;
txtDiskon.setText(String.valueOf(diskon));
}
else
if (cbPembayaran.getSelectedItem().equals("KREDIT"))
{
diskon = 5;
txtDiskon.setText(String.valueOf(diskon));
}
}
}
txtTotal.setText(String.valueOf(total));
}
if (rbMatik.isSelected()==true){
mdl.setValueAt("Matik", tabel.getSelectedRow(), 2);
}else{
mdl.setValueAt("sport", tabel.getSelectedRow(), 2);
}
mdl.setValueAt(txtNama.getText(), tabel.getSelectedRow(), 0);
mdl.setValueAt(cbMerk.getSelectedItem(), tabel.getSelectedRow(), 1);
mdl.setValueAt(txtHarga.getText(), tabel.getSelectedRow(), 3);
mdl.setValueAt(cbPembayaran.getSelectedItem(), tabel.getSelectedRow(), 4);
mdl.setValueAt(txtDiskon.getText(), tabel.getSelectedRow(), 5);
mdl.setValueAt(txtTotal.getText(), tabel.getSelectedRow(), 6);
Bersih();
TampilData();
}
}
/**
* @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(Penjualan_Motor.class.getName()).log(java.util.logging.Level.
SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Penjualan_Motor.class.getName()).log(java.util.logging.Level.
SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Penjualan_Motor.class.getName()).log(java.util.logging.Level.
SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Penjualan_Motor.class.getName()).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 Penjualan_Motor().setVisible(true);
}
});
}
int baris = 0;
static Object kolom [] = {"Nama Pembeli", "Merk Motor", "Jenis Motor", "Harga Motor",
"Pembayaran", "Diskon", "Total Diskon"};
DefaultTableModel mdl = new DefaultTableModel(kolom,baris);