program kasir sederhana




program kasir cafe sederhana

disini saya akan menjelaskan tutorial membuat program kasir cafe sederhana menggunakan java netbeans dimana program ini berfungsi untuk menghitung pemesanan makanan yg telah dipesan.
cara membuat program ini cukup mudah.
berikut cara menjalankan program ini :
  1. buka program => pilih menu makanan yang ingin di pesan, setelah makanan di pilih harga akan otomatis muncul.
  2. masukan jumlah pesanan yang ingin dipesan
  3. setelah jumlah pesanan dimasukan, jumlah harga makanan yang dipesan akan otomatis muncul.
  4. selanjutnya masukan nominal pembayaran lalu bayar.
  5. bila nominal pembayaran yang dimasukan lebih besar dari harga makanan, uang kembalian akan otomatis muncul sesuai harga yang dipesan.
  6. program ini juga menyediakan tombol batal yang berfungsi untuk membatalkan pesanan yang sudah dipesan dan tombol keluar untuk mengakhiri pemesanan.

  • flowchart





selanjutnya disni saya akan menjelasnkan bagai mana cara membuat program ini:

1. langkah pertama buka aplikasi "java NetBeans IDE", klik file => new project => java application, lalu klik next, isi project name, setelah itu klik finish








2. selanjutnya klik kanan pada project program kasir => New => JFrame Form






3. isi Clas Name => setelah itu klik Finish






4. selanjutnya buatlah Desain seperti gambar di bawah ini.
     



keterangan:
disini kita membutuhkan :
1. 7 buah JLabel
2. 1 buah JComboBox
3. 5 buah JText Field
4. 4 buah JButton
ubah nama dan variable nya. contohnya seperti : JText Field => txtpilih menu . untuk JLabel tidak perlu di ubah variable name nya.


5. klik kanan pada pilih menu, klik Event => Action => Action performed


sebelum itu ubah variable name seperti gambar dibawah ini:





selanjutnya masukan Source Code seperti gambar dibawah ini:



6. masukan Source Code di bawah ini. caranya sama seperti di atas :










7.  setelah coding di buat, langkah selanjutnya tinggal kita Run project / tekan Shift+F6
dan ini tampilan Project yg sudah selelsai di buat







ini Source code yang lebih lengkapnya lagi:



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package sans;
import java.text.NumberFormat;
import java.util.StringTokenizer;
import java.util.Locale;
/**
 *
 * @author SANS-PC
 */
public class kasir_sans extends javax.swing.JFrame {
    String nm_makanan="";
    int harga_makanan;
    int jml_beli;
    int jml_harga;
    int kembalian;
    int jml_bayar;
    int bayar,beli,harga,bungkus;

    /**
     * Creates new form kasir_sans
     */
    public kasir_sans() {
        initComponents();
    }
    
    public void radio(){
       
    }

    /**
     * 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() {

        txtNamamkn = new javax.swing.JLabel();
        txtHargamkn = new javax.swing.JLabel();
        txtBeli = new javax.swing.JLabel();
        txtHarga = new javax.swing.JLabel();
        txtBayar = new javax.swing.JLabel();
        txtKemblian = new javax.swing.JLabel();
        CBNamaMkn = new javax.swing.JComboBox<>();
        txtHargaMkn = new javax.swing.JTextField();
        txtJumlahbeli = new javax.swing.JTextField();
        btnHitungjumlahharga = new javax.swing.JButton();
        txtJumlahharga = new javax.swing.JTextField();
        txtJumlahbayar = new javax.swing.JTextField();
        btnBayar = new javax.swing.JButton();
        txtJumlahkembalian = new javax.swing.JTextField();
        btnBatal = new javax.swing.JButton();
        btnKeluar = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        txtNamamkn.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtNamamkn.setText("NAMA MAKANAN");

        txtHargamkn.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtHargamkn.setText("HARGA MAKANAN");

        txtBeli.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtBeli.setText("JUMLAH BELI");

        txtHarga.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtHarga.setText("JUMLAH HARGA");

        txtBayar.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtBayar.setText("JUMLAH BAYAR");

        txtKemblian.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        txtKemblian.setText("JUMLAH KEMBALIAN");

        CBNamaMkn.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        CBNamaMkn.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "pilih menu", "ayam bakar", "sate ayam", "pecel lele", "soto", "nasi goreng" }));
        CBNamaMkn.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                CBNamaMknActionPerformed(evt);
            }
        });

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

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

        btnHitungjumlahharga.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnHitungjumlahharga.setText("hitung jumlah harga");
        btnHitungjumlahharga.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnHitungjumlahhargaActionPerformed(evt);
            }
        });

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

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

        btnBayar.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnBayar.setText("Bayar");
        btnBayar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBayarActionPerformed(evt);
            }
        });

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

        btnBatal.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnBatal.setText("Batal");
        btnBatal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnBatalActionPerformed(evt);
            }
        });

        btnKeluar.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        btnKeluar.setText("Keluar");
        btnKeluar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnKeluarActionPerformed(evt);
            }
        });

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jLabel1.setText("Program Kasir Cafe Sans");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(0, 136, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(btnBatal)
                        .addGap(108, 108, 108)
                        .addComponent(btnKeluar)
                        .addGap(278, 278, 278))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(btnBayar)
                        .addGap(227, 227, 227))))
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(89, 89, 89)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(txtNamamkn)
                            .addComponent(txtHargamkn)
                            .addComponent(txtBeli)
                            .addComponent(txtHarga)
                            .addComponent(txtBayar)
                            .addComponent(txtKemblian))
                        .addGap(92, 92, 92)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(btnHitungjumlahharga, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(CBNamaMkn, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(txtHargaMkn, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(txtJumlahbeli, javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(txtJumlahharga)
                            .addComponent(txtJumlahbayar)
                            .addComponent(txtJumlahkembalian)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(174, 174, 174)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 235, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(33, 33, 33)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtNamamkn)
                    .addComponent(CBNamaMkn, 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(txtHargamkn)
                    .addComponent(txtHargaMkn, 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(txtJumlahbeli, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtBeli))
                .addGap(18, 18, 18)
                .addComponent(btnHitungjumlahharga)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtJumlahharga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtHarga))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtJumlahbayar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtBayar))
                .addGap(18, 18, 18)
                .addComponent(btnBayar)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtJumlahkembalian, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtKemblian, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnKeluar)
                    .addComponent(btnBatal))
                .addContainerGap(113, Short.MAX_VALUE))
        );

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

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

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

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

    private void CBNamaMknActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        nm_makanan=(String)CBNamaMkn.getSelectedItem();
        if(nm_makanan=="pilih menu"){
        }else if(nm_makanan=="ayam bakar"){
            harga_makanan=20000;
        }else if (nm_makanan=="sate ayam"){
            harga_makanan=25000;
        }else if(nm_makanan=="pecel lele"){
            harga_makanan=20000;
        }else if(nm_makanan=="soto"){
            harga_makanan=15000;
        }else if(nm_makanan=="nasi goreng"){
            harga_makanan=15000;
        }
         
        txtHargaMkn.setText(""+harga_makanan);
    }                                         

    private void btnHitungjumlahhargaActionPerformed(java.awt.event.ActionEvent evt) {                                                     
        // TODO add your handling code here:
         harga=Integer.parseInt(txtHargaMkn.getText());
        beli=Integer.parseInt(txtJumlahbeli.getText());
        
        bayar=harga*beli;
        txtJumlahharga.setText(""+bayar);
       
    }                                                    

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

    private void btnBayarActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
         harga=Integer.parseInt(txtJumlahharga.getText());
        bayar=Integer.parseInt(txtJumlahbayar.getText());
        
        
        kembalian=bayar-harga;
        txtJumlahkembalian.setText(""+kembalian);
        
    }                                        

    private void btnBatalActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        CBNamaMkn.getSelectedItem();
        txtHargaMkn.setText("");
        txtJumlahbeli.setText("");
        txtJumlahharga.setText("");
        txtJumlahbayar.setText("");
        txtJumlahkembalian.setText("");
    }                                        

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

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

    /**
     * @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(kasir_sans.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(kasir_sans.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(kasir_sans.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(kasir_sans.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 kasir_sans().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JComboBox<String> CBNamaMkn;
    private javax.swing.JButton btnBatal;
    private javax.swing.JButton btnBayar;
    private javax.swing.JButton btnHitungjumlahharga;
    private javax.swing.JButton btnKeluar;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel txtBayar;
    private javax.swing.JLabel txtBeli;
    private javax.swing.JLabel txtHarga;
    private javax.swing.JTextField txtHargaMkn;
    private javax.swing.JLabel txtHargamkn;
    private javax.swing.JTextField txtJumlahbayar;
    private javax.swing.JTextField txtJumlahbeli;
    private javax.swing.JTextField txtJumlahharga;
    private javax.swing.JTextField txtJumlahkembalian;
    private javax.swing.JLabel txtKemblian;
    private javax.swing.JLabel txtNamamkn;
    // End of variables declaration                   
}





nah selesai sudah cara membuat project program kasir...
selamat mencoba and HAPPY CODING :)

Komentar

Posting Komentar