Sebelum membuat aplikasi terlebih dahulu kita buat rancangan aplikasi yang akan kita buat seperti ERD dan database,berukut merupakan CDM,PDM dan databasenya:
PDM Aplikasi Mini Market
Setelah kita buat CDM dam PDM kemudian kita buat databasenya seperti berikut:
Barang :Id_Barang,Kategori,Nama_Barang,Stok,Harga_Jual
Kategori :Kategori,Deskripsi
Pengadaan :Id_Pengadaan,Username,Tanggal,Supplier,Total_Transaksi
Penjualan :Id_Penjualan,Username,Tanggal_Penjualan,Total_Penjualan
RelsiPengadaanBarang :Id_Pengadaan,Id_Barang,Jumlah,Harga_Beli_Satuan,
Tgl_Kadaluarsa,Belum_Terjual
RelasiPenjualanBarang :Id_Barang,Id_Penjualan,Jumlah,Laba,Harga_Jual
User :Username,Password,Level,Nama,Alamat,No_Tlp.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGOA2qrtAbOR5b7dsbitkZSj01p-lInzVR5HXdjoMy1xzwSt6gFfIAn08FAJTAfSbx4nBrOcoMvBWuEDp5JIRaevR3GCL-BpOig2eQ5vBi1Rsq0B-JiLTU-sLkocZ_u59ledyrKB8tQ_vo/s400/database.JPG) |
Database project toko Kecil(Minimarket) |
|
- Nama database disesuaikan dengan coding pada masing-masing form untuk menampilkan data
Setelah membuat databasenya kemudian kita buat koneksi,disini saya beri nama koneksi berikut skripnya:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.swing.JOptionPane;
/**
*
* @author Fg_white
*/
public class koneksi implements Kunci_Koneksi {
static class con {
static Statement createStatement() {
throw new UnsupportedOperationException("Not yet implemented");
}
public con() {
}
}
public Connection connection;
public koneksi() {
try{
Object newInstance = Class.forName(driver).newInstance();
connection=DriverManager.getConnection(url, user, password);
}catch(Exception e){
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
public static void main(String[] args) {
koneksi k = new koneksi();
}
}
Setelah membuat koneksi kemudian kita buat tampilan untuk kategori seperti pada gambar dibawah:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT3xDjtTu1hdnJwuWE08-MkLkJjE3DcVBVC0WP1I3_Ynw-yzCAzn9PIgNoIsBvMf1gyBY6GKp6F_-EjO1eIyxDmiHLv9_Av_vP1xxHoC8Q9bN5wfFqQeIJ0_2VTsqIo-NOiPr2hAKvqMwx/s400/kategori.JPG) |
Ubah Text field,text area,tabel dan Button sesuai dengan keterangan |
Untuk menjalankan form kategori gunakan skrip berikut :
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Fg_white
*/
public class Form_Kategori extends javax.swing.JFrame {
private Statement statement;
private ResultSet resultset;
private koneksi koneksi;
private String id_delete;
public Form_Kategori() {
initComponents();
koneksi = new koneksi();
Select();
}
private void Select() {
try {
String header[] = {"Kategori", "Deskripsi"};
DefaultTableModel defaultTableModel = new DefaultTableModel(null, header);
TabelKategori.setModel(defaultTableModel);
int baris = TabelKategori.getSelectedRow();
for (int i = 0; i < baris; i++) {
defaultTableModel.removeRow(i);
}
String sql = "select * from kategori";
statement = koneksi.connection.createStatement();
koneksi.connection.createStatement();
resultset = statement.executeQuery(sql);
while (resultset.next()) {
String kategori = resultset.getString(1);
String deskripsi = resultset.getString(2);
Object isi[] = {kategori, deskripsi};
defaultTableModel.addRow(isi);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void insert() {
try {
String sql = "insert into kategori values('" + nmKategori.getText()
+ "','" + Deskripsi.getText() + "')";
statement.executeUpdate(sql);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Data sudah ada");
}
}
private void delete(){
try {
String query = "delete from kategori where kategori='" +nmKategori.getText()+ "'";
statement.executeUpdate(query);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void clear() {
nmKategori.setText("");
Deskripsi.setText("");
}
Untuk button
Insert,Delete dan Cancel klik kanan event ->Action->ActionPerformed
kemudian tuliskan skrip berikut pada masing-masing Button:
if (nmKategori.getText().equals("") || Deskripsi.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
} else {
insert();
Select();
clear();
}
if (nmKategori.getText().equals("") || Deskripsi.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Silahkan Pilih data yang akan di Hapus");
}else{
delete();
Select();
clear();
}
new FormTampilan().show();
this.dispose(); ->skrip ini digunakan untuk kembali pada tampilan awal aplikasi
Untuk Tabel agar menampilkan isi dari inputan klik kanan->event->mouseClicked kemudian tuliskan skript berikut:
nmKategori.setText(TabelKategori.getValueAt(TabelKategori.getSelectedRow(),0).toString());
Setelah form kategori selesai kemudian kita buat kembali form daftar barang seperti contoh tampilan berikut:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwCD2m-iLUqx0zVRHgCZ-KvITs4d2zF-e9XI1Fnpz2nIGsPJhKJE2u6XGASKHhAc1Ng0GbWDMIzALaZLrhvRrrb0YJAwhFeUzCvE5IHdCLOvHnIeH2j34rObbiqUo6xqB3_dxs7q7W9dRH/s400/daftarBarang.JPG) |
Ubah nama text field,tabel,dan button sesuai dengan keterangan |
Gunakan skrip berikut untuk menjalankan form daftar barang baru:
import com.mysql.jdbc.Statement;
import java.sql.ResultSet;
//import java.sql.Statement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Fg_white
*/
public class Form_dftar_barang extends javax.swing.JFrame {
private Statement statement;
private ResultSet resultset;
private koneksi koneksi;
private String id_delete;
private ResultSet resultSet;
public Form_dftar_barang() {
initComponents();
koneksi = new koneksi();
Select();
PanggilKategoriToComboBox();
}
private void Select() {
try {
String header[] = {"ID BARANG", "KATEGORI", "NAMA_BARANG", "STOK"};
DefaultTableModel defaultTableModel = new DefaultTableModel(null, header);
Tabel_Barang.setModel(defaultTableModel);
int baris = Tabel_Barang.getSelectedRow();
for (int i = 0; i < baris; i++) {
defaultTableModel.removeRow(i);
}
String sql = "select * from barang";(Sesuiakan tulisan dengan nama database barang)
statement = (Statement) koneksi.connection.createStatement();
resultset = statement.executeQuery(sql);
while (resultset.next()) {
String id_barang = resultset.getString(1);
String ComboBoxK = resultset.getString(2);
String Nma_Barang = resultset.getString(3);
String Stok = resultset.getString(4);
Object isi[] = {id_barang, ComboBoxK, Nma_Barang, Stok};
defaultTableModel.addRow(isi);
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void insert(){
try {
String sql="insert into barang values('"+id_barang.getText()+"','"+kategori.getSelectedItem()+"','" +Nma_Barang.getText()+"','"+Stok.getText()+"',0 )";
statement.executeUpdate(sql);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void delete() {
try {
String query = "delete from barang where barang='" + id_barang.getText() + "'";
statement.executeUpdate(query);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "data telah terpakai");
}
}
private void clear() {
id_barang.setText("");
Nma_Barang.setText("");
Stok.setText("");
}
public void update_barang(){
//panggil method koneksi
java.sql.Connection conn = new koneksi().connection;
String sql="update barang set KATEGORI=?, NAMA_BARANG=?, STOK=? where ID_BARANG='"+id_barang.getText()+"'";
java.sql.PreparedStatement stmt = null;
try {
stmt = conn.prepareStatement(sql);
} catch (Exception ex) {
}
try{
stmt.setString(3,Stok.getText());
stmt.setString(2,Nma_Barang.getText());
stmt.setString(1,kategori.getSelectedItem().toString());
stmt.executeUpdate();
}catch(Exception se){
JOptionPane.showMessageDialog(null, (se.getMessage()));
}
}
private void PanggilKategoriToComboBox() {
try {
kategori.removeAllItems();
String sql = "select KATEGORI from kategori";
resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
kategori.addItem(resultSet.getString(1));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
Untuk Button Insert,Delete,Edit sama seperti pada form kategori kita event dulu menjadi event->actionPerformed kemudian tuliskan skript berikut:
if(id_barang.getText().equalsIgnoreCase("") || Nma_Barang.getText().equalsIgnoreCase("")||Stok.getText().equalsIgnoreCase("")){
JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
}else{
insert();
Select();
clear();
}
Select();
update_barang();
clear();
if (id_barang.getText().equals("") ||Nma_Barang.getText().equals("")||Stok.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Silahkan pilih data yang akan di Hapus");
} else {
delete();
Select();
clear();
}
new FormTampilan().show();
this.dispose(); ->sama seperti pada form kategori skript berikut digunakan untuk kembali pada
tampilan awal
Untuk tabel di event -> mouseClicked kemudian tulisakan skript berikut:
id_barang.setText(Tabel_Barang.getValueAt(Tabel_Barang.getSelectedRow(),0).toString());
Stok.setText(Tabel_Barang.getValueAt(Tabel_Barang.getSelectedRow(),3).toString());
Nma_Barang.setText(Tabel_Barang.getValueAt(Tabel_Barang.getSelectedRow(),2).toString());
kategori.setSelectedItem(Tabel_Barang.getValueAt(Tabel_Barang.getSelectedRow(),1).toString()); -> nama di sesuiankan dengan databasenya.
Selanjutnya membuat form pengadaan seperti pada gambar di bawah:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTMtxqaPfYIGnbcxpjHMBTdkxibVT2AL5QKy0fQ0ML1-E_Ghs-jI8yRdnEr0WrWmHMjojSJKIc_yoilI_JURzhPbqvFyiMgtR9ONSYlsjPmIgFhPUiaJsL55Xcjz50UObXwOJiqjFpI0-i/s400/Transaksipengadaan.JPG) |
Ubah nama text field,text calender dan Button sesuai tampilan |
Kemudian tuliskan Skript berikut untuk menjalankan tampilan:
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
/**
*
* @author Fg_white
*/
public class Pengadaan_Barang extends javax.swing.JFrame {
private Statement statement;
private ResultSet resultset;
private koneksi konek;
private ResultSet resultSet;
int count;
String Id_pengadaan;
String id_hapus;
// koneksi con;
public Pengadaan_Barang() {
initComponents();
konek = new koneksi();
select();
}
private void select() {
Object header[] = {"ID PENGADAAN", "TANGGAL", "SUPPLIER", "TOTAL TRANSAKSI", "ACTION"};
DefaultTableModel defaultTable = new DefaultTableModel(null, header);
Tabel_pengadaan.setModel(defaultTable);
Tabel_pengadaan.getColumnModel().getColumn(4).setCellRenderer(new ButtonDetail());
int baris = Tabel_pengadaan.getRowCount();
for (int i = 0; i < baris; i++) {
defaultTable.removeRow(i);
}
String sql_select = "select * from pengadaan";
try {
statement = konek.connection.createStatement();
resultSet = statement.executeQuery(sql_select);
while (resultSet.next()) {
String id_Pengadaan = resultSet.getString(1);
String tanggal = resultSet.getString(3);
double total = resultSet.getDouble(5);
String supplier = resultSet.getString(4);
Object kolom[] = {id_Pengadaan, tanggal, supplier, total};
defaultTable.addRow(kolom);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void insertData() {
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String tanggal = dateFormat.format(Tanggal.getDate());
SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd.MM.yyyy");
String tanggal2 = dateFormat2.format(Tanggal.getDate());
count = 100;
String sqltanggal = "select TANGGAL, ID_PENGADAAN from pengadaan";
resultSet = statement.executeQuery(sqltanggal);
while (resultSet.next()) {
String data1 = resultSet.getString(1);
String data2 = resultSet.getString(2);
if (data1.equals(tanggal)) {
if (count == Integer.valueOf(data2.substring(14, 17))) {
count++;
}
}
}
String id_pengadaan = "TB." + tanggal2 + "." + count;
String sql = "insert into pengadaan "
+ "values('" + id_pengadaan + "','nila','" + tanggal + "','" + Supplier.getText() + "',0)";
statement.executeUpdate(sql);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void deleteData(){
String sql_delete = "delete from pengadaan where ID_PENGADAAN = '"+id_hapus+"'";
try {
statement.executeUpdate(sql_delete);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Data masih digunakan!!");
}
}
Kemudian Untuk Button Insert,Delete sama seperti pada form sebelumnya di Event -> actionPerformed kemudian tuliskan skript berikut:
if ( Supplier.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
} else {
insertData();
select();
}
if (Supplier.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Silahkan pilih data yang akan di Hapus");
} else {
deleteData();
select();
}
new FormTampilan().show();
this.dispose();
Untuk tabel di event->mouseClicked kemudian tuliskan skript berikut:
Id_pengadaan= Tabel_pengadaan.getValueAt( Tabel_pengadaan.getSelectedRow(),0).toString();
Supplier.setText( Tabel_pengadaan.getValueAt( Tabel_pengadaan.getSelectedRow(),0).toString());
if (Tabel_pengadaan.getSelectedColumn() == 4) {
this.dispose();
new Detail_Transaksibarang(Id_pengadaan).setVisible(true);
}
id_hapus= Tabel_pengadaan.getValueAt(Tabel_pengadaan.getSelectedRow(),0).toString();
Selanjutnya membuat form Detail transaksi untuk menyambungkan ketika detail di klik maka akan mencul tampilan form detail sperti pada gambar dibawah:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN4tEZrhUBIJlpT6X2WaPlg4Z4YckSZ5n3zxJOsp6agRnW5Mv-ukuWKtxr4EcKjeKRmm4tszhPQK0wDNaPhDlDlsdjmO99OEqsrxYDon5nRl7Y-pDJVQt0w0PWq5-kA5k8NJ1F2Nd1ShMM/s400/detail.JPG) |
Detail Transaksi barang |
| |
Set harga detai transaksi barang |
Ubah nama text field ,tabel dan buttonnya sesuai script.Buat seperti script berikut untuk menjalankan seperti pada gambar di atas:
package project_toko_kecil;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Fg_white
*/
public class Detail_Transaksibarang extends javax.swing.JFrame {
// koneksi konek;
ResultSet resultset;
Statement statement;
koneksi con;
int count = 0,count2 = 0;
private String id_pengadaan,id_edit;
String id_hapus;
public Detail_Transaksibarang(String Idtransaksi) {
initComponents();
con = new koneksi();
// totalTransaksi(id_pengadaan);
select_harga_jual();
this.id_pengadaan = Idtransaksi;
select(this.id_pengadaan);
IdTransaksi.setText(id_pengadaan);
IdBarang.setEnabled(false);
IdTransaksi.setEnabled(false);
IdBarang.setEnabled(false);
Id_harga_jualB.setEnabled(false);
panggilKategori();
NamaBarang.removeAllItems();
NamaBarang.addItem("-- Pilih --");
}
private void clear1() {
IdBarang.setText("");
HargaSatuan.setText("");
Jumlah.setText("");
}
private void clear2() {
Id_harga_jualB.setText("");
Harga_jual.setText("");
}
private void select(String data) {
Object header[] = {"ID TRANSAKSI", "ID BARANG", "NAMA BARANG", "HARGA BELI", "HARGA JUAL", "JUMLAH", "KADALUARSA"};
DefaultTableModel defaultTable = new DefaultTableModel(null, header);
Tabel_detail_Transaksi.setModel(defaultTable);
int baris = Tabel_detail_Transaksi.getRowCount();
for (int i = 0; i < baris; i++) {
defaultTable.removeRow(i);
}
String sql_select = "select r.ID_PENGADAAN,r.ID_BARANG,b.NAMA_BARANG,r.HARGA_BELI_SATUAN,b.HargaJual,r.Jumlah,r.TGL_KADALUARSA "
+ "from rel_pengadaan_barang r, barang b where r.ID_PENGADAAN='" + data + "' and r.ID_BARANG = b.ID_BARANG";
try {
statement = con.connection.createStatement();
resultset = statement.executeQuery(sql_select);
while (resultset.next()) {
String idPengadaan = resultset.getString(1);
String idBarang = resultset.getString(2);
String namaBarang = resultset.getString(3);
double harga_beli = resultset.getDouble(4);
double harga_jual = resultset.getDouble(5);
int jumlah = resultset.getInt(6);
String kadaluarsa = resultset.getString(7);
Object kolom[] = {idPengadaan, idBarang, namaBarang, harga_beli, harga_jual, jumlah, kadaluarsa};
defaultTable.addRow(kolom);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void select_harga_jual() {
Object header[] = {"ID_BARANG", "NAMA_BARANG", "HARGA_BELI_TERMAHAL", "HargaJual"};
DefaultTableModel defaultTable = new DefaultTableModel(null, header);
tabelhargajualbarang.setModel(defaultTable);
int baris = tabelhargajualbarang.getRowCount();
for (int i = 0; i < baris; i++) {
defaultTable.removeRow(i);
}
String sql_select = "select r.ID_BARANG, b.NAMA_BARANG, max(r.HARGA_BELI_SATUAN),b.hargajual from rel_pengadaan_barang r, barang b where b.ID_BARANG = r.ID_BARANG group by ID_BARANG";
try {
statement = con.connection.createStatement();
resultset = statement.executeQuery(sql_select);
while (resultset.next()) {
String idBarang = resultset.getString(1);
String namaBarang = resultset.getString(2);
String maxHarga = resultset.getString(3);
String harga_jual = resultset.getString(4);
String kolom[] = {idBarang, namaBarang, maxHarga, harga_jual};
defaultTable.addRow(kolom);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void panggilKategori() {
try {
KategoriBarang.removeAllItems();
KategoriBarang.addItem("---- Pilih ----");
String sql = "select KATEGORI from kategori";
statement = con.connection.createStatement();
resultset = statement.executeQuery(sql);
while (resultset.next()) {
KategoriBarang.addItem(resultset.getString(1));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void panggilNamaBarang(String data) {
try {
String sql = "select NAMA_BARANG from barang where KATEGORI='" + data + "'";
statement = con.connection.createStatement();
resultset = statement.executeQuery(sql);
NamaBarang.removeAllItems();
NamaBarang.addItem("---- Pilih ----");
while (resultset.next()) {
NamaBarang.addItem(resultset.getString(1).toString());
}
} catch (Exception e) {
// JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void panggilIdBarang(String data) {
try {
String sql = "SELECT ID_BARANG FROM barang WHERE NAMA_BARANG='" + data + "'";
statement = con.connection.createStatement();
resultset = statement.executeQuery(sql);
while (resultset.next()) {
IdBarang.setText(resultset.getString(1));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void updateHarga() {
String sql_update = "update barang set HargaJual = '" + Harga_jual.getText() + "' where ID_BARANG = '" + Id_harga_jualB.getText() + "'";
try {
statement = con.connection.createStatement();
statement.executeUpdate(sql_update);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void updateDetailTransaksi() {
String sql=null;
if (RadioKadaluarsa.isSelected()) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String tgl_kadaluarsa = dateFormat.format(TglKadaluarsa.getDate());
sql ="UPDATE rel_pengadaan_barang "
+ "SET ID_BARANG ='"+IdBarang.getText()+"', JUMLAH ='"+Jumlah.getText()+"', HARGA_BELI_SATUAN ='"+HargaSatuan.getText()+"',"
+ "TGL_KADALUARSA ='"+tgl_kadaluarsa+"' WHERE ID_PENGADAAN ='"+id_pengadaan +"' AND ID_BARANG='"+id_edit +"'";
} else if (RadioKadaluarsa2.isSelected()) {
sql ="UPDATE rel_pengadaan_barang "
+ "SET ID_BARANG ='"+IdBarang.getText()+"', JUMLAH ='"+Jumlah.getText()+"', HARGA_BELI_SATUAN ='"+HargaSatuan.getText()+"',"
+ "TGL_KADALUARSA ='Tidak ada' WHERE ID_PENGADAAN ='"+id_pengadaan +"' AND ID_BARANG='"+id_edit +"'";
}
try {
statement = con.connection.createStatement();
statement.executeUpdate(sql);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void insertData() {
String sql = null;
if (RadioKadaluarsa.isSelected()) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String tgl_kadaluarsa = dateFormat.format(TglKadaluarsa.getDate());
sql = "INSERT INTO rel_pengadaan_barang VALUES ('" + IdTransaksi.getText() + "', '" + IdBarang.getText() + "', '" + Jumlah.getText() + "', '" + HargaSatuan.getText() + "','" + tgl_kadaluarsa + "')";
}
else if (RadioKadaluarsa2.isSelected()) {
sql = "INSERT INTO rel_pengadaan_barang VALUES ('" + IdTransaksi.getText() + "', '" + IdBarang.getText() + "', '" + Jumlah.getText() + "', '" + HargaSatuan.getText() + "','Tidak ada')";
}
try {
statement =con.connection.createStatement();
statement.executeUpdate(sql);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void totalTransaksi(String data) {
String sql_select = "SELECT SUM(JUMLAH*HARGA_BELI_SATUAN) FROM rel_pengadaan_barang WHERE ID_PENGADAAN='" + data + "' group by ID_PENGADAAN";
try {
statement = con.connection.createStatement();
resultset = statement.executeQuery(sql_select);
while (resultset.next()) {
Label_TotalTransaksi.setText(resultset.getString(1));
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void UpdateStok() {
String idBarang = Id_harga_jualB.getText();
String jumlah = Jumlah.getText();
String sqlstok = "SELECT STOK FROM barang WHERE ID_BARANG='" + idBarang + "'";
try {
statement = con.connection.createStatement();
resultset = statement.executeQuery(sqlstok);
while (resultset.next()) {
String stoklama = resultset.getString(1);
double stok = Double.parseDouble(jumlah) + Double.parseDouble(stoklama);
String sql = "UPDATE barang SET STOK='" + stok + "' WHERE ID_BARANG='" + idBarang + "'";
try {
statement = con.connection.createStatement();
statement.executeUpdate(sql);
} catch (Exception e) {
System.out.println("Terjadi kesalahan, karena data telah tersedia!\n" + e.getMessage());
JOptionPane.showMessageDialog(null, "Terjadi kesalahan, karena data telah tersedia!\n" + e.getMessage());
}
}
} catch (Exception e) {
System.out.println("Terjadi kesalahan, karena " + e.getMessage());
JOptionPane.showMessageDialog(null, "Terjadi kesalahan, karena " + e.getMessage());
}
}
private void TotalTransaksidipengadaan() {
String idTrans = IdTransaksi.getText();
String total = Label_TotalTransaksi.getText();
String sqlTotal = "UPDATE pengadaan SET Total_Transaksi='" + total + "' WHERE ID_PENGADAAN='" + idTrans + "'";
try {
statement = con.connection.createStatement();
statement.executeUpdate(sqlTotal);
} catch (Exception e) {
System.out.println("Terjadi kesalahan, karena data telah tersedia!\n" + e.getMessage());
JOptionPane.showMessageDialog(null, "Terjadi kesalahan, karena data telah tersedia!\n" + e.getMessage());
}
}
private void deleteData() {
String sql_delete = "DELETE FROM rel_pengadaan_barang WHERE ID_PENGADAAN ='" + IdTransaksi.getText() + "' AND ID_BARANG ='" + IdBarang.getText() + "'";
try {
statement = con.connection.createStatement();
statement.executeUpdate(sql_delete);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Data masih digunakan!!");
}
}
public void Search() {
Object header[] = {"ID BARANG", "NAMA BARANG", "HARGA BELI TERMAHAL", "HARGA JUAL"};
DefaultTableModel defaultTable = new DefaultTableModel(null, header);
tabelhargajualbarang.setModel(defaultTable);
String cari = TextSearch.getText();
String sql = "select r.ID_BARANG, b.NAMA_BARANG, max(r.HARGA_BELI_SATUAN),b.HargaJual from rel_pengadaan_barang r, barang b "
+ "where b.ID_BARANG = r.ID_BARANG and b.ID_BARANG LIKE '%" + cari + "%' or b.NAMA_BARANG LIKE '%" + cari + "%'";
try {
statement = con.connection.createStatement();
resultset = statement.executeQuery(sql);
while (resultset.next()) {
String idBarang = resultset.getString(1);
String namaBarang = resultset.getString(2);
String maxHarga = resultset.getString(3);
String harga_jual = resultset.getString(4);
String kolom[] = {idBarang, namaBarang, maxHarga, harga_jual};
defaultTable.addRow(kolom);
}
} catch (Exception e) {
System.out.println("Terjadi kesalahan, karena " + e.getMessage());
JOptionPane.showMessageDialog(null, "Terjadi kesalahan, karena " + e.getMessage());
}
}
Untuk button Insert,Edit,Delete menggunakan script yang sama seperti pada form yang sebelumnya,untuk Set harga pada
Harga Jual Barang gunakan script berikut jangan lupa di
event-> actionPerformed dulu kemudian tulis scriptnya seperti berikut:
if (Id_harga_jualB.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Pilih data yang akan diedit");
} else {
int hasil = JOptionPane.showConfirmDialog(null, "Apakah benar anda ingin mengedit data dengan kode : "
+ Id_harga_jualB.getText(), null, JOptionPane.YES_NO_OPTION);
if (hasil == JOptionPane.YES_OPTION) {
updateHarga();
select_harga_jual();
select(id_pengadaan);
clear2();
} else if (hasil == JOptionPane.NO_OPTION) {
clear2();
}
}
Untuk text Search kita
event->actionPerformed dan event key
->keyTyped kemudian panggil class search yang sudah kita buat
Search(); ->di isikan pada kedua event.
Setelah berhasil kemudian kita buat form stok Barang seperti pada tampilan berikut:
Untuk menjalankan fungsi ketika diketikkan pada search kemudian muncul data barang yang sudah di inputkan beserta stoknya maka gunakan script berikut:
package project_toko_kecil;
import com.mysql.jdbc.Statement;
import static java.awt.image.ImageObserver.WIDTH;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
public class form_STok_Barang extends javax.swing.JFrame {
ResultSet resultset;
Statement statement;
koneksi con;
public form_STok_Barang() {
initComponents();
setTitle("Stok Barang");
con = new koneksi();
}
private void select(String sql){
String header[]={"ID_BARANG","KATEGORI","NAMA_BARANG","STOK"};
DefaultTableModel defaultTableModel=new DefaultTableModel(null,header);
TabelStok.setModel(defaultTableModel);
for (int i=0;i
defaultTableModel.removeRow(i);
}
try {
statement=(Statement) con.connection.createStatement();
resultset=statement.executeQuery(sql);
while(resultset.next()){
String id=resultset.getString(1);
String kategori=resultset.getString(2);
String nama=resultset.getString(3);
int stok=resultset.getInt(4);
Object baris[]={id,kategori,nama,stok};
defaultTableModel.addRow(baris);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
kemudian untuk
text field Search kita
event->key->keyTyped tuliskan script berikut:
String sqlSearch="select*from barang where NAMA_BARANG like '%"+Search.getText()+"%'";
select(sqlSearch);
jangan lupa set nama Textfieldnya terlebih dahulu,untuk button Back linkan pada form tampilan awal menu utama.Terimakasih...!!
Semoga Bernmanfaat..!!!