Pages

Rabu, 17 Juli 2013

Form Input Barang Aplikasi Minimarket Java - MySQL


     Form ini berfungsi untuk menginputkan barang baru setelah form kategori barang telah dibuat. Pada form ini, kategori barang pada form tidak di inputkan secara manual. Melainkan mengambil secara langsung dari tabel kategori. Untuk lebih jelas bagaimana langkah untuk membuatnya, dapat diikuti panduan berikut ini :
1. Buat sebuah form input barang seperti pada gambar berikut :


2. Kemudian beri nama txtfield id barang, txtfield nama barang, combo box kategori, tabel input barang, button delete, button edit serta button insert dan button cancel.

3. Jika selesai memberikan nama. Langkah berikutnya yaitu seperti biasa mendeklarasikan koneksi , resulSet dan statement. 
    koneksi k;
    Statement statement;
    ResultSet resultSet;
4. Panggil method koneksi pada konstruktor :
 k = new koneksi();
5. Setelah itu, masih ingat bagaimana cara menampilkan database tabel barang ke dalam tabel form ? Simak script berikut untuk menampilkannya :
private void select(){
        Object header[] = {"ID BARANG","KATEGORI","NAMA BARANG"};
        DefaultTableModel defaultTable = new DefaultTableModel(null,header);
        tabelBarang.setModel(defaultTable);
        
        int baris = tabelBarang.getRowCount();
        for (int i = 0; i < baris; i++) {
            defaultTable.removeRow(i);
        }
        
        String sql_select = "select * from barang";
        try {
            statement = k.con.createStatement();
            resultSet = statement.executeQuery(sql_select);
            
            while(resultSet.next()){
                String idBarang = resultSet.getString(1);
                String kategori = resultSet.getString(2);
                String namaBarang = resultSet.getString(3);
                
                String kolom[] = {idBarang,kategori,namaBarang};
                defaultTable.addRow(kolom);
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
Keterangan :  code di atas akan menampilkan id barang, kategori , nama barang pada tabel barang. perintah sql dengan "select * from barang" akan memanggil semua kolom yang berada pada tabel barang. akan tetapi yang di tampilkan pada form hanyalah id barang, kategori , nama barang.

6. Panggil class di atas dengan meletakkan select ( ) tepat dibawah konstruktor.

7. Kemudian coba jalankan program, jika berhasil akan tampil sebagai berikut :


8. Selanjutnya adalah bagaimana menampilkan data kategori pada tabel kategori  di combo box kategori ?. Lihat hasil berikut :


9. Cara menampilkan seperti di atas adalah, dapat dilihat pada source code dibawah ini :
private void panggilKategori(){
        try {
            comboKategori.removeAllItems();
            String sql="select kategori from kategori";
            resultSet = statement.executeQuery(sql);
            while(resultSet.next()){
                comboKategori.addItem(resultSet.getString(1));
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
10. Selanjutnya adalah melakukan insert data pada form input barang. Ini digunakan ketika terdapat barang baru yang dimasukkan. Dengan cara mengklik kategori apa barang tersebut. dan masukkan id baru serta nama barang. Berikan id yang mudah diingat agar tidak lupa terhapad nama barangnya. buat class seperti berikut ini :
 private void insertData(){
        String idBarang = comboKategori.getSelectedItem().toString();
        
        String sql_insert  = "insert into barang values('"+txtIdBarang.getText() +"','"+idBarang +""
                + "','"+txtnamaBarang.getText() +"',0,0)"; 
        try {
            statement.executeUpdate(sql_insert);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
Keterangan : pada syntax insert data , data yang akan dimasukkan hanya pada id barang, kategori yang diberi variable idBarang, serta nama barang. Pada database tabel barang terdapat stok dan harga jual. Pada kolom tersebut mula-mula di set dengan angka 0.

11. Setelah itu beri validasi pada action performed button insert :
 if (txtIdBarang.getText().isEmpty() || txtnamaBarang.getText().isEmpty() ) {
            JOptionPane.showMessageDialog(null, "Pengisian Form Harus Lengkap");
        }else{
            insertData();
            select();
            clear();
        }
12. Pada source code di atas, terdapat clear ( ) ; ,apa fungsinya ? untuk menghapus data pada txtfield id barang dan txtnama barang ketika barang baru telah di masukkan. Caranya adalah buat source code seperti dibawah ini :
 private void clear(){
        txtIdBarang.setText("");
        txtnamaBarang.setText("");
    }
13. Coba RUN program pada Netbeans dengan menekan Shift + F6 :


14. Insert sebuah barang baru pada kategori ATK, nama barang bernama Rotan dan id barang adalah ATK4. Jika sudah mengisi pada kolom id barang dan nama barang, klik button insert :


15. Lihat pada tabel. Jika barang yang kita isi sebelumnya pada tabel telah tampil. Maka insert data telah berhasil. Jika belum teliti pada langkah-langkah yang sudah dibuat sebelumnya.

16. Apa langkah selanjutnya? jika barang baru yang telah kita masukkan mengalami kesalahan, bisa melakukan edit data dengan memberikan perintah atau source code untuk menjalankan sistem nya. Buat sebuah class untuk menuliskan source code dibawah ini :
 private void updateData() {
        String sql_update = "update barang set kategori = '"+comboKategori.getSelectedItem().toString() 
                +"',nama_barang='"+txtnamaBarang.getText() +"' where id_barang = '"+txtIdBarang.getText() +"'";
        try {
            statement.executeUpdate(sql_update);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
17. Kemudian seperti halnya langkah insert data yaitu memberikan validasi serta meletakkan script di atas pada action performed edit button dengan cara double klik pada button edit. dan letakkan source code berikut :
  if (txtIdBarang.getText().isEmpty()) {
            JOptionPane.showMessageDialog(null, "Pilih data yang akan diedit");
        }else {
            int hasil = JOptionPane.showConfirmDialog(null, "Apakah benar anda ingin mengedit data dengan kode : "
                    +txtIdBarang.getText(),null,JOptionPane.YES_NO_OPTION);
            if (hasil == JOptionPane.YES_OPTION) {
                updateData();
                select();
                clear();
            }else if (hasil == JOptionPane.NO_OPTION) {
                clear();
            }
        }  
18. Setelah itu jalankan program. Kemudian Cari id barang ATK4 dan coba lakukan edit data dengan mengganti nama barang yang semula "Rotan" menjadi "Cutter".  dan klik button edit :


19. Setelah mengklik button edit , akan muncul sebuah pesan konfirmasi bahwa "Apakah akan mengedit data atau tidak ?" jika ingin melakukan edit, maka klik "Yes" , klik "No" Jika sebaliknya.


20. Kemudian lihat pada tabel, apakah data yang telah diganti sebelumnya telah tereksekusi atau tidak? Jika anda melakukan langkah secara benar, akan berhasil seperti gambar berikut :


21. Langkah selanjutnya adalah menghapus data. Fungsi ini sangat diperlukan ketika kita tidak memerlukan data, kita bisa melakukan delete. Bagaimana scriptnya ? ikuti langkah berikut, membuat source code untuk menghapus data :
private void deleteData(){
        String sql_delete  = "delete from barang where id_barang = '"+txtIdBarang.getText() +"'"; 
        try {
            statement.executeUpdate(sql_delete);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
22. Kemudian double klik button delete dan letakkan code berikut :
 if (txtIdBarang.getText().isEmpty()) {
            JOptionPane.showMessageDialog(null, "Pilih data yang akan dihapus");
        }else {
            int hasil = JOptionPane.showConfirmDialog(null, "Apakah benar anda ingin menghapus kode kategori : "
                    +txtIdBarang.getText(),null,JOptionPane.YES_NO_OPTION);
            if (hasil == JOptionPane.YES_OPTION) {
                deleteData();
                select();
                clear();
            }else if (hasil == JOptionPane.NO_OPTION) {
                clear();
            }
        }  

23. Kemudian jalankan program dan setelah itu, hapus idbarang ATK4 :


24. Akan muncul pesan konfirmasi seperti biasa, klik "Yes" untuk meneruskan penghapusan data :


25. Jika data telah terhapus seperti dibawah ini : maka anda telah berhasil dalam mengikuti langkah-langkah di atas :


26. yang terakhir adalah membuat action performed button cancel, button ini akan mengembalikan ke form menu utama. Ketik source code berikut ini :
        clear();
        new Menu_Utama(Form_Login.kondisiLogin).setVisible(true);
        this.dispose();
27. Selesai, Ikuti langkah diatas dengan benar agar dapat menjalankan form input barang.

2 komentar:

Tulis komentar disini!