Sei sulla pagina 1di 13

MATERI PBO II

APLIKASI PENJUALAN BARANG

1. Buat database dengan nama : abadisport


CREATE DATABASE abadisport;
USE abadisport;

2. Buat table dengan nama : tbbrng

CREATE TABLE tbbrng (


kdbrng varchar(8) not null,
nmbrng varchar(40) not null,
jenis varchar(10) not null,
hjual int(11),
stock int(11),
PRIMARY KEY(kdbrng)
);

3. Masukkan driver MySQL JDBC Driver

4. Desain Form Table Barang


Nama Variable:
txtKodeBarang
btnCariBarang
txtNamaBarang
cbJenis
txtHargaJual
txtStock
btnTambah
btnSimpan
btnEdit
btnHapus
btnKeluar
tableBarang
5. Source Code Form Barang
import java.awt.event.KeyEvent;
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;

public class frmBarang extends javax.swing.JFrame {

Connection conn;
Statement st;
ResultSet rs;

public frmBarang() {
initComponents();
siapIsi(false);
tombolNormal();
tampil();
}

public Connection setKoneksi(){


try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/abadisport","root","");
st=conn.createStatement();
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Koneksi Gagal :" +e);
}
return conn;
}

private void bersih() {


txtKodeBarang.setText("");
txtNamaBarang.setText("");
cbJenis.setSelectedItem(null);
txtHargaJual.setText("");
txtStock.setText("0");
}

private void siapIsi(boolean a) {


txtKodeBarang.setEnabled(a);
txtNamaBarang.setEnabled(a);
cbJenis.setEnabled(a);
txtHargaJual.setEnabled(a);
txtStock.setEnabled(a);
}
private void tombolNormal() {
btnTambah.setEnabled(true);
btnSimpan.setEnabled(false);
btnHapus.setEnabled(false);
btnEdit.setEnabled(false);
btnKeluar.setEnabled(true);
btnCariBarang.setEnabled(true);
}

private void otomatis() {


try {
setKoneksi();
String sql = "select right (kdbrng,2)+1 from tbbrng";
ResultSet rs = st.executeQuery(sql);
txtNamaBarang.setText("");
cbJenis.setSelectedItem(null);
txtHargaJual.setText("");
if (rs.next()) {
rs.last();
String no = rs.getString(1);
while (no.length() < 3) {
no = "0" + no;
txtKodeBarang.setText("B" + no);
}
} else {
txtKodeBarang.setText("B001");
}
} catch (Exception e) {
}
}

private void simpan() {


try {
setKoneksi();
String sql = "insert into tbbrng values('" + txtKodeBarang.getText() + "','" +
txtNamaBarang.getText()
+ "','" + cbJenis.getSelectedItem() + "','" + txtHargaJual.getText() + "','" +
txtStock.getText() + "')";
st.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Simpan data berhasil");
} catch (Exception e) {
}
tampil();
}

private void perbarui() {


try {
setKoneksi();
String sql = "update tbbrng set nmbrng='" + txtNamaBarang.getText() + "',jenis='" +
cbJenis.getSelectedItem()
+ "',hjual='" + txtHargaJual.getText() + "' where kdbrng='" + txtKodeBarang.getText()
+ "'";
st.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Edit data berhasil", "Abadi Sport",
JOptionPane.INFORMATION_MESSAGE);
} catch (Exception e) {
}
tampil();
}

public void tampil() {


Object header[] = {"Kode Barang", "Nama Barang", "Jenis", "Harga Jual", "Stock"};
DefaultTableModel data = new DefaultTableModel(null, header);
tblBarang.setModel(data);
setKoneksi();
String sql = "select*from tbbrng";
try {
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
String kolom1 = rs.getString(1);
String kolom2 = rs.getString(2);
String kolom3 = rs.getString(3);
String kolom4 = rs.getString(4);
String kolom5 = rs.getString(5);
String kolom[] = {kolom1, kolom2, kolom3, kolom4, kolom5};
data.addRow(kolom);
}
} catch (Exception e) {
}
}

private void hapus() {


try {
String sql = "delete from tbbrng where kdbrng='" + txtKodeBarang.getText() + "'";
st.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Hapus data sukses");
} catch (Exception e) {
}
tampil();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
tblBarang = new javax.swing.JTable();
jLabel2 = new javax.swing.JLabel();
txtKodeBarang = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
txtNamaBarang = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
cbJenis = new javax.swing.JComboBox<String>();
jLabel8 = new javax.swing.JLabel();
txtHargaJual = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();
txtStock = new javax.swing.JTextField();
btnTambah = new javax.swing.JButton();
btnSimpan = new javax.swing.JButton();
btnEdit = new javax.swing.JButton();
btnHapus = new javax.swing.JButton();
btnKeluar = new javax.swing.JButton();
btnCariBarang = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jPanel1.setBackground(new java.awt.Color(255, 255, 255));


jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel2.setBackground(new java.awt.Color(0, 153, 255));


jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 153,
255), 2));

jLabel1.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N


jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setText("Master Data Barang");

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);


jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(142, 142, 142)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 240,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(144, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 46, Short.MAX_VALUE)
);

jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 530, -1));

tblBarang.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
tblBarang.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
tblBarangMouseClicked(evt);
}
});
jScrollPane2.setViewportView(tblBarang);

jPanel1.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 240, 510,


200));

jLabel2.setText("Kode Barang");
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 61, 80, -1));

txtKodeBarang.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N


txtKodeBarang.setDisabledTextColor(new java.awt.Color(51, 51, 255));
jPanel1.add(txtKodeBarang, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 60, 90,
-1));

jLabel3.setText("Nama Barang");
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 90, 80, -1));
jPanel1.add(txtNamaBarang, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 90,
430, -1));

jLabel5.setText("Jenis");
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 121, 70, -1));

cbJenis.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Sepatu",


"Jersey", "Bola", "Lain-lain" }));
jPanel1.add(cbJenis, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 120, 100, 20));

jLabel8.setText("Harga Jual");
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 150, 80, 20));

txtHargaJual.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtHargaJualActionPerformed(evt);
}
});
txtHargaJual.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
txtHargaJualKeyPressed(evt);
}
public void keyTyped(java.awt.event.KeyEvent evt) {
txtHargaJualKeyTyped(evt);
}
});
jPanel1.add(txtHargaJual, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 150, 230,
-1));

jLabel4.setText("Stock");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 180, 70, -1));

txtStock.setText("0");
jPanel1.add(txtStock, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 180, 100, -1));

btnTambah.setText("Tambah");
btnTambah.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTambahActionPerformed(evt);
}
});
jPanel1.add(btnTambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 210, 90, -
1));

btnSimpan.setText("Simpan");
btnSimpan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSimpanActionPerformed(evt);
}
});
jPanel1.add(btnSimpan, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 210, 90, -
1));

btnEdit.setText("Edit");
btnEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnEditActionPerformed(evt);
}
});
jPanel1.add(btnEdit, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 210, 80, -1));

btnHapus.setText("Hapus");
btnHapus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnHapusActionPerformed(evt);
}
});
jPanel1.add(btnHapus, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 210, 90, -
1));

btnKeluar.setText("Keluar");
btnKeluar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnKeluarActionPerformed(evt);
}
});
jPanel1.add(btnKeluar, new org.netbeans.lib.awtextra.AbsoluteConstraints(440, 210, 80, -
1));

btnCariBarang.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/Gambar/Cari2.png"))); // NOI18N
btnCariBarang.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCariBarangActionPerformed(evt);
}
});
jPanel1.add(btnCariBarang, new org.netbeans.lib.awtextra.AbsoluteConstraints(180, 60, 40,
20));

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 453,
javax.swing.GroupLayout.PREFERRED_SIZE)
);

pack();
}// </editor-fold>
private void tblBarangMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int baris = tblBarang.getSelectedRow();
txtKodeBarang.setText(tblBarang.getModel().getValueAt(baris, 0).toString());
txtNamaBarang.setText(tblBarang.getModel().getValueAt(baris, 1).toString());
cbJenis.setSelectedItem(tblBarang.getModel().getValueAt(baris, 2).toString());
txtHargaJual.setText(tblBarang.getModel().getValueAt(baris, 3).toString());
txtStock.setText(tblBarang.getModel().getValueAt(baris, 4).toString());
btnHapus.setEnabled(true);
btnEdit.setEnabled(true);
}

private void txtHargaJualKeyTyped(java.awt.event.KeyEvent evt) {


// TODO add your handling code here:
//validasi data harus angka atau tombol backspace
char karakter = evt.getKeyChar();
if (!(Character.isDigit(karakter) || karakter == KeyEvent.VK_BACK_SPACE)) {
evt.consume();
}
}

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


// TODO add your handling code here:
if (btnTambah.getText().equalsIgnoreCase("tambah")) {
btnTambah.setText("Batal");
//bersih();
siapIsi(true);
otomatis();
txtNamaBarang.requestFocus();
txtKodeBarang.setEnabled(false);
btnTambah.setEnabled(true);
btnSimpan.setEnabled(true);
btnHapus.setEnabled(false);
btnEdit.setEnabled(false);
btnKeluar.setEnabled(false);
btnCariBarang.setEnabled(false);
txtStock.setEnabled(false);
} else {
btnTambah.setText("Tambah");
bersih();
siapIsi(false);
tombolNormal();
}
}
private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (txtKodeBarang.getText().isEmpty() || txtNamaBarang.getText().isEmpty() ||
cbJenis.getSelectedItem().equals("") || txtHargaJual.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Lengkapi inputan data", "Abadi Sport",
JOptionPane.INFORMATION_MESSAGE);
} else {

if (btnTambah.getText().equalsIgnoreCase("batal")) {
if (btnTambah.getText().equalsIgnoreCase("batal")) {
simpan();
} else {
JOptionPane.showMessageDialog(null, "Simpan data gagal, periksa kembali", "Abadi
Sport", JOptionPane.INFORMATION_MESSAGE);
}
}
if (btnEdit.getText().equalsIgnoreCase("batal")) {
if (btnEdit.getText().equalsIgnoreCase("batal")) {
perbarui();
} else {
JOptionPane.showMessageDialog(null, "Edit data gagal, periksa kembali", "Abadi
Sport", JOptionPane.INFORMATION_MESSAGE);
}
}
bersih();
siapIsi(false);
btnTambah.setText("Tambah");
btnEdit.setText("Edit");
tombolNormal();
}
}

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


// TODO add your handling code here:
if (btnEdit.getText().equalsIgnoreCase("edit")) {
btnEdit.setText("Batal");
siapIsi(true);
txtKodeBarang.setEnabled(false);
txtStock.setEnabled(false);
txtNamaBarang.requestFocus();
btnTambah.setEnabled(false);
btnSimpan.setEnabled(true);
btnHapus.setEnabled(false);
btnEdit.setEnabled(true);
btnKeluar.setEnabled(false);
btnCariBarang.setEnabled(false);
} else {
btnEdit.setText("Edit");
bersih();
siapIsi(false);
tombolNormal();
}
}

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


// TODO add your handling code here:
int pesan = JOptionPane.showConfirmDialog(null, "Yakin data akan dihapus ?",
"Konfirmasi", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (pesan == JOptionPane.YES_OPTION) {
if (pesan == JOptionPane.YES_OPTION) {
hapus();
bersih();
siapIsi(false);
tombolNormal();
} else {
JOptionPane.showMessageDialog(null, "Hapus data gagal");
}
tampil();
}
}

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


// TODO add your handling code here:
dispose();
}

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


// TODO add your handling code here:
String cari = JOptionPane.showInputDialog(null, "Inputkan kriteria pencarian", "Input",
JOptionPane.QUESTION_MESSAGE);
Object header[] = {"Kode Barang", "Nama Barang", "Jenis", "Harga Jual", "Stock"};
DefaultTableModel data = new DefaultTableModel(null, header);
tblBarang.setModel(data);
setKoneksi();
String sql = "Select * from tbbrng where kdbrng like '%" + cari + "%'" + "or nmbrng like '%" +
cari + "%'" + "or jenis like '%" + cari + "%'" + "or hjual like '%" + cari + "%'";
try {
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
String kolom1 = rs.getString(1);
String kolom2 = rs.getString(2);
String kolom3 = rs.getString(3);
String kolom4 = rs.getString(4);
String kolom5 = rs.getString(5);
String kolom[] = {kolom1, kolom2, kolom3, kolom4, kolom5};
data.addRow(kolom);
}

} catch (Exception e) {
}
}

6. Run Form Barang

Potrebbero piacerti anche