Pallete Propertis
Edit Text Change Variable Name
Label1 Tanggal Penjualan jLabel1
Label2 No.Faktur jLabel2
Label3 ID Petugas jLabel3
Label4 Nama Petugas jLabel4
Label5 Kode Barang jLabel8
Label6 Nama Barang jLabel9
Label7 Harga Jual jLabel10
Label8 Stok jLabel11
Label9 Jumlah jLabel12
Label10 Sub Total Rp jLabel13
Label11 Total Rp jLabel14
TextField1 - TglPenjualan
TextField2 - NoFaktur
ComboBox1 - IDPetugas
TextField3 - NamaPetugas
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 75 Syntax Program
1. Pada bagian import tambahkan dibawah baris package aplikasipenjualan sepeti kode berikut:
package penjualan;
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*;
2. Pada bagian public class FrmBrgMasuk extends javax.swing.JFrame tambahkan kode berikut:
public class FrmPenjualan extends javax.swing.JFrame {
Database dbsetting;
String driver,database,user,pass,userLogin; private Object tabel;
/** Creates new form FrmPenjualan */ public FrmPenjualan() { initComponents(); Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize=this.getSize(); if(frameSize.height > screenSize.height){ frameSize.height=screenSize.height; } if(frameSize.width > screenSize.width){ frameSize.width=screenSize.width; } TextField4 - NamaBarang TextField5 - HargaJual TextField6 - Stok TextField7 - Jumlah TextField8 - SubTotal TextField9 - Total
Button1 Cari Data CariData
Button2 Hitung Hitung
Button3 Add Item AddItem
Button4 Add New AddNew
Button5 Save Transaction SaveTransaction
Button6 Close Close
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 76
this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height = screenSize.height) / 10);
//setting untuk memanggil koneksi Database.ini dbsetting = new Database();
driver = dbsetting.SettingPanel("DBDriver"); database = dbsetting.SettingPanel("DBDatabase"); user = dbsetting.SettingPanel("DBUsername"); pass = dbsetting.SettingPanel("DBPassword"); table.setModel(tableModel);
Tabel(table, new int[]{90,300,90,60,60,90}); setDefaultTable(); TanggalOtomatis(); SetEditOff(); TampilComboBarang(); TampilComboPetugas(); }
3. Buatlah kode program diatas // Variables declaration - do not modify untuk menampilkan data pada tabel seperti berikut:
private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[] ) { tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); int kolom=tb.getColumnCount();
for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i); tbc.setPreferredWidth(lebar[i]); tb.setRowHeight(17); } }
private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel( new Object[][] {},
new String [] {"Kode Barang","Nama Barang","Harga Jual","Stok","Jumlah","Sub Total"} ){
boolean[] canEdit = new boolean[]{ false, false, false, false
};
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 77 return canEdit[columnIndex]; } }; }
String data[]=new String[6]; private void setDefaultTable() {
String stat =""; try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement();
String SQL = "SELECT tblbarang.kodebarang,tblbarang.namabarang,tblbarang.hargajual," + "tblbarang.stok,tbldetailpenjualan.jumlah,tbldetailpenjualan.subtotal,tblpenjualan.nofaktur " + "FROM tblbarang,tbldetailpenjualan,tblpenjualan WHERE
tblbarang.kodebarang=tbldetailpenjualan.kodebarang " + "AND tblpenjualan.nofaktur=tbldetailpenjualan.nofaktur" + "AND tbldetailpenjualan.nofaktur='"+NoFaktur.getText()+"'"; ResultSet res = stt.executeQuery(SQL);
while(res.next()){ data[0] = res.getString(1); data[1] = res.getString(2); data[2] = res.getString(3); data[3] = res.getString(4); data[4] = res.getString(5); data[5] = res.getString(6); tableModel.addRow(data); } res.close(); stt.close(); kon.close();
} catch (Exception ex) {
System.err.println(ex.getMessage()); }
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 78
4. Buatlah private baru TampilGridDetail kemudian buat kode program seperti berikut:
private void TampilGridDetail(){
String stat =""; try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement();
String SQL = "SELECT tblbarang.kodebarang,tblbarang.namabarang,tblbarang.hargajual," +"tblbarang.stok,tbldetailpenjualan.jumlah,tbldetailpenjualan.subtotal,tblpenjualan.nofaktur " + "FROM tblbarang, tbldetailpenjualan, tblpenjualan " +
"WHERE tblbarang.kodebarang=tbldetailpenjualan.kodebarang " + "AND tblpenjualan.nofaktur=tbldetailpenjualan.nofaktur " +
"AND tbldetailpenjualan.nofaktur='" + NoFaktur.getText().toString() + "'"; ResultSet res = stt.executeQuery(SQL);
while(res.next()){ data[0] = res.getString(1); data[1] = res.getString(2); data[2] = res.getString(3); data[3] = res.getString(4); data[4] = res.getString(5); data[5] = res.getString(6); tableModel.addRow(data); } res.close(); stt.close(); kon.close();
} catch (Exception ex) {
System.err.println(ex.getMessage()); }
}
5. Buatlah perintah BersihData,BersihDetail,SetEditOff, dan SetEditON disembarang tempat yang memiliki space kosong seperti berikut ini:
public void BersihData(){ tableModel.setRowCount(0); NoFaktur.setText(""); NamaPetugas.setText(""); IDPetugas.setSelectedIndex(0); KodeBarang.setSelectedIndex(0); NamaBarang.setText("");
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 79 HargaJual.setText(""); Jumlah.setText(""); Stok.setText(""); Bayar.setText("0"); Sisa.setText("0"); Total.setText("0"); SubTotal.setText("0"); }
public void BersihDetail(){ KodeBarang.setSelectedIndex(0); NamaBarang.setText(""); HargaJual.setText(""); Stok.setText(""); Jumlah.setText(""); SubTotal.setText("0"); }
public void SetEditOff(){ NoFaktur.setEnabled(false); TglPenjualan.setEnabled(false); IDPetugas.setEnabled(false); KodeBarang.setEnabled(false); Jumlah.setEnabled(false); Hitung.setEnabled(false); CariData.setEnabled(false); AddItem.setEnabled(false); }
public void SetEditOn(){ NoFaktur.setEnabled(true); TglPenjualan.setEnabled(true); IDPetugas.setEnabled(true); KodeBarang.setEnabled(true); Jumlah.setEnabled(true); SaveTransaction.setEnabled(true); CariData.setEnabled(true); Hitung.setEnabled(true); AddItem.setEnabled(true); }
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 80
6. Buatlah kode program pada kombobox idpetugas dengan cara klik kanan pilih events -> item -> itemStatChanged.
private void IDPetugasItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here: try {
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM tblpetugas where idpetugas='"+ IDPetugas.getSelectedItem().toString()+"'";
ResultSet res = stt.executeQuery(SQL); res.absolute(1);
NamaPetugas.setText(res.getString("namapetugas")); } catch (SQLException ex) {
} }
7. Buatlah private baru untuk menampilakn data pada kombobox idpetugas seperti berikut:
public void TampilComboPetugas(){
try {
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM tblpetugas"; ResultSet res = stt.executeQuery(SQL); while(res.next()){
IDPetugas.addItem(res.getString("idpetugas")); }
} catch (SQLException ex) { }
}
8. Buatlah kode program pada kombobox kodebarang dengan cara klik kanan pilih events -> item -> itemStatChanged.
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 81 private void KodeBarangItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here: try {
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM tblbarang where kodebarang='"+ KodeBarang.getSelectedItem().toString()+"'";
ResultSet res = stt.executeQuery(SQL); res.absolute(1);
NamaBarang.setText(res.getString("namabarang")); HargaJual.setText(res.getString("hargajual")); Stok.setText(res.getString("stok"));
} catch (SQLException ex) { }
Jumlah.requestFocus(); AddItem.setEnabled(true); }
9. Buatlah private baru untuk menampilakn data pada kombobox iddistributor seperti berikut:
public void TampilComboBarang(){
try {
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM tblbarang"; ResultSet res = stt.executeQuery(SQL); while(res.next()){
KodeBarang.addItem(res.getString("kodebarang")); }
} catch (SQLException ex) { }
}
10. Buatlah private baru untuk menampilkan tanggal otomatis seperti berikut:
public void TanggalOtomatis(){
Date tanggal = new Date();
TglPenjualan.setText(""+ (String.format("%1$td:%1$tb:%1$tY",tanggal))); }
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 82
11. Buatlah kode program untuk menampilkan perhitungan subtotal dengan mengkilik button hitung -> events -> action -> ActionPerformed.
private void HitungActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: int a; int b; double c; a = Integer.parseInt(HargaJual.getText()); b = Integer.parseInt(Jumlah.getText()); c = a * b; SubTotal.setText(String.valueOf(c)); }
12. Buatlah kode program untuk menampilkan total dengan cara klik kanan textfield subtotal -> events -> charet -> charetUpdate.
private void SubTotalCaretUpdate(javax.swing.event.CaretEvent evt) {
// TODO add your handling code here: double d, e; d = Double.parseDouble(SubTotal.getText()); e = Double.parseDouble(Total.getText()); e = e+d; Total.setText(String.valueOf(e)); }
13. Buatlah kode program untuk menampilkan perhitungan sisa bayar dengan cara klik kanan textfield bayar - > events -> charet -> charetUpdate.
private void BayarCaretUpdate(javax.swing.event.CaretEvent evt) {
// TODO add your handling code here: double a; double b; double c; a = Double.parseDouble(Bayar.getText()); b = Double.parseDouble(Total.getText()); c = a - b; Sisa.setText(String.valueOf(c)); }
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 83
14. Buatlah kode program AddNew dengan mengklik kanan button AddNew ->events -> action -> ActionPerformed.
private void AddNewActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:
SetEditOn();
NoFaktur.requestFocus(); BersihData();
}
15. Buatlah kode program Add Item dengan mengklik kanan button save ->events -> action -> ActionPerformed.
private void AddItemActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String NM=NoFaktur.getText();
String KB=KodeBarang.getSelectedItem().toString(); String JM=Jumlah.getText();
if ((NM.isEmpty()) | (KB.isEmpty()) |(JM.isEmpty())) {
JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); KodeBarang.requestFocus();
}else { try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement();
String SQL = "insert into tbldetailpenjualan values('"+NoFaktur.getText()+"',"+ "'"+KodeBarang.getSelectedItem()+"',"+ "'"+Jumlah.getText()+"',"+ "'"+SubTotal.getText()+"')"; stt.executeUpdate(SQL); Class.forName(driver);
Connection kon1 = DriverManager.getConnection(database,user,pass); Statement stt1 = kon.createStatement();
String SQL1 = "Update tblbarang Set stok=stok - '"+Jumlah.getText()+"'" + "Where kodebarang='"+KodeBarang.getSelectedItem().toString()+"'"; stt1.executeUpdate(SQL1);
data[0] = KodeBarang.getSelectedItem().toString(); data[1] = NamaBarang.getText();
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 84 data[2] = HargaJual.getText(); data[3] = Stok.getText(); data[4] = Jumlah.getText(); data[5] = SubTotal.getText(); tableModel.insertRow(0, data); stt.close(); kon.close(); KodeBarang.requestFocus(); AddItem.setEnabled(false); BersihDetail(); KodeBarang.requestFocus(); } catch (Exception ex) {
System.err.println(ex.getMessage()); }
}
}
16. Buatlah kode program SaveTransaction dengan mengklik kanan button save ->events -> action -> ActionPerformed.
private void SaveTransactionActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: String NM=NoFaktur.getText();
if ((NM.isEmpty())) {
JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi"); NoFaktur.requestFocus();
}else { try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement();
String SQL = "insert into tblpenjualan values('"+NoFaktur.getText()+"',"+ "'"+TglPenjualan.getText()+"',"+ "'"+IDPetugas.getSelectedItem()+"',"+ "'"+Bayar.getText()+"',"+ "'"+Sisa.getText()+"',"+ "'"+Total.getText()+"')"; stt.executeUpdate(SQL); stt.close();
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 85
kon.close(); BersihData(); SetEditOff();
SaveTransaction.setEnabled(false); } catch (Exception ex) {
System.err.println(ex.getMessage()); }
}
}
17. Buatlah kode program Close dengan mengklik kanan button Close ->evens -> action -> ActionPerformed.
private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null,"This application will be close \n if you press button OK","Information", JOptionPane.OK_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTI ON) this.dispose(); }
18. Buatlah kode program Cari Data dengan mengklik kanan button Cancel -> events -> Action -> ActionPerformed.
private void CariDataActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: try {
Connection kon = DriverManager.getConnection(database,user,pass); Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM tblpenjualan where nofaktur='"+NoFaktur.getText().toString()+"'"; ResultSet res = stt.executeQuery(SQL); res.absolute(1); TampilGridDetail(); TglPenjualan.setText(res.getString("tglpenjualan")); IDPetugas.setSelectedItem(res.getString("idpetugas")); Bayar.setText(res.getString("bayar")); Sisa.setText(res.getString("sisa")); Total.setText(res.getString("total")); SaveTransaction.setEnabled(false); NoFaktur.setEnabled(false);
Membuat Program Aplikasi Penjualan Barang Menggunakan JAVA 86
CariData.setEnabled(false); } catch (SQLException ex) { }
}
19. Buatlah kode program Cancel dengan mengklik kanan button Cancel -> events -> Action -> ActionPerformed.
private void CancelActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here: BersihData();
SetEditOff();
}
20. Jalankan Program kemudian klik menu DataBarang Masuk maka akan tampil seperti berikut: