Sudah tidak terasa sekarang di penghujung semester dan sampailah dengan tugas akhir untuk mata kuliah PBO yaitu Final Projek. Kali ini Fp saya yaitu membuat Menu Makanan berbasis GUI langsung saja : dalam Fp ini hanya memiliki satu class saja yaitu Program Kasir.
berikut Source Codenya:
dan Berikut tampilan GUI nya:
dalam GUI ini untuk memesan klik menu yang diinginkan, seteah itu isi berapa banyak pemesanan baru hitung total harga dengan menu hitung, seperti berikut :
berikut Source Codenya:
package Data;
import javax.swing.JOptionPane;
public class ProgramKasir extends javax.swing.JFrame {
public ProgramKasir() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {
CBMA = new javax.swing.JCheckBox();
CBNG = new javax.swing.JCheckBox();
CBMG = new javax.swing.JCheckBox();
CBMR = new javax.swing.JCheckBox();
jLabel1 = new javax.swing.JLabel();
TxtCBMA = new javax.swing.JTextField();
TxtCBNG = new javax.swing.JTextField();
TxtCBMG = new javax.swing.JTextField();
TxtCBMR = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
TxtjmlMA = new javax.swing.JTextField();
TxtjmlNG = new javax.swing.JTextField();
TxtjmlMG = new javax.swing.JTextField();
TxtjmlMR = new javax.swing.JTextField();
BtnHitung = new javax.swing.JButton();
BtnHapus = new javax.swing.JButton();
BtnExit = new javax.swing.JButton();
jLabel6 = new javax.swing.JLabel();
TxtjmlHarga = new javax.swing.JTextField();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
CBMA.setText(" Mie Ayam @Rp.8.000");
CBMA.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CBMAActionPerformed(evt);
}
});
CBNG.setText(" Nasi Goreng @Rp.15.000");
CBNG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CBNGActionPerformed(evt);
}
});
CBMG.setText(" Mie Goreng @Rp.8.000");
CBMG.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CBMGActionPerformed(evt);
}
});
CBMR.setText(" Mie Rebus @Rp.8.000");
CBMR.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CBMRActionPerformed(evt);
}
});
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel1.setText(".:: CAFE GOYANG LIDAH ::.");
TxtCBMA.setEditable(false);
TxtCBNG.setEditable(false);
TxtCBMG.setEditable(false);
TxtCBMR.setEditable(false);
jLabel2.setText("x");
jLabel3.setText("x");
jLabel4.setText("x");
jLabel5.setText("x");
BtnHitung.setText("Hitung");
BtnHitung.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnHitungActionPerformed(evt);
}
});
BtnHapus.setText("Hapus");
BtnHapus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnHapusActionPerformed(evt);
}
});
BtnExit.setForeground(new java.awt.Color(255, 0, 0));
BtnExit.setText("Exit");
BtnExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnExitActionPerformed(evt);
}
});
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel6.setText("Jumlah Harga");
jMenu1.setText("File");
jMenuItem1.setText("Exit");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem1);
jMenuBar1.add(jMenu1);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(147, 147, 147)
.addComponent(jLabel1))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(35, 35, 35)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(CBMA)
.addComponent(CBNG)
.addComponent(CBMG)
.addComponent(CBMR)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(BtnHitung)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(91, 91, 91)
.addComponent(jLabel6)
.addGap(40, 40, 40)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(TxtjmlHarga, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(BtnHapus)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(TxtCBMA, javax.swing.GroupLayout.DEFAULT_SIZE, 67, Short.MAX_VALUE)
.addComponent(TxtCBNG)
.addComponent(TxtCBMG)
.addComponent(TxtCBMR)))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel4)
.addComponent(jLabel5))
.addComponent(jLabel3)
.addComponent(jLabel2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(TxtjmlNG, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtjmlMA, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtjmlMG, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtjmlMR, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(BtnExit))))
.addContainerGap(90, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(17, 17, 17)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CBMA)
.addComponent(TxtCBMA, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)
.addComponent(TxtjmlMA, 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.Alignment.BASELINE)
.addComponent(CBNG)
.addComponent(TxtCBNG, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(TxtjmlNG, 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.Alignment.BASELINE)
.addComponent(CBMG)
.addComponent(TxtCBMG, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4)
.addComponent(TxtjmlMG, 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.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(CBMR)
.addComponent(TxtCBMR, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(TxtjmlMR, 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.Alignment.BASELINE)
.addComponent(BtnHitung)
.addComponent(BtnHapus)
.addComponent(BtnExit))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(TxtjmlHarga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18))
);
pack();
}
private void CBMAActionPerformed(java.awt.event.ActionEvent evt) {
int mieayam=8000;
if(CBMA.isSelected()){
TxtCBMA.setText("" +CBMA.getText());
TxtCBMA.setText("" +mieayam);
}else{
TxtCBMA.setText("");
}
}
private void CBNGActionPerformed(java.awt.event.ActionEvent evt) {
int nasigoreng=15000;
if(CBNG.isSelected()){
TxtCBNG.setText("" +CBNG.getText());
TxtCBNG.setText("" +nasigoreng);
}else{
TxtCBNG.setText("");
}
}//GEN-LAST:event_CBNGActionPerformed
private void CBMGActionPerformed(java.awt.event.ActionEvent evt) {
int miegoreng=8000;
if(CBMG.isSelected()){
TxtCBMG.setText("" +CBMG.getText());
TxtCBMG.setText("" +miegoreng);
}else{
TxtCBMG.setText("");
}
}
private void CBMRActionPerformed(java.awt.event.ActionEvent evt) {
int mierebus=8000;
if(CBMR.isSelected()){
TxtCBMR.setText("" +CBMR.getText());
TxtCBMR.setText("" +mierebus);
}else{
TxtCBMR.setText("");
}
}
private void BtnHitungActionPerformed(java.awt.event.ActionEvent evt) {
int total=0;
if (CBMA.isSelected()){
String MA=TxtjmlMA.getText();
int jmlMA=Integer.parseInt(MA);
int HargaMA=jmlMA*8000;
total=total+HargaMA;
}
if (CBNG.isSelected()){
String NG=TxtjmlNG.getText();
int jmlNG=Integer.parseInt(NG);
int HargaNG=jmlNG*15000;
total=total+HargaNG;
}
if (CBMG.isSelected()){
String MG=TxtjmlMG.getText();
int jmlMG=Integer.parseInt(MG);
int HargaMG=jmlMG*8000;
total=total+HargaMG;
}
if (CBMR.isSelected()){
String MR=TxtjmlMR.getText();
int jmlMR=Integer.parseInt(MR);
int HargaMR=jmlMR*8000;
total=total+HargaMR;
}
TxtjmlHarga.setText("" +total);
}
private void BtnHapusActionPerformed(java.awt.event.ActionEvent evt) {
TxtjmlMA.setEditable(false);
TxtjmlMA.setText("");
TxtjmlNG.setEditable(false);
TxtjmlNG.setText("");
TxtjmlMG.setEditable(false);
TxtjmlMG.setText("");
TxtjmlMR.setEditable(false);
TxtjmlMR.setText("");
TxtjmlHarga.setText("");
}
private void BtnExitActionPerformed(java.awt.event.ActionEvent evt) {
int X= JOptionPane.showConfirmDialog(null,"Keluar Program","Exit",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
if(X==JOptionPane.YES_OPTION){
//System.exit(0);
dispose();
}
}
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
public static void main(String args[]) {
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(ProgramKasir.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ProgramKasir.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ProgramKasir.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(ProgramKasir.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ProgramKasir().setVisible(true);
}
});
}
private javax.swing.JButton BtnExit;
private javax.swing.JButton BtnHapus;
private javax.swing.JButton BtnHitung;
private javax.swing.JCheckBox CBMA;
private javax.swing.JCheckBox CBMG;
private javax.swing.JCheckBox CBMR;
private javax.swing.JCheckBox CBNG;
private javax.swing.JTextField TxtCBMA;
private javax.swing.JTextField TxtCBMG;
private javax.swing.JTextField TxtCBMR;
private javax.swing.JTextField TxtCBNG;
private javax.swing.JTextField TxtjmlHarga;
private javax.swing.JTextField TxtjmlMA;
private javax.swing.JTextField TxtjmlMG;
private javax.swing.JTextField TxtjmlMR;
private javax.swing.JTextField TxtjmlNG;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
}
dan Berikut tampilan GUI nya:
dalam GUI ini untuk memesan klik menu yang diinginkan, seteah itu isi berapa banyak pemesanan baru hitung total harga dengan menu hitung, seperti berikut :
Komentar
Posting Komentar