0% menganggap dokumen ini bermanfaat (0 suara)
126 tayangan

Membuat Program Data Barang2

Diunggah oleh

Rezky Amelia Sy
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
126 tayangan

Membuat Program Data Barang2

Diunggah oleh

Rezky Amelia Sy
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 22

Membuat Program Data Barang

Aplikasi satu ini adalah aplikasi database yang memuat kategori beserta data barang itu
sendiri. Aplikasi ini terdiri dari dua form dan dua tabel. Berikut ini adalah langkah-langkah
dalam membuatnya.

Cara Membuat Database dan Tabel
Buka phpmyadmin, Pertama kita akan membuat tabel kategori/jenis barang. Strukturnya sbb
Kolom Tipe Data Panjang
kodejenis* char 4
Jenis varchar 60

Selanjutnya buat tabel barangnya.
Kolom Tipe Data Panjang
kodebarang* char 4
namabarang varchar 100
kodejenis char 4
harganet double -
hargajual double -
stok smallint 4

Membuat database.ini
File ini digunakan untuk menghubungkan database dengan java, letakkan di tempat dimana
program netbeansnya dibuat.
Ketikkan ini di notepad, simpan sebagai database.ini
# Setting JDBC
# getDriver JDBC
DBDriver=com.mysql.jdbc.Driver
# getDatabase
DBDatabase=jdbc:mysql://localhost/databarang
# Setting username
DBUsername=root
# Setting password
DBPassword=passwordanda
Merancang Program
Buat project baru , pilih File > New Project>Java Application, isi dengan nama project,
misalnya sisfo_barang. Nama ini juga yang akan menjadi nama paket awal secara otomatis.
Selanjutnya tinggal membuat listing program
database.java
package sisfo_barang;
import java.io.FileInputStream;
import java.util.Properties;
import javax.swing.JOptionPane;
public class Database {
public Properties mypanel, myLanguage;
private String strNamePanel;
public Database(){
}
public String SettingPanel(String nmPanel){
try {
mypanel = new Properties();
mypanel.load(new FileInputStream("lib/database.ini"));
strNamePanel = mypanel.getProperty(nmPanel);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Tidak ada koneksi","Error",
JOptionPane.INFORMATION_MESSAGE);
System.err.println(e.getMessage());
System.exit(0);
}
return strNamePanel;}}
Buat Form untuk menginput jenis barang, klik di package : New>Jframe Form, beri nama
kelasnya. Misalnya FrmJenis.java Design tampilannya seperti di bawah ini:

Untuk propertinya :


Palette
Pengaturan Properti
Text Change Variable Name
jLabel1 Entri Jenis Data Barang jLabel1
jLabel2 Kode Jenis jLabel2
jLabel3 Jenis Barang jLabel3
JTextField1 - KodeJenis
JTextField2 - Jenis
JButton1 Tambah AddNew
JButton2 Simpan Save
JButton3 Ubah Edit
JButton4 Hapus Delete
JButton5 Keluar Close
JTable - Table

Untuk mengganti variabel bisa mengklik kanan tiap properti dan pilih Change Variable
Name.
Berikut adalah detil dimana listing harus ditambahkan :
Di bawah package, bagian import :
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
di bagian public class FrmJenis extends javax.swing.JFrame {
public class FrmJenis extends javax.swing.JFrame {
Database dbsetting;
String driver,database,user,pass;
private Object tabel;
/** Creates new form FrmJenis */
public FrmJenis() {
initComponents();
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=this.getSize();
if(frameSize.height > screenSize.height){
frameSize.height=screenSize.height;
}
if(frameSize.width > screenSize.width){
frameSize.width=screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,(screenSize.height =
screenSize.height) / 4);
dbsetting = new Database();
driver = dbsetting.SettingPanel("DBDriver");
database = dbsetting.SettingPanel("DBDatabase");
user = dbsetting.SettingPanel("DBUsername");
pass = dbsetting.SettingPanel("DBPassword");
table.setModel(tableModel);
Tabel(table, new int[]{90,370});
setDefaultTable();
SetEditOff();
}
Di bawah @SuppressWarnings("unchecked") :
public void BersihData(){
KodeJenis.setText("");
Jenis.setText("");
}
public void SetEditOff(){
KodeJenis.setEnabled(false);
Jenis.setEnabled(false);
}
public void SetEditOn(){
KodeJenis.setEnabled(true);
Jenis.setEnabled(true);
}
Ketiga method di atas adalah method untuk membersihkan form sebelum ditambahkan data,
mengeset semua text field dalam posisi bisa diedit atau tidak dan juga membuat enable dari
tiap tombol on atau tidak, tergantung tombol mana yang terlebih dahulu diklik.
Diatas // Variables declaration - do not modify
int row = 0;
public void Tampil(){
row = table.getSelectedRow();
KodeJenis.setText(tableModel.getValueAt(row, 0).toString());
Jenis.setText(tableModel.getValueAt(row, 1).toString());
Save.setEnabled(false);
Update.setEnabled(true);
Delete.setEnabled(true);
SetEditOn();
}
private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[] ) {
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int kolom=tb.getColumnCount();
for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i);
tbc.setPreferredWidth(lebar[i]);
tb.setRowHeight(17);
}
}

private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel(
new Object[][] {},
new String [] {"Kode Jenis","Jenis Barang"}
){
boolean[] canEdit = new boolean[]{
false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex){
return canEdit[columnIndex];
}
};
}
String data[]=new String[2];
private void setDefaultTable() {
String stat ="";
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM tbljenis";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
data[0] = res.getString(1);
data[1] = res.getString(2);
tableModel.addRow(data);
}
res.close();
stt.close();
kon.close();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}

Kode-kode ini untuk mengatur tabel.
Pada tombol Tambah :
private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
BersihData();
KodeJenis.requestFocus();
Save.setEnabled(true);
Update.setEnabled(false);
Delete.setEnabled(false);
SetEditOn();
}
Pada tombol Simpan :
private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String KJ=KodeJenis.getText();
String J=Jenis.getText();
if ((KJ.isEmpty()) | (J.isEmpty()))
{JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
KodeJenis.requestFocus();
}else {
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "insert into tbljenis values(' "+KodeJenis.getText()+" ' , "+
" ' "+Jenis.getText()+"')";
stt.executeUpdate(SQL);
data[0] = KodeJenis.getText();
data[1] = Jenis.getText();
tableModel.insertRow(0, data);
stt.close();
kon.close();
BersihData();
Save.setEnabled(false);
SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
Pada tombol Ubah :
private void UpdateActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String KJ=KodeJenis.getText();
String J=Jenis.getText();
if ((KJ.isEmpty()) | (J.isEmpty()))
{JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
KodeJenis.requestFocus();
}else {
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "Update tbljenis set jenis=' "+Jenis.getText()+" ' "+
"Where kodejenis=' "+KodeJenis.getText()+" ' ";
stt.executeUpdate(SQL);
data[0] = KodeJenis.getText();
data[1] = Jenis.getText();
tableModel.removeRow(row);
tableModel.insertRow(row,data);
stt.close();
kon.close();
BersihData();
Save.setEnabled(false);
SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
Pada Tombol Hapus :
private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String KJ=KodeJenis.getText();
String J=Jenis.getText();
if ((KJ.isEmpty()) | (J.isEmpty()))
{JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
KodeJenis.requestFocus();
}else {
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "Delete From tbljenis Where kodejenis='"+KodeJenis.getText().toString()+"'";
stt.executeUpdate(SQL);
data[0] = KodeJenis.getText();
data[1] = Jenis.getText();
tableModel.removeRow(row);
stt.close();
kon.close();
BersihData();
Save.setEnabled(false);
SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
Pada tombol Keluar :
private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null,"Aplikasi ini akan ditutup! ",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}

Klik bagian events di tabel sehingga jadinya seperti dalam gambar, lalu isikan kode berikut :
private void tableMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if (evt.getClickCount()==1) {
Tampil();
}
}



Buat Form Barang dengan design berikut :

Atur propertinya sbb :

Palette
Pengaturan Properti
Text Change Variable Name
jLabel1 Entri Data Barang jLabel1
jLabel2 Kode Barang jLabel2
jLabel3 Nama Barang jLabel3
jLabel4 Kode Jenis Barang jLabel4
jLabel5 Jenis Barang jLabel5
jLabel6 Harga Net jLabel6
jLabel7 Harga Jual jLabel7
jLabel8 Stok jLabel8
JTextField1 - KodeBarang
JTextField2 - NamaBarang
JTextField3 - Jenis
JTextField4 - HargaNet
JTextField5 - HargaJual
JTextField6 Stok
ComboBox1 KodeJenis
JButton1 Tambah AddNew
JButton2 Simpan Save
JButton3 Ubah Edit
JButton4 Hapus Delete
JButton5 Keluar Close
JTable - Table

Di bawah package, bagian import :
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.swing.*;
import java.awt.*;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
di bagian public class FrmBarang extends javax.swing.JFrame {

public class FrmBarang extends javax.swing.JFrame {Database dbsetting;
String driver,database,user,pass,userLogin;
private Object tabel;
/** Creates new form FrmBarang */
public FrmBarang() {
initComponents();
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=this.getSize();
if(frameSize.height > screenSize.height){
frameSize.height=screenSize.height;
}
if(frameSize.width > screenSize.width){
frameSize.width=screenSize.width;
}
this.setLocation((screenSize.width - frameSize.width) / 2,(screenSize.height =
screenSize.height) / 6);
//setting untuk memanggil koneksi Database.ini
dbsetting = new Database();
driver = dbsetting.SettingPanel("DBDriver");
database = dbsetting.SettingPanel("DBDatabase");
user = dbsetting.SettingPanel("DBUsername");
pass = dbsetting.SettingPanel("DBPassword");
table.setModel(tableModel);
Tabel(table, new int[]{90,300,90,90,90,70});
setDefaultTable();
SetEditOff();
TampilComboJenis();
}
Di bawah @SuppressWarnings("unchecked") :
public void TampilComboJenis(){
try {
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM tbljenis";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
KodeJenis.addItem(res.getString("kodejenis"));
}
} catch (SQLException ex) {
}
}

public void BersihData(){
KodeJenis.setText("");
Jenis.setText("");
}
public void SetEditOff(){
KodeJenis.setEnabled(false);
Jenis.setEnabled(false);
}
public void SetEditOn(){
KodeJenis.setEnabled(true);
Jenis.setEnabled(true);
}
Method yang pertama untuk menampilkan data di combobox, dimana data itu berasal dari
tabel jenis barang pada form pertama. Ketiga method di bawahnya adalah method untuk
membersihkan form sebelum ditambahkan data, mengeset semua text field dalam posisi bisa
diedit atau tidak dan juga membuat enable dari tiap tombol on atau tidak, tergantung tombol
mana yang terlebih dahulu diklik.
Diatas // Variables declaration - do not modify
int row = 0;
public void Tampil(){
row = table.getSelectedRow();
KodeBarang.setText(tableModel.getValueAt(row, 0).toString());
NamaBarang.setText(tableModel.getValueAt(row, 1).toString());
KodeJenis.setSelectedItem(tableModel.getValueAt(row, 2).toString());
HargaNet.setText(tableModel.getValueAt(row, 3).toString());
HargaJual.setText(tableModel.getValueAt(row, 4).toString());
Stok.setText(tableModel.getValueAt(row, 5).toString());
Save.setEnabled(false);
Update.setEnabled(true);
Delete.setEnabled(true);
SetEditOn();
}

private javax.swing.table.DefaultTableModel tableModel=getDefaultTabelModel();
private void Tabel(javax.swing.JTable tb, int lebar[] ) {
tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
int kolom=tb.getColumnCount();
for(int i=0;i < kolom;i++) {
javax.swing.table.TableColumn tbc=tb.getColumnModel().getColumn(i);
tbc.setPreferredWidth(lebar[i]);
tb.setRowHeight(17);
}
}
private javax.swing.table.DefaultTableModel getDefaultTabelModel() {
return new javax.swing.table.DefaultTableModel(
new Object[][] {},
new String [] {"Kode Barang","Nama Barang","Kode Jenis","Harga NET","Harga Jual","Stok"}
){
boolean[] canEdit = new boolean[]{
false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex){
return canEdit[columnIndex];
}
};
}
String data[]=new String[6];
private void setDefaultTable() {
String stat ="";
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "SELECT * FROM tblbarang";
ResultSet res = stt.executeQuery(SQL);
while(res.next()){
data[0] = res.getString(1);
data[1] = res.getString(2);
data[2] = res.getString(3);
data[3] = res.getString(4);
data[4] = res.getString(5);
data[5] = res.getString(6);
tableModel.addRow(data);
}
res.close();
stt.close();
kon.close();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
Kode-kode ini untuk mengatur tabel.
Pada tombol Tambah :
private void AddNewActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
BersihData();
KodeBarang.requestFocus();
Save.setEnabled(true);
Update.setEnabled(false);
Delete.setEnabled(false);
SetEditOn();
}

Pada tombol Simpan :
private void SaveActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String KB=KodeBarang.getText();
String NB=NamaBarang.getText();
String KJ=KodeJenis.getSelectedItem().toString();
String HN=HargaNet.getText();
String HJ=HargaJual.getText();
String ST=Stok.getText();
if ((KB.isEmpty()) | (NB.isEmpty()) |(KJ.isEmpty())
|(HN.isEmpty())|(HJ.isEmpty())|(ST.isEmpty())) {
JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
KodeBarang.requestFocus();
}else {
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "insert into tblbarang values('"+KodeBarang.getText()+"',"+
"'"+NamaBarang.getText()+"',"+
"'"+KodeJenis.getSelectedItem()+"',"+
"'"+HargaNet.getText()+"',"+
"'"+HargaJual.getText()+"',"+
"'"+Stok.getText()+"')";
stt.executeUpdate(SQL);
data[0] = KodeBarang.getText();
data[1] = NamaBarang.getText();
data[2] = KodeJenis.getSelectedItem().toString();
data[3] = HargaNet.getText();
data[4] = HargaJual.getText();
data[5] = Stok.getText();
tableModel.insertRow(0, data);
stt.close();
kon.close();
BersihData();
Save.setEnabled(false);
SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}

Pada tombol Ubah :
private void UpdateActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String KB=KodeBarang.getText();
String NB=NamaBarang.getText();
String KJ=KodeJenis.getSelectedItem().toString();
String HN=HargaNet.getText();
String HJ=HargaJual.getText();
String ST=Stok.getText();
if ((KB.isEmpty()) | (NB.isEmpty()) |(KJ.isEmpty())
|(HN.isEmpty())|(HJ.isEmpty())|(ST.isEmpty())) {
JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
KodeBarang.requestFocus();
}else {
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "Update tblbarang Set namabarang='"+NamaBarang.getText()+"',"+
"kodejenis='"+KodeJenis.getSelectedItem()+"',"+
"harganet='"+HargaNet.getText()+"',"+
"hargajual='"+HargaJual.getText()+"',"+
"stok='"+Stok.getText()+"'"+
"Where kodebarang='"+KodeBarang.getText()+"'";
stt.executeUpdate(SQL);
data[0] = KodeBarang.getText();
data[1] = NamaBarang.getText();
data[2] = KodeJenis.getSelectedItem().toString();
data[3] = HargaNet.getText();
data[4] = HargaJual.getText();
data[5] = Stok.getText();
tableModel.removeRow(row);
tableModel.insertRow(row,data);
stt.close();
kon.close();
BersihData();
Save.setEnabled(false);
SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}
}
Pada Tombol Hapus :
private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String KB=KodeBarang.getText();
String NB=NamaBarang.getText();
String KJ=KodeJenis.getSelectedItem().toString();
String HN=HargaNet.getText();
String HJ=HargaJual.getText();
String ST=Stok.getText();
if ((KB.isEmpty()) | (NB.isEmpty()) |(KJ.isEmpty())
|(HN.isEmpty())|(HJ.isEmpty())|(ST.isEmpty())) {
JOptionPane.showMessageDialog(null,"data tidak boleh kosong, silahkan dilengkapi");
KodeBarang.requestFocus();
}else {
try {
Class.forName(driver);
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement();
String SQL = "Delete From tblbarang Where kodebarang='"+KodeBarang.getText().toString()+"'";
stt.executeUpdate(SQL);
data[0] = KodeBarang.getText();
data[1] = NamaBarang.getText();
data[2] = KodeJenis.getSelectedItem().toString();
data[3] = HargaNet.getText();
data[4] = HargaJual.getText();
data[5] = Stok.getText();
tableModel.removeRow(row);
stt.close();
kon.close();
BersihData();
Save.setEnabled(false);
SetEditOff();
} catch (Exception ex) {
System.err.println(ex.getMessage());
}
}

}

Pada tombol Keluar :
private void CloseActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(JOptionPane.showConfirmDialog(null,"Aplikasi ini akan ditutup! ",
"Information",JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE)==JOptionPane.OK_OPTION)
this.dispose();
}
Klik bagian events di tabel sehingga jadinya seperti dalam gambar pada form sebelumnya,
lalu isikan kode berikut :
private void tableMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if (evt.getClickCount()==1) {
Tampil();
}
}


Klik pada combobox sehingga keluar tampilan seperti diatas, klik lalu isi dengan kode berikut
:
private void KodeJenisItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
try {
Connection kon = DriverManager.getConnection(database,user,pass);
Statement stt = kon.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String SQL = "SELECT * FROM tbljenis where kodejenis='"+
KodeJenis.getSelectedItem().toString()+"'";
ResultSet res = stt.executeQuery(SQL);
res.absolute(1);
Jenis.setText(res.getString("jenis"));
} catch (SQLException ex) {
}
}

Buatlah form utama untuk memanggil kedua form tadi, pada contoh dibawah hanya ada menu
untuk memanggil kedua form, bisa ditambahkan dengan label dsb.

Pertama tambahkan komponen Menu bar, drag Menu item dua kali ganti properti sbb :


Palette
Pengaturan Properti
Text Change Variable Name
jMenuBar1 - jMenuBar1
jMenu1 File jMenu1
jMenuItem1 Input Jenis Barang MenuJenisBarang
jMenuItem2 Input Data Barang MenuBarang


Klik pada MenuJenisBarang, isi dengan :
private void MenuJenisBarangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new FrmJenis().setVisible(true);
}

Lakukan hal yang sama dengan menu barang :
private void MenuBarangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new FrmBarang().setVisible(true);
}
Klik di project lalu properties, pilih FormUtama sebagai main class.

Anda mungkin juga menyukai