Latihan10 (Pembuatan Aplikasi Office Supply Order) "PART3"

Pembuatan Aplikasi Office Supply Order "PART3"

Pembuatan TampilanData Produk
1. Klik Kanan Pada Package Oso_appNew -> Other


2. Pilih Swing GUI Forms ->  JDialog Form

3. Next, isi Class Name : DataProduk   ->   Finish


4. Desain Form seperti dibawah ini :




Ketik Script dibawah ini :





/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Oso_app;
import java.sql.*;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;/**
 *
 * @author yudhis
 */
public class DataProduk extends javax.swing.JDialog {
    koneksi kon=new koneksi();

    public Form_Pesanan pesanan = null;

    private Object [][] dataproduk=null;

    private String[]label={"Id Produk","Id Kategori","Nama Produk","Unit Cost","Id_Supplier"};
    /**
     * Creates new form DataProduk
     */
public DataProduk(java.awt.Frame parent, boolean modal) {
    super(parent, modal);
        initComponents();
kon.setKoneksi();
        BacaTabelProduk();
        tcari.setText("");
        tcari.requestFocus();
}

private void BacaTabelProduk(){

try{

            String sql="Select *From produk order by id_produk";

            kon.rs=kon.st.executeQuery(sql);

            ResultSetMetaData m=kon.rs.getMetaData();

            int kolom=m.getColumnCount();

            int baris=0;

            while(kon.rs.next()){

                baris=kon.rs.getRow();

            }

            dataproduk=new Object[baris][kolom];

            int x=0;

            kon.rs.beforeFirst();

            while(kon.rs.next()){

                dataproduk[x][0]=kon.rs.getString("id_produk");

                dataproduk[x][1]=kon.rs.getString("id_kategori");

                dataproduk[x][2]=kon.rs.getString("nama_produk");

                dataproduk[x][3]=kon.rs.getString("unitcost");

                dataproduk[x][4]=kon.rs.getString("id_supplier");

                x++;

            }

            tbl_produk.setModel(new DefaultTableModel(dataproduk,label));

        }

        catch(SQLException e){

            JOptionPane.showMessageDialog(null, e);

        }

}



     private void BacaTabelProduk2(){

try{

            String sql="select *from produk where nama_produk like '%" +tcari.getText()+ "%' ";

            kon.rs=kon.st.executeQuery(sql);

            ResultSetMetaData m=kon.rs.getMetaData();

            int kolom=m.getColumnCount();

            int baris=0;

            while(kon.rs.next()){

                baris=kon.rs.getRow();

            }

             dataproduk=new Object[baris][kolom];

            int x=0;

            kon.rs.beforeFirst();

            while(kon.rs.next()){

                  dataproduk[x][0]=kon.rs.getString("id_produk");

                dataproduk[x][1]=kon.rs.getString("id_kategori");

                dataproduk[x][2]=kon.rs.getString("nama_produk");

                dataproduk[x][3]=kon.rs.getString("unitcost");

                dataproduk[x][4]=kon.rs.getString("id_supplier");

                 x++;

            }

            tbl_produk.setModel(new DefaultTableModel(dataproduk,label));

        }

        catch(SQLException e){

            JOptionPane.showMessageDialog(null, e);

        }

    }

Penjelasan Script diatas :
 

5. Klik Kanan pada tcari, Pilih Events ->  Key KeyTyped
     Ketik Script dibawah ini :


private void tcariKeyTyped(java.awt.event.KeyEvent evt) {
        // TODO add your handling code here:
BacaTabelProduk2();
    }

5. Klik Kanan pada tbl_produk, Pilih Events   ->  MousemouseClicked
     Ketik Script dibawah ini :


private void tbl_produkMouseClicked(java.awt.event.MouseEvent evt) {                                       
// TODO add your handling code here:
int tabelBarang = tbl_produk.getSelectedRow();

  pesanan.KodeProduk = tbl_produk.getValueAt(tabelBarang, 0).toString();

  this.dispose();   
}                                      


Pembuatan Form Pesanan

1. Klik Kanan Pada Package Oso_appNew ->  JFrame Form





2. isi Class Name : Form_Pesanan, setelah itu pilih Finish



3. Pada form klik kanan -> Set Layout -> Absolute Layout
4. Klik formà Properties -> defaultCloseOperation: DISPOSE
5. Klik formà Properties -> CodeForm Size Policy : Generate Resize Code
6. Desain Form Pesanan seperti dibawah ini :


Ketik Script dibawah  ini :



/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Oso_app;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.table.TableColumn;/**
 *
 * @author yudhis
 */
public class Form_Pesanan extends javax.swing.JFrame {
 koneksi kon=new koneksi();

     private Object [][] datasementara=null;

     private String[]labelsementara={"Id Produk","Jumlah"};
    /**
     * Creates new form Form_Pesanan
     */
    public Form_Pesanan() {
        initComponents();
tid_produk.setEnabled(false);

        setTanggal();

        kon.setKoneksi();

        nonaktif();
    }

 public String KodeProduk;



    public String getKodeProduk() {

     return KodeProduk;

    }



 void setTanggal(){

 java.util.Date skrg = new java.util.Date();

    java.text.SimpleDateFormat kal = new java.text.SimpleDateFormat("yyyy-MM-dd");

    ttanggal.setText(kal.format(skrg));

    }



   public String getnoPS()

 {

        String urutan=null;

        try{

kon.rs=kon.st.executeQuery("select right(id_pesanan,3)+1 from pesanan as Nomor order by id_pesanan desc");

            if(kon.rs.next())

            {

                urutan=kon.rs.getString(1);

                while(urutan.length()<3)

                    urutan="0"+urutan;

                urutan="PS-"+urutan;

            }else

            {

                urutan="PS-"+"001";

            }

        }catch(Exception e){

            JOptionPane.showMessageDialog(null,"No PS Error : "+e);

        }

         return urutan;

    }





   private void BacaTabelSementara(){

     try{

            String sql="Select *From sementara order by id_produk";

            kon.rs=kon.st.executeQuery(sql);

            ResultSetMetaData m=kon.rs.getMetaData();

            int kolom=m.getColumnCount();

            int baris=0;

            while(kon.rs.next()){

                baris=kon.rs.getRow();

            }

            datasementara=new Object[baris][kolom];

            int x=0;

            kon.rs.beforeFirst();

            while(kon.rs.next()){

                datasementara[x][0]=kon.rs.getString("id_produk");

                datasementara[x][1]=kon.rs.getString("qty");

                x++;

            }

            tblPesanan.setModel(new DefaultTableModel(datasementara,labelsementara));

        }

        catch(SQLException e){

            JOptionPane.showMessageDialog(null, e);

        }

    }





private void SimpanSementara(){

        try{

            String sql="insert into sementara values('"+tid_produk.getText()+"','"+tjumlah.getText()+"')";

            kon.st.executeUpdate(sql);

            BacaTabelSementara();

        }

        catch(SQLException e){

            JOptionPane.showMessageDialog(null,e);

        }

    }





private void HapusSementara(){

              int row=tblPesanan.getSelectedRow();

        try{

            String sql="Delete from sementara where id_produk='"+(String)tblPesanan.getValueAt(row,0)+"'";

            kon.st.executeUpdate(sql);

            BacaTabelSementara();

        }

        catch(SQLException e){

            JOptionPane.showMessageDialog(null, e);

        }

    }



private void hapusSementara2(){

           try{

            String sql="Delete from sementara ";

            kon.st.executeUpdate(sql);

            BacaTabelSementara();

        }

        catch(SQLException e){

            JOptionPane.showMessageDialog(null, e);

        }   

      }



void simpanPesanan(){

        try{

            String sql = "insert into pesanan values ('"+tid_pesanan.getText() +"','"+ttanggal.getText()+"')";

            kon.st.executeUpdate(sql);



            String detail = "insert item_pesanan select '" +tid_pesanan.getText() +"',id_produk,qty from sementara ";

            kon.st.executeUpdate(detail);





            JOptionPane.showMessageDialog(this,"Berhasil disimpan","Informasi", JOptionPane.INFORMATION_MESSAGE);

        }catch(SQLException e){

            System.out.println("koneksi gagal"+ e.toString());

        }

          }



private void BersihField(){

       tid_produk.setText("");

tjumlah.setText("");

        }



private void aktif(){

        tid_produk.setEnabled(true);

        tjumlah.setEnabled(true);



      }



       private void nonaktif(){

        ttanggal.setEnabled(false);

        tid_pesanan.setEnabled(false);

        tid_produk.setEnabled(false);

        tjumlah.setEnabled(false);

        bsimpan.setEnabled(false);



       }

7. Klik Kanan pada browse, Pilih Events  ->   ActionactionPerformed
     Ketik Script dibawah ini :


private void browseActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        boolean closable = true;

        DataProduk dataProduk = new DataProduk(null, closable);

        dataProduk.pesanan = this;

        dataProduk.setVisible(true);

        dataProduk.setResizable(true);

        tid_produk.setText(KodeProduk);
    } 

8. Klik Kanan pada btambah, Pilih Events -> Action actionPerformed
     Ketik Script dibawah ini :


private void btambahActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:\
aktif();

        bbatal.setEnabled(true);

        bsimpan.setEnabled(true);

        btambah.setEnabled(false);

        tid_produk.setEnabled(false);

        tid_pesanan.setText(getnoPS());

        tid_pesanan.setEnabled(false);
    }

9. Klik Kanan pada tjumlah, Pilih Events   ->   Action actionPerformed
     Ketik Script dibawah ini :


private void tjumlahActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
try{

       String sql="select *from sementara where id_produk='" +tid_produk.getText()+ "'";

       kon.rs=kon.st.executeQuery(sql);

       if(kon.rs.next())

      {

        JOptionPane.showMessageDialog(this,"Kode Sudah Dipilih...","Informasi", JOptionPane.INFORMATION_MESSAGE);

        browse.requestFocus();

        tid_produk.setText("");

      }

       else

       {

         SimpanSementara();

        if (JOptionPane.showConfirmDialog(this, "Mau Tambah Barang?", "konfirmasi", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {

            tid_produk.requestFocus();

           tid_produk.setText("");

           tjumlah.setText("");

        } else {

            BersihField();

bsimpan.requestFocus();

            return;

        }



       }

     }

        catch(SQLException e){

            JOptionPane.showMessageDialog(null, e);

        }
    }

10. Klik Kanan pada tkurang, Pilih Events  ->   Action actionPerformed
     Ketik Script dibawah ini :


private void tkurangActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
          HapusSementara();
    }

11. Klik Kanan pada bbatal, Pilih Events       Action actionPerformed
     Ketik Script dibawah ini :



private void bbatalActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
HapusSementara2();

        bsimpan.setEnabled(false);

        btambah.setEnabled(true);

        tid_pesanan.setText("");

        BersihField();

        nonaktif();
    } 

12. Klik Kanan pada bsimpan, Pilih Events -> Action actionPerformed
     Ketik Script dibawah ini :


private void bsimpanActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
simpanPesanan();

        HapusSementara2();

        bsimpan.setEnabled(false);

        btambah.setEnabled(true);

        BersihField();

        tid_pesanan.setText("");

        nonaktif();
    }    

13. Klik Kanan pada btutup, Pilih Events   ->  Action actionPerformed
     Ketik Script dibawah ini :


private void btutupActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
dispose();
    } 



Lanjut ke part 4 ya :)


MATERI JAVA NETBEANS

Untuk kalian yang baru belajar java netbeans belajarlah dari materi pertama :
Materi ke-1 : Teori Java Netbeans
Materi ke-2 : Konsep Dasar Class Object
Materi ke-3 : Encapsulation
Materi ke-4 : Pewarisan
Materi ke-5 : Polymorpishm
Materi ke-6 : JFrame dan Objek
Materi ke-7 : Operator
Materi ke-8 : Percabangan
Materi ke-9 : Perulangan
Materi ke-10 : Dasar SQL Java
Materi ke-11 : Pembuatan Aplikasi Supply Part 1
Materi ke-12 : Pembuatan Aplikasi Supply Order Part 2
Materi ke-13 : Pembuatan Aplikasi Supply Order Part 3
Materi ke-14 : Pembuatan Aplikasi Supply Order Final
Artikel Terkait:
Disqus Comments