topbella

Minggu, 21 Juli 2013

LANGKAH - LANGKAH PEMBUATAN FORM BARU UNTUK SISTEM MINI MARKET MENGGUNAKAN NETBEANS

Langkah - Langkah Membuat Form Baru menggunakan Netbeans

      Penjelasan pembuatan form ada pada halaman ini. Membuat form baru tidaklah sesulit yang dibayangkan.

Untuk form, inilah langkah-langkah untuk membuatnya :
Permisalan :
1. Klik kanan pada Project, pilih New, lalu klik JFrame Form.
2. Setelah itu muncul tabel pemberitahuan, disitu diperuntukkan untuk member nama pada Class Name. Lalu klik Finish.
3. Form tersebut telah siap untuk dimodivikasi atau diisi sesuai keinginan pengguna.

FORM KATEGORI UNTUK SISTEM

Langkah - Langkah Membuat Form Kategori untuk Menjalankan Sistem menggunakan Netbeans

     Sistem ini akan berjalan dengan membuat form terlebih dahulu. Dalam form inilah pengguna dapat membuat, mengedit, menampung, meng-update bahkan menghapus data yang ada. Sistem ini akan berjalan secara berkesinambungan sesuai dengan apa yang dibutuhkan pengguna.

Form Pertama :
Form Kategori
Keterangan :
Untuk membuat form tersebut dibutuhkan Palette untuk mendesignnya. Ada juga palette yang dibutuhkan untuk menunjang pembuatan form ini. Semua palette harus memiliki variabel nama supaya mudah di panggil. Seperti :
Text Field dari Label Kategori : txtkategori
Text Field dari Label Deskripsi : txtdeskripsi
Table : tabelkategori
Button dari Home : bHome
Button dari Insert : bInsert
Button dari Delete : bDelete

Untuk bisa menjalankan form di atas dibutuhkan script sebagai berikut :

package toko_barang;

#memanggil library
import Toko.Koneksi.Koneksi;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class Kategori extends javax.swing.JFrame {
Koneksi koneksi;
Statement statement;
ResultSet resultset;
Koneksi conn;
private String iddelet;
public static int kodeLogin;
public Kategori() {

# supaya program bisa dijalankan, data yang dibutuhkan perlu dicantumkan pada konstruktor di bawah ini
 initComponents();
 setResizable(false);
 koneksi=new Koneksi();
       Select();
 }

private void Select(){
       # member nama pada tabel
       String header[]={"KATEGORI","DESKRIPSI"};
       DefaultTableModel defaultTableModel=new DefaultTableModel(null, header);
       tabelkategori.setModel(defaultTableModel);

       int baris=tabelkategori.getSelectedRow();
        for (int i = 0; i < baris; i++) {
            defaultTableModel.removeRow(i);
        }
        # memanggil database tabel kategori dari MySQL
        String sql="select * from kategori";

        try{
        statement=koneksi.conn.createStatement(); 
        resultset=statement.executeQuery(sql);
        while (resultset.next()){

         # untuk mengisi jumlah row yang dibutuhkan sesuai dengan String yang ditulis dibawah
         String kategori=resultset.getString(1);
         String deskripsi=resultset.getString(2);
         Object isi[]={kategori,deskripsi};
         defaultTableModel.addRow(isi);
        }  

    }catch (Exception e){
        # menampilkan pesan (bila ada error akan ketahuan)
        JOptionPane.showMessageDialog(null, e.getMessage());
        System.err.println(""+e.getMessage());
    }
    }

# untuk menginsert data pada tabel dengan mengklik Button Insert
private void Insert(){
        String kategori=txtkategori.getText();
        String deskripsi=txtdeskripsi.getText().toString();
       String sql="insert into kategori values('"+ kategori +"','"+ deskripsi +"')";

        try{
        statement.executeUpdate(sql);
        }
        catch(Exception e){
      # menampilkan pesan (bila ada error akan ketahuan)
       JOptionPane.showMessageDialog(null, e.getMessage());
       }
      }

# untuk mendelete data yang dipilih dengan mengklik Button Delete
private void Delete(){
       String sql="delete from kategori where kategori ='"+txtkategori.getText()+"'";
       try{
       statement.executeUpdate(sql);
       }catch(Exception e){

# menampilkan pesan (bila ada error akan ketahuan)
       JOptionPane.showMessageDialog(null, "Data sudah terpakai di tabel Barang");
      }
     }

# untuk membersihkan kotak text field setelah melakukan proses (Insert dan Delete)
private void Clear(){
    txtkategori.setText("");
    txtdeskripsi.setText("");
    }

Supaya action-action pada form yang telah dibuat bisa berfungsi, dibutuhkan script sebagai berikut :

Button Insert

private void bInsertActionPerformed(java.awt.event.ActionEvent evt) {                                        
       if (txtkategori.getText().equals("") || txtdeskripsi.getText().equals("")) { 
                 JOptionPane.showMessageDialog(null, "lengkapi dulu inputannya"); 
             } 
      else{ 
             Insert() ;
             Select(); 
            Clear() ;
          } 
       }
Button Delete

private void bDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                        
           String idkategori=txtkategori.getText();
        if (txtkategori.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "pilih dulu baris yang akan dihapus");            
        }
        else if (idkategori.equals(iddelet=tabelkategori.getValueAt(tabelkategori.getSelectedRow(), 0).toString())){
            int hasil = JOptionPane.showConfirmDialog(null, "apakah anda ingin menghapus id kategori: "+idkategori, null, JOptionPane.YES_NO_OPTION); 
            if(hasil==JOptionPane.YES_OPTION){
                Delete();
                Select();
                Clear();
            }
            else if (hasil==JOptionPane.NO_OPTION){
                idkategori=null;
                Clear();
              }
          }
       }
Mouse Click tabelkategori

private void tabelkategoriMouseClicked(java.awt.event.MouseEvent evt) {                                           
        iddelet=tabelkategori.getValueAt(tabelkategori.getSelectedRow(), 0).toString();
        txtkategori.setText(iddelet);
       }
Button Home

private void bHomeActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        new MenuUtama(Form_Login.kondisiLogin).setVisible(true);
        this.dispose();
    }

# otak atau yang menjalankan form ini, tanpa main form tidak bisa jalan (errror)
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Kategori().setVisible(true);
            }
        });
    }
}

FORM BARANG UNTUK SISTEM

Langkah - Langkah Membuat Form Barang untuk Menjalankan Sistem menggunakan Netbeans

     Sistem ini akan berjalan dengan membuat form terlebih dahulu. Dalam form inilah pengguna dapat membuat, mengedit, menampung, meng-update bahkan menghapus data yang ada. Sistem ini akan berjalan secara berkesinambungan sesuai dengan apa yang dibutuhkan pengguna.

Form Kedua :
Form Barang
Keterangan :
Untuk membuat form tersebut dibutuhkan Palette untuk mendesignnya. Ada juga palette yang dibutuhkan untuk menunjang pembuatan form ini. Semua palette harus memiliki variabel nama supaya mudah di panggil. Seperti :
Text Field dari Label Id Barang : txtidbarang
Combo Box dari Label Kategori : ComboBoxkategori
Text Field dari Label Nama Barang : txtnamabarang
Table : tabelbarang
Button dari Home : bBack
Button dari Edit : bEdit
Button dari Insert : bInsert
Button dari Delete : bDelete

Untuk bisa menjalankan form di atas dibutuhkan script sebagai berikut :

package toko_barang;

import Toko.Koneksi.Koneksi;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class Barang extends javax.swing.JFrame {
    Koneksi koneksi;
    Statement statement;
    ResultSet resultSet;
    Koneksi conn;
    public static int kodeLogin;
   
    public Barang() {
        initComponents();
        setResizable(false);
        koneksi=new Koneksi();
        Select();
        panggilKategoriToComboBox();
        Update_barang();
    }
   
    private void Select(){
        Object header[] = {"ID KATEGORI", "KATEGORI", "NAMA BARANG"};
        DefaultTableModel defaultTableModel = new DefaultTableModel(null, header);
        tabelbarang.setModel(defaultTableModel);

        int baris = tabelbarang.getRowCount();
        for (int i = 0; i < baris; i++) {
            defaultTableModel.removeRow(i);
        }
        String sql = "select id_barang, kategori, nama_barang from barang";
    try{
        statement=koneksi.conn.createStatement();
        resultSet=statement.executeQuery(sql);
       
        while (resultSet.next()){
        String Id_Barang=resultSet.getString(1);
        String Kategori=resultSet.getString(2);
         String Nama_Barang=resultSet.getString(3);
     
         Object isi[]={Id_Barang,Kategori,Nama_Barang};
         defaultTableModel.addRow(isi);
        }
        } catch (Exception e){
        JOptionPane.showMessageDialog(null, e.getMessage());
        System.out.println(""+e.getMessage());
    }
    }
     
    private void Insert(){
        String id = txtidbarang.getText();
         String kategori = ComboBoxkategori.getSelectedItem().toString();
         String nama_barang = txtnamabarang.getText();
        
         String query = "insert into barang values('"+ id + "','" + kategori + "','" + nama_barang+ "',0, 0)";
    try{
    statement.executeUpdate(query);
    }
    catch(Exception e){
    JOptionPane.showMessageDialog(null, e.getMessage());
    }
    }

    # mengupdate barang (untuk Button Edit)
    public void Update_barang(){
         # panggil method koneksi
        java.sql.Connection conn = new Koneksi().conn;

        String sql="update barang set kategori=?, nama_barang=? where ID_BARANG='"+txtidbarang.getText()+"'";
        java.sql.PreparedStatement stmt = null;
        try {
            stmt = conn.prepareStatement(sql);
        } catch (SQLException ex) {
        }

        try{
            stmt.setString(2,txtnamabarang.getText());
            stmt.setString(1,ComboBoxkategori.getSelectedItem().toString());
           
            stmt.executeUpdate();

        }catch(Exception se){
            JOptionPane.showMessageDialog(null, (se.getMessage()));
        }
    }

    private void Delete(){
    try{
    String sql="delete from barang where ID_BARANG ='"+txtidbarang.getText()+"'";
    statement.executeUpdate(sql);
    }catch(Exception e){
    JOptionPane.showMessageDialog(null, e.getMessage());
    }
    }

    # untuk memanggil Combo Box yang ada pada Form Kategori
    private void panggilKategoriToComboBox(){
    try{
       
    ComboBoxkategori.removeAllItems();
    String sql="select kategori from kategori";
    resultSet=statement.executeQuery(sql);
    while (resultSet.next()) {
    ComboBoxkategori.addItem(resultSet.getString(1));
    }
    }
    catch(Exception e) {
    JOptionPane.showMessageDialog(null, e.getMessage());
    System.out.println(""+e.getMessage());
    }
    }
   
    private void Clear(){
    txtidbarang.setText("");
    txtnamabarang.setText("");
    }

Supaya action-action pada form yang telah dibuat bisa berfungsi, dibutuhkan script sebagai berikut :
Mouse Click tabelbarang
private void tabelbarangMouseClicked(java.awt.event.MouseEvent evt) {                                         
  txtidbarang.setText(tabelbarang.getValueAt(tabelbarang.getSelectedRow(),0).toString());
  txtnamabarang.setText(tabelbarang.getValueAt(tabelbarang.getSelectedRow(),2).toString());
  ComboBoxkategori.setSelectedItem(tabelbarang.getValueAt(tabelbarang.getSelectedRow(),1).toString());
    }
Button Delete
private void bDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                        
        if (txtidbarang.getText().equals("") || txtnamabarang.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "klik dulu baris yang akan di hapus");
        }
        else {
            Delete();
            Select();
            Clear();
        }
    }

Button Insert
private void bInsertActionPerformed(java.awt.event.ActionEvent evt) {                                        
        if (txtidbarang.getText().equals("") || txtnamabarang.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "lengkapi dulu inputannya");
        }
        else
        {
            Insert();
            Select();
            Clear();
        }
    }

Button Edit
private void bEditActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        if (txtidbarang.getText().equals("") || txtnamabarang.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "klik terlebih dahulu data yang akan di update");
        }
        else {
            Update_barang();
            Select();
            Clear();
        }
    }

Button Home
private void bBackActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        new MenuUtama(Form_Login.kondisiLogin).setVisible(true);
        this.dispose();
    }

# untuk menjalankan form barang
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
                new Barang().setVisible(true);
            }
        });
    }
}

FORM PENGADAAN UNTUK SISTEM

Langkah - Langkah Membuat Form Pengadaan Barang untuk Menjalankan Sistem menggunakan Netbeans

     Sistem ini akan berjalan dengan membuat form terlebih dahulu. Dalam form inilah pengguna dapat membuat, mengedit, menampung, meng-update bahkan menghapus data yang ada. Sistem ini akan berjalan secara berkesinambungan sesuai dengan apa yang dibutuhkan pengguna.

Form Ketiga :
Form Pengadaan Barang

Keterangan :
Untuk membuat form tersebut dibutuhkan Palette untuk mendesignnya. Ada juga palette yang dibutuhkan untuk menunjang pembuatan form ini. Semua palette harus memiliki variabel nama supaya mudah di panggil. Seperti :
JDate Chooser dari Label Tanggal : txtkalender
Text Field dari Label Supplier : txtsupplier
Table : tabelpengadaanbarang
Button dari Home : btncancel
Button dari Insert : btninsert
Button dari Delete : btndelete

Untuk bisa menjalankan form di atas dibutuhkan script sebagai berikut :

package toko_barang;

import Toko.Koneksi.Koneksi;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.table.DefaultTableModel;
import sun.applet.Main;

public class PengadaanBarang extends javax.swing.JFrame {

    Koneksi koneksi;
    Statement statement;
    ResultSet resultSet;
    int count;
    String idPengadaan;
    String id_hapus;

    public PengadaanBarang() {
        initComponents();
        koneksi = new Koneksi();
        select();
    }

    private void clear() {
        txtkalender.setDate(null);
        txtsupplier.setText("");
    }

private void select() {
        Object header[] = {"ID PENGADAAN", "TANGGAL", "SUPPLIER", "TOTAL TRANSAKSI", "ACTION"};
        DefaultTableModel defaultTable = new DefaultTableModel(null, header);
        tabelpengadaanbarang.setModel(defaultTable);
        tabelpengadaanbarang.getColumnModel().getColumn(4).setCellRenderer(new buttonDetail());
        
        int baris = tabelpengadaanbarang.getRowCount();
        for (int i = 0; i < baris; i++) {
            defaultTable.removeRow(i);
        }

        String sql_select = "select * from pengadaan";
        try {
            statement = koneksi.conn.createStatement();
            resultSet = statement.executeQuery(sql_select);

            while (resultSet.next()) {
                String id_Pengadaan = resultSet.getString(1);
                String tanggal = resultSet.getString(3);
                String supplier = resultSet.getString(4);
                String total = resultSet.getString(5);

                String kolom[] = {id_Pengadaan, tanggal, supplier,total};
                defaultTable.addRow(kolom);
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

private void insertData() {
        try {
            # untuk menampilkan tanggal (formatnya)
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String tanggal = dateFormat.format(txtkalender.getDate());

            SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd.MM.yyyy");
            String tanggal2 = dateFormat2.format(txtkalender.getDate());

            count = 100;
            String sqltanggal = "select tanggal, id_pengadaan from pengadaan";
            resultSet = statement.executeQuery(sqltanggal);

            while (resultSet.next()) {
                String data1 = resultSet.getString(1);
                String data2 = resultSet.getString(2);
                if (data1.equals(tanggal)) {
                    if (count == Integer.valueOf(data2.substring(14, 17))) {
                        count++;
                    }
                }
            }
            # untuk tampilan tulisan pada JDate Chooser (Tanggal)
            String id_pengadaan = "TB." + tanggal2 + "." + count;
            String sql = "insert into pengadaan " + "values('" + id_pengadaan + "','"+Form_Login.userLogin+"','" + tanggal + "','" + txtsupplier.getText() + "',0)";
            statement.executeUpdate(sql);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
    
    private void deleteData(){
        String sql_delete = "delete from pengadaan where id_pengadaan = '"+id_hapus+"'"; 
        try {
            statement.executeUpdate(sql_delete);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,"Data masih digunakan!!");
        }
    }

Supaya action-action pada form yang telah dibuat bisa berfungsi, dibutuhkan script sebagai berikut :
Key Pressed txtsupplier
private void txtsupplierKeyPressed(java.awt.event.KeyEvent evt) {                                       
        // TODO add your handling code here:
        if (evt.getKeyChar() == '\n') {
            insertData();
            select();
            clear();
        }
    }

Mouse Click tabelpengadaanbarang
private void tabelpengadaanbarangMouseClicked(java.awt.event.MouseEvent evt) {                                                 
        // TODO add your handling code here:
        idPengadaan = tabelpengadaanbarang.getValueAt(tabelpengadaanbarang.getSelectedRow(), 0).toString();
        if (tabelpengadaanbarang.getSelectedColumn() == 4) {
            this.dispose();
            new DetailBarang(idPengadaan).setVisible(true);

        }
  id_hapus = tabelpengadaanbarang.getValueAt(tabelpengadaanbarang.getSelectedRow(), 0).toString();
  txtsupplier.setText(tabelpengadaanbarang.getValueAt(tabelpengadaanbarang.getSelectedRow(), 2).toString());
    }

Button Insert
private void btninsertActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        if (txtsupplier.getText().isEmpty()) {
            JOptionPane.showMessageDialog(null, "Pengisian Form Harus Lengkap");
        } else {
            insertData();
            select();
            clear();
        }
    }

Button Delete
private void btndeleteActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        if (txtsupplier.getText().isEmpty()) {
            JOptionPane.showMessageDialog(null, "Pilih data yang akan dihapus");
        }else {
            int hasil = JOptionPane.showConfirmDialog(null, "Apakah benar anda ingin menghapus kode kategori : "
                    +id_hapus,null,JOptionPane.YES_NO_OPTION);
            if (hasil == JOptionPane.YES_OPTION) {
                deleteData();
                select();
                clear();
            }else if (hasil == JOptionPane.NO_OPTION) {
                clear();
            }
        }   
    }

Button Home
private void btncancelActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
        clear();
        new MenuUtama(Form_Login.kondisiLogin).setVisible(true);
        this.dispose();
    }

# untuk menjalankan form
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
              
                new PengadaanBarang().setVisible(true);
            }
        });
    }
}

# untuk menampilkan button detail pada Action di dalam tabel diperlukan class lain untuk memanggilnya ke dalam sistem
package toko_barang;

import java.awt.Component;
import javax.swing.JButton;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;

public class buttonDetail extends JButton implements TableCellRenderer{
     public buttonDetail() {
    setText("detail");
    }
    
    @Override
 public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
        
setBackground(isSelected?table.getSelectionBackground():table.getBackground());
        return this;
    }    
}

FORM DETAIL BARANG UNTUK SISTEM

Langkah - Langkah Membuat Form Detail Barang dan Harga Jual Barang untuk Menjalankan Sistem menggunakan Netbeans

     Sistem ini akan berjalan dengan membuat form terlebih dahulu. Dalam form inilah pengguna dapat membuat, mengedit, menampung, meng-update bahkan menghapus data yang ada. Sistem ini akan berjalan secara berkesinambungan sesuai dengan apa yang dibutuhkan pengguna.

Form Keempat dan Kelima :
Form Detail Barang
Form Harga Jual Barang

Keterangan :
Untuk membuat form tersebut dibutuhkan Palette untuk mendesignnya. Ada juga palette yang dibutuhkan untuk menunjang pembuatan form ini. Semua palette harus memiliki variabel nama supaya mudah di panggil. Seperti :
Form Detail Barang
Text Field dari Label Id Transaksi : txtid_tran
Text Field dari Label Id Barang : txt_idbarang
Combo Box dari Label Kategori Barang : combo_kat
Combo Box dari Label Nama Barang : combobarang
Text Field dari Label Harga Beli Satuan : txthrgabeli
Text Field dari Label Jumlah : txt_jumlah
JDate Chooser dari Label Tanggal Kadaluarsa : txt_tglkadaluarsa
Radio Button dari Label Tanggal Kadaluarsa Button Ada : ada
Radio Button dari Label Tanggal Kadaluarsa Button Tidak Ada : tdk_ada
Table : tbl_det_pengadaan
Text Field dari Label TOTAL TRANSAKSI : txt_total
Button dari Home : jButton1
Button dari Back : btnback
Button dari Delete : btndel
Button dari Edit : btnedit
Button dari Insert : btninsert

Form Harga Jual Barang
Text Field dari Label Id Barang : id_brg
Text Field dari Label HARGA JUAL : txthrgjual
Button dari Set Harga : btnsetharga
Table : tbl_harga_jual
Text Field dari Label Searching : txt_search
Button dari Refresh : btnrefresh

Untuk bisa menjalankan form di atas dibutuhkan script sebagai berikut :

package toko_barang;

import Toko.Koneksi.Koneksi;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.table.DefaultTableModel;
import sun.applet.Main;

public class DetailBarang extends javax.swing.JFrame {

    Koneksi koneksi;
    Statement statement;
    ResultSet resultSet;
    private String id_pengadaan,id_edit,ubah;
    int jml_awal;
    double total_transaksi;

    public DetailBarang(String idTransaksi) {
        super ("DETAIL TRANSAKSI PENGADAAN");
        initComponents();
        koneksi=new Koneksi();
         this.id_pengadaan=idTransaksi;
        txt_idtran.setText(id_pengadaan);
        select(id_pengadaan);
        select_hargajual();
        totalTransaksi(id_pengadaan);
        kategoritocombobox();
        txt_idtran.setEnabled(false);
        txt_idbarang.setEnabled(false);
       
        combobarang.removeAllItems();
        combobarang.addItem("-->pilih<--");
    }

    private void kategoritocombobox(){
        try{
            combo_kat.removeAllItems();
             combo_kat.addItem("-->pilih<--");
            String sql="select kategori from kategori";
            resultSet=statement.executeQuery(sql);
            while(resultSet.next()){
                combo_kat.addItem(resultSet.getString(1));
            }
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    public void select(String data){
        Object header[]={"ID_TRANSAKSI","ID_BARANG","NAMA BARANG","HARGA BELI","HARGA JUAL","JUMLAH","KADALUARSA"};
        DefaultTableModel tdp=new DefaultTableModel(null,header);
        tbl_det_pengadaan.setModel(tdp);

        int baris=tbl_det_pengadaan.getRowCount();
        for (int i = 0; i < baris; i++) {
            tdp.removeRow(i);
        }

        String sql="SELECT r.id_pengadaan, r.id_barang, b.nama_barang, r.harga_beli_satuan, b.harga_jual, r.jumlah,"
                + " r.tanggal_kadaluarsa FROM rel_pengadaan_barang r, barang b WHERE r.id_pengadaan='"+data+"' AND r.id_barang=b.id_barang";
        try{
            statement=koneksi.conn.createStatement();
            resultSet=statement.executeQuery(sql);
            while(resultSet.next()){
                String kolom1=resultSet.getString(1);
                String kolom2=resultSet.getString(2);
                String kolom3=resultSet.getString(3);
                String kolom4=resultSet.getString(4);
                String kolom5=resultSet.getString(5);
                String kolom6=resultSet.getString(6);
                String kolom7=resultSet.getString(7);
                String kolom[]={kolom1,kolom2,kolom3,kolom4,kolom5,kolom6,kolom7};
                tdp.addRow(kolom);

            }

        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    public void select_hargajual(){
        Object header[]={"ID_BARANG","NAMA BARANG","HARGA BELI TERMAHAL","HARGA JUAL"};
        DefaultTableModel thj=new DefaultTableModel(null,header);
        tbl_harga_jual.setModel(thj);

        int baris=tbl_harga_jual.getRowCount();
        for (int i = 0; i < baris; i++) {
            thj.removeRow(i);
        }

        String queryHargaJual="select r.id_barang,b.nama_barang,max(r.harga_beli_satuan),b.harga_jual from rel_pengadaan_barang r,barang b where b.id_barang=r.id_barang group by id_barang";
        try{
            statement=koneksi.conn.createStatement();
            resultSet=statement.executeQuery(queryHargaJual);
            while(resultSet.next()){
                String kolom1=resultSet.getString(1);
                String kolom2=resultSet.getString(2);
                String kolom3=resultSet.getString(3);
                String kolom4=resultSet.getString(4);
                String kolom[]={kolom1,kolom2,kolom3,kolom4};
                thj.addRow(kolom);

            }

        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void updatedata(){
        String harga_jual=txthrgjual.getText().toString();
        String id_barang=id_brg.getText().toString();
        String sql="update barang set harga_jual = '"+harga_jual+"' where id_barang = '"+id_barang+"'";
        try {
            statement.executeUpdate(sql);
        } catch (Exception e) {
             JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void clear_hargajual(){
        id_brg.setText("");
        txthrgjual.setText("");
    }

    private void insertdata(){
        String id_transaksi=txt_idtran.getText().toString();
        String id_barang=txt_idbarang.getText().toString();
        String nama_barang=combobarang.getSelectedItem().toString();
        String hrga_bli=txthrgabeli.getText().toString();
        String jumlah=txt_jumlah.getText().toString();
        String sql=null;
        if(ada.isSelected()){
            SimpleDateFormat dateformat=new SimpleDateFormat ("yyyy-MM-dd");
            String tanggal=dateformat.format(txt_tglkadaluarsa.getDate());
           sql = "INSERT INTO rel_pengadaan_barang VALUES ('" + id_transaksi + "', '" + id_barang + "', '" 
                   + jumlah + "', '" + hrga_bli + "','" + 
                   tanggal + "','" + jumlah + "')";

        }
        else if (tdk_ada.isSelected()) {
          // sql = "INSERT INTO rel_pengadaan_barang VALUES ('" + txtIdTransaksi.getText() + "', '" + txtIdBarang.getText() + "', '" + comboKategori.getSelectedItem().toString() + "', '" + comboNamaBarang.getSelectedItem().toString()+"','"+txtHargaBeli.getText()+ "',0,null)";
         sql = "INSERT INTO rel_pengadaan_barang VALUES ('" + id_transaksi + "', '" + id_barang
                 + "', '" + jumlah + "', '" + hrga_bli + "','Tidak ada','" + jumlah + "')";

        }
        
        try {
            statement.executeUpdate(sql);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void clear_detpengadaan(){
        txt_idbarang.setText("");
        txthrgabeli.setText("");
        txt_jumlah.setText("");
        txt_tglkadaluarsa.setDate(null);
    }

    public void deletedata(){
        String id_transaksi=txt_idtran.getText().toString();
        String id_barang=txt_idbarang.getText().toString();
        String sql="delete from rel_pengadaan_barang where id_pengadaan = '"+id_transaksi+"' AND id_barang='"+id_barang+"'" ;
        try {
            statement=koneksi.conn.createStatement();
            statement.execute(sql);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void updateTransaksi(){
        String id_transaksi=txt_idtran.getText().toString();
        String id_barang=txt_idbarang.getText().toString();
        String nama_barang=combobarang.getSelectedItem().toString();
        String hrga_bli=txthrgabeli.getText().toString();
        String jumlah=txt_jumlah.getText().toString();
        String sql=null;
        if(ada.isSelected()){
            SimpleDateFormat dateformat=new SimpleDateFormat ("yyyy-MM-dd");
            String tanggal=dateformat.format(txt_tglkadaluarsa.getDate());
            sql="update rel_pengadaan_barang set id_barang ='"+id_barang+"', jumlah = '"+jumlah+"', harga_beli_satuan = '"+hrga_bli+"', tanggal_kadaluarsa = '"+tanggal+"' where id_pengadaan='"+id_transaksi+"' and id_barang='"+id_edit+"'";
        }
        else if(tdk_ada.isSelected()){
            sql="update rel_pengadaan_barang set id_barang ='"+id_barang+"', jumlah = '"+jumlah+"', harga_beli_satuan = '"+hrga_bli+"', tanggal_kadaluarsa = NULL where id_pengadaan='"+id_transaksi+"' and id_barang='"+id_edit+"'";
        }
        try {
            statement.executeUpdate(sql);
        } catch (Exception e) {
             JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    public void Search() {
        Object header[] = {"ID BARANG", "NAMA BARANG", "HARGA BELI TERMAHAL", "HARGA JUAL"};
        DefaultTableModel defaultTable = new DefaultTableModel(null, header);
        tbl_harga_jual.setModel(defaultTable);

        String cari = txt_search.getText();
        String sql = "select b.id_barang, b.nama_barang, max(r.harga_beli_satuan),b.harga_jual from rel_pengadaan_barang r, barang b "
                + "where b.id_barang = r.id_barang  and b.id_barang LIKE '%" + cari + "%' or b.nama_barang LIKE '%" + cari + "%'";
        try {
            statement = koneksi.conn.createStatement();
            resultSet = statement.executeQuery(sql);
            while (resultSet.next()) {
                String idBarang = resultSet.getString(1);
                String namaBarang = resultSet.getString(2);
                String maxHarga = resultSet.getString(3);
                String harga_jual = resultSet.getString(4);

                String kolom[] = {idBarang, namaBarang, maxHarga, harga_jual};
                defaultTable.addRow(kolom);
            }
        } catch (Exception e) {
            System.out.println("Terjadi kesalahan, karena " + e.getMessage());
            JOptionPane.showMessageDialog(null, "Terjadi kesalahan, karena " + e.getMessage());
        }
    }

    private void totalTransaksi(String data) {
        String sql_select = "SELECT SUM(JUMLAH*HARGA_BELI_SATUAN) FROM rel_pengadaan_barang WHERE ID_PENGADAAN='" + data + "'";
        try {
            statement = koneksi.conn.createStatement();
            resultSet = statement.executeQuery(sql_select);

            while (resultSet.next()) {
                txt_total.setText(resultSet.getString(1));
                total_transaksi = resultSet.getDouble(1);
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void updateTotalTransaksi(){
        String sql="UPDATE pengadaan SET TOTAL_TRANSAKSI = '"+total_transaksi+"' WHERE ID_PENGADAAN = '"+id_pengadaan+"'";
        try {
            statement=koneksi.conn.createStatement();
            statement.executeUpdate(sql);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void updateStokBarang(String ubah){
        int jml=0, stok=0;
        String sql_select="SELECT stok from barang WHERE ID_BARANG='"+txt_idbarang.getText()+"'";
        try {
            statement=koneksi.conn.createStatement();
            resultSet=statement.executeQuery(sql_select);
            while(resultSet.next()){
                jml=Integer.parseInt(resultSet.getString(1));
            }

            if(ubah.equals("insert")){
                stok=jml+Integer.parseInt(txt_jumlah.getText());
            }
            else if(ubah.equals("edit")){
                stok=(jml-jml_awal)+Integer.parseInt(txt_jumlah.getText());
            }
            else if(ubah.equals("delete")){ 
                stok=jml-Integer.parseInt(txt_jumlah.getText());
            }

            String sql_update="UPDATE barang SET STOK='"+stok+"' WHERE ID_BARANG='"+txt_idbarang.getText()+"'";
            try {
                statement=koneksi.conn.createStatement();
                statement.executeUpdate(sql_update);

            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, e.getMessage());
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

Datos personales