Tugas membuat program : Aplikasi Kasir
Restoran (Table Service)
1. Buka
XAMPP dan CHROME dan buatlah Database dengan nama db_penjualan_new
2. Dalam
Database db_penjualan_new, buatlah Tabel seperti di gambar berikut:
a. Tabel
t_jual :
b. Tabel
t_jualdetail :
c. Tabel
t_login :
3. Buka
NETBEANS
5. Buatlah
Project baru dengan nama Kasir Restoran
9. Setelah itu, silahkan anda tambahkan komponen library MySQL JDBC Driver
dan Absolute Layout dengan cara klik
kanan folder Libraries dan pilih Add Library
10. Maka akan tampil tab Add Library, kemudian pilih MySQL JDBC Driver,
setelah anda pilih MySQL JDBC Driver, kemudian klik "Add Library" dan lakukan cara sama dan pilih Absolute
Layout
11. Tambahkan juga
beberapa library seperti pada gambar berikut dengan cara klik kanan folder Libraries dan pilih Add Jar/Folder dan buka library
berikut
13. Buatlah class dengan nama ClassKoneksi ( klik kanan pada package
input_data > new >
Java class ) kemudian ketik sintax berikut :
package input_data;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import java.sql.*;
public class ClassKoneksi {
private static
Connection koneksi;
public static
Connection getkoneksi(){
if(koneksi==null){
try {
String
url=new String();
String
user=new String();
String
password=new String();
url="jdbc:mysql://localhost:3306/db_penjualan_new";
user="root";
password="";
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
koneksi=DriverManager.getConnection(url,user,password);
}catch
(SQLException t){
System.out.println("Eror membuat koneksi");
}
}
return
koneksi;
}
}
NamaKomponen
|
EditText
|
Variable
Name
|
Jlabel1
|
USERNAME
|
-
|
jLabel2
|
PASSWORD
|
-
|
jTextField1
|
-
|
txtusername
|
jTextField2
|
-
|
txtpassword
|
jButton1
|
LOGIN
|
btnlogin
|
jButton2
|
KELUAR
|
btn_keluar
|
jButton2
|
DAFTAR
|
Btndaftar
|
-
Ketikan
pada Form login1 :
package Form;
import
input_data.ClassKoneksi;
import
java.sql.Connection;
import
java.sql.ResultSet;
import
java.sql.Statement;
import
javax.swing.JOptionPane;
public
class login1 extends javax.swing.JFrame {
public Statement st;
public ResultSet rs;
Connection c= ClassKoneksi.getkoneksi();
-
Ketikan
pada tombol LOGIN ( ActionPerformance) :
try{
st =
c.createStatement();
ResultSet rs = st.executeQuery("select * from
t_login where username='"+txtusername.getText()+"'");
if(rs.next()){
if(txtpassword.getText().equals(rs.getString("password"))){
JOptionPane.showMessageDialog(null, "Selamat Datang!");
penjualan frm = new penjualan();
frm.kode_petugas().setText(rs.getString("kode_petugas"));
frm.setVisible(true);
this.dispose();
}else{
JOptionPane.showMessageDialog(rootPane, "password salah!");
txtusername.setText("");
txtpassword.setText("");
}
}else{
JOptionPane.showMessageDialog(rootPane, "Username dan password
tidak cocok!");
txtusername.setText("");
txtpassword.setText("");
}
}catch(Exception e){
JOptionPane.showMessageDialog(rootPane, "username & password
belum terdaftar");
}
}
-
Ketikan
pada tombol KELUAR (ActionPerformance) :
System.exit(0);
-
Ketikan
pada tombol DAFTAR (ActionPerformance) :
new
daftar1().setVisible(true);
this.setVisible(false);
NamaKomponen
|
EditText
|
Variable
Name
|
Jlabel1
|
NAMA
|
-
|
jLabel2
|
USERNAME
|
-
|
jLabel3
|
PASSWORD
|
-
|
jTextFiled1
|
-
|
txt_nama_kasir
|
jTextFiled2
|
-
|
txt_username
|
jTextFiled3
|
-
|
txt_pwd
|
jButton1
|
KEMBALI
|
btn_kembali
|
jButton2
|
DAFTAR
|
btn_daftar
|
-
Ketikan
pada Form daftar1 :
package Form;
import
input_data.ClassKoneksi;
import
java.sql.Connection;
import
java.sql.ResultSet;
import
java.sql.Statement;
import
javax.swing.JOptionPane;
public class
daftar1 extends javax.swing.JFrame {
public Statement st;
public ResultSet rs;
Connection c= ClassKoneksi.getkoneksi();
-
Ketikan
pada tombol KEMBALI (ActionPerformance)
:
new
login1().setVisible(true);
this.setVisible(false);
-
Ketikan
pada tombol DAFTAR (ActionPerformance) :
String input_nama = txt_nama_kasir.getText();
String
input_user = txt_username.getText();
String
input_pas = txt_pwd.getText();
if(input_user.trim().isEmpty()){
JOptionPane.showMessageDialog(null, "Masukkan username!");
}else
if(input_pas.trim().isEmpty()){
JOptionPane.showMessageDialog(null, "Masukkan password!");
}else
if(input_nama.trim().isEmpty()){
JOptionPane.showMessageDialog(null, "Masukkan nama!");
}else{
try{
st = c.createStatement();
st.executeUpdate("INSERT INTO t_login SET " + "username =
'" + txt_username.getText() + "'," + "password = '" +
txt_pwd.getText() + "', " + "nama_kasir = '" +
txt_nama_kasir.getText() + "'");
JOptionPane.showMessageDialog(null, "Data Tersimpan");
login1 lgn = new login1();
this.setVisible(false);
lgn.setVisible(true);
}catch(Exception e){
e.printStackTrace();
}
}
NamaKomponen
|
EditText
|
Variable
Name
|
Jlabel1
|
PENJUALAN
|
-
|
jLabel2
|
KODE PETUGAS
|
-
|
jLabel3
|
NO TRANSAKSI
|
-
|
jLabel4
|
TGL TRANSAKSI
|
-
|
jLabel5
|
KODE MAKANAN
|
-
|
jLabel6
|
PAKET MAKANAN
|
-
|
jLabel7
|
HARGA
|
-
|
jLabel8
|
JUMLAH
|
-
|
jLabel9
|
TOTAL HARGA
|
-
|
jLabel10
|
TOTAL PENGEMBALIAN
|
-
|
jLabel11
|
TUNAI
|
-
|
jLabel12
|
KEMBALIAN
|
-
|
jLabel13
|
DATE TIME
|
-
|
jTextFiled1
|
-
|
Jpetugas
|
jTextFiled2
|
-
|
txtNofa
|
jTextFiled3
|
-
|
TxtKode
|
jTextFiled4
|
-
|
TxtNama
|
jTextFiled5
|
-
|
TxtHJual
|
jTextFiled6
|
-
|
TxtJumlah
|
jTextFiled7
|
-
|
TxtSubTotal
|
jTextFiled8
|
-
|
TxtTotal
|
jTextFiled9
|
-
|
TxtCash
|
jTextFiled10
|
-
|
TxtKembali
|
jTextFiled11
|
-
|
TxtDateTime
|
jDateChooser
|
-
|
JdateJual
|
jButton1
|
…
|
btnkodepetugas
|
jButton2
|
…
|
btnkodebarang
|
jButton3
|
ADD
|
btnadd
|
jButton4
|
SIMPAN
|
BtnSimpan
|
jButton5
|
HAPUS
|
BtnBatal
|
jButton6
|
LAPORAN
|
laporan
|
jButton7
|
LOGOUT
|
logout
|
jTable
|
-
|
TblDetail
|
-
Ketikan
pada Form penjualan :
package
Form;
import
input_data.ClassKoneksi;
import
com.sun.javafx.image.impl.IntArgb;
import
com.sun.prism.PresentableState;
import
java.awt.event.KeyEvent;
import
java.io.InputStream;
import
java.sql.Connection;
import
java.sql.PreparedStatement;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import
java.sql.Statement;
import
java.text.SimpleDateFormat;
import
java.util.Calendar;
import
java.util.Date;
import
java.util.GregorianCalendar;
import
java.util.HashMap;
import
java.util.Locale;
import
java.util.TreeMap;
import
javax.swing.JComboBox;
import
javax.swing.JOptionPane;
import
javax.swing.JTextField;
import
javax.swing.table.DefaultTableModel;
import
javax.swing.table.TableModel;
import
net.sf.jasperreports.engine.JasperFillManager;
import
net.sf.jasperreports.engine.JasperPrint;
import
net.sf.jasperreports.view.JasperViewer;
-
Ketikan
dibawah public class penjualan extends javax.swing.JFrame {
private
DefaultTableModel model;
Statement stt;
Statement stt2;
ResultSet rss;
public JTextField
kode_petugas(){
return jpetugas;
}
public penjualan() {
initComponents();
auto_key();
jpetugas.disable();
txtNofa.disable();
TxtKode.disable();
TxtNama.disable();
TxtHJual.disable();
btnkodepetugas.hide();
TxtDateTime.hide();
jLabel15.hide();
model =new DefaultTableModel();
TblDetail.setModel(model);
model.addColumn("KODE
Barang");
model.addColumn("Nama Paket");
model.addColumn("Harga");
model.addColumn("Jumlah");
model.addColumn("Sub Total");
model.addColumn("Jual Time");
TblDetail.getColumnModel().getColumn(5).setMinWidth(0);
TblDetail.getColumnModel().getColumn(5).setMaxWidth(0);
TblDetail.getColumnModel().getColumn(5).setWidth(0);
TblDetail.getColumnModel().getColumn(0).setMinWidth(0);
TblDetail.getColumnModel().getColumn(0).setMaxWidth(0);
TblDetail.getColumnModel().getColumn(0).setWidth(0);
loadData();
Date date = new Date();
JdateJual.setDate(date);
}
public String kdptg,kdbrg,nm,jual;
public String getJpetugas() {
return kdptg;
}
public String getTxtKode() {
return kdbrg;
}
public String getTxtNama() {
return nm;
}
public String getTxtHJual() {
return jual;
}
public void itemTerpilih1(){
makanan br = new makanan();
br.fAB = this;
TxtKode.setText(kdbrg);
TxtNama.setText(nm);
TxtHJual.setText(jual);
}
private void Total(){
int jumlahBaris =
TblDetail.getRowCount();
int ttlpinjam = 0, jlhpinjam=0;
int Jlhtotalpinjam;
TableModel tblmodel;
tblmodel = TblDetail.getModel();
for (int i=0; i<jumlahBaris; i++){
Jlhtotalpinjam=Integer.parseInt(tblmodel.getValueAt(i, 3).toString());
jlhpinjam=Jlhtotalpinjam+jlhpinjam;
}
}
public void Batal(){
DefaultTableModel model =
(DefaultTableModel)TblDetail.getModel();
int row = TblDetail.getSelectedRow();
if (row>=0) {
int ok =
JOptionPane.showConfirmDialog(null, "Anda yakin ingin menghapus","Message",JOptionPane.YES_NO_OPTION);
if (ok==0){
model.removeRow(row);
}
}
Total();
try {
Connection c=
ClassKoneksi.getkoneksi();
String sql="DELETE From t_jualdetail
WHERE no_transaksi='"+this.txtNofa.getText()+"' AND waktu
='"+this.TxtDateTime.getText()+"'";
PreparedStatement
p=(PreparedStatement)c.prepareStatement(sql);
p.executeUpdate();
p.close();
}catch(SQLException e){
System.out.println("Terjadi
Kesalahan");
}finally{
loadData();
JOptionPane.showMessageDialog(this,"Sukses Hapus Data");
}
}
public void Cari_Kode(){
int i=TblDetail.getSelectedRow();
if(i==-1)
{ return; }
String ID=(String)model.getValueAt(i, 0);
TxtKode.setText(ID);
}
public void ShowData(){
try {
Connection c=ClassKoneksi.getkoneksi();
String sql="Select * from
t_jualdetail, t_makanan WHERE t_jualdetail.kode_barang = t_makanan.nama_paket
AND t_jualdetail.kode_barang='"+this.TxtKode.getText()+"'";
Statement st =
ClassKoneksi.getkoneksi().createStatement();
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
this.TxtJumlah.setText(rs.getString("jumlah"));
this.TxtNama.setText(rs.getString("keterangan"));
this.TxtHJual.setText(rs.getString("jual_harga"));
this.TxtSubTotal.setText(rs.getString("subtotal"));
this.TxtDateTime.setText(rs.getString("waktu"));
}
rs.close(); st.close();}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
public final void loadData(){
model.getDataVector().removeAllElements();
model.fireTableDataChanged();
try{
Connection c= ClassKoneksi.getkoneksi();
Statement s= c.createStatement();
String sql="Select * from
t_jualdetail, t_makanan WHERE t_jualdetail.kode_barang = t_makanan.nama_paket
AND t_jualdetail.no_transaksi='"+this.txtNofa.getText()+"'";
ResultSet r=s.executeQuery(sql);
while(r.next()){
Object[]o=new Object[5];
o[0]=r.getString("kode_barang");
o[1]=r.getString("keterangan");
o[2]=r.getString("jual_harga");
o[3]=r.getString("jumlah");
o[4]=r.getString("subtotal");
model.addRow(o);
}
r.close();
s.close();
//ShowData();
}catch(SQLException e){
System.out.println("Terjadi
Kesalahan");
}
int total = 0;
for (int i =0; i<
TblDetail.getRowCount(); i++){
int amount =
Integer.parseInt((String)TblDetail.getValueAt(i, 4));
total += amount;
}
TxtTotal.setText(""+total);
}
public void AutoSum() {
int a, b, c;
a =
Integer.parseInt(TxtHJual.getText());
b =
Integer.parseInt(TxtJumlah.getText());
c = a*b;
TxtSubTotal.setText(""+c);
}
public void HitungKembali() {
int d, e, f;
d = Integer.parseInt(TxtTotal.getText());
e =
Integer.parseInt(TxtCash.getText());
f = e-d;
TxtKembali.setText(""+f);
}
public void
auto_key(){
try {
java.util.Date tgl = new
java.util.Date();
java.text.SimpleDateFormat kal = new
java.text.SimpleDateFormat("yyMMdd");
java.text.SimpleDateFormat tanggal = new
java.text.SimpleDateFormat("yyyyMMdd");
Connection
c=ClassKoneksi.getkoneksi();
String sql = "select
max(no_transaksi) from t_jual WHERE jual_tgl ="+tanggal.format(tgl);
Statement st =
ClassKoneksi.getkoneksi().createStatement();
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
Long a =rs.getLong(1); //mengambil nilai
tertinggi
if(a == 0){
this.txtNofa.setText(kal.format(tgl)+"0000"+(a+1));
}else{
this.txtNofa.setText(""+(a+1));
}
}
rs.close(); st.close();}
catch (Exception e) {
JOptionPane.showMessageDialog(null,
"Terjadi kesalaahan");
}
}
public void
Selesai(){
String no_transaksi
=this.txtNofa.getText();
String jual_total=this.TxtTotal.getText();
String jual_cash =this.TxtCash.getText();
String jual_kembali
=this.TxtKembali.getText();
SimpleDateFormat dateFormat = new
SimpleDateFormat("yyyy-MM-dd");
Date tanggal = new Date();
tanggal = JdateJual.getDate();
String jual_tgl =
dateFormat.format(tanggal);
try{
Connection
c=ClassKoneksi.getkoneksi();
String sql="Insert into t_jual
(no_transaksi,jual_tgl,jual_total,jual_cash,jual_kembali) values
(?,?,?,?,?)";
PreparedStatement
p=(PreparedStatement)c.prepareStatement(sql);
p.setString(1,no_transaksi);
p.setString(2,jual_tgl);
p.setString(3,jual_total);
p.setString(4,jual_cash);
p.setString(5,jual_kembali);
p.executeUpdate();
p.close();
}catch(SQLException e){
System.out.println(e);
}finally{
JOptionPane.showMessageDialog(this,"Data Telah
Tersimpan");
}
auto_key();
loadData();
}
public void TambahDetail(){
Date HariSekarang = new Date( );
SimpleDateFormat ft = new SimpleDateFormat
("yyyy-MM-dd hh:mm:ss");
String kode_petugas
=this.jpetugas.getText();
String no_transaksi =this.txtNofa.getText();
String kode_barang
=this.TxtKode.getText();
String
jual_harga=this.TxtHJual.getText();
String jumlah=this.TxtJumlah.getText();
String subtotal =this.TxtSubTotal.getText();
String DateTime = ft.format(HariSekarang);
try{
Connection
c=ClassKoneksi.getkoneksi();
String sql="Insert into t_jualdetail
(kode_petugas,no_transaksi,kode_barang,jual_harga,jumlah,subtotal,waktu) values
(?,?,?,?,?,?,?)";
PreparedStatement p=(PreparedStatement)c.prepareStatement(sql);
p.setString(1,kode_petugas);
p.setString(2,no_transaksi);
p.setString(3,kode_barang);
p.setString(4,jual_harga);
p.setString(5,jumlah);
p.setString(6,subtotal);
p.setString(7,DateTime);
p.executeUpdate();
p.close();
}catch(SQLException e){
System.out.println(e);
}finally{
JOptionPane.showMessageDialog(this,"Data Telah
Tersimpan");
}
}
public void cari_id(){
try {
Connection c=ClassKoneksi.getkoneksi();
String sql = "select * from
t_makanan, t_satuan where t_makanan.barang_satuan = t_satuan.satuan_id AND
t_makanan.nama_paket='"+this.TxtKode.getText()+"'";
Statement st =
ClassKoneksi.getkoneksi().createStatement();
ResultSet rs = st.executeQuery(sql);
while(rs.next()){
this.TxtNama.setText(rs.getString("keterangan"));
this.TxtHJual.setText(rs.getString("harga"));
}
rs.close(); st.close();}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
public
void bersihkan(){
TxtKode.setText("");
TxtNama.setText("");
TxtHJual.setText("");
TxtJumlah.setText("");
TxtCash.setText("");
TxtSubTotal.setText("");
TxtKembali.setText("");
}
public void
runReportDefault(String sourcefilename, HashMap hash) {
Connection c=
ClassKoneksi.getkoneksi();
try {
InputStream report;
report =
getClass().getResourceAsStream(sourcefilename);
JasperPrint jprint =
JasperFillManager.fillReport(report,hash, c);
JasperViewer viewer = new
JasperViewer(jprint, false);
viewer.setFitPageZoomRatio();
viewer.setVisible(true);
} catch (Exception e) {
System.out.print(e.getMessage());
}
}
-
Ketikan
pada textField jumlah (KeyPressed) :
if
(evt.getKeyCode() == KeyEvent.VK_ENTER) {
AutoSum();
}
-
Ketikan
pada tombol ADD (ActionPerformed) :
TambahDetail();
loadData();
bersihkan();
-
Ketikan
pada tombol SIMPAN (ActionPerformed) :
Selesai();
bersihkan();
-
Ketikan
pada tombol HAPUS (ActionPerformed) :
Batal();
bersihkan();
-
Ketikan
pada textField cash (KeyPressed) :
if
(evt.getKeyCode() == KeyEvent.VK_ENTER) {
HitungKembali();
}
-
Ketikan
pada TblDetail (MouseClicked) :
this.Cari_Kode();
this.ShowData();
-
Ketikan
pada textField TxtKode (KeyPressed) :
if
(evt.getKeyCode() == KeyEvent.VK_ENTER) {
cari_id();
}
-
Ketikan
pada tombol btnkodebarang (ActionPerformed) :
makanan brg = new
makanan();
brg.fAB = this;
brg.setVisible(true);
brg.setResizable(false);
-
Ketikan
pada tombol LAPORAN (ActionPerformed) :
Connection c= ClassKoneksi.getkoneksi();
String NamaFile =
"/report/report.jasper";
HashMap hash = new HashMap();
try {
runReportDefault(NamaFile,hash);
} catch (Exception e) {
}
-
Ketikan
pada tombol LOGOUT (ActionPerformed) :
this.setVisible(false);
new login1().setVisible(true);
NamaKomponen
|
EditText
|
Variable
Name
|
Jlabel1
|
PETUGAS
|
-
|
jLabel2
|
NAMA PETUGAS
|
-
|
jTextFiled1
|
-
|
jnama_petugas
|
jTable
|
-
|
Tblpetugas
|
-
Ketikan
pada Form petugas1 :
import
input_data.cls_input_data;
import
java.awt.HeadlessException;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.PreparedStatement;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import
java.sql.Statement;
import
java.util.logging.Level;
import
java.util.logging.Logger;
import
javax.swing.JOptionPane;
import
javax.swing.JTable;
import
javax.swing.table.DefaultTableModel;
import
net.proteanit.sql.DbUtils;
-
Ketikan
dibawah public class petugas1 extends javax.swing.JFrame {
private Statement stat;
private Connection conek;
private ResultSet hasil;
private String sql="";
public String
kode_petugas,nama_petugas,user,password;
DefaultTableModel tabmode;
public static int statusSearching = 0;
public Connection conn;
public penjualan fAB = null;
public void koneksi() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/db_penjualan_new",
"root", "");
} catch (ClassNotFoundException |
SQLException e) {
JOptionPane.showMessageDialog(null,
"Koneksi Gagal");
System.out.println(e.getMessage());
}
}
public final void tampildata() {
DefaultTableModel tabelpetugas = new
DefaultTableModel();
tabelpetugas.addColumn("kode_petugas");
tabelpetugas.addColumn("nama_petugas");
tabelpetugas.addColumn("user");
tabelpetugas.addColumn("password");
try {
koneksi();
String sql = "select * from
t_login";
stat = conn.createStatement();
ResultSet rs =
stat.executeQuery(sql);
while (rs.next()) {
tabelpetugas.addRow(new
Object[]{
rs.getString(1),
rs.getString(2),
rs.getString(3),
rs.getString(4)
});
}
Tblpetugas.setModel(tabelpetugas);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,
"Ada kesalahan" + e);
}
}
public petugas1() {
initComponents();
tampildata();
}
petugas1(Object
object, boolean closable) {
throw new
UnsupportedOperationException("Not supported yet."); //To change body
of generated methods, choose Tools | Templates.
}
-
Ketikan
pada textField jnama_petugas (KeyReleased)
String nama = jnama_petugas.getText();
cls_input_data input = new
cls_input_data();
try{
Tblpetugas.setModel(DbUtils.resultSetToTableModel(input.SearchTextList(nama)))
;
}catch(Exception e){
JOptionPane.showMessageDialog(null,
e);
}
NamaKomponen
|
EditText
|
Variable
Name
|
Jlabel1
|
MAKANAN
|
-
|
jLabel2
|
PAKET MAKANAN
|
-
|
jLabel3
|
CARI
|
-
|
jLabel4
|
KETERANGAN
|
-
|
jLabel5
|
HARGA
|
-
|
jTextFiled1
|
-
|
Jpaket
|
jTextFiled2
|
-
|
jket_makanan
|
jTextFiled3
|
-
|
jharga_makanan
|
jTable
|
-
|
TblMakanan
|
jButton1
|
SIMPAN
|
BtnSimpan
|
jButton2
|
EDIT
|
BtnEdit
|
jButton3
|
HAPUS
|
BtnHapus
|
jButton4
|
BATAL
|
BtnBatal
|
-
Ketikan
pada Form makanan :
package Form;
import
input_data.ClassKoneksi;
import
input_data.cls_input_data1;
import
java.awt.HeadlessException;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.PreparedStatement;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import java.sql.Statement;
import
java.util.logging.Level;
import
java.util.logging.Logger;
import
javax.swing.JOptionPane;
import
javax.swing.JTable;
import
javax.swing.table.DefaultTableModel;
import
net.proteanit.sql.DbUtils;
-
Ketikan
dibawah public class makanan extends javax.swing.JFrame {
private Statement stat;
private Connection conek;
private ResultSet hasil;
private String sql="";
public String nama_paket,keterangan,harga;
DefaultTableModel tabmode;
public static int statusSearching = 0;
public Connection conn;
public penjualan fAB = null;
public void koneksi() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/db_penjualan_new",
"root", "");
} catch (ClassNotFoundException |
SQLException e) {
JOptionPane.showMessageDialog(null,
"Koneksi Gagal");
System.out.println(e.getMessage());
}
}
public final void tampildata() {
DefaultTableModel tabelbarang = new
DefaultTableModel();
tabelbarang.addColumn("nama_paket");
tabelbarang.addColumn("keterangan");
tabelbarang.addColumn("harga");
try {
koneksi();
String sql = "select * from
t_makanan";
stat = conn.createStatement();
ResultSet rs =
stat.executeQuery(sql);
while (rs.next()) {
tabelbarang.addRow(new
Object[]{
rs.getString(1),
rs.getString(2),
rs.getString(3)
});
}
TblMakanan.setModel(tabelbarang);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,
"Ada kesalahan" + e);
}
}
public void tampildatabase(){
Object []baru = {"Nama
Paket","Keterangan","Harga"};
tabmode = new DefaultTableModel(null,
baru);
TblMakanan.setModel(tabmode);
String sql = "SELECT*FROM
t_makanan";
try {
Connection conek =
ClassKoneksi.getkoneksi();
Statement stat =
conek.createStatement();
ResultSet hasil =
stat.executeQuery(sql);
while (hasil.next()){
String ID=
hasil.getString("nama_paket");
String Nama =
hasil.getString("keterangan");
String Hjual =
hasil.getString("harga");
String[] data = {ID,Nama,Hjual};
tabmode.addRow(data);
}
} catch (SQLException e) {
}
}
public makanan() {
initComponents();
tampildata();
tampildatabase();
}
private void clear(){
jpaket.setText("");
jket_makanan.setText("");
jharga_makanan.setText("");
}
private void enabled(){
jpaket.enable(true);
jket_makanan.enable(true);
jharga_makanan.enable(true);
jpaket.requestFocus();
}
private void disabled(){
jpaket.enable(false);
jket_makanan.enable(false);
jharga_makanan.enable(false);
}
-
Ketikan
pada tombol HAPUS (ActionPerformed) :
String nama_paket = jpaket.getText();
try {
Statement statement
=ClassKoneksi.getkoneksi().createStatement();
statement.executeUpdate("delete from t_makanan where
nama_paket=('"+nama_paket+"')");
clear();
tampildatabase();
JOptionPane.showMessageDialog(null,
"Data Berhasil Dihapus");
}catch (Exception t) {
JOptionPane.showMessageDialog(null,
"Data Gagal Dihapus");
}
-
Ketikan
pada tombol BATAL (ActionPerformed) :
clear();
enabled();
BtnSimpan.setEnabled(true);
BtnEdit.setEnabled(true);
-
Ketikan
pada TblMakanan (MouseClicked) :
int tabelbarang = TblMakanan.getSelectedRow();
fAB.kdbrg =
TblMakanan.getValueAt(tabelbarang, 0).toString();
fAB.nm =
TblMakanan.getValueAt(tabelbarang, 1).toString();
fAB.jual = TblMakanan.getValueAt(tabelbarang,
2).toString();
fAB.itemTerpilih1();
this.dispose();
-
Ketikan
pada tombol SIMPAN (ActionPerformed) :
if(jpaket.getText().trim().equals("")){
JOptionPane.showMessageDialog(null,"Maaf, Kode belum di
isi!");
jpaket.requestFocus();
}else
if(jket_makanan.getText().trim().equals("")){
JOptionPane.showMessageDialog(null,"Maaf, Nama belum di
isi!");
jket_makanan.requestFocus();
} else if(jharga_makanan.getText().trim().equals("")){
JOptionPane.showMessageDialog(null,"Maaf, Jumlah belum di
isi!");
jharga_makanan.requestFocus();
} else{
String nama_paket="",
keterangan ="", harga ="";
try {
Connection conek
=ClassKoneksi.getkoneksi();
nama_paket = jpaket.getText();
keterangan =
jket_makanan.getText();
harga= jharga_makanan.getText();
String sql = "insert into t_makanan
values('"+nama_paket+"','"+keterangan+"',
'"+harga+"')";
Statement st =
conek.createStatement();
st.executeUpdate(sql);
JOptionPane.showMessageDialog(null,
"Data Berhasil Tersimpan" , "Informasi",
JOptionPane.INFORMATION_MESSAGE);
tampildatabase();
} catch (HeadlessException |
SQLException e) {
JOptionPane.showMessageDialog(null,
"Data Gagal Tersimpan" , "Informasi",
JOptionPane.INFORMATION_MESSAGE);
}
}
clear();
-
Ketikan
pada tombol EDIT (MouseClicked) :
String
nama_paket="", keterangan ="", harga ="";
int
ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Untuk Update Record
ini???","Confirmation",JOptionPane.YES_NO_OPTION);
try{
Connection co =
ClassKoneksi.getkoneksi();
nama_paket = jpaket.getText();
keterangan =
jket_makanan.getText();
harga= jharga_makanan.getText();
String sql="update t_makanan
set nama_paket=?,keterangan=?,harga=? where
nama_paket='"+nama_paket+"'";
PreparedStatement
st=co.prepareStatement(sql);
if(ok==0){
try {
st.setString(1,jpaket.getText());
st.setString(2,jket_makanan.getText());
st.setString(3,jharga_makanan.getText());
st.executeUpdate();
tampildatabase();
JOptionPane.showMessageDialog(null,"Update Data Sukses");
}catch (Exception e)
{JOptionPane.showMessageDialog(null, "Update Data Gagal");
}
}else{}
}catch (SQLException e){
System.out.println(e.getMessage());
JOptionPane.showMessageDialog(null, "Tidak ada kesalahan");
}
clear();
-
Ketikan
pada jTextFIeld jpaket (KeyReleased) :
String nam =
jpaket.getText();
cls_input_data1 data = new
cls_input_data1();
try{
TblMakanan.setModel(DbUtils.resultSetToTableModel(data.SearchTextList(nam)))
;
}catch(Exception e){
JOptionPane.showMessageDialog(null,
e);
}
-
Ketikan
pada jTextFIeld jket_makanan (KeyPressed) :
keterangan = jket_makanan.getText();
int A = evt.getKeyCode();
if (A==10){
try {
sql="SELECT * FROM
t_makanan WHERE keterangan='"+keterangan+"'";
Connection conek =
ClassKoneksi.getkoneksi();
stat = conek.createStatement();
hasil =
stat.executeQuery(sql);
while(hasil.next()){
jpaket.setText(hasil.getString("nama_paket"));
jharga_makanan.setText(hasil.getString("harga"));
BtnSimpan.enable(false);
BtnEdit.enable(true);
BtnHapus.enable(true);
}
} catch (Exception e) {
JOptionPane.showConfirmDialog(null, "Data Not
Found\n"+e.getMessage());
jharga_makanan.requestFocus();
}
}
19.
Buatlah
class dengan nama cls_input_data ( klik
kanan pada package input_data > new >
Java class ) kemudian ketik sintax berikut :
package input_data;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class cls_input_data {
public
ResultSet SearchTextList(String nma)throws SQLException{
Connection c= ClassKoneksi.getkoneksi();
String
sql = "select * from t_petugas where nama_petugas like ? ";
PreparedStatement p=(PreparedStatement)c.prepareStatement(sql);
p.setString(1,nma +"%");
ResultSet rs = p.executeQuery();
return
rs;
}
}
20.
Buatlah
class dengan nama cls_input_data1 ( klik
kanan pada package input_data > new >
Java class ) kemudian ketik sintax berikut :
package input_data;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class cls_input_data1 {
public
ResultSet SearchTextList(String nma)throws SQLException{
Connection c= ClassKoneksi.getkoneksi();
String
sql = "select * from t_makanan where
nama_paket like ?";
PreparedStatement p=(PreparedStatement)c.prepareStatement(sql);
p.setString(1,nma +"%");
ResultSet rs = p.executeQuery();
return
rs;
}
}
21.
Kemudian buatlah report pada form report
dengan cara klik kanan form report > new > report wizard
22.
Setelah itu, isikan nama dan pilih lokasi
> pada Query pilih new > pilih Database JDBC Connection dan next >
masukan nama db kalian > pada JDBC Driver pilih MySQL
(com.mysql.jdbc.Driver) dan pada JDBC URL ganti MYDATABASE menjadi nama db
kalian > pada Username tulis root dan centang pada save root > save
23.
Pada kotak Query (SQL) tuliskan “ select *
from nama_tabel_pada_db_kalian “ > next > pilih fields yang ingin anda
masukkan pada report dan next > next > finish
24.
Selanjutnya desain report kalian sesukamu
dan pilih Preview untuk menampilkan hasilnya
25.
Yang terakhir jalankan program tersebut
dengan cara klik kanan pada jFrameForm login1 > dan klik run file
26.
SELESAI
NOTE : " HAK CIPTA SOURCE CODE DAN FOTO MILIK PEMBUAT DAN PENGAMBIL FOTO "
NOTE : " HAK CIPTA SOURCE CODE DAN FOTO MILIK PEMBUAT DAN PENGAMBIL FOTO "
syntax oke, program oke
ReplyDelete