47
BAB VII STUDI KASUS OFFICE SUPPLY ORDER APPLICATION 7.1 Pembuatan Database pada Phpmyadmin 1.
Membuat Database Database: oso_db a. Tabel : produk Field
Type
Length
Keterangan
Id_produk
Char
10
Primary Key
Id_kategori
Int
Nama_produk Varchar Unitcost
Double
Id_supplier
Char
b. Tabel
30
10
: Kategori
Field
Type
Length
Keterangan
Id_kategori
Int
3
Primary Key
Nama_kategori Varchar c. Tabel
: pegawai
Field
Type
30
Length
Keterangan
Id_pegawai Char
8
Primary Key
Username
Varchar
15
Password
Varchar
15
Departemen Varchar
20
Manajer
30
Varchar
Isikan data melalui menu Insert: KodeUser NamaUser
Password
departemen
Manajer
P001
Yudhistira
123
Technical Support
Andi
P002
Riyadi
Riyadi
Accounting
Budi
48 d. Tabel
: Supplier
Field
Type
Length
Keterangan
Id_supplier
Char
10
Primary Key
Nama_supplier Varchar e. Tabel
30
: Pesanan
Field
Type
Length
Keterangan
Id_pesanan
Char
8
Primary Key
Id_pegawai
Char
8
Tgl_pesanan Date Status f. Tabel Field
Varchar
15
: item_pesanan Length
Keterangan
Id_pesanan Char
10
Foreign Key
Id_produk Char
10
Qty g. Tabel Field
Type
Int : sementara Type
Id_produk Char Qty
Int
Length 10
Keterangan
49
7.2 Pembuatan Class Koneksi 1. Buatlah Folder untuk menyimpan project. 2. File à New Project
3. Next
50
4. isi Project Name: oso_app 5. Pilih tempat penyimpanan 6. Finish 7. Klik kanan pada Source Package, pilih New à Java Class
8. isi Class Name : koneksi Package : Oso_app
9. Finish
51
10. 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; /** * * @author yudhis */ public class koneksi { Connection conn; Statement st; ResultSet rs; public Connection setKoneksi() { try{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost/oso_db","root","") ; st=conn.createStatement(); } catch(Exception e){ JOptionPane.showMessageDialog(null,"Koneksi Gagal : " +e); } return conn; } }
11. Tambahkan Libraries untuk menghubungkan ke database Klik kanan pada Libraries à Add Libraries
52
Pilih MySQL JDBC Driver à Add Library
53
7.3. Pembuatan Form Master Produk 1. Klik Kanan Pada Package Oso_app
New
JFrame Form..
2. isi Class Name : Form_Produk, setelah itu pilih Finish
3. Pada form klik kanan à Set Layout à Absolute Layout 4. Klik formà Properties à defaultCloseOperation: DISPOSE 5. Klik formà Properties àCode
Form Size Policy : Generate Resize Code
54
6. Desain Form Produk seperti dibawah ini : cbsupplier cbkategori
bt_keluar
bt_edit
bt_tambah
bt_hapus bt_simpan
bt_update
bt_batal
Tbl_produk
55
7. cbkategori dan cbsupplier berisikan “=PILIH=
Ketik Script dibawah ini pada tampilan listing: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package Oso_app; import java.awt.event.KeyEvent; import java.sql.*; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.*; import javax.swing.table.DefaultTableModel; import sun.misc.Cleaner; /** * * @author yudhis */ public class Form_Produk extends javax.swing.JFrame { koneksi kon=new koneksi(); private Object [][] dataproduk=null; private String[]label={"Id Produk","Id Kategori","Nama Produk","Unit Cost","Id_Supplier"}; /** * Creates new form Form_Produk */ public Form_Produk() { initComponents(); kon.setKoneksi(); nonaktif(); BacaTabelProduk(); isiNamaKategori(); isiNamaSupplier(); tid_kategori.setVisible(false); tid_supplier.setVisible(false); } void isiNamaKategori(){ try{
56 String sql="Select *From kategori"; kon.rs=kon.st.executeQuery(sql); while (kon.rs.next()){ cbkategori.addItem(kon.rs.getString("nama_kategori")); } }catch(SQLException e){ System.out.println("Koneksi Gagal"+ e.toString()); } } void isiNamaSupplier(){ try{ String sql="Select *From supplier "; kon.rs=kon.st.executeQuery(sql); while (kon.rs.next()){ cbsupplier.addItem(kon.rs.getString("nama_supplier")); } }catch(SQLException e){ System.out.println("Koneksi Gagal"+ e.toString()); } } private String idProduk() { String no=null; try{ kon.setKoneksi(); String sql = "Select right(id_produk,3)+1 from produk "; ResultSet rs = kon.st.executeQuery(sql); if (rs.next()){ rs.last(); no = rs.getString(1); while (no.length()<3){ no="00"+no; no="B"+no; tid_produk.setText(no); } }else{ no="B001"; tid_produk.setText(no); } }catch (Exception e){ }return no; } 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");
57 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); } } void isiNamaKategori2(){ try{ kon.setKoneksi(); String sql="Select *From kategori where id_kategori='"+tid_kategori.getText()+"'"; kon.rs=kon.st.executeQuery(sql); if (kon.rs.next()){ cbkategori.setSelectedItem(kon.rs.getString("nama_kategori")); } }catch(SQLException e){ System.out.println("Koneksi Gagal"+ e.toString()); } }
58 void isiNamaSupplier2(){ try{ String sql="Select *From supplier where id_supplier='"+tid_supplier.getText()+"'"; kon.rs=kon.st.executeQuery(sql); if(kon.rs.next()){ cbsupplier.setSelectedItem(kon.rs.getString("nama_supplier")); } }catch(SQLException e){ System.out.println("Koneksi Gagal"+ e.toString()); } } private void setTable(){ int row=tbl_produk.getSelectedRow(); tid_produk.setText((String)tbl_produk.getValueAt(row,0)); tid_kategori.setText((String)tbl_produk.getValueAt(row,1)); tnm_produk.setText((String)tbl_produk.getValueAt(row,2)); tunit_cost.setText((String)tbl_produk.getValueAt(row,3)); tid_supplier.setText((String)tbl_produk.getValueAt(row,4)); } private void BersihField(){ tunit_cost.setText(""); tid_produk.setText(""); tnm_produk.setText(""); tnm_produk.setText(""); tcari.setText(""); } private void aktif(){ tid_produk.setEnabled(true); tnm_produk.setEnabled(true); tunit_cost.setEnabled(true); cbkategori.setEnabled(true); cbsupplier.setEnabled(true); } private void nonaktif(){ tid_produk.setEnabled(false); tnm_produk.setEnabled(false); tunit_cost.setEnabled(false); cbkategori.setEnabled(false); cbsupplier.setEnabled(false); bt_edit.setEnabled(false); bt_update.setEnabled(false); bt_hapus.setEnabled(false); bt_simpan.setEnabled(false); } private void SimpanData(){ try{ String sql="insert into produk values('"+tid_produk.getText() +"','"+tid_kategori.getText()+"','"+tnm_produk.getText() +"','"+tunit_cost.getText()+"','"+tid_supplier.getText()+"')"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil disimpan"); BersihField(); BacaTabelProduk();
59 } catch(SQLException e){ JOptionPane.showMessageDialog(null,e); } } private void EditData(){ try{ String sql="Update produk set id_produk='"+tid_produk.getText() +"',id_kategori='"+tid_kategori.getText() +"',id_supplier='"+tid_supplier.getText() +"',nama_produk='"+tnm_produk.getText()+"',unitcost='"+tunit_cost.getText() +"' where id_produk='"+tid_produk.getText()+"'"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil diupdate"); BersihField(); BacaTabelProduk(); kon.st.close(); } catch(SQLException e){ JOptionPane.showMessageDialog(null,e); } } private void HapusData(){ try{ String sql="Delete from produk where id_produk='"+tid_produk.getText()+"'"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil dihapus"); BersihField(); BacaTabelProduk(); kon.st.close(); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } }
8. Klik kanan pada Jframe, Pilih Events
Window
WindowActivated
60
9. Ketik Script dibawah ini : private void formWindowActivated(java.awt.event.WindowEvent evt) { // TODO add your handling code here: BersihField(); nonaktif(); }
10. Klik Kanan pada bt_keluar, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: dispose(); }
11. Klik Kanan pada bt_tambah, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: idProduk(); aktif(); bt_batal.setEnabled(true); bt_tambah.setEnabled(false); bt_simpan.setEnabled(true); }
12. Klik Kanan pada cbkategori, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void cbkategoriActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try{ kon.setKoneksi(); String sql="Select *From kategori where nama_kategori='"+cbkategori.getSelectedItem()+"'"; kon.rs=kon.st.executeQuery(sql); if (kon.rs.next()){ tid_kategori.setText(kon.rs.getString("id_kategori")); } }catch(SQLException e){ System.out.println("Koneksi Gagal"+ e.toString());
61
}
}
13. Klik Kanan pada cbsupplier, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void cbsupplierActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try{ kon.setKoneksi(); String sql="Select *From supplier where nama_supplier='"+cbsupplier.getSelectedItem()+"'"; kon.rs=kon.st.executeQuery(sql); if (kon.rs.next()){ tid_supplier.setText(kon.rs.getString("id_supplier")); } }catch(SQLException e){ System.out.println("Koneksi Gagal"+ e.toString()); } }
14. Klik Kanan pada bt_batal, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_batalActionPerformed(java.awt.event.ActionEvent evt) { nonaktif(); BersihField(); bt_tambah.setEnabled(true); cbkategori.setSelectedItem("=PILIH="); cbsupplier.setSelectedItem("=PILIH="); try { kon.st.close(); } catch (SQLException ex) { Logger.getLogger(Form_Produk.class.getName()).log(Level.SEVERE, null, ex); } }
15. Klik Kanan pada bt_simpan, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (tid_produk.getText().isEmpty() || tnm_produk.getText().isEmpty() || tunit_cost.getText().isEmpty()) { JOptionPane.showMessageDialog(this, "Lengkapi Data", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE); bt_tambah.setEnabled(true); } else { bt_tambah.setEnabled(true); bt_keluar.setEnabled(true); SimpanData(); cbkategori.setSelectedItem("=PILIH="); cbsupplier.setSelectedItem("=PILIH="); try { kon.st.close(); } catch (SQLException ex) { Logger.getLogger(Form_Produk.class.getName()).log(Level.SEVERE, null, ex); } } }
62
16. 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: kon.setKoneksi(); BacaTabelProduk2(); }
17. Klik Kanan pada tbl_produk, Pilih Events
Mouse
MouseClicked
Ketik Script dibawah ini : private void tbl_produkMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: setTable(); isiNamaKategori2(); isiNamaSupplier2(); bt_hapus.setEnabled(true); bt_edit.setEnabled(true); bt_tambah.setEnabled(false); }
63
18. Klik Kanan pada bt_hapus, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (JOptionPane.showConfirmDialog(this, "yakin mau dihapus?", "konfirmasi", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { HapusData(); bt_tambah.setEnabled(true); nonaktif(); BersihField(); cbkategori.setSelectedItem("=PILIH="); cbsupplier.setSelectedItem("=PILIH="); } else { JOptionPane.showMessageDialog(this, "Data Batal Dihapus", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE); bt_tambah.setEnabled(true); nonaktif(); BersihField(); cbkategori.setSelectedItem("=PILIH="); cbsupplier.setSelectedItem("=PILIH=");
}
return; } formWindowActivated(null);
19. Klik Kanan pada bt_edit, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_editActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: aktif(); tid_produk.setEnabled(false); bt_edit.setEnabled(false); bt_update.setEnabled(true); bt_batal.setEnabled(true); bt_hapus.setEnabled(false); bt_tambah.setEnabled(false); }
20. Klik Kanan pada bt_update, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_updateActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: bt_update.setEnabled(false); bt_tambah.setEnabled(true); EditData(); cbkategori.setSelectedItem("=PILIH="); cbsupplier.setSelectedItem("=PILIH="); }
64
7.4. Pembuatan Form Master Pegawai 1. Klik Kanan Pada Package Oso_app
New
JFrame Form
2. isi Class Name : Form_Pegawai, setelah itu pilih Finish
3. Pada form klik kanan à Set Layout à Absolute Layout 4. Klik formà Properties à defaultCloseOperation: DISPOSE 5. Klik formà Properties àCode
Form Size Policy : Generate Resize Code
6. Desain Form Pegawai seperti dibawah ini :
65
Tbl_pegawai
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; /** * * @author yudhis */ public class Form_Pegawai extends javax.swing.JFrame { koneksi kon=new koneksi(); private Object [][] datapegawai=null; private String[]label={"Id Pegawai","Username","Password","Departemen","Manajer"}; /** * Creates new form Form_Pegawai */ public Form_Pegawai() { initComponents(); kon.setKoneksi();
66
}
BacaTabelPegawai();
private String idPegawai() { String no=null; try{ String sql = "Select right(id_pegawai,3)+1 from pegawai "; ResultSet rs = kon.st.executeQuery(sql); if (rs.next()){ rs.last(); no = rs.getString(1); while (no.length()<3){ no="00"+no; no="P"+no; tid_pegawai.setText(no); } }else{ no="P001"; tid_pegawai.setText(no); } }catch (Exception e){ }return no; } private void BacaTabelPegawai(){ try{ String sql="Select *From pegawai order by id_pegawai"; 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(); } datapegawai=new Object[baris][kolom]; int x=0; kon.rs.beforeFirst(); while(kon.rs.next()){ datapegawai[x][0]=kon.rs.getString("id_pegawai"); datapegawai[x][1]=kon.rs.getString("username"); datapegawai[x][2]=kon.rs.getString("password"); datapegawai[x][3]=kon.rs.getString("departemen"); datapegawai[x][4]=kon.rs.getString("manajer"); x++; } tbl_pegawai.setModel(new DefaultTableModel(datapegawai,label)); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } } private void BacaTabelPegawai2(){ try{ String sql="select *from pegawai where username like '%" +tcari.getText()+ "%' "; kon.rs=kon.st.executeQuery(sql); ResultSetMetaData m=kon.rs.getMetaData(); int kolom=m.getColumnCount(); int baris=0;
67 while(kon.rs.next()){ baris=kon.rs.getRow(); } datapegawai=new Object[baris][kolom]; int x=0; kon.rs.beforeFirst(); while(kon.rs.next()){ datapegawai[x][0]=kon.rs.getString("id_pegawai"); datapegawai[x][1]=kon.rs.getString("username"); datapegawai[x][2]=kon.rs.getString("password"); datapegawai[x][3]=kon.rs.getString("departemen"); datapegawai[x][4]=kon.rs.getString("manajer"); x++; } tbl_pegawai.setModel(new DefaultTableModel(datapegawai,label));
}
} catch(SQLException e){ JOptionPane.showMessageDialog(null, e); }
private void setTable(){ int row=tbl_pegawai.getSelectedRow(); tid_pegawai.setText((String)tbl_pegawai.getValueAt(row,0)); tusername.setText((String)tbl_pegawai.getValueAt(row,1)); tpassword.setText((String)tbl_pegawai.getValueAt(row,2)); tdepartemen.setText((String)tbl_pegawai.getValueAt(row,3)); tmanajer.setText((String)tbl_pegawai.getValueAt(row,4)); } private void BersihField(){ tid_pegawai.setText(""); tusername.setText(""); tdepartemen.setText(""); tpassword.setText(""); tmanajer.setText(""); tcari.setText(""); } private void aktif(){ tid_pegawai.setEnabled(true); tusername.setEnabled(true); tdepartemen.setEnabled(true); tpassword.setEnabled(true); tmanajer.setEnabled(true); } private void nonaktif(){ tid_pegawai.setEnabled(false); tusername.setEnabled(false); tdepartemen.setEnabled(false); tmanajer.setEnabled(false); tpassword.setEnabled(false); bt_edit.setEnabled(false); bt_update.setEnabled(false); bt_hapus.setEnabled(false); bt_simpan.setEnabled(false); } private void SimpanData(){
68 try{
String sql="insert into pegawai values('"+tid_pegawai.getText() +"','"+tusername.getText()+"','"+tpassword.getText() +"','"+tdepartemen.getText()+"','"+tmanajer.getText()+"')"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil disimpan"); BersihField(); BacaTabelPegawai(); } catch(SQLException e){ JOptionPane.showMessageDialog(null,e); } } private void EditData(){ try{ String sql="Update pegawai set id_pegawai='"+tid_pegawai.getText() +"',username='"+tusername.getText()+"', password='"+tpassword.getText()+"',departemen='"+tdepartemen.getText()+"', manajer='"+tmanajer.getText()+"' where id_pegawai='"+tid_pegawai.getText() +"'"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil diupdate"); BersihField(); BacaTabelPegawai(); } catch(SQLException e){ JOptionPane.showMessageDialog(null,e); } } private void HapusData(){ try{ String sql="Delete from pegawai where id_pegawai='"+tid_pegawai.getText()+"'"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil dihapus"); BersihField(); BacaTabelPegawai(); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } }
7. Klik kanan pada Jframe, Pilih Events
Window
WindowActivated
Ketik Script dibawah ini : private void formWindowActivated(java.awt.event.WindowEvent evt) { // TODO add your handling code here: BersihField(); nonaktif(); }
8. Klik Kanan pada bt_keluar, Pilih Events
Action
ActionPerformed
69 Ketik Script dibawah ini : private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: dispose(); }
9. Klik Kanan pada bt_tambah, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: BersihField(); idPegawai(); aktif(); tid_pegawai.setEnabled(false); tusername.requestFocus(); bt_batal.setEnabled(true); bt_tambah.setEnabled(false); bt_simpan.setEnabled(true); }
10. Klik Kanan pada bt_batal, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_batalActionPerformed(java.awt.event.ActionEvent evt) { nonaktif(); BersihField(); bt_tambah.setEnabled(true); }
11. Klik Kanan pada bt_simpan, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (tid_pegawai.getText().isEmpty() || tpassword.getText().isEmpty() || tusername.getText().isEmpty() || tdepartemen.getText().isEmpty()) { JOptionPane.showMessageDialog(this, "Lengkapi Data", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE); bt_tambah.setEnabled(true); } else { bt_tambah.setEnabled(true); bt_keluar.setEnabled(true); SimpanData(); } }
12. Klik Kanan pada tcari, Pilih Events Ketik Script dibawah ini :
Key
KeyTyped
70 private void tcariKeyTyped(java.awt.event.KeyEvent evt) { // TODO add your handling code here: BacaTabelPegawai2(); }
13. Klik Kanan pada tbl_pegawai, Pilih Events
Mouse
MouseClicked
Ketik Script dibawah ini : private void tbl_pegawaiMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: setTable(); bt_hapus.setEnabled(true); bt_edit.setEnabled(true); bt_tambah.setEnabled(false); }
14. Klik Kanan pada bt_hapus, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (JOptionPane.showConfirmDialog(this, "yakin mau dihapus?", "konfirmasi", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { HapusData(); bt_tambah.setEnabled(true); } else { JOptionPane.showMessageDialog(this, "Data Batal Dihapus", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE); bt_tambah.setEnabled(true); return; } formWindowActivated(null); }
15. Klik Kanan pada bt_edit, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_editActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: aktif(); tid_pegawai.setEnabled(false); bt_edit.setEnabled(false); bt_update.setEnabled(true); bt_batal.setEnabled(true); bt_hapus.setEnabled(false); bt_tambah.setEnabled(false); }
71
20. Klik Kanan pada bt_update, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_updateActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: bt_update.setEnabled(false); bt_tambah.setEnabled(true); EditData(); }
7.5. Pembuatan Form Master Supplier 1. Klik Kanan Pada Package Oso_app
New
JFrame Form
2. isi Class Name : Form_Supplier, setelah itu pilih Finish
3. Pada form klik kanan à Set Layout à Absolute Layout
72
4. Klik formà Properties à defaultCloseOperation: DISPOSE 5. Klik formà Properties àCode
Form Size Policy : Generate Resize Code
6. Desain Form Supplier seperti dibawah ini :
tbl_supplier
bt_tambah
bt_simpan
bt_edit
bt_update
bt_batal
bt_keluar
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; /** * * @author yudhis */ public class Form_Supplier extends javax.swing.JFrame { koneksi kon=new koneksi(); private Object [][] datasupplier=null; private String[]label={"Id Supplier","Nama Supplier"};
bt_hapus
73 /** * Creates new form Form_Supplier */ public Form_Supplier() { initComponents(); kon.setKoneksi(); BacaTabelSupplier(); } private void BacaTabelSupplier(){ try{ String sql="Select *From supplier order by id_supplier"; 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(); } datasupplier=new Object[baris][kolom]; int x=0; kon.rs.beforeFirst(); while(kon.rs.next()){ datasupplier[x][0]=kon.rs.getString("id_supplier"); datasupplier[x][1]=kon.rs.getString("nama_supplier"); x++; } tbl_sup.setModel(new DefaultTableModel(datasupplier,label)); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } } private void BacaTabelSupplier2(){ try{ String sql="select *from supplier where nama_supplier 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(); } datasupplier=new Object[baris][kolom]; int x=0; kon.rs.beforeFirst(); while(kon.rs.next()){ datasupplier[x][0]=kon.rs.getString("id_supplier"); datasupplier[x][1]=kon.rs.getString("nama_supplier"); x++; } tbl_sup.setModel(new DefaultTableModel(datasupplier,label)); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } }
74 private void setTable(){ int row=tbl_sup.getSelectedRow(); tkd_sup.setText((String)tbl_sup.getValueAt(row,0)); tnmsup.setText((String)tbl_sup.getValueAt(row,1)); } private String kdsupp()
{
String no=null;
try{
String sql = "Select right(id_supplier,3)+1 from supplier "; ResultSet rs = kon.st.executeQuery(sql); if (rs.next()){ rs.last(); no = rs.getString(1); while (no.length()<3){ no="00"+no; no="SP"+no; tkd_sup.setText(no); } }else{ no="SP001"; tkd_sup.setText(no); } }catch (Exception e){ }return no; }
private void BersihField(){ tkd_sup.setText(""); tnmsup.setText(""); } private void aktif(){ tkd_sup.setEnabled(true); tnmsup.setEnabled(true); } private void nonaktif(){ tkd_sup.setEnabled(false); tnmsup.setEnabled(false); bt_edit.setEnabled(false); bt_update.setEnabled(false); bt_hapus.setEnabled(false); bt_simpan.setEnabled(false); }
private void SimpanData(){ try{ String sql="insert into supplier values('"+tkd_sup.getText() +"','"+tnmsup.getText()+"')"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil disimpan"); BersihField(); BacaTabelSupplier(); } catch(SQLException e){ JOptionPane.showMessageDialog(null,e); } }
75 private void EditData(){ try{ String sql="Update supplier set id_supplier='"+tkd_sup.getText()+"',nama_supplier='"+tnmsup.getText()+"' where id_supplier='"+tkd_sup.getText()+"'"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil diupdate"); BersihField(); BacaTabelSupplier(); } catch(SQLException e){ JOptionPane.showMessageDialog(null,e); } } private void HapusData(){ try{ String sql="Delete from supplier where id_supplier='"+tkd_sup.getText()+"'"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil dihapus"); BersihField(); BacaTabelSupplier(); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } }
7. Klik kanan pada Jframe, Pilih Events
Window
WindowActivated
Ketik Script dibawah ini : private void formWindowActivated(java.awt.event.WindowEvent evt) { // TODO add your handling code here: BersihField(); nonaktif(); }
8. Klik Kanan pada bt_keluar, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: dispose(); }
9. Klik Kanan pada bt_tambah, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: aktif();
76
}
BersihField(); kdsupp(); tkd_sup.setEnabled(false); tnmsup.requestFocus(); bt_batal.setEnabled(true); bt_tambah.setEnabled(false); bt_simpan.setEnabled(true);
10. Klik Kanan pada bt_batal, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_batalActionPerformed(java.awt.event.ActionEvent evt) { nonaktif(); BersihField(); bt_tambah.setEnabled(true); }
11. Klik Kanan pada bt_simpan, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (tkd_sup.getText().isEmpty()) { JOptionPane.showMessageDialog(this, "Lengkapi Data", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE); bt_tambah.setEnabled(true); } else { bt_tambah.setEnabled(true); bt_keluar.setEnabled(true); SimpanData(); } }
12. 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: BacaTabelSupplier2(); }
13. Klik Kanan pada tbl_supplier, Pilih Events
Mouse
MouseClicked
Ketik Script dibawah ini : private void tbl_pegawaiMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: setTable(); bt_hapus.setEnabled(true); bt_edit.setEnabled(true); bt_tambah.setEnabled(false); }
77
14. Klik Kanan pada bt_hapus, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (JOptionPane.showConfirmDialog(this, "yakin mau dihapus?", "konfirmasi", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { HapusData(); bt_tambah.setEnabled(true); } else { JOptionPane.showMessageDialog(this, "Data Batal Dihapus", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE); bt_tambah.setEnabled(true); return; } formWindowActivated(null); }
15. Klik Kanan pada bt_edit, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_editActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: tnmsup.setEnabled(true); bt_edit.setEnabled(false); bt_update.setEnabled(true); bt_batal.setEnabled(true); bt_hapus.setEnabled(false); bt_tambah.setEnabled(false); }
20. Klik Kanan pada bt_update, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_updateActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: bt_update.setEnabled(false); bt_tambah.setEnabled(true); EditData(); }
78
7.6. Pembuatan Form Master Kategori 1. Klik Kanan Pada Package Oso_app
New
JFrame Form
2. isi Class Name : Form_Kategori, setelah itu pilih Finish
79
3. Pada form klik kanan à Set Layout à Absolute Layout 4. Klik formà Properties à defaultCloseOperation: DISPOSE 5. Klik formà Properties àCode
Form Size Policy : Generate Resize Code
6. Desain Form Kategori seperti dibawah ini :
tbl_kategori
bt_tambah
bt_simpan
bt_edit
bt_keluar
bt_update
bt_batal
bt_hapus
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; /** * * @author yudhis */ public class Form_Kategori extends javax.swing.JFrame { koneksi kon=new koneksi(); private Object [][] datakategori=null; private String[]label={"Id Kategori","Nama Kategori"};
80 /** * Creates new form Form_Kategori */ public Form_Kategori() { initComponents(); kon.setKoneksi(); BacaTabelKategori(); tid_kategori.setVisible(false); } private void BacaTabelKategori(){ try{ String sql="Select *From kategori order by id_kategori"; 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(); } datakategori=new Object[baris][kolom]; int x=0; kon.rs.beforeFirst(); while(kon.rs.next()){ datakategori[x][0]=kon.rs.getString("id_kategori"); datakategori[x][1]=kon.rs.getString("nama_kategori"); x++; } tbl_kategori.setModel(new DefaultTableModel(datakategori,label)); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } } private void BacaTabelKategori2(){ try{ String sql="select *from kategori where nama_kategori 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(); } datakategori=new Object[baris][kolom]; int x=0; kon.rs.beforeFirst(); while(kon.rs.next()){ datakategori[x][0]=kon.rs.getString("id_kategori"); datakategori[x][1]=kon.rs.getString("nama_kategori"); x++; } tbl_kategori.setModel(new DefaultTableModel(datakategori,label)); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); }
81 } private void setTable(){ int row=tbl_kategori.getSelectedRow(); tid_kategori.setText((String)tbl_kategori.getValueAt(row,0)); tkategori.setText((String)tbl_kategori.getValueAt(row,1)); } private void BersihField(){ tkategori.setText(""); tcari.setText(""); } private void aktif(){ tkategori.setEnabled(true); } private void nonaktif(){ tkategori.setEnabled(false); bt_edit.setEnabled(false); bt_update.setEnabled(false); bt_hapus.setEnabled(false); bt_simpan.setEnabled(false); } private String NoOtomatis() {
String Next_nobp; String no=null; int Next_nobp_int=0;
try{
String sql = "Select *from kategori "; ResultSet rs = kon.st.executeQuery(sql); if(rs.last()){ Next_nobp=rs.getString("id_kategori"); Next_nobp_int=Integer.parseInt(Next_nobp) + 1; no=String.valueOf(Next_nobp_int); } }catch (Exception e){ }return no; }
private void SimpanData(){ try{ String sql="insert into kategori values('"+NoOtomatis() +"','"+tkategori.getText()+"')"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil disimpan"); BersihField(); BacaTabelKategori(); } catch(SQLException e){ JOptionPane.showMessageDialog(null,e); } } private void EditData(){ try{ String sql="Update kategori set nama_kategori='"+tkategori.getText()+"' where id_kategori='"+tid_kategori.getText()+"'";
82 kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil diupdate"); BersihField(); BacaTabelKategori(); } catch(SQLException e){ JOptionPane.showMessageDialog(null,e); } } private void HapusData(){ try{ String sql="Delete from kategori where id_kategori='"+tid_kategori.getText()+"'"; kon.st.executeUpdate(sql); JOptionPane.showMessageDialog(null,"Data berhasil dihapus"); BersihField(); BacaTabelKategori(); } catch(SQLException e){ JOptionPane.showMessageDialog(null, e); } }
7. Klik kanan pada Jframe, Pilih Events
Window
WindowActivated
Ketik Script dibawah ini : private void formWindowActivated(java.awt.event.WindowEvent evt) { // TODO add your handling code here: BersihField(); nonaktif(); }
8. Klik Kanan pada bt_keluar, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_keluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: dispose(); }
9. Klik Kanan pada bt_tambah, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_tambahActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: BersihField(); aktif(); tkategori.setEnabled(true); tkategori.requestFocus(); bt_batal.setEnabled(true);
83 bt_tambah.setEnabled(false); bt_simpan.setEnabled(true); }
10. Klik Kanan pada bt_batal, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_batalActionPerformed(java.awt.event.ActionEvent evt) { nonaktif(); BersihField(); bt_tambah.setEnabled(true); }
11. Klik Kanan pada bt_simpan, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (tkategori.getText().isEmpty()) { JOptionPane.showMessageDialog(this, "Lengkapi Data", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE); bt_tambah.setEnabled(true); } else { bt_tambah.setEnabled(true); bt_keluar.setEnabled(true); SimpanData(); } }
12. 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: BacaTabelKategori2(); }
13. Klik Kanan pada tbl_kategori, Pilih Events
Mouse
MouseClicked
Ketik Script dibawah ini : private void tbl_pegawaiMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: setTable(); bt_hapus.setEnabled(true); bt_edit.setEnabled(true); bt_tambah.setEnabled(false); }
14. Klik Kanan pada bt_hapus, Pilih Events
Action
ActionPerformed
84 Ketik Script dibawah ini : private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (JOptionPane.showConfirmDialog(this, "yakin mau dihapus?", "konfirmasi", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { HapusData(); bt_tambah.setEnabled(true); } else { JOptionPane.showMessageDialog(this, "Data Batal Dihapus", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE); bt_tambah.setEnabled(true); return; } formWindowActivated(null); }
15. Klik Kanan pada bt_edit, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_editActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: aktif(); bt_edit.setEnabled(false); bt_update.setEnabled(true); bt_batal.setEnabled(true); bt_hapus.setEnabled(false); bt_tambah.setEnabled(false); }
20. Klik Kanan pada bt_update, Pilih Events
Action
ActionPerformed
Ketik Script dibawah ini : private void bt_updateActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: bt_update.setEnabled(false); bt_tambah.setEnabled(true); EditData(); }
7.7. Pembuatan Tampilan Data Produk 1. Klik Kanan Pada Package Oso_app
New
Other
85
2. Pilih Swing GUI Forms
JDialog Form
86
3. Next, isi Class Name : DataProduk
Finish
4. Desain Form seperti dibawah ini :
tbl_produk
Ketik Script dibawah ini :
87 /* * 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()+ "%' ";
88 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); }
Keterangan Script diatas : /* - Form_Pesanan adalah * To change this template, choose Tools | Templates nama JFrame dari * and open the template in the editor. */ Form_Pesanan yang package Oso_app; selanjutnya akan kita import java.sql.*; import javax.swing.JOptionPane; buat. import javax.swing.table.DefaultTableModel;/** * - pesanan adalah variabel * @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();
89 BacaTabelProduk(); tcari.setText(""); tcari.requestFocus();
}
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
Mouse
mouseClicked
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(); }
7.8. Pembuatan Form Pesanan 1. Klik Kanan Pada Package Oso_app
New
JFrame Form
2. isi Class Name : Form_Pesanan, setelah itu pilih Finish
90
3. Pada form klik kanan à Set Layout à Absolute Layout 4. Klik formà Properties à defaultCloseOperation: DISPOSE 5. Klik formà Properties àCode
Form Size Policy : Generate Resize Code
6. Desain Form Pesanan seperti dibawah ini :
browse
Tbl_pesanan
bkurang btambah
bsimpan
bbatal
btutup
91
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("yyyyMM-dd");
92 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){
93
}
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);
94 tid_produk.setEnabled(false); tjumlah.setEnabled(false); bsimpan.setEnabled(false); }
7. Klik Kanan pada browse, Pilih Events
Action
actionPerformed
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 {
95 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();
96 }
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(); }
7.9. Pembuatan Form Menu Utama 1. Klik Kanan Pada Package Oso_app
New
JFrame Form
2. isi Class Name : MenuUtama, setelah itu pilih Finish
97
3. Pada form klik kanan à Set Layout à Absolute Layout 4. Klik formà Properties àCode
Form Size Policy : Generate Resize Code
5. Tambahkan JMenuBar pada Pallete Swing Menus
98
6. Tambahkan 2 Menu item dengan cara : Klik kanan pada menu File, pilih Add From Pallete
Menu Item
7. Klik Kanan pada JMenuItem1, pilih Edit Text, ketik LogOut 8. Klik Kanan pada JMenuItem1, pilih Change Variable Name, Rename menjadi mnLogout.
9. Lakukan Seperti no 7 dan 8 dengan mengatur JMenuItem2 menjadi :
99
Edit Text = Keluar Change Variable Name = mnKeluar 10. Klik kanan pada Menu Edit, pilih Edit Text, ketik Master
11. Tambahkan 4 Menu item dengan cara : Klik kanan pada menu File, pilih Add From Pallete
Menu Item
12. Klik Kanan pada JMenuItem1, pilih Edit Text, ketik Produk 13. Klik Kanan pada JMenuItem1, pilih Change Variable Name, Rename menjadi mnProduk .
100
14. Lakukan langkah 12 dan 13 untuk jMenuItem2, jMenuItem3, dan jMenuItem4, dengan mengganti seperti dibawah ini : - jMenuItem2, Edit Text = Pegawai, Change Variable Name = mnPegawai - jMenuItem2, Edit Text = Supplier, Change Variable Name = mnSupplier - jMenuItem2, Edit Text = Kategori, Change Variable Name = mnKategori 15. Klik kanan pada jMenuBar1, pilih Add Menu
16. Klik Kanan pada jMenu3, pilih Edit Text, ketik Pesanan 17. Klik Kanan pada jMenu3, pilih Change Variable Name, Rename menjadi mnPesanan.
101
18. Klik Kanan pada mnLogout, pilih Events
Action
actionPerformed
Ketik Script dibawah ini : private void mnLogoutActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.dispose(); Form_Login Login = new Form_Login(); Login.setLocationRelativeTo(null); Login.setVisible(true); }
19. Klik Kanan pada mnKeluar, pilih Events
Action
actionPerformed
Ketik Script dibawah ini : private void mnKeluarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.exit(0); }
20. Klik Kanan pada mnProduk, pilih Events
Action
actionPerformed
Ketik Script dibawah ini : private void mnProdukActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Form_Produk produk = new Form_Produk(); produk.setLocationRelativeTo(null); produk.setVisible(true); }
102
21. Klik Kanan pada mnPegawai, pilih Events
Action
actionPerformed
Ketik Script dibawah ini : private void mnPegawaiActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Form_Pegawai pegawai = new Form_Pegawai(); pegawai.setLocationRelativeTo(null); pegawai.setVisible(true); }
22. Klik Kanan pada mnSupplier, pilih Events
Action
actionPerformed
Ketik Script dibawah ini : private void mnSupplierActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Form_Supplier supplier = new Form_Supplier(); supplier.setLocationRelativeTo(null); supplier.setVisible(true); }
23. Klik Kanan pada mnKategori, pilih Events
Action
actionPerformed
Ketik Script dibawah ini : private void mnKategoriActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Form_Kategori kategori = new Form_Kategori(); kategori.setLocationRelativeTo(null); kategori.setVisible(true); }
24. Klik Kanan pada mnPesanan, pilih Events
Action
actionPerformed
Ketik Script dibawah ini : private void mnPesananActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: Form_Pesanan pesanan = new Form_Pesanan(); pesanan.setLocationRelativeTo(null); pesanan.setVisible(true); }