Monday, February 3, 2014

Form Master Barang

background image

Setelah  membuat  table  barang,  buat  desain  form  seperti  gambar  di  atas  dengan
menggunakan NetBean. Sesuaikan semua nama obyek dengan kebutuhan anda.

Alur program :
1. frmbarang created
2. panggil konstruktor frmbarang sekaligus open database
3. isian jtextfiled off
4. table barang diisi data dari table barang yang ada di server MySQL
5.  button tambah, koreksi, hapus dan keluar dalam keadaan on sedang simpan dan batal off.
6.  Jika  ditekan  tombol  tambah,  maka  actionperformed  pada  button  tambah
dijalankan
7.  Jika  ditekan  tombol  simpan,  maka  actionperformed  pada  button  simpan dijalankan.
8.  Jika  ditekan  tombol  koreksi,  maka  actionperformed  pada  button  koreksi dijalankan.
9. Jika ditekan tombol hapus, maka actionperformed pada button hapus dijalankan.
10. Jika ditekan tombol keluar, maka actionperformed pada button keluar dijalankan.

Code dan Method-method yang dibuat
 
Tambahkan code di bawah


public class frmBarang extends javax.swing.JFrame {


Connection Con;
ResultSet RsBrg;
Statement stm;


Boolean ada = false;
String sSatuan;
Boolean edit=false;

 private Object[][] dataTable = null;
private String[] header =  {"Kode","Nama Barang","Satuan","Harga","Stok","Stok Min"};

Tambahkan code dibawah knstruktor

public frmBarang() {
        initComponents();
        open_db();
        baca_data();
        aktif(false);
        setTombol(true); 
 


Buat Method-method berikut :

//method untuk memindahkan data dr table ke form

private void setField()
{
    int row=tblBrg.getSelectedRow();
    txtKode.setText((String)tblBrg.getValueAt(row,0));
    txtNama.setText((String)tblBrg.getValueAt(row,1));
    cmbSatuan.setSelectedItem((String)tblBrg.getValueAt(row,2));
    String harga = Double.toString((Double)tblBrg.getValueAt(row,3));
    txtHarga.setText(harga);
    String stok=Integer.toString((Integer)tblBrg.getValueAt(row,4));
    txtStok.setText(stok);
    String stokmin=Integer.toString((Integer)tblBrg.getValueAt(row,5));
    txtStokMin.setText(stokmin);
}

 //method membuka database server, user, pass, database disesuaikan
private void open_db()

{       try{ 

KoneksiMysql kon = new KoneksiMysql
("localhost","root","root","penjualan");
Con = kon.getConnection(); 
   //System.out.println("Berhasil ");
}catch (Exception e) {
System.out.println("Error : "+e);
}


//method baca data dari Mysql dimasukkan ke table pada form
private void baca_data()
{
    try{
            stm = Con.createStatement();
            RsBrg = stm.executeQuery("select * from barang");
                
            ResultSetMetaData meta = RsBrg.getMetaData();
            int col = meta.getColumnCount();
 
 
 
 


  int baris = 0;
            while(RsBrg.next()) {
                baris = RsBrg.getRow();
            }
            
            dataTable = new Object[baris][col];
            int x = 0;
            RsBrg.beforeFirst();
            while(RsBrg.next()) {
                dataTable[x][0] = RsBrg.getString("kd_brg");
                dataTable[x][1] = RsBrg.getString("nm_brg");
                dataTable[x][2] = RsBrg.getString("satuan");
                dataTable[x][3] = RsBrg.getDouble("harga");
                dataTable[x][4] = RsBrg.getInt("stok");
                dataTable[x][5] = RsBrg.getInt("stok_min");
                x++; 


}
            tblBrg.setModel(new DefaultTableModel(dataTable,header));        
    }
    catch(SQLException e)
    {
        JOptionPane.showMessageDialog(null, e);
    }
}



//untuk mengkosongkan isian data
private void kosong()
{
    txtKode.setText("");
    txtNama.setText("");
    txtHarga.setText("");
    txtStok.setText("");
    txtStokMin.setText("");


//mengset aktif tidak isian data 

private void aktif(boolean x)
{
    txtKode.setEditable(x);
    txtNama.setEditable(x);
    //cmbSatuan.setEditable(x);
    cmbSatuan.setEnabled(x);
    txtHarga.setEditable(x);
    txtStok.setEditable(x);
    txtStokMin.setEditable(x);


//mengset tombol on/off 


private void setTombol(boolean t)
{
    cmdTambah.setEnabled(t);
    cmdKoreksi.setEnabled(t);
    cmdHapus.setEnabled(t);
    cmdSimpan.setEnabled(!t);
    cmdBatal.setEnabled(!t);
    cmdKeluar.setEnabled(t);
    
}


Event pada masing-masing obyek yang perlu disesuaikan :

private void cmdKeluarActionPerformed(java.awt.event.ActionEvent evt) {                   
    System.exit(0);
 }


private void cmdSimpanMouseClicked(java.awt.event.MouseEvent evt) {                                      
    String tKode=txtKode.getText();
    String tNama=txtNama.getText();
   
    double hrg=Double.parseDouble(txtHarga.getText());
    int stk=Integer.parseInt(txtStok.getText());
    int stkMin=Integer.parseInt(txtStokMin.getText());
    try{
        if (edit==true)
        {
     stm.executeUpdate("update barang set
nm_brg='"+tNama+"',satuan='"+sSatuan+"',harga="+hrg+",stok="+stk+",stok
_min="+stkMin+" where kd_brg='" + tKode + "'");
        }else
        {
            stm.executeUpdate("INSERT into barang
VALUES('"+tKode+"','"+tNama+"','"+sSatuan+"',"+hrg+","+stk+","+stkMin+"
)");
        }
         tblBrg.setModel(new DefaultTableModel(dataTable,header));
        baca_data();
        aktif(false);
        setTombol(true);
    }catch(SQLException e) {
       JOptionPane.showMessageDialog(null, e);


}
private void cmbSatuanActionPerformed(java.awt.event.ActionEvent evt) {                
    JComboBox cSatuan = (javax.swing.JComboBox)evt.getSource();

   //Membaca Item Yang Terpilih — > String

    sSatuan = (String)cSatuan.getSelectedItem();
}                                         

private void cmdTambahActionPerformed(java.awt.event.ActionEvent evt) {                
    aktif(true);
    setTombol(false);

kosong();                                         
}                    

private void cmdBatalActionPerformed(java.awt.event.ActionEvent evt) {                                        
    aktif(false);
    setTombol(true);                                        
}
private void tblBrgMouseClicked(java.awt.event.MouseEvent evt) {                                   
    setField();
}                                   

private void cmdKoreksiActionPerformed(java.awt.event.ActionEvent evt)
{                                           
    edit=true;                                          
    aktif(true);
    setTombol(false);
    txtKode.setEditable(false);
}

private void cmdHapusActionPerformed(java.awt.event.ActionEvent evt) {                                        
    try{
    String sql="delete from barang where kd_brg='" + txtKode.getText()
+ "'";
    stm.executeUpdate(sql);
    baca_data();
    }
    catch(SQLException e)
    {
        JOptionPane.showMessageDialog(null, e);
    }
}

      

No comments: