Tutorial Aplikasi Sederhana Java Netbeans
Sebelum membuat aplikasi terlebih dahulu kita buat rancangan aplikasi yang akan kita buat seperti ERD dan database,berukut merupakan CDM,PDM dan databasenya:
CDM Aplikasi Mini Market
PDM Aplikasi Mini Market
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:
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:
JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
} else {
insert();
Select();
clear();
}
JOptionPane.showMessageDialog(null, "Silahkan Pilih data yang akan di Hapus");
}else{
delete();
Select();
clear();
}
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...!!
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
- Nama database disesuaikan dengan coding pada masing-masing form untuk menampilkan data
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:
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:
- Button Insert:
JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
} else {
insert();
Select();
clear();
}
- Button Delete:
JOptionPane.showMessageDialog(null, "Silahkan Pilih data yang akan di Hapus");
}else{
delete();
Select();
clear();
}
- Button Cancel:
new FormTampilan().show();
this.dispose(); ->skrip ini digunakan untuk kembali pada tampilan awal aplikasi
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:
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());
}
}
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:
- Button Insert :
if(id_barang.getText().equalsIgnoreCase("") || Nma_Barang.getText().equalsIgnoreCase("")||Stok.getText().equalsIgnoreCase("")){
JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
}else{
insert();
Select();
clear();
}
JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
}else{
insert();
Select();
clear();
}
- Button Edit:
Select();
update_barang();
clear();
update_barang();
clear();
- Button Delete:
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();
}
JOptionPane.showMessageDialog(null, "Silahkan pilih data yang akan di Hapus");
} else {
delete();
Select();
clear();
}
- Button Cancel:
new FormTampilan().show();
this.dispose(); ->sama seperti pada form kategori skript berikut digunakan untuk kembali pada
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.
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:
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!!");
}
}
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:
- Button Insert:
if ( Supplier.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
} else {
insertData();
select();
}
JOptionPane.showMessageDialog(null, "Silahkan Lengkapi Inputan Anda");
} else {
insertData();
select();
}
- Button Delete:
if (Supplier.getText().equals("")) {
JOptionPane.showMessageDialog(null, "Silahkan pilih data yang akan di Hapus");
} else {
deleteData();
select();
}
JOptionPane.showMessageDialog(null, "Silahkan pilih data yang akan di Hapus");
} else {
deleteData();
select();
}
- Button Cancel:
new FormTampilan().show();
this.dispose();
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();
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:
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..!!!
makasih, postingannya sangat membantu ^_^
ReplyDeletesama",alhamdulillah jika membantu
Deletegan file project yang udah jadi upload in donk gan
ReplyDeletemaaf itu data pribadi,saya hanya membantu dalam pembuatannya saja tidak membagi hasilnya
DeleteBang, kalau membuat relasinya tanpa menggunakan CDM/PDM bisa tidak? misalnya di SQL Server/SQLyog? Terima kasih! x))
ReplyDeletembk projec nya bisa di kirim ke email saya hidayah_fitra@yahoo.com sebgai gantinya dan rasa trimaksih saya trans 50k ke rek mbkx setelah kirim... soalnya mau buat tugas 2 minggu lagi... timkasih....
ReplyDelete50k tuu 50.000 ya??
Deletekalo segitu mah murah banget.. :D
gak jadi wes..
Deleteitu untuk tanggalnya pke inputan jtextField atau apa ya??
ReplyDeleteItu tanggal pake Jcalendar bro
ReplyDeleteThank's tutorialnya gan :)
ReplyDeleteminta tutornya yang lebih jelas dong mengenai koneksinya
ReplyDeletemas boleh liat contoh ERDnya ?
ReplyDeleteKepada Yth,
ReplyDeleteTo : PERUSAHAAN BUMN
& SWASTA NASIONAL.
Di Tempat.
Up/attn : Pimpinan Perusahaan, HRD & Finance Manager , Accounting
Perihal : Surat Perkenalan & Kerjasama
Terlampir : 1 Perincian Penerbitan Bank Garansi & Surety Bond
Dengan Hormat,
Salam hangat dari PT. JASA MULYA ABADI (Consultan Bank Garansi Dan Asuransi)
Perkenankan kami untuk memperkenalkan perusahaan kami, PT. JASA MULYA ABADI .
Dimana kami telah di back up beberapa perusahaan Asuransi Kerugian Swasta Nasional Maupun BUMN serta Perusahaan kami telah ditunjuk untuk memasarkan bank garansi yang terbitkan oleh Bank diantaranya:BANK BNI , BRI , BCA , BII , EXIM , DKI , BTN , SINARMAS , MUTIARA , AGRA , KALTIM , SUMSEL , BUMIPUTERA , serta bank dan Asuransi Penerbit lainnya.Pada kesempatan ini kami menawarkan kerjasama dibidang penerbitan bank Garansi / Surety bond,dimana didalam penerbitannya kami memberikan prosedur relatif mudah yaitu : NON COLLATERAL (Tanpa Agunan), Serta Jaminan polis siap kami antar.
Jasa General Insurance Bank Garansi Dan Asuransi Yang Kami Tawarkan Diantaranya :
Ø JAMINAN PENAWARAN (Bid Bond)
Ø JAMINAN PELAKSANAAN (Performance Bond)
Ø JAMINAN UANG MUKA (Advance Payment Bond)
Ø JAMINAN PEMELIHARAAN (Maintenance Bond)
1.Contractor all risk (CAR)
2.Conprenshive general liability ( CGL)
3.Workman compensation liability (WCL)
4.Automobile liability (AL)
5.Custom bond
6.Property all risk (PAR)
7.Erection all risk ( EAR)
8.Marine hull insurance (MH)
9.Cargo
10`. Sp2d Akhir Tahun ( Surat Perintah Pencairan Dana )
Besar harapan kami kiranya perusahaan kami diberikan kesempatan dan kepercayaan untuk berpartisipasi dalam kegiatan perusahaan bapak/ibu kelola terutama dalam hal perlindungan terhadap resiko (Wan Prestasi) baik itu proyek yang sedang berjalan / akan dilaksanakan maupun proyek yang sudah berjalan kami memberikan prosedur yang relative mudah yaitu proses cepat serta jaminan polis siap di antar.
Demikianlah penawaran dari kami, semoga ini merupakan awal kerjasama yang baik dan berkesinambungan dimasa yang akan datang,atas perhatian dan kerjasamanya kami ucapkan terima kasih.
salam .
KHAIDIR MUIS
Div.Marketing
PT. JASA MULYA ABADI
(Insurance – Bank Guarantee & Surety Bond)
Jl. Harapan Mulya IV No. 38, Kemayoran - Jakarta Pusat
Telp : 021-4260719 (Hunting)
Fax : 021-4252048
Email : khaidirmuis.jma@gmail.com
Mobile : 081367312690
hehehehehe
ReplyDeletemakasih tutor nya di coba dulu
ReplyDeletethanks tutornya gan..
ReplyDeleteOke makasih bro, sangat membantu..
ReplyDeletecara memasukkan tombol detail ke jtabelnya gmn ?
ReplyDeletemas ada tutor dari awal bikin ga?
ReplyDeletesaya masih belum paham nih
This comment has been removed by the author.
DeleteKak ini kodingannya ada errornya ya emg?
ReplyDeleteBoleh tanya yg back itu kan sourcenya nanti k new FormTampilan kan y ? Tp kog d jframe project d atas nggak ada yg nunjukin form tampilannya ? Dan juga untuk main programnya kan d form class tuh tpi implements Kunci_Koneksi nya salah ... bsa minta kunci_koneksi penjelasannya gmana ? Kgunaannya dmana ? Apakah itu manggil form lain atau gmana ?
ReplyDeleteKalau mau pindah textfield dengan tombol panah tau caranya gak ya? Saat textfield tidak ada karakter dan di tekan tombol panah kiri maka akan berpindah ke textfield yg ada d sebelah kiri, saat di textfiel terdapat karakter/string dan di tekan tombol panah kiri maka akan berpindah perkarakter kekiri kemudian kejtextfield yang ada d sebelah kiri
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteGan detail barang dan harga jual barang yg di form Detail Transaksi Barang itu pake apa ya
ReplyDeletebangke gw udah ikutin capek2 taunya ga jelas
ReplyDeleteKok nggak ada type datanya untuk databasenya
ReplyDeleteAss...misi mau bertanya terkait dengan programnya itu membuat menu bar seperti pada form detail transaksi barang itu bagaimana ya?
ReplyDeleteJadi ketika slide sebelahnya diklik makan akan muncul data atau tabel lain tapi masih dalam satu form seperti di gambar...
Contohnya di form detail transaksi barang terdapat data detail transaksi barang dengan set harga detail transaksi barang tapi masih dalam satu form ?
makasih tutorialnya.
ReplyDeletejangan lupa mampir ke blog saya di www.portalcoding.com
Nagaqq Yang Merupakan Agen Bandarq terbaik , Domino 99, Dan Bandar Poker Online Terpercaya di asia hadir untuk anda semua dengan permainan permainan menarik dan bonus menarik untuk anda semua
ReplyDeleteBonus yang diberikan NagaQQ :
* Bonus rollingan 0.5%,setiap senin di bagikannya
* Bonus Refferal 10% + 10%,seumur hidup
* Bonus Jackpot, yang dapat anda dapatkan dengan mudah
* Minimal Depo 15.000
* Minimal WD 20.000
* Deposit via Pulsa TELKOMSEL
* 6 JENIS BANK ( BCA , BNI, BRI , MANDIRI , CIMB , DANAMON )
Memegang Gelar atau title sebagai AGEN POKER ONLINE Terbaik di masanya
11 Games Yang di Hadirkan NagaQQ :
* Poker Online
* BandarQ
* Domino99
* Bandar Poker
* Bandar66
* Sakong
* Capsa Susun
* AduQ
* Perang Bacarrat
* Perang Dadu
* BD QQ (New Game)
Info Lebih lanjut Kunjungi :
Website : NAGAQQ
Facebook : NagaQQ official
WHATSAPP : +855977509035
Line : Cs_nagaQQ
TELEGRAM :+855967014811
BACA JUGA BLOGSPORT KAMI YANG LAIN:
Winner NagaQQ
Daftar NagaQQ
nagaqq
Thanks and that i have a neat provide: What Home Renovation Shows Are On Netflix house remodeling services
ReplyDelete