Monday, May 30, 2016

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 :)


Seseorang yang ingin membagi pengalaman dan ilmu yang berguna untuk para pembaca FajarYusuf.Com :)

Cobalah untuk memilih Pelajaran Pemrograman dan belajar dari Materi Pertama
EmoticonEmoticon


TENTANG SITUS

SITUS INI ADALAH SITUS PEMBELAJARAN PEMROGRAMAN DAN JUGA PEMAHAMAN TERHADAP TEKNOLOGI KOMPUTER. KALIAN BISA MENGIKUTI PEMBELAJARAN PEMROGRAMAN DENGAN BERTAHAP PADA MATERI YANG SUDAH SAYA SEDIAKAN, JIKA ADA MATERI YANG MEMBINGUNGKAN SILAKAN LAKUKAN KOMENTAR PADA MATERI YANG ANDA TANYAKAN ATAU KALIAN BISA MENGHUBUNGI SAYA DIHALAMAN KONTAK.

https://smallseotools.com/