Anda di halaman 1dari 9

[APLIKASI MINIMARKET DENGAN JAVA DAN MYSQL] 2020

Program Penjualan

1. Tambahkan table pada database


CREATE TABLE temp(
idbarang CHAR(7),
qty INT,
harga DOUBLE
);

2. Buat trigger pada database dengan cara klik kanan pada Triggers -> Create Trigger seperti
contoh di bawah ini

DELIMITER $$
CREATE

TRIGGER `dbminimarket`.`t_ai_detailjual` AFTER INSERT


ON `dbminimarket`.`detailjual`
FOR EACH ROW BEGIN
UPDATE barang SET stok = stok - new.qty WHERE idbarang=new.idbarang;
END$$

DELIMITER ;

3. Disain form
a. Form Cari Barang
b. Form Penjualan

Atur Variable Modifiers pada textField Kode Barang, Nama Barang, Stok, Harga Jual dan
Qty menjadi public. Agar textField tersebut dapat dipanggil dari class/form lain.

Cara mengatur/merubah Variable Modifiers :


- Klik textField Kode Barang
- Pada bagian property klik Code
- Pada Variable Modifiers klik tombol …
- Ganti acces menjadi public dan ceklist tanda static
4. Tambahkan jLabel pada FormMenu, beri nama lblUserName dan atur VariabelModifiers
nya menjadi public static.
Tujuannya adalah untuk menampung Username yang login. Sehingga nilai Username yang
ada pada lblUsername tersebut dapat digunakan untuk disimpan ke dalam table detailjual
pada FormPenjualan.

5. Ubah kode program login menjadi seperti berikut :


private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {
try {
koneksi();
String sql = "select * from user where username='"+ txtuser.getText() +"'"
+ " and password='"+ txtpassword.getText() +"'";
ResultSet rs = stt.executeQuery(sql);
if (rs.next()){ Tambahkan baris ini
String sql2= "update user set lastlogin=now() pada program login
where username='"+ txtuser.getText() +"'";
stt.executeUpdate(sql2);
new FormMenu().show();
FormMenu.lblUsername.setText(txtuser.getText());
this.dispose();
}
else{
JOptionPane.showMessageDialog(null, "Username atau password salah");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Terjadi kesalahan" + e);
}
}

6. Kode program FormCariBarang


- Import library
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

- Deklarasi variable
public class FormCariBarang extends javax.swing.JFrame {
private Connection conn;
private Statement stt;

- Kode program pada constructor


public FormCariBarang() {
initComponents();
tampil();
}

- Kode program pada tombol OK


private void btnOkActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int row = tabel.getSelectedRow();
FormPenjualan.txtKobar.setText(tabel.getValueAt(row, 0).toString());
FormPenjualan.txtNabar.setText(tabel.getValueAt(row, 1).toString());
FormPenjualan.txtStok.setText(tabel.getValueAt(row, 5).toString());
FormPenjualan.txtHarga.setText(tabel.getValueAt(row, 4).toString());
this.dispose();
}

7. Kode program pada FormPenjualan


- Import Library
package minimarket;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

- Deklarasi variable
public class FormPenjualan extends javax.swing.JFrame {
private Connection conn;
private Statement stt;
- Method koneksi
private void koneksi(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/"
+ "dbminimarket","root","");
stt = conn.createStatement();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Koneksi Gagal.." + e);
}
}

- Method tampil
private void tampil(){
DefaultTableModel tblmodel = new DefaultTableModel();
tblmodel.addColumn("Kode Barang");
tblmodel.addColumn("Nama Barang");
tblmodel.addColumn("Harga");
tblmodel.addColumn("Qty");
tblmodel.addColumn("Jumlah Harga");

try{
koneksi();
String sql = "SELECT temp.idbarang, namabarang, harga, qty,
(harga * qty) AS jmlharga FROM temp JOIN barang ON
barang.idbarang=temp.idbarang";
ResultSet rs = stt.executeQuery(sql);
while(rs.next())
{
tblmodel.addRow(new Object[]{
rs.getString(1),
rs.getString(2),
rs.getString(3),
rs.getString(4),
rs.getString(5)
});
}
tabel.setModel(tblmodel);
}catch (SQLException e){
JOptionPane.showMessageDialog(null, "Ada Kesalahan"+e);
}
}
- Method total harga
private void totalharga() {
double tothrg = 0;
int jumrec = tabel.getRowCount();
for (int i = 0; i < jumrec; i++) {
tothrg = tothrg + Double.parseDouble(tabel.getValueAt(i, 4).toString());
}
txtTotalHarga.setText(String.valueOf(tothrg));
}

- Kode program pada tombol baru


private void btnBaruActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
txtNofak.setText("");
txtKobar.setText("");
txtNabar.setText("");
txtStok.setText("");
txtHarga.setText("");
txtQty.setText("");
txtJumlahHarga.setText("");
txtTotalHarga.setText("");
txtJumlahBayar.setText("");
txtKembali.setText("");
txtNofak.requestFocus();
}
- Kode program pada txtQty
private void txtQtyActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int qty = Integer.parseInt(txtQty.getText());
int stok = Integer.parseInt(txtStok.getText());
double harga = Double.parseDouble(txtHarga.getText());
double jmlHarga;

if (stok >= qty) {


jmlHarga = qty * harga;
txtJumlahHarga.setText(String.valueOf(jmlHarga));
}else {
JOptionPane.showMessageDialog(null, "Stok Tidak Cukup");
txtQty.setText("");
[APLIKASI MINIMARKET DENGAN JAVA DAN MYSQL] 2020

- Kode program pada txtHarga


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

- Kode program pada tombol cari


private void btnCariActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new FormCariBarang().show();
}

- Kode program pada txtKobar


private void txtKobarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
koneksi();
String sql = "Select * from barang where idbarang='" + txtKobar.getText() + "'";
ResultSet rs = stt.executeQuery(sql);
if (rs.next())
{ txtNabar.setText(rs.getString("namabarang")
); txtStok.setText(rs.getString("stok"));
txtHarga.setText(rs.getString("hargajual"));
txtQty.requestFocus();
} else {
JOptionPane.showMessageDialog(null, "Data Barang Tidak Ada");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Terjadi Kesalahan" + e);
}
}

- Kode program pada tombol Hapus (-)


private void btnHapusActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
String idbarang;
int row = tabel.getSelectedRow();
idbarang = tabel.getValueAt(row, 0).toString();
koneksi();
String sql = "delete from temp where idbarang='" + idbarang + "'";
stt.executeUpdate(sql);
tampil();
[APLIKASI MINIMARKET DENGAN JAVA DAN MYSQL] 2020

totalharga();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Terjadi Kesalahan" + e);
}
}

- Kode program pada tombol Tambah (+)


private void btnTambahActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
//simpan ke tabel jual
String idbarang = txtKobar.getText();
String qty = txtQty.getText();
String harga = txtHarga.getText();
koneksi();
String sql = "insert into temp values('" + idbarang + "','" + qty + "','" + harga + "')";
stt.executeUpdate(sql);
tampil();
totalharga();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Terjadi Kesalahan");
}

txtKobar.setText("");
txtNabar.setText("");
txtStok.setText("");
txtHarga.setText("");
txtQty.setText("");
txtJumlahHarga.setText("");
}

- Kode program pada txtJumlahBayar


private void txtJumlahBayarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
double total = Double.parseDouble(txtTotalHarga.getText());
double uang = Double.parseDouble(txtJumlahBayar.getText());
double sisa = uang - total;
txtKembali.setText(String.valueOf(sisa));
}
[APLIKASI MINIMARKET DENGAN JAVA DAN MYSQL] 2020

- Kode program pada tombol simpan


private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
String username = FormMenu.lblUsername.getText();
koneksi();
//simpan ke tabel jual
String nofak = txtNofak.getText();
String total = txtTotalHarga.getText();
String sql = "insert into jual values('"+ nofak +"', curdate(),
'"+ username +"','"+ total +"')";
stt.executeUpdate(sql);

//simpan ke tabel detailbeli


String sql1 ="insert into detailjual(idjual,idbarang,qty,harga)
select '"+ nofak +"',idbarang,qty,harga from temp";
stt.executeUpdate(sql1);

//hapus data dari tabel temp


String sql2 = "delete from temp";
stt.executeUpdate(sql2);
JOptionPane.showMessageDialog(null,"Data berhasil di simpan");
tampil();

}catch ( SQLException e){


JOptionPane.showMessageDialog(null,"Proses penyimpanan gagal..");
System.out.println(e.getMessage());
}
}

- Kode program tombol keluar


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

- Kode program pada windowsopened


private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
this.setLocationRelativeTo(null);
}

Anda mungkin juga menyukai