Anda di halaman 1dari 56

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

Primary Key

Nama_kategori

Varchar

30

c. Tabel

: pegawai

Field

Type

Length

Keterangan

Id_pegawai

Char

Primary Key

Username

Varchar

15

Password

Varchar

15

Departemen

Varchar

20

Manajer

Varchar

30

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

30

e. Tabel

: Pesanan

Field

Type

Length

Keterangan

Id_pesanan

Char

Primary Key

Id_pegawai

Char

Tgl_pesanan

Date

Status

Varchar

f. Tabel

15

: item_pesanan

Field

Type

Length

Keterangan

Id_pesanan

Char

10

Foreign Key

Id_produk

Char

10

Qty

Int

g. Tabel

: sementara

Field

Type

Length

Id_produk

Char

10

Qty

Int

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_appNew

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 CodeForm 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_produ
k.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.getTe
xt()+"',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


Ketik Script dibawah ini :

Action

ActionPerformed

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


Ketik Script dibawah ini :

Action

ActionPerformed

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

KeyKeyTyped

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_appNew

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 CodeForm 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();
BacaTabelPegawai();

66
}
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;
while(kon.rs.next()){

67
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(){
try{

68
String sql="insert into pegawai
values('"+tid_pegawai.getText()+"','"+tusername.getText()+"','"+tpassword.g
etText()+"','"+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


Ketik Script dibawah ini :

Action

ActionPerformed

69
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

Key KeyTyped

Ketik Script dibawah ini :


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

70
}

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);
}

20. Klik Kanan pada bt_update, Pilih Events


Ketik Script dibawah ini :

Action

ActionPerformed

71
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_appNew

JFrame Form

2. isi Class Name : Form_Supplier, 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 Supplier seperti dibawah ini :

72

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"};
/**
* Creates new form Form_Supplier
*/
public Form_Supplier() {
initComponents();
kon.setKoneksi();

bt_hapus

73
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);
}
}
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));
}

74
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);
}
}
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);

75
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();
BersihField();
kdsupp();
tkd_sup.setEnabled(false);
tnmsup.requestFocus();
bt_batal.setEnabled(true);
bt_tambah.setEnabled(false);

76
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);
}

14. Klik Kanan pada bt_hapus, Pilih Events

Action

ActionPerformed

Ketik Script dibawah ini :


private void bt_hapusActionPerformed(java.awt.event.ActionEvent evt) {

77
// 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_appNew

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 CodeForm 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"};
/**
* Creates new form Form_Kategori
*/
public Form_Kategori() {
initComponents();
kon.setKoneksi();

80
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);
}
}
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));

81
}
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()+"'";
kon.st.executeUpdate(sql);
JOptionPane.showMessageDialog(null,"Data berhasil diupdate");
BersihField();
BacaTabelKategori();
}
catch(SQLException e){
JOptionPane.showMessageDialog(null,e);

82
}
}
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);
bt_tambah.setEnabled(false);
bt_simpan.setEnabled(true);
}

83

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

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();

84
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 TampilanData Produk


1. Klik Kanan Pada Package Oso_appNew Other

85

2. Pilih Swing GUI Forms

JDialog Form

3. Next, isi Class Name : DataProduk

Finish

86

4. Desain Form seperti dibawah ini :

tbl_produk

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();

87
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);
}
}

88

Keterangan Script diatas :


/*
* To change this template, choose Tools | Templates
- Form_Pesanan adalah
* and open the template in the editor.
nama JFrame dari
*/
package Oso_app;
Form_Pesanan yang
import java.sql.*;
selanjutnya akan kita
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;/**
buat.
*
* @author yudhis
- pesanan adalah variabel
*/
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();
}

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();
}

89

7.8. Pembuatan Form Pesanan


1. Klik Kanan Pada Package Oso_appNew

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 CodeForm Size Policy : Generate Resize Code
6. Desain Form Pesanan seperti dibawah ini :

browse

Tbl_pesanan

bkurang

btambah

bsimpan

bbatal

btutup

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 {

91
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");
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];

92
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 ";

93
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());

94
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) {

95
// 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();
}

96

7.9. Pembuatan Form Menu Utama


1. Klik Kanan Pada Package Oso_appNew

JFrame Form

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

3. Pada form klik kanan Set Layout Absolute Layout


4. Klik form Properties CodeForm Size Policy : Generate Resize Code
5. Tambahkan JMenuBar pada Pallete Swing Menus

97

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.

98

9. Lakukan Seperti no 7 dan 8 dengan mengatur JMenuItem2 menjadi :


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

99

12. Klik Kanan pada JMenuItem1, pilih Edit Text, ketik Produk
13. Klik Kanan pada JMenuItem1, pilih Change Variable Name, Rename menjadi
mnProduk.

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

100

16.Klik Kanan pada jMenu3, pilih Edit Text, ketik Pesanan


17. Klik Kanan pada jMenu3, pilih Change Variable Name, Rename menjadi mnPesanan.

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);
}

101

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);
}

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);
}

102

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);
}

Anda mungkin juga menyukai