Wednesday, March 1, 2017

coding untuk Faktur Jual

Jumlah
$F{jumlah}+"X"+$F{harga_jual}

Diskon
(($F{total}*$F{harga_jual})-$F{total})

Tuesday, February 28, 2017

coding untuk laporan daftar distributor, kasir, buku

Connection cn = cslCRUDDBase.setKoneksi();
try {
Statement st = cn.createStatement();
Map<String, Object> prs = new HashMap<String, Object>();
JasperReport JRpt =
JasperCompileManager.compileReport("src/mnuLaporan/listBuku.jrxml");
JasperPrint JPrint = JasperFillManager.FillReport(Jrpt, prs, cn);
JasperViewer view = new JasperViewer(JPrint, false);
javax.swing.JDialog dialog = new javax.swing.JDialog(new javax.swing.JFrame(),true);
dialog.setContentPane(view.setContentPane);
dialog.setSize(400, 500);
dialog.setTitle("Laporan Buku");
dialog.setVisible(true);
dialog.setLocationRelativeTo(this);
}catch (Exception rptexcpt){
System.out.println("Report Can't view because : " + rptexcpt);
}










coding untuk background menu utama

class BgSplash extends PanelUI{
ImageIcon background = new mageIcon (getClass().getResource(*/Img/img.jpg));
Public void paint (Graphics g. JComponent c){
g.drawImage(background.getImage(),0,null);
}

}

coding untuk list pasok

/*
 * 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 mnTransaksi;
import Class.clsCRUDDBase;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import Class.sessionLogin;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
/**
 *
 * @author user
 */
public class listpasok extends javax.swing.JFrame {

    /**
     * Creates new form listpasok
     */
    sessionLogin sesi = new sessionLogin();
    public listpasok() {
        initComponents();
        setTitle("Data pasok");
        this.setLocationRelativeTo(this);
        Timer time = new Timer(0, new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
           autoRefresh();
        }
        });
       time.setDelay(100); // delay for 30 seconds
       time.start();
    }
   
   
   
    private void autoRefresh(){
        if(sesi.getRefresh().equals("true")){
            getData();
        }else{
           
        }
    }
   
    private void getData(){
        DefaultTableModel table = new DefaultTableModel();
        table.addColumn("Id Pasok");
        table.addColumn("Tanggal");
        table.addColumn("Nama Distributor");
        table.addColumn("Judul Buku");
        table.addColumn("Jumlah Pasok");
        try{
            String SQL = "select a.id_pasok,a.tanggal ,b.nama_distributor, c.judul ,a.jumlah "
                    + "from buku c inner join "
                    + "(pasok a inner join distributor b on a.id_distributor = b.id_distributor) "
                    + "on c.id_buku = a.id_buku";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            while(rs.next()){
                table.addRow(new Object[]{
                    rs.getString(1),
                    rs.getString(2),
                    rs.getString(3),
                    rs.getString(4),
                    rs.getString(5)
                });
            }
        }catch(Exception e){
            System.out.println();
        }
        tblPasok.setModel(table);
    }
   
    private void cari(){
        DefaultTableModel table = new DefaultTableModel();
        table.addColumn("Id");
        table.addColumn("Tanggal");
        table.addColumn("Nama");
        table.addColumn("Judul Buku");
        table.addColumn("Jumlah Pasok");
       
        String keyword = txtcari.getText();
        try{
            String SQL = "Select id_pasok,tanggal,nama,judul,jumlah from paosk where"
                    + " id_pasok like'%"+keyword+"%' or tanggal like '%"+keyword+"%'"
                    + " or nama like '%"+keyword+"%'"
                    + " or judul like '%"+keyword+"%'"
                    + " or jumlah like '%"+keyword+"%'";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            while(rs.next()) {
                table.addRow(new Object[]{
                    rs.getString("id_pasok"),
                    rs.getString("tanggal"),
                    rs.getString("nama"),
                    rs.getString("judul"),
                    rs.getString("jumlah")
                });
            }
        }catch(Exception e){
            System.out.println();
        }
        tblPasok.setModel(table);
    }
   
    private void deleteData(){
        try {
            int i = tblPasok.getSelectedRow();
            String idTransaksi = tblPasok.getValueAt(i, 0).toString();
            if(JOptionPane.showConfirmDialog(rootPane, "Apakah Anda Yakin?\nMenghapus Data "+idTransaksi+"","Informasi",
                JOptionPane.CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION){
                String SQL = "delete from pasok where id_pasokaaaaaaadmin = '"+idTransaksi+"'";
                int a = clsCRUDDBase.execute(SQL);
                if(a>0){
                    JOptionPane.showMessageDialog(rootPane, "Data Berhasil Dihapus.","Success",JOptionPane.INFORMATION_MESSAGE);
                    getData();
                }else{
                    JOptionPane.showMessageDialog(rootPane, "Data Gagal Dihapus.","Gagal",JOptionPane.WARNING_MESSAGE);
                }
            }
        } catch (Exception e) {
        }
       
    }
   

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

        jLabel1 = new javax.swing.JLabel();
        txtcari = new javax.swing.JTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        tblPasok = new javax.swing.JTable();
        btnTambah = new javax.swing.JButton();
        btnHapus = new javax.swing.JButton();
        btnRefresh = new javax.swing.JButton();
        btnKeluar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowOpened(java.awt.event.WindowEvent evt) {
                formWindowOpened(evt);
            }
        });

        jLabel1.setText("Cari :");

        txtcari.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtcariActionPerformed(evt);
            }
        });
        txtcari.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                txtcariKeyReleased(evt);
            }
        });

        tblPasok.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(tblPasok);

        btnTambah.setText("Baru");
        btnTambah.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnTambahActionPerformed(evt);
            }
        });

        btnHapus.setText("Hapus");
        btnHapus.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnHapusActionPerformed(evt);
            }
        });

        btnRefresh.setText("Refresh");
        btnRefresh.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnRefreshActionPerformed(evt);
            }
        });

        btnKeluar.setText("Keluar");
        btnKeluar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnKeluarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(34, 34, 34)
                .addComponent(btnTambah)
                .addGap(18, 18, 18)
                .addComponent(btnHapus)
                .addGap(18, 18, 18)
                .addComponent(btnRefresh)
                .addGap(18, 18, 18)
                .addComponent(btnKeluar)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 611, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txtcari, javax.swing.GroupLayout.PREFERRED_SIZE, 164, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(0, 54, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(38, 38, 38)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(txtcari, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 156, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnTambah)
                    .addComponent(btnHapus)
                    .addComponent(btnRefresh)
                    .addComponent(btnKeluar))
                .addContainerGap())
        );

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

    private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
        new frmPasok().setVisible(true);
    }                                        

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

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

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

    private void formWindowOpened(java.awt.event.WindowEvent evt) {                                
        // TODO add your handling code here:
        getData();
    }                                

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

    private void txtcariKeyReleased(java.awt.event.KeyEvent evt) {                                  
        // TODO add your handling code here:
        cari();
    }                                  

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

    // Variables declaration - do not modify                    
    private javax.swing.JButton btnHapus;
    private javax.swing.JButton btnKeluar;
    private javax.swing.JButton btnRefresh;
    private javax.swing.JButton btnTambah;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable tblPasok;
    private javax.swing.JTextField txtcari;
    // End of variables declaration                  
}

coding untuk pasok

/*
 * 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 mnTransaksi;
import Class.clsCRUDDBase;
import Class.sessionLogin;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
/**
 *
 * @author user
 */
public class frmPasok extends javax.swing.JFrame {
private String idPasok;
    private String idDistributor;
    private String idBuku;
    private boolean update = false;
    sessionLogin sesi = new sessionLogin();
    /**
     * Creates new form frmPasok
     */
    public frmPasok() {
        initComponents();
        setTitle("Input Pasok");
        this.setLocationRelativeTo(this);
    }
   
 
    private void IdPasok() {
        try{
            String query = "select substring(id_pasok,4,6) as id from pasok order by id_pasok desc limit 0,1";
            ResultSet rs = clsCRUDDBase.executeQuery(query);
            SimpleDateFormat df = new SimpleDateFormat("yyMM");
            Date date = new Date();
            String hasil = "PSK";
                    if(rs.first()) {
                        String str = "000";
                        String Id = rs.getString("id");
                        int no = Integer.valueOf(Id)+1;
                        String str_no = String.valueOf(no);
                        String idPasok = hasil +str.substring(0,3-str_no.length())+Integer.toString(no);
                        txtIdPasok.setText(idPasok);
                    } else {
                        String idPasok = hasil+"001";
                        txtIdPasok.setText(idPasok);
                    }
                   
        } catch (Exception e) {
            JOptionPane.showMessageDialog(rootPane, e);
            System.out.println(e);
        }
    }
   
    private void getBuku(){
        try {
            String SQL = "Select id_buku from buku order by id_buku asc";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            cboBuku.removeAllItems();
            cboBuku.addItem("-");
            while(rs.next()){
                cboBuku.addItem(rs.getString(1));
            }
        } catch (Exception e) {
        }
    }
   
     private void getDetBuku(){
        try {
            String id = cboBuku.getSelectedItem().toString();
            String SQL = "select noisbn,judul,penulis,penerbit,tahun,stok,harga_jual "
                    + "from buku where id_buku ='"+id+"'";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            if(rs.next()){
                txtNoIsbn.setText(rs.getString(1));
                txtJudul.setText(rs.getString(2));
                txtPenulis.setText(rs.getString(3));
                txtPenerbit.setText(rs.getString(4));
                txtTahun.setText(rs.getString(5));
                txtStok.setText(rs.getString(6));
                txtHarga.setText(rs.getString(7));
            }
        } catch (Exception e) {
        }
    }
   
     private void tglTransaksi(){
        SimpleDateFormat df = new SimpleDateFormat("EEEE, dd MMMM YYYY");
        Date date = new Date();
        String hasil = df.format(date);
        txtTanggal.setText(hasil);
    }
   
     private void getDist(){
        try {
            String SQL = "Select id_distributor from distributor order by id_distributor asc";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            cboDist.removeAllItems();
            cboDist.addItem("-");
            while(rs.next()){
                cboDist.addItem(rs.getString(1));
            }
        } catch (Exception e) {
        }
    }
   
     private void getDetDist(){
        try {
            String id = cboDist.getSelectedItem().toString();
            String SQL = "select nama_distributor,alamat,telepon from distributor where id_distributor ='"+id+"'";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            if(rs.next()){
                txtNama.setText(rs.getString(1));
                txtAlamat.setText(rs.getString(2));
            }
        } catch (Exception e) {
        }
    }
   
   
      private int cekData(){
        int i = 0;
        if(cboBuku.getSelectedItem().equals("-")){
           JOptionPane.showMessageDialog(rootPane, "Silahkan pilih buku.","Peringatan", JOptionPane.WARNING_MESSAGE);
         
           }else if(cboDist.getSelectedItem().equals("-")){
            JOptionPane.showMessageDialog(rootPane, "silahkan pilih id distributor.","Peringatan", JOptionPane.WARNING_MESSAGE);
           
        }else if(txtJumlah.getText().isEmpty()){
            JOptionPane.showMessageDialog(rootPane, "Jumlah tidak boleh kosong.","Peringatan", JOptionPane.WARNING_MESSAGE);
        }else{
            i=1;
        }
        return  i;
    }
   
   
    private void simpan(){
        int i = cekData();
        if(i>0){
            String idTransaksi = txtIdPasok.getText();
            String idBuku = cboBuku.getSelectedItem().toString();
            String idDistributor = cboDist.getSelectedItem().toString();
            String jumlah = txtJumlah.getText();
           
            SimpleDateFormat df = new SimpleDateFormat("YYYY-MM-dd");
            Date date = new Date();
            String tanggal = df.format(date);
           
            String SQL = "insert into pasok value('"+idTransaksi+"','"+idDistributor+"','"+idBuku+"','"+jumlah+"','"+tanggal+"')";
            int a = clsCRUDDBase.execute(SQL);
            if(i>0){
                JOptionPane.showMessageDialog(rootPane, "Data berhasil di simpan.","Succses", JOptionPane.INFORMATION_MESSAGE);
            }else{
                JOptionPane.showMessageDialog(rootPane, "data gagal di simpan","Gagal", JOptionPane.WARNING_MESSAGE);
            }
        }
    }
   

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

        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        cboDist = new javax.swing.JComboBox<String>();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        txtNama = new javax.swing.JTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        txtAlamat = new javax.swing.JTextArea();
        jPanel4 = new javax.swing.JPanel();
        jLabel4 = new javax.swing.JLabel();
        cboBuku = new javax.swing.JComboBox();
        jLabel11 = new javax.swing.JLabel();
        txtNoIsbn = new javax.swing.JTextField();
        txtJudul = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        txtPenulis = new javax.swing.JTextField();
        jLabel12 = new javax.swing.JLabel();
        txtPenerbit = new javax.swing.JTextField();
        txtHarga = new javax.swing.JTextField();
        jLabel9 = new javax.swing.JLabel();
        txtStok = new javax.swing.JTextField();
        jLabel13 = new javax.swing.JLabel();
        txtTahun = new javax.swing.JTextField();
        jLabel5 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        txtTanggal = new javax.swing.JLabel();
        txtJumlah = new javax.swing.JTextField();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jLabel10 = new javax.swing.JLabel();
        txtIdPasok = new javax.swing.JTextField();

        jButton1.setText("Simpan");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("Batal");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowOpened(java.awt.event.WindowEvent evt) {
                formWindowOpened(evt);
            }
        });

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

        cboDist.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cboDistItemStateChanged(evt);
            }
        });

        jLabel1.setText("Id Distributor :");

        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel2.setText("Nama : ");

        jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel3.setText("Alamat : ");

        txtNama.setEditable(false);

        txtAlamat.setEditable(false);
        txtAlamat.setColumns(20);
        txtAlamat.setRows(5);
        jScrollPane1.setViewportView(txtAlamat);

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 88, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(cboDist, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jScrollPane1))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txtNama)))
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cboDist, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel3Layout.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))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel3)
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addComponent(jScrollPane1))
                .addContainerGap())
        );

        jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Buku", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(153, 0, 0)))); // NOI18N

        jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel4.setText("Buku : ");

        cboBuku.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cboBukuItemStateChanged(evt);
            }
        });

        jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel11.setText("No ISBN : ");

        txtNoIsbn.setEditable(false);

        txtJudul.setEditable(false);

        jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel6.setText("Judul : ");

        jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel7.setText("Penulis : ");

        txtPenulis.setEditable(false);

        jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel12.setText("Penerbit : ");

        txtPenerbit.setEditable(false);

        txtHarga.setEditable(false);

        jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel9.setText("Harga : ");

        txtStok.setEditable(false);

        jLabel13.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel13.setText("Stok : ");

        txtTahun.setEditable(false);

        jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel5.setText("Tahun : ");

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel7)
                            .addComponent(jLabel4)
                            .addComponent(jLabel6))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
                                .addComponent(cboBuku, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(10, 10, 10)
                                .addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(txtNoIsbn))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()
                                .addComponent(txtPenulis, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jLabel12)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(txtPenerbit))
                            .addComponent(txtJudul, javax.swing.GroupLayout.PREFERRED_SIZE, 374, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(jPanel4Layout.createSequentialGroup()
                        .addComponent(jLabel5)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txtTahun, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txtStok, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(32, 32, 32)
                        .addComponent(jLabel9)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txtHarga)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel4)
                        .addComponent(cboBuku, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel11)
                        .addComponent(txtNoIsbn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(6, 6, 6)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel6)
                    .addComponent(txtJudul, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(4, 4, 4)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel7)
                    .addComponent(txtPenulis, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtPenerbit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel12))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5)
                    .addComponent(txtTahun, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel13)
                    .addComponent(txtStok, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel9)
                    .addComponent(txtHarga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(0, 14, Short.MAX_VALUE))
        );

        jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        jLabel8.setText("Jumlah Pasok : ");

        txtTanggal.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        txtTanggal.setText("Tanggal Pasok : ");

        jButton3.setText("Simpan");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        jButton4.setText("Batal");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });

        jLabel10.setText("Id Pasok");

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

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(24, 24, 24)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel10)
                        .addGap(18, 18, 18)
                        .addComponent(txtIdPasok, javax.swing.GroupLayout.PREFERRED_SIZE, 160, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jButton3)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jButton4))
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(txtTanggal)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(jLabel8)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(txtJumlah, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE))))))
                .addContainerGap(29, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(22, 22, 22)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel10)
                    .addComponent(txtIdPasok, 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.createSequentialGroup()
                        .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel8)
                            .addComponent(txtJumlah, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txtTanggal))
                    .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton3)
                    .addComponent(jButton4))
                .addGap(19, 19, 19))
        );

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

    private void cboDistItemStateChanged(java.awt.event.ItemEvent evt) {                                        
        // TODO add your handling code here:
        getDetDist();
    }                                      

    private void cboBukuItemStateChanged(java.awt.event.ItemEvent evt) {                                        
        // TODO add your handling code here:
        getDetBuku();
    }                                      

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

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

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

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

    private void formWindowOpened(java.awt.event.WindowEvent evt) {                                
        // TODO add your handling code here:
        getBuku();
        getDist();
        IdPasok();
        tglTransaksi();
    }                                

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

    // Variables declaration - do not modify                    
    private javax.swing.JComboBox cboBuku;
    private javax.swing.JComboBox<String> cboDist;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    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.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea txtAlamat;
    private javax.swing.JTextField txtHarga;
    private javax.swing.JTextField txtIdPasok;
    private javax.swing.JTextField txtJudul;
    private javax.swing.JTextField txtJumlah;
    private javax.swing.JTextField txtNama;
    private javax.swing.JTextField txtNoIsbn;
    private javax.swing.JTextField txtPenerbit;
    private javax.swing.JTextField txtPenulis;
    private javax.swing.JTextField txtStok;
    private javax.swing.JTextField txtTahun;
    private javax.swing.JLabel txtTanggal;
    // End of variables declaration                  

    /**
     * @return the idPasok
     */
    public String getIdPasok() {
        return idPasok;
    }

    /**
     * @param idPasok the idPasok to set
     */
    public void setIdPasok(String idPasok) {
        this.idPasok = idPasok;
    }

    /**
     * @return the idDistributor
     */
    public String getIdDistributor() {
        return idDistributor;
    }

    /**
     * @param idDistributor the idDistributor to set
     */
    public void setIdDistributor(String idDistributor) {
        this.idDistributor = idDistributor;
    }

    /**
     * @return the idBuku
     */
    public String getIdBuku() {
        return idBuku;
    }

    /**
     * @param idBuku the idBuku to set
     */
    public void setIdBuku(String idBuku) {
        this.idBuku = idBuku;
    }

    /**
     * @return the update
     */
    public boolean isUpdate() {
        return update;
    }

    /**
     * @param update the update to set
     */
    public void setUpdate(boolean update) {
        this.update = update;
    }
}

coding untuk tombol cetak

private void cetak(){
           {btnCetak.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
           Connection cn = clsCRUDDBase.setKoneksi();
           try {
               Statement st = cn.createStatement();
               Map<String, Object> prs = new HashMap<String, Object>();
               prs.put("idpenjualan", txtidtransaksi.getText());
               JasperReport JRpt =
               JasperCompileManager.compileReport("src/mnLap/FakturJual.jrxml");
               JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, cn);
               JasperViewer view = new JasperViewer(JPrint, false);
               javax.swing.JDialog dialog = new javax.swing.JDialog(new javax.swing.JFrame(),true);//theowner
               dialog.setContentPane(view.getContentPane());
               dialog.setSize(400,500);
               dialog.setTitle("Laporan Transaksi");
               dialog.setVisible(true);
               dialog.setLocationRelativeTo(this);
           } catch (Exception rptexcpt) {
               System.out.println("Report Can't view because : " + rptexcpt);
           }
           btnCetak.setCursor(Cursor.getDefaultCursor());
         
           }
       }

Friday, February 24, 2017

coding untuk penjualan

/*
 * 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 mnuTransaksi;
import Class.clsCRUDDBase;
import Class.sessionLogin;
import com.mysql.jdbc.Connection;
import java.awt.Cursor;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.util.JRLoader;

/**
 *
 * @author Jack
 */
public class Penjualan extends javax.swing.JFrame {

 
    private String idPenjualan;
    private String diskon;
    private boolean update = false;
 
    sessionLogin sesi = new sessionLogin();
    /**
     * Creates new form Penjualan
     */
    public Penjualan() {
        initComponents();
        this.setLocationRelativeTo(this);
        tKasir.setText(sesi.getNamaKasir());
    }

private void getBuku(){
        try {
            String SQL = "Select id_buku from buku order by id_buku asc";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            cboBuku.removeAllItems();
            cboBuku.addItem("-");
            while(rs.next()){
                cboBuku.addItem(rs.getString(1));
            }
        } catch (Exception e) {
        }
    }
 
    private void getDetBuku(){
        try {
            String idBuku = cboBuku.getSelectedItem().toString();
            String SQL = "select noIsbn,judul,penulis,penerbit,tahun,stok,harga_jual,diskon, diskon /100 *harga_jual as totalDisc "
                    + "from buku where id_buku ='"+idBuku+"'";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            if(rs.next()){
                tIsbn.setText(rs.getString(1));
                tJudul.setText(rs.getString(2));
                tPenulis.setText(rs.getString(3));
                tPenerbit.setText(rs.getString(4));
                tTahun.setText(rs.getString(5));
                tStok.setText(rs.getString(6));
                tHarga.setText(rs.getString(7));
                tDiskon.setText(rs.getString(8));
                this.setDiskon(rs.getString(9));
            }
        } catch (Exception e) {
        }
    }
 
    private void getTotal(){
        double disc = Double.valueOf(tDiskon.getText());
        double jj = Double.valueOf(tJumlah.getText());
        double hh = Double.valueOf(tHarga.getText());
        double a = disc/100 * hh * jj;
        String jumlah = tJumlah.getText();
        int j = Integer.valueOf(jumlah);
        String harga = tHarga.getText();
        int h = Integer.valueOf(harga);
        double Hasil = j*h-a;
        tTotal.setText(String.valueOf(Hasil));
    }
 
    private void genIdTransaksi(){
        try{
            String SQL = "select substring(id_penjualan,5,10) as id from penjualan order by id_penjualan desc limit 0,1";
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            SimpleDateFormat df = new SimpleDateFormat("yyMM");
            Date date = new Date();
            String hasil = df.format(date);
            if(rs.next()){
                String str = "000000";
                int id = Integer.valueOf(rs.getString(1))+1;
                String str_no = String.valueOf(id);
                String idTransaksi = hasil+str.substring(0,6-str_no.length())+Integer.toString(id);
                tPenjualan.setText(idTransaksi);
            }else{
                tPenjualan.setText(hasil+"00001");
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "Ada kelasahan dalam database");
        }
    }
 
    private void tglTransaksi(){
        SimpleDateFormat df = new SimpleDateFormat("EEEE, dd MMMM YYYY");
        Date date = new Date();
        String hasil = df.format(date);
        tTanggal.setText(hasil);
    }
 
    private int cekData(){
        int i = 0;
        if(cboBuku.getSelectedItem().equals("-")){
            JOptionPane.showMessageDialog(rootPane, "Silahkan pilih buku.","Peringatan",JOptionPane.WARNING_MESSAGE);
        }else if(tJumlah.getText().isEmpty()){
            JOptionPane.showMessageDialog(rootPane, "Jumlah Tidak boleh kosong.","Peringatan",JOptionPane.WARNING_MESSAGE);
        }else{
            i=1;
        }
        return i;
    }
 
    private void simpan(){
        int i = cekData();
        try{
        if(i>0){
            String idPenjualan = tPenjualan.getText();
            String idBuku = cboBuku.getSelectedItem().toString();
            String idKasir = "17010001";
            String jumlah = tJumlah.getText();
            String total = tTotal.getText();
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            Date date = new Date();
            String tanggal = df.format(date);
         
            String SQL = "insert into penjualan values('"+idPenjualan+"','"+idBuku+"','"+idKasir+"','"+jumlah+"','"+total+"','"+tanggal+"')";
            int a = clsCRUDDBase.execute(SQL);
            if(a>0){
                JOptionPane.showMessageDialog(rootPane, "Data berhasil disimpan.","Success",JOptionPane.INFORMATION_MESSAGE);
            }else{
                JOptionPane.showMessageDialog(rootPane, "Data gagal disimpan.","Gagal",JOptionPane.WARNING_MESSAGE);
            }
        }
        }catch(Exception e){
        }
    }
 
    private void updateData(){
        String idTransaksi = tPenjualan.getText();
        String idBuku = cboBuku.getSelectedItem().toString();
        String idKasir = "17010001";
        String jumlah = tJumlah.getText();
        String total = tTotal.getText();
     
        String SQL = "update penjualan set id_buku='"+idBuku+"',jumlah='"+jumlah+"',total='"+total+"' where "
                + "id_penjualan = '"+idTransaksi+"'";
        int i = clsCRUDDBase.execute(SQL);
        if(i>0){
            JOptionPane.showMessageDialog(rootPane, "Data berhasil diubah.","Success",JOptionPane.INFORMATION_MESSAGE);
        }else{
            JOptionPane.showMessageDialog(rootPane, "Data gagal diubah.","Gagal",JOptionPane.WARNING_MESSAGE);
        }
    }
 
    private void pushData(){
        String SQL = "Select * from penjualan where id_penjualan = '"+this.getIdPenjualan()+"'";
        try{
            ResultSet rs = clsCRUDDBase.executeQuery(SQL);
            if(rs.next()){
                tPenjualan.setText(rs.getString(1));
                cboBuku.setSelectedItem(rs.getString(2));
                tJumlah.setText(rs.getString(4));
                tTotal.setText(rs.getString(5));
             
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(rootPane, "Kesalahan Dalam Database!");
        }
    }
 
    private void cetak(){
        {btnCetak.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        Connection cn = clsCRUDDBase.setKoneksi();
        try{
            Statement st = cn.createStatement();
            Map<String, Object> prs = new HashMap<String, Object>();
            prs.put("id_penjualan", tPenjualan.getText());
            JasperReport JRpt =
            JasperCompileManager.compileReport("src/mnuLaporan/FakturJual.jrxml");
            JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, cn);
            JasperViewer view = new JasperViewer(JPrint, false);
            javax.swing.JDialog dialog = new javax.swing.JDialog(new javax.swing.JFrame(), true);
                 dialog.setContentPane(view.getContentPane());
                 dialog.setSize(400, 500);
                 dialog.setTitle("Laporan Transaksi");
                 dialog.setVisible(true);
                 dialog.setLocationRelativeTo(this);
        }catch(Exception rptexcpt){
            System.out.println("Report Can't view because : " + rptexcpt);
        }
        btnCetak.setCursor(Cursor.getDefaultCursor());
        }
    }
 
    /**
     * 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() {

        jPanel1 = 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();
        tPenjualan = new javax.swing.JTextField();
        cboBuku = new javax.swing.JComboBox();
        tJumlah = new javax.swing.JTextField();
        tKasir = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        tJudul = new javax.swing.JTextField();
        jLabel10 = new javax.swing.JLabel();
        tPenulis = new javax.swing.JTextField();
        jLabel11 = new javax.swing.JLabel();
        tIsbn = new javax.swing.JTextField();
        jLabel12 = new javax.swing.JLabel();
        tPenerbit = new javax.swing.JTextField();
        jLabel13 = new javax.swing.JLabel();
        tTahun = new javax.swing.JTextField();
        jLabel14 = new javax.swing.JLabel();
        tStok = new javax.swing.JTextField();
        jLabel15 = new javax.swing.JLabel();
        tHarga = new javax.swing.JTextField();
        tTanggal = new javax.swing.JLabel();
        tTotal = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        tDiskon = new javax.swing.JTextField();
        jPanel2 = new javax.swing.JPanel();
        btnSimpan = new javax.swing.JButton();
        btnBatal = new javax.swing.JButton();
        btnKeluar = new javax.swing.JButton();
        btnCetak = new javax.swing.JButton();
        jLabel7 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowOpened(java.awt.event.WindowEvent evt) {
                formWindowOpened(evt);
            }
        });

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

        jLabel1.setText("Id Penjualan :");

        jLabel2.setText("Id Buku :");

        jLabel3.setText("KASIR :");

        jLabel4.setText("Jumlah :");

        jLabel5.setText("Total :");

        jLabel6.setText("Tanggal :");

        tPenjualan.setEnabled(false);
        tPenjualan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tPenjualanActionPerformed(evt);
            }
        });

        cboBuku.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        cboBuku.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cboBukuItemStateChanged(evt);
            }
        });

        tJumlah.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyReleased(java.awt.event.KeyEvent evt) {
                tJumlahKeyReleased(evt);
            }
        });

        jLabel9.setText("Judul :");

        jLabel10.setText("Penulis :");

        jLabel11.setText("No ISBN :");

        jLabel12.setText("Penerbit :");

        jLabel13.setText("Tahun :");

        jLabel14.setText("Stok :");

        jLabel15.setText("Harga Jual :");

        jLabel8.setText("Diskon :");

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

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel13)
                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabel1)
                                .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(jLabel10, javax.swing.GroupLayout.Alignment.TRAILING)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                    .addComponent(tPenulis, javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(tPenjualan, javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(cboBuku, javax.swing.GroupLayout.Alignment.LEADING, 0, 110, Short.MAX_VALUE))
                                .addGap(18, 18, 18)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addComponent(jLabel12)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(tPenerbit, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE))
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                            .addComponent(jLabel11)
                                            .addComponent(jLabel6))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                            .addComponent(tIsbn, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)
                                            .addComponent(tTanggal, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                                .addGap(0, 0, Short.MAX_VALUE))
                            .addComponent(tJudul)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addComponent(tTahun, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(jLabel14))
                                    .addComponent(tJumlah, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addComponent(tStok, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                        .addComponent(jLabel15)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                        .addComponent(tHarga, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE))
                                    .addGroup(jPanel1Layout.createSequentialGroup()
                                        .addComponent(jLabel8)
                                        .addGap(18, 18, 18)
                                        .addComponent(tDiskon, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                                        .addGap(0, 0, Short.MAX_VALUE))))))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(27, 27, 27)
                        .addComponent(jLabel3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(tKasir, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jLabel5)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(tTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(0, 0, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(tTanggal, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel1)
                        .addComponent(tPenjualan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel6)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(cboBuku, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel11)
                    .addComponent(tIsbn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel9)
                    .addComponent(tJudul, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel10)
                    .addComponent(tPenulis, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel12)
                    .addComponent(tPenerbit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel13)
                    .addComponent(tTahun, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel14)
                    .addComponent(tStok, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel15)
                    .addComponent(tHarga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(8, 8, 8)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(tJumlah, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4)
                            .addComponent(jLabel8)
                            .addComponent(tDiskon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(tKasir, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addComponent(jLabel5)
                    .addComponent(tTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

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

        btnSimpan.setText("SIMPAN");
        btnSimpan.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSimpanActionPerformed(evt);
            }
        });

        btnBatal.setText("BATAL");

        btnKeluar.setText("KELUAR");
        btnKeluar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnKeluarActionPerformed(evt);
            }
        });

        btnCetak.setText("CETAK");
        btnCetak.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCetakActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(btnSimpan, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnKeluar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnBatal, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnCetak, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(btnSimpan)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnCetak)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(btnBatal)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnKeluar)
                .addContainerGap())
        );

        jLabel7.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
        jLabel7.setText("Input Data Penjualan");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLabel7))
                .addContainerGap(18, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(16, 16, 16)
                .addComponent(jLabel7)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

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

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

    private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSimpanActionPerformed
        // TODO add your handling code here:
        if(this.isUpdate() == true){
            updateData();
        }else{
            simpan();
        }
    }//GEN-LAST:event_btnSimpanActionPerformed

    private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened
        // TODO add your handling code here:
        if(this.isUpdate()==true){
            getBuku();
            pushData();
            btnSimpan.setText("UPDATE");
        }else{
            genIdTransaksi();
            getBuku();
            tglTransaksi();
            btnSimpan.setText("SIMPAN");
        }
    }//GEN-LAST:event_formWindowOpened

    private void cboBukuItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cboBukuItemStateChanged
        // TODO add your handling code here:
            getDetBuku();
    }//GEN-LAST:event_cboBukuItemStateChanged

    private void tJumlahKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tJumlahKeyReleased
        // TODO add your handling code here:
        if(tJumlah.getText().isEmpty()){
            tTotal.setText("");
        }else{
            getTotal();
        }
    }//GEN-LAST:event_tJumlahKeyReleased

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

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

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

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

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnBatal;
    private javax.swing.JButton btnCetak;
    private javax.swing.JButton btnKeluar;
    private javax.swing.JButton btnSimpan;
    private javax.swing.JComboBox cboBuku;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    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.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JTextField tDiskon;
    private javax.swing.JTextField tHarga;
    private javax.swing.JTextField tIsbn;
    private javax.swing.JTextField tJudul;
    private javax.swing.JTextField tJumlah;
    private javax.swing.JLabel tKasir;
    private javax.swing.JTextField tPenerbit;
    private javax.swing.JTextField tPenjualan;
    private javax.swing.JTextField tPenulis;
    private javax.swing.JTextField tStok;
    private javax.swing.JTextField tTahun;
    private javax.swing.JLabel tTanggal;
    private javax.swing.JLabel tTotal;
    // End of variables declaration//GEN-END:variables

    /**
     * @return the idPenjualan
     */
    public String getIdPenjualan() {
        return idPenjualan;
    }

    /**
     * @param idPenjualan the idPenjualan to set
     */
    public void setIdPenjualan(String idPenjualan) {
        this.idPenjualan = idPenjualan;
    }

    /**
     * @return the diskon
     */
    public String getDiskon() {
        return diskon;
    }

    /**
     * @param diskon the diskon to set
     */
    public void setDiskon(String diskon) {
        this.diskon = diskon;
    }

    /**
     * @return the update
     */
    public boolean isUpdate() {
        return update;
    }

    /**
     * @param update the update to set
     */
    public void setUpdate(boolean update) {
        this.update = update;
    }
}