topbella

Minggu, 21 Juli 2013

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;
    }    
}

0 komentar:

Posting Komentar

Datos personales