r, 

kon.setkoneksi()); 

            JasperViewer.viewReport(print, false); 

        } catch (Exception ex) { 

            System.out.println(ex); 

        } 

 

3. Klik kanan pada JButton bt_keluar, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) { 

// TODO add your handling code here: 

        dispose(); 

 

 

 

 

 

 

 110 

2.3.2. Form_Laporan_PengeluaranPeriode 

a. Desain Laporan Pengeluaran Periode 

 

Gambar 2.63. desain laporan pengeluaran periode 

No Komponen Propertis 

1 JDateChooser Change Variable Name : dctglawal 

2 JDateChooser Change Variable Name : dctglakhir 

3 JButton Edit Text : Cetak 

Change Variable Name : btcetakperiode 

4 JComboBox Change Variable Name : cmbbulan 

5 JYearChooser Change Variable Name : yctahun 

1 2

 

4 5 6 

 111 

6 JButton Edit Text : Cetak 

Change Variable Name : btcetakbulan 

7 JButton Edit Text : Keluar 

Change Variable Name : bt_keluar 

 

b. Running Laporan Pengeluaran Periode 

 

Gambar 2.64. laporan pengeluaran periode 

Ketik Scrip method-method dibawah ini : 

/* 

 * 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. 

 112 

 */ 

package gudang; 

import net.sf.jasperreports.engine.design.JasperDesign; 

import net.sf.jasperreports.view.JasperViewer; 

import java.text.SimpleDateFormat; 

import java.util.HashMap; 

import net.sf.jasperreports.engine.JasperFillManager; 

import net.sf.jasperreports.engine.JasperPrint; 

import net.sf.jasperreports.engine.JasperReport; 

/** 

 * 

 * @author Pannugroho 

 */ 

public class Form_Laporan_PengeluaranPeriode extends javax.swing.JFrame { 

    koneksi kon=new koneksi(); 

    JasperReport jasperReport; 

    JasperDesign jasperDesign; 

    JasperPrint jasperPrint; 

 113 

/** 

     * Creates new form Form_Laporan_PengeluaranPeriode 

     */ 

    public Form_Laporan_PengeluaranPeriode() { 

        initComponents(); 

        kon.setkoneksi(); 

    } 

/** 

     * 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") 

 

1. Klik kanan pada JButton btcetakperiode, pilih Event-Action-Action 

Performed, ketik Script berikut : 

private void btcetakperiodeActionPerformed(java.awt.event.ActionEvent evt) 

// TODO add your handling code here: 

 114 

        String tgl1 = new SimpleDateFormat("yyyy-MM-

dd").format(dctglawal.getDate()); 

        String tgl2 = new SimpleDateFormat("yyyy-MM-

dd").format(dctglakhir.getDate()); 

        try { 

            String NamaFile = "src/gudang/Laporan_Pengeluaran_pertanggal.jasper"; 

            HashMap parameter = new HashMap(); 

            parameter.put("tgl_awal", tgl1); 

            parameter.put("tgl_akhir", tgl2); 

            JasperPrint print = JasperFillManager.fillReport(NamaFile, parameter, 

kon.setkoneksi()); 

            JasperViewer.viewReport(print, false); 

        } catch (Exception ex) { 

            System.out.println(ex); 

        } 

 

2. Klik kanan pada JButton btcetakbulan, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void btcetakbulanActionPerformed(java.awt.event.ActionEvent evt) { 

// TODO add your handling code here: 

 115 

        try { 

            String NamaFile = "src/gudang/Laporan_Pengeluaran_Perbulan.jasper"; 

            HashMap parameter = new HashMap(); 

            parameter.put("bulan", cmbbulan.getSelectedItem()); 

            parameter.put("tahun", yctahun.getYear()); 

            JasperPrint print = JasperFillManager.fillReport(NamaFile, parameter, 

kon.setkoneksi()); 

            JasperViewer.viewReport(print, false); 

        } catch (Exception ex) { 

            System.out.println(ex); 

        } 

3. Klik kanan pada JButton bt_keluar, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) { 

// TODO add your handling code here: 

        dispose(); 

 

 

 

 

 

 116 

2.3.3.Membuat Form Laporan Transaksi Periode 

a. Desain Form Laporan Transaksi Periode 

 

Gambar 2.65 komponen laporan transakso periode 

 

No Komponen Propertis 

1 JDateChooser Change Variable Name : dctglawal 

2 JDateChooser Change Variable Name : dctglakhir 

3 JButton Edit Text : Cetak 

Change Variable Name : 

btcetakperiode 

4 JComboBox Change Variable Name : cmbbulan 

5 JYearChooser Change Variable Name : yctahun 

1 2

 

4 5 

 117 

6 JButton Edit Text : Cetak 

Change Variable Name : btcetakbulan 

7 JButton Edit Text : Keluar 

Change Variable Name : bt_keluar 

 

b. Running Laporan Transaksi Periode 

 

Gambar 2.66. running laporan transaksi periode 

 

Ketik Scrip method-method dibawah ini : 

 118 

/* 

 * 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 gudang; 

import javax.swing.JOptionPane; 

import net.sf.jasperreports.engine.JasperCompileManager; 

import net.sf.jasperreports.engine.design.JasperDesign; 

import net.sf.jasperreports.engine.xml.JRXmlLoader; 

import net.sf.jasperreports.view.JasperViewer; 

import java.text.SimpleDateFormat; 

import java.io.File; 

import java.util.HashMap; 

import net.sf.jasperreports.engine.JasperFillManager; 

import net.sf.jasperreports.engine.JasperPrint; 

import net.sf.jasperreports.engine.JasperReport; 

/** 

 119 

 * 

 * @author Pannugroho 

 */ 

public class Form_Laporan_TransaksiPeriode extends javax.swing.JFrame { 

    koneksi kon=new koneksi(); 

    JasperReport jasperReport; 

    JasperDesign jasperDesign; 

    JasperPrint jasperPrint; 

    /** 

     * Creates new form Form_Laporan_TransaksirPeriode 

     */ 

    public Form_Laporan_TransaksiPeriode() { 

        initComponents(); 

        kon.setkoneksi(); 

    } 

/** 

     * This method is called from within the constructor to initialize the form. 

 120 

     * WARNING: Do NOT modify this code. The content of this method is 

always 

     * regenerated by the Form Editor. 

     */ 

@SuppressWarnings("unchecked") 

 

1. Klik kanan pada JButton btcetakperiode, pilih Event-Action-Action 

Performed, ketik Script berikut : 

private void btcetakperiodeActionPerformed(java.awt.event.ActionEvent evt) 

// TODO add your handling code here: 

        String tgl1 = new SimpleDateFormat("yyyy-MM-

dd").format(dctglawal.getDate()); 

        String tgl2 = new SimpleDateFormat("yyyy-MM-

dd").format(dctglakhir.getDate()); 

        try { 

            String NamaFile = "src/gudang/Laporan_Transaksi_Pertanggal.jasper"; 

            HashMap parameter = new HashMap(); 

            parameter.put("tgl_awal", tgl1); 

            parameter.put("tgl_akhir", tgl2); 

 121 

            JasperPrint print = JasperFillManager.fillReport(NamaFile, parameter, 

kon.setkoneksi()); 

            JasperViewer.viewReport(print, false); 

        } catch (Exception ex) { 

            System.out.println(ex); 

        } 

2. Klik kanan pada JButton btcetakbulan, pilih Event-Action-Action 

Performed, ketik Script berikut : 

private void btcetakbulanActionPerformed(java.awt.event.ActionEvent evt) { 

// TODO add your handling code here: 

        try { 

            String NamaFile = "src/gudang/Laporan_Transaksi_Perbulan.jasper"; 

            HashMap parameter = new HashMap(); 

            parameter.put("bulan", cmbbulan.getSelectedItem()); 

            parameter.put("tahun", yctahun.getYear()); 

    JasperPrint print = JasperFillManager.fillReport(NamaFile, parameter, 

kon.setkoneksi()); 

            JasperViewer.viewReport(print, false); 

        } catch (Exception ex) { 

 122 

            System.out.println(ex); 

        } 

 

3. Klik kanan pada JButton bt_keluar, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) {    

// TODO add your handling code here: 

        dispose(); 

 

2.3.4. Membuat Form Ganti Password 

Form aplikasi Ganti Password digunakan untuk merubah password user 

yang sedang login. Langkah – langkah dalam membuat form aplikasi Ganti 

Password adalah sebagai berikut : 

1. Masih dalam package aplikasi_perpustakaan, buat form baru dengan 

jDialog Form. Beri nama form dengan nama : Aplikasi_RePassword 

2. Desain tampilan form seperti dibawah ini : 

 

Gambar 2.67 komponen form ganti password 

2

 123 

3. Running Form Password 

 

Gambar 2.68 running ganti password 

 

Spesifikasi properties komponen form aplikasi_RePassword : 

No Komponen Properties 

1 JTextField Change Variable Name : tkode_user 

2 JPasswordField Change Variable Name : tpassLama 

3 JPasswordField Change Variable Name : tpassBaru 

4 JPasswordField Change Variable Name : tkonfirmPass 

5 JButton Edit Text : Ok 

Change Variable Name : btok 

6 JButton Edit Text : Keluar 

Change Variable Name : btkeluar 

 

 124 

Logika jalannya program : 

1. Pertama run yang aktif hanya password lama. Kode user akan otomatis 

terisi sesuai dengan login. 

2. Jika JPasswordField tpassLama diisi dengan password yang benar maka 

jPasswordField tpassbaru akan aktif dan setelah diisi, JPasswordField 

tkonfirmPass aktif lalu isi dengan password baru yang baru dibuat, setelah 

itu klik JButton tb_RESET maka password kita yang lama telah diganti 

dengan yang baru. 

3. Klik JButton tb_KELUAR maka Form aplikasi_RePassword akan 

tertutup. 

 

Ketik Scrip method-method dibawah ini : 

/* 

* 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 gudang; 

import java.io.File; 

import javax.swing.JOptionPane; 

import java.sql.*; 

import javax.swing.*; 

 125 

import java.awt.event.KeyEvent; 

/** 

 * 

 * @author Pannugroho 

 */ 

public class Form_Ganti_Password extends javax.swing.JFrame { 

koneksi kon = new koneksi(); 

    /** 

     * Creates new form Form_Ganti_Password 

     */ 

    public Form_Ganti_Password() { 

        initComponents(); 

        kon.setkoneksi(); 

    } 

    public String Kode_User; 

    public String getKodeUser() 

    { 

        return Kode_User; 

 126 

    } 

void nonaktif() 

    { 

        tkode_user.setEnabled(false); 

        tpassLama.setEnabled(false); 

        tpassBaru.setEnabled(false); 

        tkonfirmPass.setEnabled(false); 

    } 

     

    void bersih() 

    { 

        tpassLama.setText(""); 

        tpassBaru.setText(""); 

        tkonfirmPass.setText(""); 

    } 

     

    private void passlama() 

    { 

 127 

        try{ 

            String sql = "select *from tb_user where  id_user 

='"+tkode_user.getText()+"' AND password=MD5('"+ tpassLama.getText()+"')"; 

                    kon.rs = kon.st.executeQuery(sql); 

                    if (kon.rs.next()) { 

                        //JoptionPane.showMessageDialog(null."Kode Barang 

ditemukan, silakan 

                        tpassBaru.setEnabled(true); 

                        tpassBaru.requestFocus(); 

                    } else { 

                        JOptionPane.showMessageDialog(null, "Kode User tidak ada, 

Silakan" 

                        +"Isi Data"); 

                        tpassLama.requestFocus(); 

                    } 

                    } catch (SQLException e) { 

                            JOptionPane.showMessageDialog(null, e); 

                            } 

    } 

 128 

     private void konfirmpassword() 

    { 

        try{ 

            if(tkonfirmPass.getText().equals(tpassBaru.getText())) 

            { 

                String sql = "update tb_user set password = 

MD5('"+tkonfirmPass.getText()+"') where id_user='"+ tkode_user.getText()+"'"; 

                kon.st.executeUpdate(sql); 

                JOptionPane.showMessageDialog(null, "Password  

telah terupdate"); 

                nonaktif(); 

                bersih(); 

            } 

            else { 

                JOptionPane.showMessageDialog(null, "Password baru  

dan konfirmasi" 

                +"password harus sama"); 

                nonaktif(); 

 129 

                bersih(); 

            } 

        } catch(SQLException e) { 

            JOptionPane.showMessageDialog(null, 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. 

     */ 

1. Klik kanan pada JFrame, pilih Event-Window-WindowActivated, ketik 

Script berikut : 

private void formWindowActivated(java.awt.event.WindowEvent evt) {       

// TODO add your handling code here: 

        tkode_user.setText(Kode_User); 

        nonaktif(); 

        tpassLama.setEnabled(true); 

 

2. Klik kanan pada JPasswordField tpassLama, pilih Event-Action-Action 

Performed, ketik Script berikut : 

 130 

private void tpassLamaActionPerformed(java.awt.event.ActionEvent evt) {   

// TODO add your handling code here: 

        passlama(); 

3. Klik kanan pada JPasswordField tpassBaru, pilih Event-Action-Action 

Performed, ketik Script berikut : 

private void tpassBaruActionPerformed(java.awt.event.ActionEvent evt) { 

// TODO add your handling code here: 

        tkonfirmPass.setEnabled(true); 

        tkonfirmPass.requestFocus(); 

 

4. Klik kanan pada JPasswordField tkonfirmPass, pilih Event-Key-

KeyPressed, ketik Script berikut : 

private void tkonfirmPassKeyPressed(java.awt.event.KeyEvent evt) {   

// TODO add your handling code here: 

        if(evt.getKeyCode()==KeyEvent.VK_ENTER) 

        { 

            konfirmpassword(); 

        } 

 

5. Klik kanan pada JButton btok, pilih Event-Action-Action Performed, ketik 

Script berikut : 

private void btokActionPerformed(java.awt.event.ActionEvent evt) {    

// TODO add your handling code here: 

        konfirmpassword(); 

 131 

 

6. Klik kanan pada JButton btkeluar, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void btkeluarActionPerformed(java.awt.event.ActionEvent evt) {   

// TODO add your handling code here: 

        dispose(); 

 

2.3.5. Membuat Stok Barang MinimalPM 

a. Desain Form Stok Barang MinimalPM 

Gambar 2.69 desain stok barang minimal 

 

b. Running Form Stok Barang Minimal PM 

Gambar 2.70 running stock barang minimal 

 132 

 

Spesifikasi properties komponen form aplikasi_RePassword : 

No Komponen Properties 

1 JTabel Change Variable Name : tbl_barang 

 

Ketik sript koneksi dan pembuatan Variable seperti dibawah ini : 

/* 

 * 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 gudang; 

import java.sql.*; 

import javax.swing.JOptionPane; 

import javax.swing.table.DefaultTableModel; 

/** 

 * 

 * @author Pannugroho 

 */ 

public class Form_Stok_Barang_MinimalPM extends javax.swing.JDialog { 

    koneksi kon=new koneksi(); 

    public Form_Penerimaan_Barang barang1 = null; 

    private Object [][] databarang=null; 

    private String[]label={"KODE BARANG","NAMA KATEGORI","NAMA 

BARANG","STOK","MIN.STOK"}; 

 

    /** 

     * Creates new form Form_Stok_Barang_MinimalPM 

     */ 

 133 

    public Form_Stok_Barang_MinimalPM(java.awt.Frame parent, boolean 

modal) { 

        super(parent, modal); 

        initComponents(); 

        kon.setkoneksi(); 

        BacaTabelBarang(); 

    } 

    private void BacaTabelBarang() 

    { 

        try 

        { 

            String sql="Select *From tb_barang where stok < min_stok"; 

            kon.rs=kon.st.executeQuery(sql); 

            ResultSetMetaData m=kon.rs.getMetaData(); 

            int kolom=m.getColumnCount(); 

            int baris=0; 

            while (kon.rs.next()) 

            { 

                baris=kon.rs.getRow(); 

            } 

            databarang=new Object[baris][kolom]; 

            int x=0; 

            kon.rs.beforeFirst(); 

            while(kon.rs.next()) 

            { 

                databarang[x][0] = kon.rs.getString("kd_brg"); 

                databarang[x][1] = kon.rs.getString("nm_kategori"); 

                databarang[x][2] = kon.rs.getString("nm_brg"); 

                databarang[x][3] = kon.rs.getString("stok"); 

                databarang[x][4] = kon.rs.getString("min_stok"); 

 134 

                x++; 

            } 

            tbl_barang.setModel(new DefaultTableModel(databarang,label)); 

        } 

        catch(SQLException e) 

        { 

        JOptionPane.showMessageDialog(null, 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") 

 

1. Klik kanan pada JTabel, pilih Event-Mouse-MouseCliked, ketik Script 

berikut : 

private void tbl_barangMouseClicked(java.awt.event.MouseEvent evt) {                                         

        // TODO add your handling code here: 

        int tabelbarang = tbl_barang.getSelectedRow(); 

        barang1.KdBrg = tbl_barang.getValueAt(tabelbarang, 0).toString(); 

        barang1.NmKategori = tbl_barang.getValueAt(tabelbarang, 

1).toString(); 

        barang1.NmBrg = tbl_barang.getValueAt(tabelbarang, 2).toString(); 

        this.dispose(); 

    }          

 

 135 

2.3.6. Membuat Form Stok Barang Minimal 

1. Klik kanan pada package gudang-New-JFrame Form 

2. Isi Class Name : Form_Stok_Barang_Minimal –Finish 

 

 

 

Gambar 2.71 membuat JFrame baru 

 

 

 

 

 136 

 

a. Desain 

Desain Form Stok Barang Minimal Running Form Stok Barang Minimal 

 

 

 

 

Gambar 2.72 Desain form stock barang minimal 

 

b. Source Code 

 

Gambar 2.72 komponen stock barang minimal 

 

No Komponen Propertis 

1 JTable Change Variable Name : tbl_barang 

 

 137 

 

Ketik Scrip method-method dibawah ini : 

/* 

 * 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 gudang; 

import java.sql.*; 

import javax.swing.JOptionPane; 

import javax.swing.table.DefaultTableModel; 

/** 

 * 

 * @author Pannugroho 

 */ 

public class Form_Stok_Barang_MinimalPM extends javax.swing.JDialog { 

    koneksi kon=new koneksi(); 

    public Form_Penerimaan_Barang barang1 = null; 

    private Object [][] databarang=null; 

    private String[]label={"KODE BARANG","NAMA 

KATEGORI","NAMA BARANG","STOK","MIN.STOK"}; 

 

    /** 

     * Creates new form Form_Stok_Barang_MinimalPM 

     */ 

    public Form_Stok_Barang_MinimalPM(java.awt.Frame parent, boolean 

modal) { 

        super(parent, modal); 

        initComponents(); 

 138 

        kon.setkoneksi(); 

        BacaTabelBarang(); 

    } 

    private void BacaTabelBarang() 

    { 

        try 

        { 

            String sql="Select *From tb_barang where stok < min_stok"; 

            kon.rs=kon.st.executeQuery(sql); 

            ResultSetMetaData m=kon.rs.getMetaData(); 

            int kolom=m.getColumnCount(); 

            int baris=0; 

            while (kon.rs.next()) 

            { 

                baris=kon.rs.getRow(); 

            } 

            databarang=new Object[baris][kolom]; 

            int x=0; 

            kon.rs.beforeFirst(); 

            while(kon.rs.next()) 

            { 

                databarang[x][0] = kon.rs.getString("kd_brg"); 

                databarang[x][1] = kon.rs.getString("nm_kategori"); 

                databarang[x][2] = kon.rs.getString("nm_brg"); 

                databarang[x][3] = kon.rs.getString("stok"); 

                databarang[x][4] = kon.rs.getString("min_stok"); 

                x++; 

            } 

            tbl_barang.setModel(new DefaultTableModel(databarang,label)); 

        } 

 139 

        catch(SQLException e) 

        { 

        JOptionPane.showMessageDialog(null, 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") 

 

3. Klik kanan padaTabel, pilih Event-Mouse-MouseClicked, ketik Script 

berikut : 

private void tbl_barang8MouseClicked(java.awt.event.MouseEvent evt) {                                          

        // TODO add your handling code here: 

        int tabelbarang = tbl_barang.getSelectedRow(); 

    barang1.KdBrg = tbl_barang.getValueAt(tabelbarang, 0).toString(); 

barang1.NmKategori = tbl_barang.getValueAt(tabelbarang, 1).toString(); 

  barang1.NmBrg = tbl_barang.getValueAt(tabelbarang, 2).toString(); 

        this.dispose(); 

    }    

 

 

2.3.7. Membuat Form Transaksi Inventory 

1. Klik kanan pada package gudang-New-JFrame Form 

2. Isi Class Name : Form_Transaksi_Inventory-Finish 

 140 

 

 

Gambar 2.73. membuat JFrame baru 

a. Desain 

Gambar 2.74 Desain form transaksi inventory 

Desain Form Transaksi 

Inventory 

Running Form Transaksi 

Inventory 

 

 

 

 

 141 

 

b. Source Code 

 

Gambar 2.74 komponen transaksi inventory 

 

No Komponen Propertis 

1 JTextField Change Variable Name : tid_order 

2 JTextField Change Variable Name : ttgl_order 

3 JTextField Change Variable Name : tid_user 

4 JTextField Change Variable Name : tkd_brg 

5 JButton Edit Text : ... 

Change Variable Name : bt_browse 

6 JTextField Change Variable Name : tnm_kategori 

7 JTextField Change Variable Name : tnm_brg 

8 JTextField Change Variable Name : tjml_order 

9 JTable Change Variable Name : tbl_order 

10 JButton Edit Text : Tambah 

Change Variable Name : bt_tambah 

 142 

11 JButton Edit Text : Insert 

Change Variable Name : bt_insert 

12 JButton Edit Text : Print 

Change Variable Name : bt_print 

13 JButton Edit Text : Update 

Change Variable Name : bt_update 

14 JButton Edit Text : Hapus 

Change Variable Name : bt_hapus 

15 JButton Edit Text : Batal 

Change Variable Name : bt_batal 

16 JButton Edit Text : Tutup 

Change Variable Name : bt_keluar 

 

Ketik Scrip method-method dibawah ini : 

 

/* 

 * 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 gudang; 

import java.sql.*; 

import java.text.SimpleDateFormat; 

import java.util.HashMap; 

import javax.swing.*; 

 143 

import javax.swing.table.DefaultTableModel; 

import net.sf.jasperreports.engine.JasperFillManager; 

import net.sf.jasperreports.engine.JasperPrint; 

import net.sf.jasperreports.view.JasperViewer; 

/** 

 * 

 * @author Pannugroho 

 */ 

public class Form_Transaksi_Inventory extends javax.swing.JFrame { 

    koneksi kon=new koneksi(); 

    private Object [][] datasementara=null; 

    private String[]label={"KODE BARANG","NAMA 

KATEGORI","NAMA BARANG","JML ORDER"}; 

    /** 

     * Creates new form Form_Transaksi_Inventory 

     */ 

    public Form_Transaksi_Inventory() { 

        initComponents(); 

        kon.setkoneksi(); 

        nonaktif(); 

    } 

     

    public String kode; 

    public String getNik() 

           { 

                return kode; 

           } 

     

    public String KdBrg; 

    public String NmKategori; 

 144 

    public String NmBrg; 

     

    private void Bersih(){ 

        ttgl_order.setText(""); 

        tid_user.setText(""); 

        tkd_brg.setText(""); 

        tnm_kategori.setText(""); 

        tnm_brg.setText(""); 

        tjml_order.setText(""); 

    } 

     

    private void aktif(){ 

        tid_order.setEnabled(true); 

        ttgl_order.setEnabled(true); 

        tid_user.setEnabled(true); 

        tkd_brg.setEnabled(true); 

        tnm_kategori.setEnabled(true); 

        tnm_brg.setEnabled(true); 

        tjml_order.setEnabled(true); 

        bt_insert.setEnabled(true); 

        bt_update.setEnabled(true); 

        bt_hapus.setEnabled(true); 

        bt_print.setEnabled(true); 

        bt_batal.setEnabled(true); 

        bt_browse.setEnabled(true); 

    } 

     

    private void nonaktif(){ 

        tid_order.setEnabled(false); 

        ttgl_order.setEnabled(false); 

 145 

        tid_user.setEnabled(false); 

        tkd_brg.setEnabled(false); 

        tnm_kategori.setEnabled(false); 

        tnm_brg.setEnabled(false); 

        tjml_order.setEnabled(false); 

        bt_insert.setEnabled(false); 

        bt_update.setEnabled(false); 

        bt_hapus.setEnabled(false); 

        bt_print.setEnabled(false); 

        bt_batal.setEnabled(false); 

        bt_browse.setEnabled(false); 

    } 

     

     private void NoOrder() 

    { 

        try  

        { 

            String sql_no = "select *from tb_order_inventory order by 

id_order desc"; 

            kon.setkoneksi(); 

            ResultSet rs = kon.st.executeQuery(sql_no); 

            if (rs.next()) 

            { 

                String NoPas = rs.getString("id_order").substring(18); 

                String AN = "" + (Integer.parseInt(NoPas)+1); 

                String No1 = ""; 

                 

            java.util.Date date = new java.util.Date(); 

            SimpleDateFormat dateformat2=new SimpleDateFormat 

("dd.MM.yyyy"); 

 146 

            String tanggal2=dateformat2.format(date); 

                if(AN.length()==1) 

                {No1 = "00";} 

                else if(AN.length()==2) 

                {No1 = "0";} 

                else if(AN.length()==3) 

                {No1 = "";} 

                 

                tid_order.setText("ID/OR/"+tanggal2+"/"+No1 + AN); 

            }  

                else  

            { 

                java.util.Date date = new java.util.Date();         

            SimpleDateFormat dateformat2=new SimpleDateFormat 

("dd.MM.yyyy"); 

            String tanggal2=dateformat2.format(date); 

                               tid_order.setText("ID/OR/"+tanggal2+"/"+"001"); 

            } 

        } 

            catch (Exception e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    } 

      

    private void setTable(){ 

        int row=tbl_order.getSelectedRow(); 

        tkd_brg.setText((String)tbl_order.getValueAt(row,0)); 

        tnm_kategori.setText((String)tbl_order.getValueAt(row,1)); 

        tnm_brg.setText((String)tbl_order.getValueAt(row,2)); 

 147 

        tjml_order.setText((String)tbl_order.getValueAt(row,3)); 

    } 

      

    private void EditData(){ 

        try{ 

            String sql="Update tb_sementara_orderinventory set 

kd_brg='"+tkd_brg.getText()+"'," 

                    + "nm_kategori='"+tnm_kategori.getText()+"'," 

                    + "nm_brg='"+tnm_brg.getText()+"'," 

                    + "jml_order='"+tjml_order.getText()+"'" 

                    + "where kd_brg='"+tkd_brg.getText()+"'"; 

            kon.st.executeUpdate(sql); 

            JOptionPane.showMessageDialog(null,"Data berhasil 

diupdate"); 

            TampilanTabelSementara(); 

            tkd_brg.setText(""); 

            tnm_kategori.setText(""); 

            tnm_brg.setText(""); 

            tjml_order.setText(""); 

           } 

            catch(SQLException e){ 

            JOptionPane.showMessageDialog(null,e); 

           } 

    } 

     

private void TampilanTabelSementara() 

    { 

        try 

        { 

 148 

            String sql="Select *From tb_sementara_orderinventory order by 

kd_brg"; 

            kon.rs=kon.st.executeQuery(sql); 

            ResultSetMetaData m=kon.rs.getMetaData(); 

            int kolom=m.getColumnCount(); 

            int baris=0; 

            while(kon.rs.next()) 

            { 

                baris=kon.rs.getRow(); 

            } 

             

            datasementara=new Object[baris][kolom]; 

            int x=0; 

            kon.rs.beforeFirst(); 

            while(kon.rs.next()) 

            { 

                datasementara[x][0]=kon.rs.getString("kd_brg"); 

                datasementara[x][1]=kon.rs.getString("nm_kategori"); 

                datasementara[x][2]=kon.rs.getString("nm_brg"); 

                datasementara[x][3]=kon.rs.getString("jml_order"); 

                x++; 

            } 

            tbl_order.setModel(new 

DefaultTableModel(datasementara,label)); 

            } 

            catch(SQLException e) 

            { 

            JOptionPane.showMessageDialog(null, e); 

            } 

    }  

 149 

 

private void TampilDataBarang() 

    { 

        try{ 

            String sql="select *from tb_barang where kd_brg='" 

+tkd_brg.getText()+"'"; 

            kon.rs=kon.st.executeQuery(sql); 

            if(kon.rs.next()) 

            { 

                tnm_kategori.setText(kon.rs.getString("nm_kategori")); 

                tnm_brg.setText(kon.rs.getString("nm_brg")); 

            } 

            else 

            { 

                JOptionPane.showMessageDialog(null, "Kode 

Barang"+tkd_brg.getText()+"tidak ditemukan"); 

            } 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    } 

     

    private void SimpanSementara() 

   { 

        try 

        { 

            String sql="insert into tb_sementara_orderinventory 

values('"+tkd_brg.getText()+"'," 

 150 

                    + "'"+tnm_kategori.getText()+"'," 

                    + "'"+tnm_brg.getText()+"'," 

                    + "'"+tjml_order.getText()+"')"; 

            kon.st.executeUpdate(sql); 

            TampilanTabelSementara(); 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    } 

     

     private void HapusIsiSementara() 

   { 

        int row=tbl_order.getSelectedRow(); 

            try 

            { 

                String sql="Delete from tb_sementara_orderinventory where 

kd_brg='"+(String)tbl_order.getValueAt(row,0)+"'"; 

                kon.st.executeUpdate(sql); 

                TampilanTabelSementara(); 

            } 

            catch(SQLException e){ 

            JOptionPane.showMessageDialog(null, e); 

            }  

    } 

      

    private void setTanggalskr() 

    { 

    java.util.Date skrg = new java.util.Date(); 

 151 

    java.text.SimpleDateFormat tgl = new 

java.text.SimpleDateFormat("yyyy-MM-dd"); 

    ttgl_order.setText(tgl.format(skrg)); 

    }  

     

    private void SimpanOrder() 

   { 

        try 

        { 

            String sql="insert into tb_order_inventory 

values('"+tid_order.getText()+"'," 

                    + "'"+ttgl_order.getText()+"'," 

                    + "'"+tid_user.getText()+"')"; 

            kon.st.executeUpdate(sql); 

             

            String detail="insert tb_detail_orderinventory select 

'"+tid_order.getText()+"'," 

                 +"kd_brg,jml_order from tb_sementara_orderinventory"; 

            kon.st.executeUpdate(detail); 

            Bersih(); 

        } 

        catch(SQLException e) 

        { 

            System.out.println("koneksi gagal"+e.toString()); 

        } 

    } 

     

    private void HapusTabelSementara() 

    { 

        try 

 152 

        { 

            String sql="Delete from tb_sementara_orderinventory"; 

            kon.st.executeUpdate(sql); 

            TampilanTabelSementara(); 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    } 

        

    private void cetakstruk() 

    { 

        try  

        { 

            String file = "src/gudang/PO.jasper"; 

            HashMap param = new HashMap(); 

            param.put("idorder",tid_order.getText()); 

            JasperPrint print = 

JasperFillManager.fillReport(file,param,kon.setkoneksi())

            JasperViewer.viewReport(print,false); 

        } 

        catch (Exception e) { 

        JOptionPane.showMessageDialog(null,e.getMessage()); 

        } 

    } 

 

    /** 

 153 

     * 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") 

 

1. Klik kanan pada Kode Barang, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void tkd_brgActionPerformed(java.awt.event.ActionEvent evt) {                                         

        // TODO add your handling code here: 

        TampilDataBarang(); 

    }     

2. Klik kanan pada Button Browser, pilih Event-Action-Action Performed, 

ketik Script berikut : 

  private void bt_browseActionPerformed(java.awt.event.ActionEvent 

evt) {                                           

        // TODO add your handling code here: 

        boolean closable = true; 

        Form_Stok_Barang_Minimal databarang=new 

Form_Stok_Barang_Minimal(null, closable); 

        databarang.barang = this; 

        databarang.setVisible(true); 

        databarang.setResizable(true); 

        tkd_brg.setText(KdBrg); 

        tnm_kategori.setText(NmKategori); 

        tnm_brg.setText(NmBrg); 

        tjml_order.setEnabled(true); 

        bt_insert.setEnabled(true); 

 154 

    }         

3. Klik kanan pada Tabel, pilih Event-Mouse-MouseClicked,  ketik Script 

berikut : 

private void tbl_orderMouseClicked(java.awt.event.MouseEvent evt) {                                        

        // TODO add your handling code here: 

        aktif(); 

        tkd_brg.setEnabled(true); 

        bt_update.setEnabled(true); 

        bt_hapus.setEnabled(true); 

        bt_tambah.setEnabled(false); 

        bt_insert.setEnabled(false); 

        setTable(); 

    }                                       

 

4. Klik kanan pada Button Tambah, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt) 

{                                           

        NoOrder(); 

        setTanggalskr(); 

        bt_batal.setEnabled(true); 

        bt_tambah.setEnabled(false); 

        bt_print.setEnabled(true); 

        bt_browse.setEnabled(true); 

        tid_order.setEnabled(true); 

        ttgl_order.setEnabled(true); 

        tid_user.setEnabled(true); 

        tkd_brg.setEnabled(true); 

        tnm_kategori.setEnabled(true); 

        tnm_brg.setEnabled(true); 

 155 

    }                           

5. Klik kanan pada Button Print, pilih Event-Action-Action Performed, ketik 

Script berikut : 

private void bt_printActionPerformed(java.awt.event.ActionEvent evt) {                                          

        SimpanOrder(); 

        bt_tambah.setEnabled(true); 

        JOptionPane.showMessageDialog(this,"Berhasil disimpan", 

            "Informasi",JOptionPane.INFORMATION_MESSAGE); 

        TampilanTabelSementara(); 

        cetakstruk(); 

        HapusTabelSementara(); 

        nonaktif(); 

        Bersih(); 

        TampilanTabelSementara(); 

        tid_order.setText(""); 

    }           

6. Klik kanan pada Button Hapus, pilih Event-Action-Action Performed, ketik 

Script berikut : 

private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) 

{                                          

        HapusIsiSementara(); 

    }                                         

7. Klik kanan pada Button Insert, pilih Event-Action-Action Performed, ketik 

Script berikut : 

private void bt_insertActionPerformed(java.awt.event.ActionEvent evt) {                                           

        try 

        { 

            String sql="select *from tb_sementara_orderinventory where 

kd_brg='" +tkd_brg.getText()+ "'"; 

            kon.rs=kon.st.executeQuery(sql); 

 156 

            if(kon.rs.next()) 

            { 

                JOptionPane.showMessageDialog(this,"Kode Sudah 

Dipilih...","Informasi", JOptionPane.INFORMATION_MESSAGE); 

                bt_browse.requestFocus(); 

                tkd_brg.setText(""); 

            } 

            else 

            { 

                SimpanSementara(); 

                tkd_brg.requestFocus(); 

                tkd_brg.setText(""); 

                tjml_order.setText(""); 

                tnm_kategori.setText(""); 

                tnm_brg.setText(""); 

                tjml_order.setText(""); 

                if (JOptionPane.showConfirmDialog(this, "Mau Tambah 

Barang?", "konfirmasi", JOptionPane.YES_NO_OPTION) == 

JOptionPane.YES_OPTION) { 

                } 

                else 

                { 

                    bt_print.requestFocus(); 

                } 

            } 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

 157 

    }                                          

8. Klik kanan pada Button Update, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void bt_updateActionPerformed(java.awt.event.ActionEvent evt) 

{                                           

        EditData(); 

        tkd_brg.setEnabled(true); 

        bt_update.setEnabled(false); 

        bt_hapus.setEnabled(false); 

        bt_tambah.setEnabled(false); 

        bt_insert.setEnabled(true); 

        bt_keluar.setEnabled(true); 

    }    

9. Klik kanan pada Button Batal, pilih Event-Action-Action Performed, ketik 

Script berikut : 

private void bt_batalActionPerformed(java.awt.event.ActionEvent evt) {                                          

        nonaktif(); 

        HapusTabelSementara(); 

        Bersih(); 

        bt_tambah.setEnabled(true); 

    }       

10. Klik kanan pada Button Tutup, pilih Event-Action-Action Performed, ketik 

Script berikut : 

private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) 

{                                           

        HapusTabelSementara(); 

        dispose(); 

    } 

 

 

 158 

2.3.8. Membuat Form Data Barang Keluar 

1. Klik kanan pada package gudang-New-JFrame Form Isi Class Name : 

Form_Data_Barang_Keluar -Finish 

 

 

Gambar 2.75 membuat JFrame baru 

 

 159 

a. Desain 

  

Gambar 2.76 desain form data barang keluar 

 

b. Source Code 

 

Gambar 2.76. komponen data barang keluar 

Desain Form Data Barang Keluar Running Form Data Barang Keluar 

  

 160 

 

Spesifikasi properties komponen form aplikasi_RePassword : 

No Komponen Properties 

1 jTextField Change Variable Name : tcari 

2 jTabel Change Variable Name : tbl_barang 

 

 

Ketik Scrip method-method dibawah ini : 

 

/* 

 * 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 gudang; 

import java.sql.*; 

import javax.swing.JOptionPane; 

import javax.swing.table.DefaultTableModel; 

/** 

 * 

 * @author Pannugroho 

 */ 

public class Form_Data_Barangkeluar extends javax.swing.JDialog { 

    koneksi kon=new koneksi(); 

    public Form_Pengeluaran_Barang barang1 = null; 

    private Object [][] databarang=null; 

    private String[]label={"KODE BARANG","NAMA 

KATEGORI","NAMA BARANG","STOK","MIN.STOK"}; 

 161 

    /** 

     * Creates new form Form_Data_Barangkeluar 

     */ 

    public Form_Data_Barangkeluar(java.awt.Frame parent, boolean modal) { 

        super(parent, modal); 

        initComponents(); 

        kon.setkoneksi(); 

        BacaTabelBarang(); 

    } 

     private void BacaTabelBarang() 

    { 

        try 

        { 

            String sql="Select *From tb_barang order by kd_brg"; 

            kon.rs=kon.st.executeQuery(sql); 

            ResultSetMetaData m=kon.rs.getMetaData(); 

            int kolom=m.getColumnCount(); 

            int baris=0; 

            while (kon.rs.next()) 

            { 

                baris=kon.rs.getRow(); 

            } 

            databarang=new Object[baris][kolom]; 

            int x=0; 

            kon.rs.beforeFirst(); 

            while(kon.rs.next()) 

            { 

                databarang[x][0] = kon.rs.getString("kd_brg"); 

                databarang[x][1] = kon.rs.getString("nm_kategori"); 

                databarang[x][2] = kon.rs.getString("nm_brg"); 

 162 

                databarang[x][3] = kon.rs.getString("stok"); 

                databarang[x][4] = kon.rs.getString("min_stok"); 

                x++; 

            } 

            tbl_barang.setModel(new DefaultTableModel(databarang,label)); 

        } 

        catch(SQLException e) 

        { 

        JOptionPane.showMessageDialog(null, e); 

        } 

    } 

     

    private void CariTabelBarang() 

    { 

        try 

        { 

            String sql="select *from tb_barang where kd_brg like '%" 

+tcari.getText()+"%'" 

                    + "or nm_kategori like '%" +tcari.getText()+"%'" 

                    + "or nm_brg like '%" +tcari.getText()+"%'"; 

            kon.rs=kon.st.executeQuery(sql); 

            ResultSetMetaData m=kon.rs.getMetaData(); 

            int kolom=m.getColumnCount(); 

            int baris=0; 

            while(kon.rs.next()){ 

                baris=kon.rs.getRow(); 

            } 

            databarang=new Object[baris][kolom]; 

            int x=0; 

            kon.rs.beforeFirst(); 

 163 

            while(kon.rs.next()) 

            { 

                databarang[x][0] = kon.rs.getString("kd_brg"); 

                databarang[x][1] = kon.rs.getString("nm_kategori"); 

                databarang[x][2] = kon.rs.getString("nm_brg"); 

                databarang[x][3] = kon.rs.getString("stok"); 

                databarang[x][4] = kon.rs.getString("min_stok"); 

                x++; 

            } 

            tbl_barang.setModel(new DefaultTableModel(databarang,label)); 

        } 

        catch(SQLException e) 

        { 

        JOptionPane.showMessageDialog(null, 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") 

 

2. Klik kanan pada Kolom Cari Barang, pilih Event-Key-KeyTyped, ketik 

Script berikut : 

 private void tcariKeyTyped(java.awt.event.KeyEvent evt) {                                

        // TODO add your handling code here: 

        CariTabelBarang(); 

 164 

    }     

3.  Klik kanan pada Tabel Barang, pilih Event-Mouse-MouseClicked, ketik 

Script berikut : 

private void tbl_barangMouseClicked(java.awt.event.MouseEvent evt) {                                         

        // TODO add your handling code here: 

        int tabelbarang = tbl_barang.getSelectedRow(); 

        barang1.KdBrg = tbl_barang.getValueAt(tabelbarang, 0).toString(); 

        barang1.NmKategori = tbl_barang.getValueAt(tabelbarang, 

1).toString(); 

        barang1.NmBrg = tbl_barang.getValueAt(tabelbarang, 2).toString(); 

        this.dispose(); 

    }     

 

2.3.9. Membuat Form Pengeluaran Barang 

1. Klik kanan pada package gudang-New-JFrame Form 

2. Isi Class Name : Form_Pengeluaran_Barang -Finish 

 

Gambar 2.77. membuat JFrame baru 

 165 

a. Desain 

Gambar 2.78 desain form pengeluaran barang 

 

b. Source Code 

 

Gambar 2.79 komponen form pengeluaran barang 

 

Desain Form Pengeluaran Barang Running Form Pengeluaran Barang 

 

 

 

 

 166 

No Komponen Properties 

1 JTextField Change Variable Name : tid_keluar 

2 JTextField Change Variable Name : ttgl_keluar 

3 JTextField Change Variable Name : tid_user 

4 JTextField Change Variable Name : tkd_brg 

5 JButton Edit Text : ... 

Change Variable Name : tb_browse 

6 JTextField Change Variable Name : tnm_kategori 

7 JTextField Change Variable Name : tnm_brg 

8 JTextField Change Variable Name : tjml 

9 JTextField Change Variable Name : tjml_awal 

10 JTabel Change Variable Name : tbl_penerimaan 

11 JButton Edit Text : Tambah 

Change Variable Name : bt_tambah 

12 JButton Edit Text : Insert 

Change Variable Name : bt_insert 

13 JButton Edit Text : Update 

Change Variable Name : bt_update 

14 JButton Edit Text : Simpan 

Change Variable Name : bt_simpan 

15 JButton Edit Text : Hapus 

 167 

Change Variable Name : bt_hapus 

16 JButton Edit Text : Tutup 

Change Variable Name : bt_keluar 

 

Ketik Scrip method-method dibawah ini : 

/* 

 * 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 gudang; 

import java.awt.event.KeyEvent; 

import java.sql.*; 

import java.text.SimpleDateFormat; 

import javax.swing.*; 

import javax.swing.table.DefaultTableModel; 

/** 

 * 

 * @author Pannugroho 

 */ 

public class Form_Pengeluaran_Barang extends javax.swing.JFrame { 

    koneksi kon=new koneksi(); 

    private Object [][] datasementara=null; 

    private String[]label={"KODE BARANG","NAMA 

KATEGORI","NAMA BARANG","JUMLAH"}; 

    private String ubah; 

    /** 

 168 

     * Creates new form Form_Pengeluaran_Barang 

     */ 

    public Form_Pengeluaran_Barang() { 

        initComponents(); 

        kon.setkoneksi(); 

        nonaktif(); 

    } 

    public String kode; 

    public String getNik() 

           { 

                return kode; 

           } 

     

    public String KdBrg; 

    public String NmKategori; 

    public String NmBrg; 

     

    private void Bersih(){ 

        tid_keluar.setText(""); 

        ttgl_keluar.setText(""); 

        tid_user.setText(""); 

        tkd_brg.setText(""); 

        tnm_kategori.setText(""); 

        tnm_brg.setText(""); 

        tjml.setText(""); 

    } 

     

    private void aktif(){ 

        ttgl_keluar.setEnabled(true); 

        tid_keluar.setEnabled(true); 

 169 

        tjml_awal.setVisible(false); 

        tid_user.setEnabled(true); 

        tkd_brg.setEnabled(true); 

        tnm_brg.setEnabled(true); 

        tnm_kategori.setEnabled(true); 

        tjml.setEnabled(true); 

        bt_update.setEnabled(false); 

        bt_hapus.setEnabled(false); 

        bt_simpan.setEnabled(true); 

        tb_browse.setEnabled(true); 

        bt_insert.setEnabled(true); 

        bt_tambah.setEnabled(false); 

    } 

     

    private void nonaktif(){ 

        ttgl_keluar.setEnabled(false); 

        tid_keluar.setEnabled(false); 

        tjml_awal.setVisible(false); 

        tid_user.setEnabled(false); 

        tkd_brg.setEnabled(false); 

        tnm_brg.setEnabled(false); 

        tnm_kategori.setEnabled(false); 

        tjml.setEnabled(false); 

        bt_update.setEnabled(false); 

        bt_hapus.setEnabled(false); 

        bt_simpan.setEnabled(false); 

        bt_insert.setEnabled(false); 

        tb_browse.setEnabled(false); 

    } 

     

 170 

    private void setTable(){ 

        int row=tbl_penerimaan.getSelectedRow(); 

        tkd_brg.setText((String)tbl_penerimaan.getValueAt(row,0)); 

        tnm_kategori.setText((String)tbl_penerimaan.getValueAt(row,1)); 

        tnm_brg.setText((String)tbl_penerimaan.getValueAt(row,2)); 

        tjml_awal.setText((String)tbl_penerimaan.getValueAt(row,3)); 

    } 

     

     

    private void NoKeluar() 

    { 

        try { 

            String sql_no= "select right(id_keluar,3)as no, mid(id_keluar,4,4) 

as periode from tb_pengeluaran_barang"; 

kon.setkoneksi(); 

ResultSet rs = kon.st.executeQuery(sql_no); 

if (rs.next()){ 

    rs.last(); 

                int no = Integer.parseInt(rs.getString("no"))+1; 

                 

            java.util.Date date = new java.util.Date(); 

            SimpleDateFormat dateformat1=new SimpleDateFormat 

("MM.yy"); 

            String tanggal=dateformat1.format(date); 

                      

                if(no<10) 

                    tid_keluar.setText("ID/KB-

"+tanggal+"/000"+Integer.toString(no)); 

                else if(no<100) 

 171 

                    tid_keluar.setText("ID/KB-

"+tanggal+"/00"+Integer.toString(no)); 

                else if(no<1000) 

                    tid_keluar.setText("ID/KB-

"+tanggal+"/0"+Integer.toString(no)); 

                else  

                    tid_keluar.setText("ID/KB-

"+tanggal+"/"+Integer.toString(no)); 

            } 

             else 

            { 

                java.util.Date date = new java.util.Date();         

            SimpleDateFormat dateformat1=new SimpleDateFormat 

("MM.yy"); 

            String tanggal=dateformat1.format(date); 

            tid_keluar.setText("ID/KB-"+tanggal+"/0001"); 

            } 

            } 

            catch (Exception e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    } 

      private void TampilanTabelSementara() 

    { 

        try 

        { 

            String sql="Select *From tb_sementara_pengeluaran order by 

kd_brg"; 

            kon.rs=kon.st.executeQuery(sql); 

 172 

            ResultSetMetaData m=kon.rs.getMetaData(); 

            int kolom=m.getColumnCount(); 

            int baris=0; 

            while(kon.rs.next()) 

            { 

                baris=kon.rs.getRow(); 

            } 

             

            datasementara=new Object[baris][kolom]; 

            int x=0; 

            kon.rs.beforeFirst(); 

            while(kon.rs.next()) 

            { 

                datasementara[x][0]=kon.rs.getString("kd_brg"); 

                datasementara[x][1]=kon.rs.getString("nm_kategori"); 

                datasementara[x][2]=kon.rs.getString("nm_brg"); 

                datasementara[x][3]=kon.rs.getString("jml"); 

                x++; 

            } 

            tbl_penerimaan.setModel(new 

DefaultTableModel(datasementara,label)); 

            } 

            catch(SQLException e) 

            { 

            JOptionPane.showMessageDialog(null, e); 

            } 

    }  

 

private void TampilDataBarang() 

    { 

 173 

        try{ 

            String sql="select *from tb_barang where kd_brg='" 

+tkd_brg.getText()+"'"; 

            kon.rs=kon.st.executeQuery(sql); 

            if(kon.rs.next()) 

            { 

                tnm_kategori.setText(kon.rs.getString("nm_kategori")); 

                tnm_brg.setText(kon.rs.getString("nm_brg")); 

            } 

            else 

            { 

                JOptionPane.showMessageDialog(null, "Kode 

Barang"+tkd_brg.getText()+"tidak ditemukan"); 

            } 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    } 

     

    private void SimpanSementara() 

   { 

        try 

        { 

            String sql="insert into tb_sementara_pengeluaran 

values('"+tkd_brg.getText()+"'," 

                    + "'"+tnm_kategori.getText()+"'," 

                    + "'"+tnm_brg.getText()+"'," 

                    + "'"+tjml.getText()+"')"; 

 174 

            kon.st.executeUpdate(sql); 

            TampilanTabelSementara(); 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    } 

     

    private void EditData(){ 

        try{ 

            String sql="Update tb_sementara_pengeluaran set 

kd_brg='"+tkd_brg.getText()+"'," 

                    + "nm_kategori='"+tnm_kategori.getText()+"'," 

                    + "nm_brg='"+tnm_brg.getText()+"'," 

                    + "jml='"+tjml.getText()+"'" 

                    + "where kd_brg='"+tkd_brg.getText()+"'"; 

            kon.st.executeUpdate(sql); 

            JOptionPane.showMessageDialog(null,"Data berhasil diupdate"); 

            TampilanTabelSementara(); 

            tkd_brg.setText(""); 

            tnm_kategori.setText(""); 

            tnm_brg.setText(""); 

            tjml.setText(""); 

           } 

            catch(SQLException e){ 

            JOptionPane.showMessageDialog(null,e); 

           } 

    } 

     

 175 

     private void HapusIsiSementara() 

   { 

        int row=tbl_penerimaan.getSelectedRow(); 

            try 

            { 

                String sql="Delete from tb_sementara_pengeluaran where 

kd_brg='"+(String)tbl_penerimaan.getValueAt(row,0)+"'"; 

                kon.st.executeUpdate(sql); 

                TampilanTabelSementara(); 

            } 

            catch(SQLException e){ 

            JOptionPane.showMessageDialog(null, e); 

            }  

    } 

      

    private void setTanggalskr() 

    { 

    java.util.Date skrg = new java.util.Date(); 

    java.text.SimpleDateFormat kal = new 

java.text.SimpleDateFormat("yyyy-MM-dd"); 

    ttgl_keluar.setText(kal.format(skrg)); 

    }  

     

    private void SimpanPenerimaan() 

   { 

        try 

        { 

            String sql="insert into tb_pengeluaran_barang 

values('"+tid_keluar.getText()+"'," 

                    + "'"+ttgl_keluar.getText()+"'," 

 176 

                    + "'"+tid_user.getText()+"')"; 

            kon.st.executeUpdate(sql); 

             

            String detail="insert tb_detail_pengeluaran select 

'"+tid_keluar.getText()+"'," 

                 +"kd_brg,jml from tb_sementara_pengeluaran"; 

            kon.st.executeUpdate(detail); 

            Bersih(); 

        } 

        catch(SQLException e) 

        { 

            System.out.println("koneksi gagal"+e.toString()); 

        } 

    } 

         

    private void HapusTabelSementara() 

    { 

        try 

        { 

            String sql="Delete from tb_sementara_pengeluaran"; 

            kon.st.executeUpdate(sql); 

            TampilanTabelSementara(); 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    } 

     

    private void updateStokBarang(String ubah){ 

 177 

        int jml=0, stok=0; 

        String sql="SELECT stok from tb_barang WHERE 

kd_brg='"+tkd_brg.getText()+"'"; 

        try { 

            kon.rs=kon.st.executeQuery(sql); 

            while(kon.rs.next()){ 

                jml=Integer.parseInt(kon.rs.getString(1)); 

            } 

            if(ubah.equals("delete")){ 

                stok=jml+Integer.parseInt(tjml_awal.getText()); 

            } 

            else if(ubah.equals("edit")){ 

                stok=(jml-

Integer.parseInt(tjml.getText()))+Integer.parseInt(tjml_awal.g

etText()); 

            } 

            else if(ubah.equals("insert")){ 

                stok=jml-Integer.parseInt(tjml.getText()); 

            } 

 

            String sql_update="UPDATE tb_barang SET stok='"+stok+"' 

WHERE kd_brg='"+tkd_brg.getText()+"'"; 

            try { 

                kon.st.executeUpdate(sql_update); 

            } catch (Exception e) { 

                JOptionPane.showMessageDialog(null, e.getMessage()); 

            } 

        } catch (Exception e) { 

            JOptionPane.showMessageDialog(null, e.getMessage()); 

        } 

 178 

    } 

 

    /** 

     * 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") 

 

1. Klik kanan pada Button Browser, pilih Event-Action-Action 

Performed, ketik Script berikut : 

private void tkd_brgActionPerformed(java.awt.event.ActionEvent evt) {                                         

        // TODO add your handling code here: 

        TampilDataBarang(); 

    }   

2. Klik kanan pada Button Browser, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void tb_browseActionPerformed(java.awt.event.ActionEvent evt) 

{                                           

        // TODO add your handling code here: 

        boolean closable = true; 

        Form_Data_Barangkeluar databarang=new 

Form_Data_Barangkeluar(null, closable); 

        databarang.barang1 = this; 

        databarang.setVisible(true); 

        databarang.setResizable(true); 

        tkd_brg.setText(KdBrg); 

        tnm_kategori.setText(NmKategori); 

 179 

        tnm_brg.setText(NmBrg); 

    }         

3. Ketik kanan pada Tabel Barang, pilih Event-Key-KeyPressed, ketik Scrip 

berikut : 

private void tbl_penerimaanKeyPressed(java.awt.event.KeyEvent evt) {                                           

        // TODO add your handling code here: 

        if(evt.getKeyCode()==KeyEvent.VK_BACK_SPACE) 

        { 

            HapusIsiSementara(); 

        } 

    }         

 

4. Ketik kanan pada Tabel Barang, pilih Event-Mouse-Mouseclicked, ketik 

Scrip berikut : 

private void 

tbl_penerimaanMouseClicked(java.awt.event.MouseEvent evt) {                                             

        // TODO add your handling code here: 

        aktif(); 

        tkd_brg.setEnabled(true); 

        bt_update.setEnabled(true); 

        bt_hapus.setEnabled(true); 

        bt_tambah.setEnabled(false); 

        bt_insert.setEnabled(false); 

        setTable(); 

    }     

5. Klik kanan pada Button Tambah, pilih Event-Action-Action Performed, 

ketik Script berikut : 

   private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt) 

{                                           

        aktif(); 

 180 

        setTanggalskr(); 

        NoKeluar(); 

        bt_simpan.setEnabled(false); 

    }        

6. Klik kanan pada Button Insert, pilih Event-Action-Action Performed, ketik 

Script berikut : 

private void bt_insertActionPerformed(java.awt.event.ActionEvent evt) {                                           

        // TODO add your handling code here: 

        try 

        { 

            String sql="select *from tb_sementara_pengeluaran where 

kd_brg='" +tkd_brg.getText()+ "'"; 

            kon.rs=kon.st.executeQuery(sql); 

            if(kon.rs.next()) 

            { 

                JOptionPane.showMessageDialog(this,"Kode Sudah 

Dipilih...","Informasi", JOptionPane.INFORMATION_MESSAGE); 

                tb_browse.requestFocus(); 

                tkd_brg.setText(""); 

            } 

            else 

            { 

                ubah="insert"; 

                updateStokBarang(ubah); 

                bt_keluar.setEnabled(true); 

                bt_simpan.setEnabled(true); 

                SimpanSementara(); 

                tkd_brg.setText(""); 

                tnm_kategori.setText(""); 

                tnm_brg.setText(""); 

 181 

                tjml.setText(""); 

                if (JOptionPane.showConfirmDialog(this, "Mau Tambah 

Barang?", "konfirmasi", JOptionPane.YES_NO_OPTION) == 

JOptionPane.YES_OPTION) { 

                } 

                else 

                { 

                    bt_simpan.requestFocus(); 

                    ubah="insert"; 

                    updateStokBarang(ubah); 

                    bt_keluar.setEnabled(true); 

                    bt_simpan.setEnabled(true); 

                    tkd_brg.setText(""); 

                    tnm_kategori.setText(""); 

                    tnm_brg.setText(""); 

                    tjml.setText(""); 

                } 

            } 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    }     

7. Klik kanan pada Button Update, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void bt_updateActionPerformed(java.awt.event.ActionEvent evt) {   

     ubah="edit"; 

        updateStokBarang(ubah); 

        EditData(); 

 182 

        tkd_brg.setEnabled(true); 

        bt_update.setEnabled(false); 

        bt_hapus.setEnabled(false); 

        bt_tambah.setEnabled(false); 

        bt_insert.setEnabled(true); 

        bt_keluar.setEnabled(true); 

    }     

8. Klik kanan pada Button Simpan, pilih Event-Action-Action Performed, 

ketik Script berikut : 

private void bt_simpanActionPerformed(java.awt.event.ActionEvent evt) 

{                                           

        SimpanPenerimaan(); 

        JOptionPane.showMessageDialog(this,"Berhasil disimpan", 

            "Informasi",JOptionPane.INFORMATION_MESSAGE); 

        TampilanTabelSementara(); 

        HapusTabelSementara(); 

        nonaktif(); 

        Bersih(); 

        bt_tambah.setEnabled(true); 

        bt_keluar.setEnabled(true); 

    }           

9. Klik kanan pada Button Hapus, pilih Event-Action-Action Performed, ketik 

Script berikut : 

private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) {                                          

        ubah="delete"; 

        updateStokBarang(ubah); 

        HapusIsiSementara(); 

        bt_simpan.setEnabled(true); 

        bt_update.setEnabled(false); 

        bt_hapus.setEnabled(false); 

 183 

        bt_insert.setEnabled(true); 

        bt_keluar.setEnabled(true); 

        tkd_brg.setText(""); 

        tnm_kategori.setText(""); 

        tnm_brg.setText(""); 

        tjml.setText(""); 

    }                                         

10. Klik kanan pada Button Tutup, pilih Event-Action-Action Performed, ketik 

Script berikut : 

private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) {                                           

        HapusTabelSementara(); 

        dispose(); 

    }      

2.10. Membuat Form Penerimaan Barang 

1. Klik kanan pada package gudang-New-JFrame Form 

2. Isi Class Name : Form_Penerimaan_Barang -Finish 

 

 184 

 

Gambar 2.80 membuat JFrame baru 

 

a. Desain 

Desain Form Penerimaan Barang Running Form Penerimaan Barang 

 

 

 

 

Gambar 2.81 desain form penerimaan barang 

 185 

b. Source Code 

 

Gambar 2.82 komponen form penerimaan barang 

 

No Komponen Properties 

1 JTextField Change Variable Name : tinvoice 

2 JTextField Change Variable Name : ttgl_penerimaan 

3 JTextField Change Variable Name : tid_user 

4 JTextField Change Variable Name : tkd_brg 

5 JButton Edit Text : ... 

Change Variable Name : tb_browse 

6 JTextField Change Variable Name : tnm_kategori 

7 JTextField Change Variable Name : tnm_brg 

 186 

8 JTextField Change Variable Name : tjml 

9 JTextField Change Variable Name : tjml_awal 

10 JTabel Change Variable Name : tbl_penerimaan 

11 JButton Edit Text : Tambah 

Change Variable Name : bt_tambah 

12 JButton Edit Text : Update 

Change Variable Name : bt_update 

13 JButton Edit Text : Simpan 

Change Variable Name : bt_simpan 

14 JButton Edit Text : Insert 

Change Variable Name : bt_insert 

15 JButton Edit Text : Hapus 

Change Variable Name : bt_hapus 

16 JButton Edit Text : Tutup 

Change Variable Name : bt_keluar 

 

Ketik Scrip method-method dibawah ini : 

/* 

 * 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 gudang; 

 187 

import java.awt.event.KeyEvent; 

import java.sql.*; 

import java.text.SimpleDateFormat; 

import javax.swing.*; 

import javax.swing.table.DefaultTableModel; 

/** 

 * 

 * @author Pannugroho 

 */ 

public class Form_Penerimaan_Barang extends javax.swing.JFrame { 

    koneksi kon=new koneksi(); 

    private Object [][] datasementara=null; 

    private String[]label={"KODE BARANG","NAMA 

KATEGORI","NAMA BARANG","JUMLAH"}; 

    private String ubah; 

    /** 

     * Creates new form Form_Penerimaan_Barang 

     */ 

    public Form_Penerimaan_Barang() { 

        initComponents(); 

        kon.setkoneksi(); 

        nonaktif(); 

    } 

     

 

    public String kode; 

    public String getNik() 

           { 

                return kode; 

           } 

 188 

     

    public String KdBrg; 

    public String NmKategori; 

    public String NmBrg; 

     

    private void Bersih(){ 

        tinvoice.setText(""); 

        ttgl_penerimaan.setText(""); 

        tid_user.setText(""); 

        tkd_brg.setText(""); 

        tnm_kategori.setText(""); 

        tnm_brg.setText(""); 

        tjml.setText(""); 

    } 

     

    private void aktif(){ 

        ttgl_penerimaan.setEnabled(true); 

        tinvoice.setEnabled(true); 

        tjml_awal.setVisible(false); 

        tid_user.setEnabled(true); 

        tkd_brg.setEnabled(true); 

        tnm_brg.setEnabled(true); 

        tnm_kategori.setEnabled(true); 

        tjml.setEnabled(true); 

        bt_update.setEnabled(false); 

        bt_hapus.setEnabled(false); 

        bt_simpan.setEnabled(true); 

        tb_browse.setEnabled(true); 

        bt_insert.setEnabled(true); 

        bt_tambah.setEnabled(false); 

 189 

    } 

     

    private void nonaktif(){ 

        ttgl_penerimaan.setEnabled(false); 

        tinvoice.setEnabled(false); 

        tjml_awal.setVisible(false); 

        tid_user.setEnabled(false); 

        tkd_brg.setEnabled(false); 

        tnm_brg.setEnabled(false); 

        tnm_kategori.setEnabled(false); 

        tjml.setEnabled(false); 

        bt_update.setEnabled(false); 

        bt_hapus.setEnabled(false); 

        bt_simpan.setEnabled(false); 

        bt_insert.setEnabled(false); 

        tb_browse.setEnabled(false); 

    } 

     

    private void setTable(){ 

        int row=tbl_penerimaan.getSelectedRow(); 

        tkd_brg.setText((String)tbl_penerimaan.getValueAt(row,0)); 

        tnm_kategori.setText((String)tbl_penerimaan.getValueAt(row,1)); 

        tnm_brg.setText((String)tbl_penerimaan.getValueAt(row,2)); 

        tjml_awal.setText((String)tbl_penerimaan.getValueAt(row,3)); 

    } 

           

    private void TampilanTabelSementara() 

    { 

        try 

        { 

 190 

            String sql="Select *From tb_sementara_penerimaan order by 

kd_brg"; 

            kon.rs=kon.st.executeQuery(sql); 

            ResultSetMetaData m=kon.rs.getMetaData(); 

            int kolom=m.getColumnCount(); 

            int baris=0; 

            while(kon.rs.next()) 

            { 

                baris=kon.rs.getRow(); 

            } 

             

            datasementara=new Object[baris][kolom]; 

            int x=0; 

            kon.rs.beforeFirst(); 

            while(kon.rs.next()) 

            { 

                datasementara[x][0]=kon.rs.getString("kd_brg"); 

                datasementara[x][1]=kon.rs.getString("nm_kategori"); 

                datasementara[x][2]=kon.rs.getString("nm_brg"); 

                datasementara[x][3]=kon.rs.getString("jml"); 

                x++; 

            } 

            tbl_penerimaan.setModel(new 

DefaultTableModel(datasementara,label)); 

            } 

            catch(SQLException e) 

            { 

            JOptionPane.showMessageDialog(null, e); 

            } 

    }  

 191 

 

private void TampilDataBarang() 

    { 

        try{ 

            String sql="select *from tb_barang where kd_brg='" 

+tkd_brg.getText()+"'"; 

            kon.rs=kon.st.executeQuery(sql); 

            if(kon.rs.next()) 

            { 

                tnm_kategori.setText(kon.rs.getString("nm_kategori")); 

                tnm_brg.setText(kon.rs.getString("nm_brg")); 

            } 

            else 

            { 

                JOptionPane.showMessageDialog(null, "Kode 

Barang"+tkd_brg.getText()+"tidak ditemukan"); 

            } 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    } 

     

    private void SimpanSementara() 

   { 

        try 

        { 

            String sql="insert into tb_sementara_penerimaan 

values('"+tkd_brg.getText()+"'," 

 192 

                    + "'"+tnm_kategori.getText()+"'," 

                    + "'"+tnm_brg.getText()+"'," 

                    + "'"+tjml.getText()+"')"; 

            kon.st.executeUpdate(sql); 

            TampilanTabelSementara(); 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    } 

     

    private void EditData(){ 

        try{ 

            String sql="Update tb_sementara_penerimaan set 

kd_brg='"+tkd_brg.getText()+"'," 

                    + "nm_kategori='"+tnm_kategori.getText()+"'," 

                    + "nm_brg='"+tnm_brg.getText()+"'," 

                    + "jml='"+tjml.getText()+"'" 

                    + "where kd_brg='"+tkd_brg.getText()+"'"; 

            kon.st.executeUpdate(sql); 

            JOptionPane.showMessageDialog(null,"Data berhasil diupdate"); 

            TampilanTabelSementara(); 

            tkd_brg.setText(""); 

            tnm_kategori.setText(""); 

            tnm_brg.setText(""); 

            tjml.setText(""); 

           } 

            catch(SQLException e){ 

            JOptionPane.showMessageDialog(null,e); 

 193 

           } 

    } 

     

     private void HapusIsiSementara() 

   { 

        int row=tbl_penerimaan.getSelectedRow(); 

            try 

            { 

                String sql="Delete from tb_sementara_penerimaan where 

kd_brg='"+(String)tbl_penerimaan.getValueAt(row,0)+"'"; 

                kon.st.executeUpdate(sql); 

                TampilanTabelSementara(); 

            } 

            catch(SQLException e){ 

            JOptionPane.showMessageDialog(null, e); 

            }  

    } 

      

    private void setTanggalskr() 

    { 

    java.util.Date skrg = new java.util.Date(); 

    java.text.SimpleDateFormat kal = new 

java.text.SimpleDateFormat("yyyy-MM-dd"); 

    ttgl_penerimaan.setText(kal.format(skrg)); 

    }  

     

    private void SimpanPenerimaan() 

   { 

        try 

        { 

 194 

            String sql="insert into tb_penerimaan_barang 

values('"+tinvoice.getText()+"'," 

                    + "'"+ttgl_penerimaan.getText()+"'," 

                    + "'"+tid_user.getText()+"')"; 

            kon.st.executeUpdate(sql); 

             

            String detail="insert tb_detail_penerimaan select 

'"+tinvoice.getText()+"'," 

                 +"kd_brg,jml from tb_sementara_penerimaan"; 

            kon.st.executeUpdate(detail); 

            Bersih(); 

        } 

        catch(SQLException e) 

        { 

            System.out.println("koneksi gagal"+e.toString()); 

        } 

    } 

         

    private void HapusTabelSementara() 

    { 

        try 

        { 

            String sql="Delete from tb_sementara_penerimaan"; 

            kon.st.executeUpdate(sql); 

            TampilanTabelSementara(); 

        } 

        catch(SQLException e) 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

 195 

    } 

     

    private void updateStokBarang(String ubah){ 

        int jml=0, stok=0; 

        String sql="SELECT stok from tb_barang WHERE 

kd_brg='"+tkd_brg.getText()+"'"; 

        try { 

            kon.rs=kon.st.executeQuery(sql); 

            while(kon.rs.next()){ 

                jml=Integer.parseInt(kon.rs.getString(1)); 

            } 

            if(ubah.equals("insert")){ 

                stok=jml+Integer.parseInt(tjml.getText()); 

            } 

            else if(ubah.equals("edit")){ 

                stok=(jml-

Integer.parseInt(tjml_awal.getText()))+Integer.parseInt(tjml.getText()); 

            } 

            else if(ubah.equals("delete")){ 

                stok=jml-Integer.parseInt(tjml_awal.getText()); 

            } 

 

            String sql_update="UPDATE tb_barang SET stok='"+stok+"' 

WHERE kd_brg='"+tkd_brg.getText()+"'"; 

            try { 

                kon.st.executeUpdate(sql_update); 

            } catch (Exception e) { 

                JOptionPane.showMessageDialog(null, e.getMessage()); 

            } 

        } catch (Exception e) { 

 196 

            JOptionPane.showMessageDialog(null, e.getMessage()); 

        } 

    } 

     

    private void NoInvoice() 

    { 

        try { 

            String sql_no= "select right(invoice,3)as no, mid(invoice,4,4) as 

periode from tb_penerimaan_barang"; 

kon.setkoneksi(); 

ResultSet rs = kon.st.executeQuery(sql_no); 

if (rs.next()){ 

    rs.last(); 

                int no = Integer.parseInt(rs.getString("no"))+1; 

                 

            java.util.Date date = new java.util.Date(); 

            SimpleDateFormat dateformat1=new SimpleDateFormat 

("MM.yy"); 

            String tanggal=dateformat1.format(date); 

                      

                if(no<10) 

                    tinvoice.setText("AHI/INV-

"+tanggal+"/000"+Integer.toString(no)); 

                else if(no<100) 

                    tinvoice.setText("AHI/INV-

"+tanggal+"/00"+Integer.toString(no)); 

                else if(no<1000) 

                    tinvoice.setText("AHI/INV-

"+tanggal+"/0"+Integer.toString(no)); 

                else  

 197 

                    tinvoice.setText("AHI/INV-

"+tanggal+"/"+Integer.toString(no)); 

            } 

             else 

            { 

                java.util.Date date = new java.util.Date();         

            SimpleDateFormat dateformat1=new SimpleDateFormat 

("MM.yy"); 

            String tanggal=dateformat1.format(date); 

             

                tinvoice.setText("AHI/INV-"+tanggal+"/0001"); 

            } 

             

        } 

            catch (Exception e) 

        { 

            JOptionPane.showMessageDialog(null, 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") 

 

 198 

1. Klik kanan pada Kolom Kode Barang, pilih Event-Action-Action 

Performed, ketik Script berikut : 

private void tkd_brgActionPerformed(java.awt.event.ActionEvent evt) {                                         

        // TODO add your handling code here: 

        TampilDataBarang(); 

    }        

2. Klik kanan pada tombol Browser, pilih Event-Action-Action Performed, 

ketik Script berikut: 

private void tb_browseActionPerformed(java.awt.event.ActionEvent evt) 

{                                           

        // TODO add your handling code here: 

        boolean closable = true; 

        Form_Stok_Barang_MinimalPM databarang=new 

Form_Stok_Barang_MinimalPM(null, closable); 

        databarang.barang1 = this; 

        databarang.setVisible(true); 

        databarang.setResizable(true); 

        tkd_brg.setText(KdBrg); 

        tnm_kategori.setText(NmKategori); 

        tnm_brg.setText(NmBrg); 

    }                                          

3. Klik kanan pada tabel, pilih Event-Mouse-Mouseclicked, ketik Script 

berikut : 

private void tbl_penerimaanMouseClicked(java.awt.event.MouseEvent evt) 

{                                             

        // TODO add your handling code here: 

        aktif(); 

        tkd_brg.setEnabled(true); 

        bt_update.setEnabled(true); 

        bt_hapus.setEnabled(true); 

 199 

        bt_tambah.setEnabled(false); 

        bt_insert.setEnabled(false); 

        setTable(); 

    }       

                                      

4. Klik kanan pada tabel, pilih Event-Key-KeyPressed, ketik Script berikut : 

    private void tbl_penerimaanKeyPressed(java.awt.event.KeyEvent evt) 

{                                           

        // TODO add your handling code here: 

        if(evt.getKeyCode()==KeyEvent.VK_BACK_SPACE) 

        { 

            HapusIsiSementara(); 

        } 

    }          

5. Klik kanan pada Button Tambah, pilih Event-Action-Action Performed, 

ketik Script berikut: 

private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt) 

{                                           

        aktif(); 

        setTanggalskr(); 

        NoInvoice(); 

        bt_simpan.setEnabled(false); 

    }   

6. Klik kanan pada Button Update, pilih Event-Action-Action Performed, 

ketik Script berikut: 

private void bt_updateActionPerformed(java.awt.event.ActionEvent evt) 

{                                           

        ubah="edit"; 

        updateStokBarang(ubah); 

 200 

        EditData(); 

        tkd_brg.setEnabled(true); 

        bt_update.setEnabled(false); 

        bt_hapus.setEnabled(false); 

        bt_tambah.setEnabled(false); 

        bt_insert.setEnabled(true); 

        bt_keluar.setEnabled(true); 

    }        

7.  Klik kanan pada Button Simpan, pilih Event-Action-Action Performed, 

ketik Script berikut: 

private void bt_simpanActionPerformed(java.awt.event.ActionEvent evt) 

{                                           

        SimpanPenerimaan(); 

        JOptionPane.showMessageDialog(this,"Berhasil disimpan", 

            "Informasi",JOptionPane.INFORMATION_MESSAGE); 

        TampilanTabelSementara(); 

        HapusTabelSementara(); 

        nonaktif(); 

        Bersih(); 

        bt_tambah.setEnabled(true); 

        bt_keluar.setEnabled(true); 

    }     

8. Klik kanan pada Button Insert, pilih Event-Action-Action Performed, ketik 

Script berikut: 

 private void bt_insertActionPerformed(java.awt.event.ActionEvent evt) {                                           

        // TODO add your handling code here: 

        try 

        { 

            String sql="select *from tb_sementara_penerimaan where 

kd_brg='" +tkd_brg.getText()+ "'"; 

 201 

            kon.rs=kon.st.executeQuery(sql); 

            if(kon.rs.next()) 

            { 

                JOptionPane.showMessageDialog(this,"Kode Sudah 

Dipilih...","Informasi", JOptionPane.INFORMATION_MESSAGE); 

                tb_browse.requestFocus(); 

                tkd_brg.setText(""); 

            } 

            else 

            { 

                ubah="insert"; 

                updateStokBarang(ubah); 

                bt_keluar.setEnabled(true); 

                bt_simpan.setEnabled(true); 

                SimpanSementara(); 

                tkd_brg.setText(""); 

                tnm_kategori.setText(""); 

                tnm_brg.setText(""); 

                tjml.setText(""); 

                if (JOptionPane.showConfirmDialog(this, "Mau Tambah 

Barang?", "konfirmasi", JOptionPane.YES_NO_OPTION) == 

JOptionPane.YES_OPTION) { 

                } 

                else 

                { 

                    bt_simpan.requestFocus(); 

                } 

            } 

        } 

        catch(SQLException e) 

 202 

        { 

            JOptionPane.showMessageDialog(null, e); 

        } 

    }     

9. Klik kanan pada Button Hapus, pilih Event-Action-Action Performed, 

ketik Script berikut: 

  private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) 

{                                          

        ubah="delete"; 

        updateStokBarang(ubah); 

        HapusIsiSementara(); 

        bt_simpan.setEnabled(true); 

        bt_update.setEnabled(false); 

        bt_hapus.setEnabled(false); 

        bt_insert.setEnabled(true); 

        bt_keluar.setEnabled(true); 

        tkd_brg.setText(""); 

        tnm_kategori.setText(""); 

        tnm_brg.setText(""); 

        tjml.setText(""); 

    }    

10. Klik kanan pada Button Tutup, pilih Event-Action-Action Performed, ketik 

Script berikut: 

private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) {                                           

        HapusTabelSementara(); 

        dispose(); 

    }   

 

 

 

 203 

2.4. Rancangan Laporan 

2.4.1. Persiapan Pembuatan Laporan 

Dalam bahasa pemrograman Java kita dapat membuat laporan 

dengan menggunakan Plugin tambahan, yaitu iReport. iReport atau yang 

juga dikenal dengan nama Jasper Report adalah plugin milik IDE 

Netbeans, yang dapat digunakan secara bebas karena bersifat Open 

Source. Sebelum kita mulai membuat laporan, silakan download plugin 

iReport. Selain plugin iReport, kita juga membutuhkan Library Jar 

untuk memanggil dan menampilkan iReport. 

Langkah – langkah dalam Instalasi Plugin iReport di Netbeans 

adalah sebagai berikut : 

1. Jalankan Netbeans, pilih menu Tools – Plugin 

2. Pilih tab Downloadead – Add Plugins 

3. Cari hasil download Plugin iReportnya, pastikan sudah 

mengekstrak Plugin iReport 

4. Pilih semua file *.nbm yang ada didalam folder Plugin iReport 

 

Gambar 2.83 menambahkan Plugin di iReport 

 

 204 

 

Gambar 2.84 menginstal plugin 

 

5. Ikuti langkah – langkah seperti saat anda menginstal program aplikasi. 

Jika proses sudah selesai, ,biarkan Netbeans untuk restart. 

6. Tambahkan Libraries untuk bisa terhubung ke database 

Klik kanan pada Libraries – Add Libraries – Pilih JasperReport 3.0.1 – 

Add Library 

 

 

Gambar 2.85 menambahka library JasperReports 

 

 

 205 

2.4.2. Pembuatan Data Laporan 

1. Langkah – langkah Welcome Window klik gambar drum ( Datasource ) 

untuk membuat Datasource baru yang digunakan untuk koneksi laporan 

ke Database. 

2. Pilih Database JDBC Connection – Next, seperti gambar 5.4 

 

Gambar 2.85 membuat laporan data 

 

 

Gambar 2.85 koneksi laporan kedatabase 

2. Klik Datasource 

1. Klik Database JDBC connection 

  2. Klik Tombol Next 

1. Klik Tab Welcome Window 

 206