Thursday, 18 July 2013

Membuat Form di Netbeans

Tutorial Pembuatan Form di Netbeans


Pertama kita Instal terlebih dahulu Netbeans 7.3 kemudian jalankan netbesns
sebagai databasenya di sini saya menggunakan XAMPP 1.8.1.

Berikut Tutorial Membuat Form pada Netbeans

Pertama setelah kita menjalankan Netbeans kita buat projectnya terlebih dahulu klik New Project Kemudian Pilih Java->Java Aplication seperti pada gambar dibawah:
 Pilih Next untuk melanjutkan pada Step berikutnya seperti pada gambar dibawah:

 Brinama Project sesuai kebutuhan misalkan di sini saya memberikan nama tutorial kemudian pilih Finish maka project berhasil di buat seperti pada tampilan berikut:



 Disebeah kiri tampilan pada project maka akan muncul project yang kita buat seperti pada gambar di atas.Untuk membuat form kita klik kanan pada paackage tutorial kemudian pilih new->JFrame Form seperti pada conroh gambar dibawah:


Setelah kita pilih JFrame Form maka akan muncul tampilan form seperti dibawah:

Form di atas merupakan penamaan form yang akan kita buat misalkan saya beri nama form 1kemudian pilih Finish maka akam muncul tampilan form seperti pada gambar di bawah:


Form di atas masih kosong tanpa tambahan Palette apapun untuk membuat form seperti pada Aplikasi Minimarket yang saya buat sebelumnya maka kita berikan Palette seperti pada langkah-langkah di bawah:

Pada kanan tampilan Netbeans sudah ada beberapa Palette yang di sediakan oleh Netbeans seperti pada tampilan di bawah:


Pilih Panel sebagai background form kemudian klik kanan untuk merubah warna dan settingan yang lain seperti pada tampilan di bawah:

Setelah pilih Properties maka akan muncul tampilan properties seperti pada gambar di bawah:



Klik pada background kemudian akan muncul tampilan pemilihan warna seperti pada gambar dibawah:
Pilih salah satu warna kemudian klik OK maka tampilan form akan berubah berwarna sesuai warna yang di pilih seperti pada gambar berikut:

Kemudian pilih Palette Label untuk memberikan nama seperti pada gambar dibawah:
Pilih dan seret Label kemuadian letakkan pada panel yang sudah kita buat seperti pada contoh gambar di bawah:
 Pilh F2 untuk rename nama label,untuk mengubah jenis huruf,ketebalan,dan ukuran huruf,dan warna tulisan klik kanan Properties->font untuk merubah huruf dan ukurannya,sedangkan untuk merubah warna huruf pilih forground seperti pada gambar di bawah:


Kemudian kita buat tampilan form seperti di bawah dengan menggunakan label:
Untuk membuat form kategori kita membutuhkan nama yaitu ketgori dan juga deskripsi sesuai dengan database yang kita buat,kemudian gunakan Text Field untuk membuat text inputan Kategori dan text Area untuk membut inputan Deskripsi,Gunakan Tabel untuk menampilkan inputan yang sudah kita inputkan dan gunakan Button untuk menu Input,Update,delete.Rubah nama masing-masing sesuai dengan nama label klik kanan pada text Field,text Area,Tabel dan Button kemudian pilih Cange Variable Name isikan nama kemudian pilih OK.Untuk membuat Text Field,text Area,Tabel dan Button berada pada sebelah kanan pada Palette Swing Controls seperti pada gambar di bwah:

Setelah memberikan Button,text Field,text Area,dan Tabel maka gambar berikut merupakan hasil final  dari pembuatan form Kategori di Netbeans.

Catatan:Untuk menbuat menu pilihan Gunakan Palette Combo Box dan Radio Button sesuai dengan kebutuhan.Terimakasih.....!!
Semoga Bermanfaat....!!!!


Aplikasi Minimarket Netbeans

Tutorial Aplikasi Sederhana Java Netbeans
Aplikasi Mini Market
Sebelum membuat aplikasi terlebih dahulu kita buat rancangan aplikasi yang akan kita buat seperti ERD dan database,berukut merupakan CDM,PDM dan databasenya:

CDM Aplikasi Mini Market

 
PDM Aplikasi Mini Market



Setelah kita buat CDM dam PDM kemudian kita buat databasenya seperti berikut:
Barang :Id_Barang,Kategori,Nama_Barang,Stok,Harga_Jual
Kategori :Kategori,Deskripsi
Pengadaan :Id_Pengadaan,Username,Tanggal,Supplier,Total_Transaksi
Penjualan :Id_Penjualan,Username,Tanggal_Penjualan,Total_Penjualan
RelsiPengadaanBarang :Id_Pengadaan,Id_Barang,Jumlah,Harga_Beli_Satuan,
                                    Tgl_Kadaluarsa,Belum_Terjual
RelasiPenjualanBarang :Id_Barang,Id_Penjualan,Jumlah,Laba,Harga_Jual
User :Username,Password,Level,Nama,Alamat,No_Tlp.

Database project toko Kecil(Minimarket)

  • Nama database disesuaikan dengan coding pada masing-masing form untuk menampilkan data
 Setelah membuat databasenya kemudian kita buat koneksi,disini saya beri nama koneksi berikut skripnya:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.swing.JOptionPane;

/**
 *
 * @author Fg_white
 */
public class koneksi implements Kunci_Koneksi {

    static class con {

        static Statement createStatement() {
            throw new UnsupportedOperationException("Not yet implemented");
        }

        public con() {
        }
    }
    public Connection connection;

    public koneksi() {
        try{
            Object newInstance = Class.forName(driver).newInstance();
            connection=DriverManager.getConnection(url, user, password);


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

        }
    }

     public static void main(String[] args) {
     koneksi k = new koneksi();
    }
}

Setelah membuat koneksi kemudian kita buat tampilan untuk kategori seperti pada gambar dibawah:

Ubah Text field,text area,tabel dan Button sesuai dengan keterangan

Untuk menjalankan form kategori gunakan skrip berikut :

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

/**
 *
 * @author Fg_white
 */
public class Form_Kategori extends javax.swing.JFrame {

    private Statement statement;
    private ResultSet resultset;
    private koneksi koneksi;
    private String id_delete;

    public Form_Kategori() {
        initComponents();
        koneksi = new koneksi();
        Select();
    }

    private void Select() {
        try {
            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);
            }

            String sql = "select * from kategori";
            statement = koneksi.connection.createStatement();
            koneksi.connection.createStatement();
            resultset = statement.executeQuery(sql);

            while (resultset.next()) {
                String kategori = resultset.getString(1);
                String deskripsi = resultset.getString(2);

                Object isi[] = {kategori, deskripsi};
                defaultTableModel.addRow(isi);
            }

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

    private void insert() {
        try {
            String sql = "insert into kategori values('" + nmKategori.getText()
                    + "','" + Deskripsi.getText() + "')";
            statement.executeUpdate(sql);

        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Data sudah ada");
        }
    }

    private void delete(){
        try {
            String query = "delete from kategori where kategori='" +nmKategori.getText()+ "'";
            statement.executeUpdate(query);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void clear() {
        nmKategori.setText("");
        Deskripsi.setText("");
    }

Untuk button Insert,Delete dan Cancel  klik kanan event ->Action->ActionPerformed
kemudian tuliskan skrip berikut pada masing-masing Button:

  • Button Insert:
if (nmKategori.getText().equals("") || Deskripsi.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
        } else {
            insert();
            Select();
            clear();
    }                 
  • Button Delete:
  if (nmKategori.getText().equals("") || Deskripsi.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Silahkan Pilih data yang akan di Hapus");
        }else{
            delete();
            Select();
            clear();
        }         

  • Button Cancel:
new FormTampilan().show();
           this.dispose(); ->skrip ini digunakan untuk kembali pada tampilan awal aplikasi
Untuk Tabel agar menampilkan isi dari inputan  klik kanan->event->mouseClicked kemudian tuliskan skript berikut:
nmKategori.setText(TabelKategori.getValueAt(TabelKategori.getSelectedRow(),0).toString());
 Setelah form kategori selesai kemudian kita buat kembali form daftar barang seperti contoh tampilan berikut:
Ubah nama text field,tabel,dan button sesuai dengan keterangan
Gunakan skrip berikut untuk menjalankan form daftar barang baru:
import com.mysql.jdbc.Statement;
import java.sql.ResultSet;
//import java.sql.Statement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Fg_white
 */
public class Form_dftar_barang extends javax.swing.JFrame {

    private Statement statement;
    private ResultSet resultset;
    private koneksi koneksi;
    private String id_delete;
    private ResultSet resultSet;

    public Form_dftar_barang() {
        initComponents();
        koneksi = new koneksi();
        Select();
        PanggilKategoriToComboBox();
       
    }

    private void Select() {
        try {
            String header[] = {"ID BARANG", "KATEGORI", "NAMA_BARANG", "STOK"};
            DefaultTableModel defaultTableModel = new DefaultTableModel(null, header);
            Tabel_Barang.setModel(defaultTableModel);


            int baris = Tabel_Barang.getSelectedRow();

            for (int i = 0; i < baris; i++) {
                defaultTableModel.removeRow(i);
            }

            String sql = "select * from barang";(Sesuiakan tulisan dengan nama database barang)
            statement = (Statement) koneksi.connection.createStatement();
            resultset = statement.executeQuery(sql);

            while (resultset.next()) {

                String id_barang = resultset.getString(1);
                String ComboBoxK = resultset.getString(2);
                String Nma_Barang = resultset.getString(3);
                String Stok = resultset.getString(4);
              
                Object isi[] = {id_barang, ComboBoxK, Nma_Barang, Stok};
                defaultTableModel.addRow(isi);
            }

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

     private void insert(){
        try {

            String sql="insert into barang values('"+id_barang.getText()+"','"+kategori.getSelectedItem()+"','" +Nma_Barang.getText()+"','"+Stok.getText()+"',0 )";
            statement.executeUpdate(sql);

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

    private void delete() {
        try {
            String query = "delete from barang where barang='" + id_barang.getText() + "'";
            statement.executeUpdate(query);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "data telah terpakai");
        }
    }


    private void clear() {
        id_barang.setText("");
        Nma_Barang.setText("");
        Stok.setText("");
    }

    public void update_barang(){

         //panggil method koneksi
        java.sql.Connection conn = new koneksi().connection;


        String sql="update barang set KATEGORI=?, NAMA_BARANG=?, STOK=? where ID_BARANG='"+id_barang.getText()+"'";
        java.sql.PreparedStatement stmt = null;
        try {
            stmt = conn.prepareStatement(sql);
        } catch (Exception ex) {
        }

        try{
            stmt.setString(3,Stok.getText());
            stmt.setString(2,Nma_Barang.getText());
            stmt.setString(1,kategori.getSelectedItem().toString());



            stmt.executeUpdate();


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

    private void PanggilKategoriToComboBox() {
        try {
            kategori.removeAllItems();
            String sql = "select KATEGORI from kategori";
            resultSet = statement.executeQuery(sql);
            while (resultSet.next()) {
                kategori.addItem(resultSet.getString(1));
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
 Untuk Button Insert,Delete,Edit sama seperti pada form kategori kita event dulu menjadi event->actionPerformed kemudian tuliskan skript berikut:
  • Button Insert :
if(id_barang.getText().equalsIgnoreCase("") || Nma_Barang.getText().equalsIgnoreCase("")||Stok.getText().equalsIgnoreCase("")){
            JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
        }else{
            insert();
            Select();
            clear();
    }                

  • Button Edit:
 Select();
        update_barang();
        clear();

  • Button Delete:
if (id_barang.getText().equals("") ||Nma_Barang.getText().equals("")||Stok.getText().equals("")) {
          JOptionPane.showMessageDialog(null, "Silahkan pilih data yang akan di Hapus");
        } else {

        delete();
        Select();
        clear();
    }  
  • Button Cancel:
   new FormTampilan().show();
        this.dispose(); ->sama seperti pada form kategori skript berikut digunakan untuk kembali pada
                                   tampilan awal        
Untuk tabel di event -> mouseClicked kemudian tulisakan skript berikut:
      id_barang.setText(Tabel_Barang.getValueAt(Tabel_Barang.getSelectedRow(),0).toString());
      Stok.setText(Tabel_Barang.getValueAt(Tabel_Barang.getSelectedRow(),3).toString());
       Nma_Barang.setText(Tabel_Barang.getValueAt(Tabel_Barang.getSelectedRow(),2).toString());
       kategori.setSelectedItem(Tabel_Barang.getValueAt(Tabel_Barang.getSelectedRow(),1).toString()); -> nama di sesuiankan dengan databasenya.
Selanjutnya membuat form pengadaan seperti pada gambar di bawah:
Ubah nama text field,text calender dan Button sesuai tampilan
              
 Kemudian tuliskan Skript berikut untuk menjalankan tampilan:

import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;

/**
 *
 * @author Fg_white
 */
public class Pengadaan_Barang extends javax.swing.JFrame {

    private Statement statement;
    private ResultSet resultset;
    private koneksi konek;
    private ResultSet resultSet;
    int count;
    String Id_pengadaan;
    String id_hapus;
   // koneksi con;

    public Pengadaan_Barang() {
        initComponents();
        konek = new koneksi();
        select();
    }

 private void select() {
        Object header[] = {"ID PENGADAAN", "TANGGAL", "SUPPLIER", "TOTAL TRANSAKSI", "ACTION"};
        DefaultTableModel defaultTable = new DefaultTableModel(null, header);
        Tabel_pengadaan.setModel(defaultTable);
        Tabel_pengadaan.getColumnModel().getColumn(4).setCellRenderer(new ButtonDetail());

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

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

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

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

    private void insertData() {
        try {
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String tanggal = dateFormat.format(Tanggal.getDate());

            SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd.MM.yyyy");
            String tanggal2 = dateFormat2.format(Tanggal.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++;
                    }
                }
            }

            String id_pengadaan = "TB." + tanggal2 + "." + count;
            String sql = "insert into pengadaan "
                    + "values('" + id_pengadaan + "','nila','" + tanggal + "','" + Supplier.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!!");
        }
    }
Kemudian Untuk Button Insert,Delete sama seperti pada form sebelumnya di Event -> actionPerformed kemudian tuliskan skript berikut:
  • Button Insert:
 if ( Supplier.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
        } else {
        insertData();
        select();
    }             
  • Button Delete: 
 if (Supplier.getText().equals("")) {
          JOptionPane.showMessageDialog(null, "Silahkan pilih data yang akan di Hapus");
        } else {
        deleteData();
        select();
       
    }        
  • Button Cancel:
new FormTampilan().show();
           this.dispose();
Untuk tabel di event->mouseClicked kemudian tuliskan skript berikut:
Id_pengadaan=  Tabel_pengadaan.getValueAt( Tabel_pengadaan.getSelectedRow(),0).toString();
        Supplier.setText( Tabel_pengadaan.getValueAt( Tabel_pengadaan.getSelectedRow(),0).toString());
         if (Tabel_pengadaan.getSelectedColumn() == 4) {
            this.dispose();
            new Detail_Transaksibarang(Id_pengadaan).setVisible(true);
        }
        id_hapus= Tabel_pengadaan.getValueAt(Tabel_pengadaan.getSelectedRow(),0).toString();
Selanjutnya membuat form Detail transaksi untuk menyambungkan ketika detail di klik maka akan mencul tampilan form detail sperti pada gambar dibawah:
Detail Transaksi barang

 
Set harga detai transaksi barang

      Ubah nama text field ,tabel dan buttonnya sesuai script.Buat seperti script berikut untuk menjalankan seperti pada gambar di atas:

package project_toko_kecil;

import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Fg_white
 */
public class Detail_Transaksibarang extends javax.swing.JFrame {

//   koneksi konek;
    ResultSet resultset;
    Statement statement;
    koneksi con;
    int count = 0,count2 = 0;
     private String id_pengadaan,id_edit;
     String id_hapus;

    public Detail_Transaksibarang(String Idtransaksi) {
        initComponents();
        con = new koneksi();

//        totalTransaksi(id_pengadaan);
        select_harga_jual();
        this.id_pengadaan = Idtransaksi;
        select(this.id_pengadaan);
        IdTransaksi.setText(id_pengadaan);
        IdBarang.setEnabled(false);
        IdTransaksi.setEnabled(false);
        IdBarang.setEnabled(false);
        Id_harga_jualB.setEnabled(false);
         panggilKategori();
        NamaBarang.removeAllItems();
        NamaBarang.addItem("-- Pilih --");


    }


    private void clear1() {
        IdBarang.setText("");
        HargaSatuan.setText("");
        Jumlah.setText("");
    }

     private void clear2() {
        Id_harga_jualB.setText("");
        Harga_jual.setText("");
    }

    private void select(String data) {
        Object header[] = {"ID TRANSAKSI", "ID BARANG", "NAMA BARANG", "HARGA BELI", "HARGA JUAL", "JUMLAH", "KADALUARSA"};
        DefaultTableModel defaultTable = new DefaultTableModel(null, header);
        Tabel_detail_Transaksi.setModel(defaultTable);

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

        String sql_select = "select r.ID_PENGADAAN,r.ID_BARANG,b.NAMA_BARANG,r.HARGA_BELI_SATUAN,b.HargaJual,r.Jumlah,r.TGL_KADALUARSA "
                + "from rel_pengadaan_barang r, barang b where r.ID_PENGADAAN='" + data + "' and r.ID_BARANG = b.ID_BARANG";
        try {
            statement = con.connection.createStatement();
            resultset = statement.executeQuery(sql_select);

            while (resultset.next()) {
                String idPengadaan = resultset.getString(1);
                String idBarang = resultset.getString(2);
                String namaBarang = resultset.getString(3);
                double harga_beli = resultset.getDouble(4);
                double harga_jual = resultset.getDouble(5);
                int jumlah = resultset.getInt(6);
                String kadaluarsa = resultset.getString(7);

                Object kolom[] = {idPengadaan, idBarang, namaBarang, harga_beli, harga_jual, jumlah, kadaluarsa};
                defaultTable.addRow(kolom);
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void select_harga_jual() {
        Object header[] = {"ID_BARANG", "NAMA_BARANG", "HARGA_BELI_TERMAHAL", "HargaJual"};
        DefaultTableModel defaultTable = new DefaultTableModel(null, header);
        tabelhargajualbarang.setModel(defaultTable);

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

        String sql_select = "select r.ID_BARANG, b.NAMA_BARANG, max(r.HARGA_BELI_SATUAN),b.hargajual from rel_pengadaan_barang r, barang b where b.ID_BARANG = r.ID_BARANG group by ID_BARANG";
        try {
            statement = con.connection.createStatement();
            resultset = statement.executeQuery(sql_select);

            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) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void panggilKategori() {
        try {
            KategoriBarang.removeAllItems();
            KategoriBarang.addItem("---- Pilih ----");
            String sql = "select KATEGORI from kategori";
            statement = con.connection.createStatement();
            resultset = statement.executeQuery(sql);
            while (resultset.next()) {
                KategoriBarang.addItem(resultset.getString(1));
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void panggilNamaBarang(String data) {
        try {
            String sql = "select NAMA_BARANG from barang where KATEGORI='" + data + "'";
            statement = con.connection.createStatement();
            resultset = statement.executeQuery(sql);
            NamaBarang.removeAllItems();
            NamaBarang.addItem("---- Pilih ----");
            while (resultset.next()) {
                NamaBarang.addItem(resultset.getString(1).toString());
            }
        } catch (Exception e) {
//            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void panggilIdBarang(String data) {
        try {
            String sql = "SELECT ID_BARANG FROM barang WHERE NAMA_BARANG='" + data + "'";
            statement = con.connection.createStatement();
            resultset = statement.executeQuery(sql);
            while (resultset.next()) {
                IdBarang.setText(resultset.getString(1));
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void updateHarga() {
        String sql_update = "update barang set HargaJual = '" + Harga_jual.getText() + "' where ID_BARANG = '" + Id_harga_jualB.getText() + "'";
        try {
            statement = con.connection.createStatement();
            statement.executeUpdate(sql_update);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }

    private void updateDetailTransaksi() {
       String sql=null;

        if (RadioKadaluarsa.isSelected()) {
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String tgl_kadaluarsa = dateFormat.format(TglKadaluarsa.getDate());

            sql ="UPDATE rel_pengadaan_barang "
                    + "SET ID_BARANG ='"+IdBarang.getText()+"', JUMLAH ='"+Jumlah.getText()+"', HARGA_BELI_SATUAN ='"+HargaSatuan.getText()+"',"
                    + "TGL_KADALUARSA ='"+tgl_kadaluarsa+"' WHERE ID_PENGADAAN ='"+id_pengadaan +"' AND ID_BARANG='"+id_edit +"'";
        } else if (RadioKadaluarsa2.isSelected()) {
            sql ="UPDATE rel_pengadaan_barang "
                    + "SET ID_BARANG ='"+IdBarang.getText()+"', JUMLAH ='"+Jumlah.getText()+"', HARGA_BELI_SATUAN ='"+HargaSatuan.getText()+"',"
                    + "TGL_KADALUARSA ='Tidak ada' WHERE ID_PENGADAAN ='"+id_pengadaan +"' AND ID_BARANG='"+id_edit +"'";
        }

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

    private void insertData() {
       String sql = null;

        if (RadioKadaluarsa.isSelected()) {
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String tgl_kadaluarsa = dateFormat.format(TglKadaluarsa.getDate());
         
        sql = "INSERT INTO rel_pengadaan_barang VALUES ('" + IdTransaksi.getText() + "', '" + IdBarang.getText() + "', '" + Jumlah.getText() + "', '" + HargaSatuan.getText() + "','" + tgl_kadaluarsa + "')";

        }
        else if (RadioKadaluarsa2.isSelected()) {
       
         sql = "INSERT INTO rel_pengadaan_barang VALUES ('" + IdTransaksi.getText() + "', '" + IdBarang.getText() + "', '" + Jumlah.getText() + "', '" + HargaSatuan.getText() + "','Tidak ada')";

        }

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

    private void totalTransaksi(String data) {
        String sql_select = "SELECT SUM(JUMLAH*HARGA_BELI_SATUAN) FROM rel_pengadaan_barang WHERE ID_PENGADAAN='" + data + "' group by ID_PENGADAAN";
        try {
            statement = con.connection.createStatement();
            resultset = statement.executeQuery(sql_select);

            while (resultset.next()) {
                Label_TotalTransaksi.setText(resultset.getString(1));
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }


 private void UpdateStok() {
        String idBarang = Id_harga_jualB.getText();
        String jumlah = Jumlah.getText();
        String sqlstok = "SELECT STOK FROM barang WHERE ID_BARANG='" + idBarang + "'";
        try {
           statement = con.connection.createStatement();
           resultset = statement.executeQuery(sqlstok);
            while (resultset.next()) {
                String stoklama = resultset.getString(1);
                double stok = Double.parseDouble(jumlah) + Double.parseDouble(stoklama);
                String sql = "UPDATE barang SET STOK='" + stok + "' WHERE ID_BARANG='" + idBarang + "'";
                try {
                    statement = con.connection.createStatement();
                    statement.executeUpdate(sql);
                } catch (Exception e) {
                    System.out.println("Terjadi kesalahan, karena data telah tersedia!\n" + e.getMessage());
                    JOptionPane.showMessageDialog(null, "Terjadi kesalahan, karena data telah tersedia!\n" + e.getMessage());
                }
            }
        } catch (Exception e) {
            System.out.println("Terjadi kesalahan, karena " + e.getMessage());
            JOptionPane.showMessageDialog(null, "Terjadi kesalahan, karena " + e.getMessage());
        }
    }

 private void TotalTransaksidipengadaan() {
        String idTrans = IdTransaksi.getText();
        String total = Label_TotalTransaksi.getText();
        String sqlTotal = "UPDATE pengadaan SET Total_Transaksi='" + total + "' WHERE ID_PENGADAAN='" + idTrans + "'";
        try {
            statement = con.connection.createStatement();
            statement.executeUpdate(sqlTotal);
        } catch (Exception e) {
            System.out.println("Terjadi kesalahan, karena data telah tersedia!\n" + e.getMessage());
            JOptionPane.showMessageDialog(null, "Terjadi kesalahan, karena data telah tersedia!\n" + e.getMessage());
        }
    }

 private void deleteData() {
        String sql_delete = "DELETE FROM rel_pengadaan_barang WHERE ID_PENGADAAN ='" + IdTransaksi.getText() + "' AND ID_BARANG ='" + IdBarang.getText() + "'";
        try {
            statement = con.connection.createStatement();
            statement.executeUpdate(sql_delete);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Data masih digunakan!!");
        }
    }

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

        String cari = TextSearch.getText();
        String sql = "select r.ID_BARANG, b.NAMA_BARANG, max(r.HARGA_BELI_SATUAN),b.HargaJual 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 = con.connection.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());
        }
    }
Untuk button Insert,Edit,Delete menggunakan script yang sama seperti pada form yang sebelumnya,untuk Set harga pada Harga Jual Barang gunakan script berikut jangan lupa di event-> actionPerformed dulu kemudian tulis scriptnya seperti berikut:

 if (Id_harga_jualB.getText().isEmpty()) {
            JOptionPane.showMessageDialog(null, "Pilih data yang akan diedit");
        } else {
            int hasil = JOptionPane.showConfirmDialog(null, "Apakah benar anda ingin mengedit data dengan kode : "
                    + Id_harga_jualB.getText(), null, JOptionPane.YES_NO_OPTION);
            if (hasil == JOptionPane.YES_OPTION) {
                updateHarga();
                select_harga_jual();
                select(id_pengadaan);
                clear2();
            } else if (hasil == JOptionPane.NO_OPTION) {
                clear2();
            }
        }
Untuk text Search kita event->actionPerformed dan event key->keyTyped kemudian panggil class search yang sudah kita buat Search(); ->di isikan pada kedua event.
Setelah berhasil kemudian kita buat form stok Barang seperti pada tampilan berikut:


Untuk menjalankan fungsi ketika diketikkan pada search kemudian muncul data barang yang sudah di inputkan beserta stoknya maka gunakan script berikut:

package project_toko_kecil;

import com.mysql.jdbc.Statement;
import static java.awt.image.ImageObserver.WIDTH;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class form_STok_Barang extends javax.swing.JFrame {
    ResultSet resultset;
    Statement statement;
    koneksi con;
  
    public form_STok_Barang() {
        initComponents();
        setTitle("Stok Barang");
         con = new koneksi();

    }

    private void select(String sql){
        String header[]={"ID_BARANG","KATEGORI","NAMA_BARANG","STOK"};
        DefaultTableModel defaultTableModel=new DefaultTableModel(null,header);
        TabelStok.setModel(defaultTableModel);

        for (int i=0;i
            defaultTableModel.removeRow(i);
          }
        try {
            statement=(Statement) con.connection.createStatement();
            resultset=statement.executeQuery(sql);


            while(resultset.next()){
                String id=resultset.getString(1);
                String kategori=resultset.getString(2);
                String nama=resultset.getString(3);
                int stok=resultset.getInt(4);

                Object baris[]={id,kategori,nama,stok};
                defaultTableModel.addRow(baris);
            }
           
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,e.getMessage());
        }
    }

kemudian untuk text field Search kita event->key->keyTyped tuliskan script berikut:

String sqlSearch="select*from barang where NAMA_BARANG like '%"+Search.getText()+"%'";
      select(sqlSearch);
jangan lupa set nama Textfieldnya terlebih dahulu,untuk button Back linkan pada form tampilan awal menu utama.Terimakasih...!!

Semoga Bernmanfaat..!!!








Featured post

Instalasi Dan Konfigurasi Android ( ECLIPSE )

Sebelum instalasi eclipse terlebih dahulu kita sediakan perangkat software yang dibutuhkan seperti berikut : ·   Instalasi Java JDK · ...