Anda di halaman 1dari 52

MODUL

PEMOGRAMAN BERORIENTASI OBJEKBAB 1


PENDAHULUAN
A. Latar Belakang Masalah
Kemajuan teknologi menuntut segala sesuatu pekerjaan manusia yang
masih manual dan kurang efisien dapat dilakukan dengan teknologi yang maju pula.
Pekerjaan yang dilakukan secara manual sebaiknya lebih ditingkatkan lagi
menggunakan sistem komputerisasi. Sistem komputerisasi tersebut dapat membantu
mempercepat menyelesaikan pekerjaan yang semula masih dilakukan secara manual.
Sistem manual dapat dicontohkan pada program kasir yang masih menggunakan sistem
manual kurang efektif dan efisien dalam proses kerjanya. Oleh karena itu, perlu dibuat
sistem Aplikasi Pemesanan Makanan dan Minuman pada restaurant dengan
menggunakan komputerisasi. Di era teknologi yang canggih ini manusia ingin dapat
teknologi yang dapat diandalkan dalam melakukan transaksi penjualan. Teknologi
tersebut adalah komputer yang semakin hari semakin canggih maka dari itu dengan
berkembangnya teknologi yang ada pada saat ini komputer dapat dimanfaatkan untuk
berbagai aplikasi, NetBeans IDE 8.0.1, dengan adanya aplikasi berbasis Java Netbeans
semoga dapat bertujuan meningkatkan kualitas pelayanan penjualan yang lebih efektif
dan efisien pada kasir restaurant . Sistem aplikasi yang dibuat agar dapat membantu
mempercepat proses penyelesaian pekerjaan. Pada proses penjualan,pembuatan nota
sudah otomatis, sehingga tidak perlu ditulis pada buku. Pengecekan hasil penjualan
dapat diketahui dengan cepat tanpa harus mengecek satu per satu.Dengan demikian
sistem dapat meningkatkan kinerja restauran.

B. Tujuan Penelitian
Tujuan yang ingin dicapai penulis berdasarkan rumusan masalah yang telah
diuraikan sebelumnya antara lain :
1. Membangun Aplikasi pemesanan makanan dan minuman pada restaurant
2. Memudahkan konsumen dalam pemesanan menu makanan dan minuman di
restaurant
C. Sistem perangkat yang digunakan

1. Java
Java adalah bahasa pemrograman yang multi platform dan multi device. Sekali anda
menuliskan sebuah program dengan menggunakan Java, anda dapat
menjalankannya hampir di semua komputer dan perangkat lain yang support Java,
dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya.
Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa
dijalankan dengan Java Virtual Machine. Fungsionalitas dari Java ini dapat berjalan
dengan platform sistem operasi yang berbeda karena sifatnya yang umum dan non-
spesifik.

2. Netbeans
Netbeans adalah sebuah aplikasi Integrated Development Environment
(IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di
atas swing. Swing merupakan sebuah teknologi Java untuk
pengembangan aplikasi dekstop yang dapat berjalan pada berbagai
macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah
IDE merupakan lingkup pemrograman yang di integrasikan ke dalam
suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface
(GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.

3. MySQL
MySQL adalah sebuah implementasi dari sistem manajemen basis data relasional
(RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public
License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun
dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang
bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama
dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language).
SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau
seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan
dengan mudah secara otomatis
4. PHPMyAdmin
phpMyAdmin adalah perangkat lunak bebas yang ditulis dalam bahasa
pemrograman PHP yang digunakan untuk menangani
administrasi MySQL melalui website Jejaring Jagat Jembar (World Wide Web) .
phpMyAdmin mendukung berbagai operasi MySQL,
diantaranya (mengelola basis data, tabel-tabel, bidang (fields), relasi (relations),
indeks, pengguna (users), perizinan (permissions), dan lain-lain).

D. Analisis dan pengembangan sistem


1. Aktifkan xampp start pada apache & mysql.
2. Masuk pada browser Membuat database di phpmyadmin kasih nama project kasir.

3. Tampilan database.

4. Setelah membuat database,buka aplikasi netbeans dan buat folder baru dengan
nama kasir.
5. Import Library

6. Buat Class
1. ClassKoneksi.java
Dengan source code:
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;
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";
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;
}
}
2. cls_input_data.java
Dengan Source code:
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;

}
3. cls_input_data1.java
Dengan Source code :
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_barang where barang_nama like ?";
PreparedStatement p=(PreparedStatement)c.prepareStatement(sql);
p.setString(1,nma +"%");
ResultSet rs = p.executeQuery();
return rs;

}
}

7. Buatlah jFrame dengan nama : penjualan


Dengan source code :

public class penjualanamin extends javax.swing.JFrame {


private DefaultTableModel model;
public penjualanamin() {
initComponents();
auto_key();
jpetugas.disable();
txtNofa.disable();
TxtKode.disable();
TxtNama.disable();
TxtHJual.disable();
TxtDateTime.hide();
jLabel15.hide();

model =new DefaultTableModel();


TblDetail.setModel(model);
model.addColumn("KODE Barang");
model.addColumn("Nama Barang");
model.addColumn("Harga");
model.addColumn("Jumlah");
model.addColumn("Sub Total");
model.addColumn("Jual Time");

//START fungsi tidak menampilkan column ID barang(0) dan jual time (5)
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 itemTerpilih(){


petugas1 fDB = new petugas1();
fDB.fAB = this;
jpetugas.setText(kdptg);
}

public void itemTerpilih1(){


barang br = new barang();
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();
//Proses mengahapus data dari tabel detail
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_barang WHERE
t_jualdetail.kode_barang = t_barang.barang_id 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("barang_nama"));
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_barang WHERE
t_jualdetail.kode_barang = t_barang.barang_id 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("barang_nama");
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");
}

//menjumlahkan isi colom ke 4 dalam tabel


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();

//Date date = new Date();


//JdateJual.setDate(date);
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{
//loadData();
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{
//loadData();
JOptionPane.showMessageDialog(this,"Data Telah Tersimpan");
}
}
public void cari_id(){
try {
Connection c=ClassKoneksi.getkoneksi();
String sql = "select * from t_barang, t_satuan where t_barang.barang_satuan
= t_satuan.satuan_id AND t_barang.barang_id='"+this.TxtKode.getText()+"'";
Statement st = ClassKoneksi.getkoneksi().createStatement();
ResultSet rs = st.executeQuery(sql);

while(rs.next()){
this.TxtNama.setText(rs.getString("barang_nama"));
this.TxtHJual.setText(rs.getString("barang_hjual"));
}
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("");

}
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel4.setText("JUMLAH BARANG");

TxtJumlah.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
TxtJumlahKeyPressed(evt);
}
});

jLabel5.setText("HARGA JUAL");

jLabel15.setText("DATE TIME");

btnadd.setText("ADD");
btnadd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnaddActionPerformed(evt);
}
});

BtnSimpan.setText(" SIMPAN");
BtnSimpan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnSimpanActionPerformed(evt);
}
});

BtnBatal.setText(" HAPUS");
BtnBatal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnBatalActionPerformed(evt);
}
});

btnkeluar.setText("KELUAR");
btnkeluar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnkeluarActionPerformed(evt);
}
});

jLabel6.setText("TOTAL BELANJA");

jLabel7.setText("TUNAI");
jLabel8.setText("KEMBALIAN");

jLabel1.setText("KODE PETUGAS");

jLabel2.setText("TGL TRANSAKSI");

TxtCash.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
TxtCashKeyPressed(evt);
}
});

btnkodepetugas.setText("SELECT");
btnkodepetugas.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnkodepetugasActionPerformed(evt);
}
});

jLabel10.setText("NO TRANSAKSI");

TblDetail.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {

},
new String [] {
"", "", "", "", ""
}
));
TblDetail.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
TblDetailMouseClicked(evt);
}
});
jScrollPane1.setViewportView(TblDetail);

jLabel11.setText("KODE BARANG");

TxtKode.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
TxtKodeKeyPressed(evt);
}
});
jLabel12.setText("SUB TOTAL");

btnkodebarang.setText("SELECT");
btnkodebarang.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnkodebarangActionPerformed(evt);
}
});

jLabel3.setText("NAMA BARANG");

laporan.setText("LAPORAN");
laporan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
laporanActionPerformed(evt);
}
});

jLabel9.setFont(new java.awt.Font("CAMPUS PERSONAL USE", 3, 36)); //


NOI18N
jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel9.setText("KASIR PENJUALAN TOKO KU");

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(46, 46, 46)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRA
ILING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel9,
javax.swing.GroupLayout.PREFERRED_SIZE, 554,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel15)
.addGap(41, 41, 41)
.addComponent(TxtDateTime,
javax.swing.GroupLayout.PREFERRED_SIZE, 206,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRA
ILING, false)
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRA
ILING)
.addComponent(TxtNama,
javax.swing.GroupLayout.PREFERRED_SIZE, 173,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING,
layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(jLabel1)
.addComponent(jLabel2)
.addComponent(jLabel10))
.addGap(27, 27, 27)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jpetugas)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btnkodepetugas))
.addComponent(txtNofa)
.addComponent(JdateJual,
javax.swing.GroupLayout.DEFAULT_SIZE, 174, Short.MAX_VALUE)))
.addComponent(btnkodebarang))
.addGap(28, 28, 28)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 643,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(jLabel5)
.addComponent(jLabel4))
.addGap(22, 22, 22)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addComponent(TxtHJual,
javax.swing.GroupLayout.DEFAULT_SIZE, 173, Short.MAX_VALUE)
.addComponent(TxtJumlah)))
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(jLabel11)
.addComponent(jLabel3)
.addComponent(jLabel12))
.addGap(32, 32, 32)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createSequentialGroup()
.addComponent(TxtSubTotal,
javax.swing.GroupLayout.PREFERRED_SIZE, 122,
javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnadd))
.addComponent(TxtKode,
javax.swing.GroupLayout.PREFERRED_SIZE, 100,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGap(433, 433, 433)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(jLabel6)
.addComponent(jLabel7)
.addComponent(jLabel8))
.addGap(26, 26, 26)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addComponent(TxtTotal,
javax.swing.GroupLayout.PREFERRED_SIZE, 126,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtCash,
javax.swing.GroupLayout.PREFERRED_SIZE, 126,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(TxtKembali,
javax.swing.GroupLayout.PREFERRED_SIZE, 126,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addComponent(BtnSimpan)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(BtnBatal)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnkeluar)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(laporan)))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap(19, Short.MAX_VALUE))
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createSequentialGroup()
.addGap(64, 64, 64)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(TxtDateTime,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel15)))
.addComponent(jLabel9,
javax.swing.GroupLayout.PREFERRED_SIZE, 73,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRA
ILING)
.addComponent(jLabel1)
.addComponent(jpetugas,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(btnkodepetugas))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel10)
.addComponent(txtNofa,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(6, 6, 6)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRA
ILING)
.addComponent(jLabel2)
.addComponent(JdateJual,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 259,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel11)
.addComponent(TxtKode,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnkodebarang))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel3)
.addComponent(TxtNama,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel5)
.addComponent(TxtHJual,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(TxtJumlah,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))
.addGap(11, 11, 11)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel12)
.addComponent(TxtSubTotal,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnadd))
.addGap(1, 6, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(jLabel6,
javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(TxtTotal,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel7)
.addComponent(TxtCash,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel8)
.addComponent(TxtKembali,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addGroup(layout.createSequentialGroup()
.addGap(12, 12, 12)
.addComponent(laporan))

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(BtnSimpan)
.addComponent(BtnBatal)
.addComponent(btnkeluar)))
.addContainerGap())
);

pack();
}// </editor-fold>

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


// TODO add your handling code here:
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
AutoSum();
}
}

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


// TODO add your handling code here:
TambahDetail();
loadData();
bersihkan();
}

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


// TODO add your handling code here:
Selesai();
bersihkan();
jpetugas.setText("");

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


// TODO add your handling code here:
Batal();
bersihkan();
jpetugas.setText("");
}

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


// TODO add your handling code here:
System.exit(0);
}

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


// TODO add your handling code here:
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
HitungKembali();
}
}

private void btnkodepetugasActionPerformed(java.awt.event.ActionEvent evt)


{
// TODO add your handling code here:

//new petugas1().setVisible(true);

petugas1 tugas = new petugas1();


tugas.fAB = this;
tugas.setVisible(true);
tugas.setResizable(false);
// this.dispose();

private void TblDetailMouseClicked(java.awt.event.MouseEvent evt) {


// TODO add your handling code here:
this.Cari_Kode();
this.ShowData();
}

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


// TODO add your handling code here:
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
cari_id();
}
}

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


// TODO add your handling code here:
//new barang().setVisible(true);
barang brg = new barang();
brg.fAB = this;
brg.setVisible(true);
brg.setResizable(false);
}

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


// TODO add your handling code here:
Connection c= ClassKoneksi.getkoneksi();
String NamaFile = "/report/report.jasper";
HashMap hash = new HashMap();
try {
runReportDefault(NamaFile,hash);
} catch (Exception e) {
}
}

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());
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default
look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(penjualanamin.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(penjualanamin.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(penjualanamin.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(penjualanamin.class.getName()).log(java.util.l
ogging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</editor-fold>
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new penjualanamin().setVisible(true);
}
});
}
}

8. Buatlah jFrame Form dengan nama : barang

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;

public class barang extends javax.swing.JFrame {


private Statement stat;
private Connection conek;
private ResultSet hasil;
private String sql="";
public String barang_id,barang_nama,barang_hjual;
DefaultTableModel tabmode;
public static int statusSearching = 0;
public Connection conn;
public penjualanamin fAB = null;

public void koneksi() {


try {
Class.forName("com.mysql.jdbc.Driver");
conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/db_penjualan",
"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("barang_id");
tabelbarang.addColumn("barang_nama");
tabelbarang.addColumn("barang_hjual");
try {
koneksi();
String sql = "select * from t_barang";
stat = conn.createStatement();
ResultSet rs = stat.executeQuery(sql);

while (rs.next()) {
tabelbarang.addRow(new Object[]{
rs.getString(1),
rs.getString(2),
rs.getString(3)

});
}
TblBarang.setModel(tabelbarang);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Ada kesalahan" + e);
}
}
public void tampildatabase(){
Object []baru = {"Kode Barang","Nama Barang","Harga Jual"};
tabmode = new DefaultTableModel(null, baru);
TblBarang.setModel(tabmode);
String sql = "SELECT*FROM t_barang";
try {
Connection conek = ClassKoneksi.getkoneksi();
Statement stat = conek.createStatement();
ResultSet hasil = stat.executeQuery(sql);
while (hasil.next()){
String ID= hasil.getString("barang_id");
String Nama = hasil.getString("barang_nama");
String Hjual = hasil.getString("barang_hjual");

String[] data = {ID,Nama,Hjual};


tabmode.addRow(data);
}
} catch (SQLException e) {
}
}

public barang() {
initComponents();
tampildata();
tampildatabase();
}

private void clear(){


jbarang_id.setText("");
jbarang_nama.setText("");
jbarang_hjual.setText("");
}

private void enabled(){


jbarang_id.enable(true);
jbarang_nama.enable(true);
jbarang_hjual.enable(true);
jbarang_id.requestFocus();
}

private void disabled(){


jbarang_id.enable(false);
jbarang_nama.enable(false);
jbarang_hjual.enable(false);
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

BtnEdit = new javax.swing.JButton();


BtnHapus = new javax.swing.JButton();
jbarang_hjual = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jbarang_nama = new javax.swing.JTextField();
BtnBatal = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
TblBarang = new javax.swing.JTable();
jLabel5 = new javax.swing.JLabel();
BtnSimpan = new javax.swing.JButton();
jbarang_id = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();

BtnEdit.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icon/reload1.png"))); // NOI18N
BtnEdit.setText(" EDIT");
BtnEdit.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
BtnEditMouseClicked(evt);
}
});
BtnEdit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnEditActionPerformed(evt);
}
});

BtnHapus.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icon/remove1.png"))); //
NOI18N
BtnHapus.setText(" HAPUS");
BtnHapus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnHapusActionPerformed(evt);
}
});
jbarang_hjual.setName(""); // NOI18N

jLabel2.setText("KODE BARANG");

jbarang_nama.setName(""); // NOI18N
jbarang_nama.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jbarang_namaKeyReleased(evt);
}
});

BtnBatal.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icon/Back1.png"))); // NOI18N
BtnBatal.setText(" BATAL");
BtnBatal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnBatalActionPerformed(evt);
}
});

jLabel3.setText("NAMA BARANG");

TblBarang.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {

},
new String [] {
"Title", "Title", "Title", "Title"
}
));
TblBarang.setRowSelectionAllowed(false);
TblBarang.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
TblBarangMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
TblBarangMouseEntered(evt);
}
});
jScrollPane1.setViewportView(TblBarang);

jLabel5.setText("HARGA JUAL");

BtnSimpan.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icon/save.png"))); // NOI18N
BtnSimpan.setText(" SIMPAN");
BtnSimpan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BtnSimpanActionPerformed(evt);
}
});

jbarang_id.setName(""); // NOI18N
jbarang_id.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbarang_idActionPerformed(evt);
}
});
jbarang_id.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jbarang_idKeyPressed(evt);
}
});

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


jLabel1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icon/barang1.png"))); //
NOI18N
jLabel1.setText("BARANG");

jLabel4.setText("CARI");

javax.swing.GroupLayout layout = new


javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(26, 26, 26)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(BtnSimpan)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(BtnEdit)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(BtnHapus)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(BtnBatal))
.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRA
ILING)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel5,
javax.swing.GroupLayout.Alignment.LEADING))
.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(jbarang_id)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addComponent(jbarang_nama)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel4))
.addComponent(jbarang_hjual)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addComponent(jLabel1)
.addGap(0, 0, Short.MAX_VALUE))))
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
.addContainerGap(24, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addGap(12, 12, 12)
.addComponent(jLabel1)
.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel2)
.addComponent(jbarang_id,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel3)
.addComponent(jbarang_nama,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel4))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel5)
.addComponent(jbarang_hjual,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 149,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(BtnBatal)
.addComponent(BtnHapus)
.addComponent(BtnEdit)
.addComponent(BtnSimpan))
.addContainerGap(25, Short.MAX_VALUE))
);

pack();
}// </editor-fold>

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

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


String barang_id = jbarang_id.getText();
try {
Statement statement =ClassKoneksi.getkoneksi().createStatement();
statement.executeUpdate("delete from t_barang where
barang_id=('"+barang_id+"')");
clear();
tampildatabase();
JOptionPane.showMessageDialog(null, "Data Berhasil Dihapus");
}catch (Exception t) {
JOptionPane.showMessageDialog(null, "Data Gagal Dihapus");
}
}

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


clear();
enabled();
BtnSimpan.setEnabled(true);
BtnEdit.setEnabled(true);
}

private void TblBarangMouseClicked(java.awt.event.MouseEvent evt) {


int tabelbarang = TblBarang.getSelectedRow();
fAB.kdbrg = TblBarang.getValueAt(tabelbarang, 0).toString();
fAB.nm = TblBarang.getValueAt(tabelbarang, 1).toString();
fAB.jual = TblBarang.getValueAt(tabelbarang, 2).toString();
fAB.itemTerpilih1();
this.dispose();
}
private void BtnSimpanActionPerformed(java.awt.event.ActionEvent evt) {

if(jbarang_id.getText().trim().equals("")){
JOptionPane.showMessageDialog(null,"Maaf, Kode belum di isi!");
jbarang_id.requestFocus();
}else if(jbarang_nama.getText().trim().equals("")){
JOptionPane.showMessageDialog(null,"Maaf, Nama belum di isi!");
jbarang_nama.requestFocus();
} else if(jbarang_hjual.getText().trim().equals("")){
JOptionPane.showMessageDialog(null,"Maaf, Jumlah belum di isi!");
jbarang_hjual.requestFocus();
} else{
String barang_id="", barang_nama ="", barang_hjual ="";
try {
Connection conek =ClassKoneksi.getkoneksi();
barang_id = jbarang_id.getText();
barang_nama = jbarang_nama.getText();
barang_hjual= jbarang_hjual.getText();
String sql = "insert into t_barang
values('"+barang_id+"','"+barang_nama+"', '"+barang_hjual+"')";
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();
}

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


// TODO add your handling code here:
}

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


// TODO add your handling code here:

barang_id = jbarang_id.getText();
int A = evt.getKeyCode();
if (A==10){
try {

sql="SELECT * FROM t_barang WHERE barang_id='"+barang_id+"'";


Connection conek = ClassKoneksi.getkoneksi();
stat = conek.createStatement();
hasil = stat.executeQuery(sql);

while(hasil.next()){
jbarang_nama.setText(hasil.getString("barang_nama"));
jbarang_hjual.setText(hasil.getString("barang_hjual"));
BtnSimpan.enable(false);
BtnEdit.enable(true);
BtnHapus.enable(true);
}
} catch (Exception e) {
JOptionPane.showConfirmDialog(null, "Data Not
Found\n"+e.getMessage());
jbarang_nama.requestFocus();
}
}

private void BtnEditMouseClicked(java.awt.event.MouseEvent evt) {


// TODO add your handling code here:
String barang_id="", barang_nama ="", barang_hjual ="";
int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Untuk Update
Record ini???","Confirmation",JOptionPane.YES_NO_OPTION);
try{
Connection co = ClassKoneksi.getkoneksi();
barang_id = jbarang_id.getText();
barang_nama = jbarang_nama.getText();
barang_hjual= jbarang_hjual.getText();
String sql="update t_barang set
barang_id=?,barang_nama=?,barang_hjual=? where barang_id='"+barang_id+"'";
PreparedStatement st=co.prepareStatement(sql);
if(ok==0){
try {
st.setString(1,jbarang_id.getText());
st.setString(2,jbarang_nama.getText());
st.setString(3,jbarang_hjual.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();
}

private void TblBarangMouseEntered(java.awt.event.MouseEvent evt) {


// TODO add your handling code here:
}

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


// TODO add your handling code here:
String nam = jbarang_nama.getText();
cls_input_data1 data = new cls_input_data1();
try{

TblBarang.setModel(DbUtils.resultSetToTableModel(data.SearchTextList(nam)))
;
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default
look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(barang.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(barang.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(barang.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(barang.class.getName()).log(java.util.logging.
Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new barang().setVisible(true);
}
});
}
}
9. Buatlah jFrame Form dengan nama : petugas

Dengan Source code :


package Form;
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 penjualanamin fAB = null;
//public login1 fAB = null;

public void koneksi() {


try {
Class.forName("com.mysql.jdbc.Driver");
conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/db_penjualan",
"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_petugas";
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.
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jnama_petugas = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
Tblpetugas = new javax.swing.JTable();

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


jLabel1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/icon/PETUGAS1.png"))); //
NOI18N
jLabel1.setText("PETUGAS");

jnama_petugas.setName(""); // NOI18N
jnama_petugas.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jnama_petugasKeyPressed(evt);
}
public void keyReleased(java.awt.event.KeyEvent evt) {
jnama_petugasKeyReleased(evt);
}
});

jLabel3.setText("NAMA PETUGAS");

Tblpetugas.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"Title", "Title", "Title", "Title"
}
));
Tblpetugas.setRowSelectionAllowed(false);
Tblpetugas.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
TblpetugasMouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
TblpetugasMouseEntered(evt);
}
});
jScrollPane1.setViewportView(Tblpetugas);
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(25, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING, false)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 353,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3)
.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
DING)
.addComponent(jLabel1)
.addComponent(jnama_petugas))))
.addGap(22, 22, 22))
);
layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BAS
ELINE)
.addComponent(jLabel3)
.addComponent(jnama_petugas,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 149,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(24, Short.MAX_VALUE))
);

pack();
}// </editor-fold>

private void TblpetugasMouseClicked(java.awt.event.MouseEvent evt) {


int tabelpetugas = Tblpetugas.getSelectedRow();
fAB.kdptg = Tblpetugas.getValueAt(tabelpetugas, 0).toString();
fAB.itemTerpilih();
this.dispose();
}

private void TblpetugasMouseEntered(java.awt.event.MouseEvent evt) {


// TODO add your handling code here:
}

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


// TODO add your handling code here:
}

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


// TODO add your handling code here:
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);
}
}

public static void main(String args[]) {


/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code
(optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default
look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(petugas1.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(petugas1.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(petugas1.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(petugas1.class.getName()).log(java.util.loggin
g.Level.SEVERE, null, ex);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new petugas1().setVisible(true);
}
});
}
}
10. Buat laporan dengan menggunaka ireport di pulgin pada netbeans
Dengan source code :
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports
http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="null"
pageWidth="595" pageHeight="842" columnWidth="535" leftMargin="20"
rightMargin="20" topMargin="20" bottomMargin="20">
<queryString language="SQL">
<![CDATA[select *from t_jualdetail]]>
</queryString>
<field name="kode_petugas" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="no_transaksi" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="kode_barang" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="jual_harga" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="jumlah" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="subtotal" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="waktu" class="java.sql.Timestamp">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="58" splitType="Stretch">
<line>
<reportElement x="0" y="8" width="555" height="1"/>
</line>
<line>
<reportElement positionType="FixRelativeToBottom"
x="0" y="51" width="555" height="1"/>
</line>
<staticText>
<reportElement x="65" y="13" width="424"
height="35"/>
<textElement textAlignment="Center">
<font size="26" isBold="true"/>
</textElement>
<text><![CDATA[LAPORAN PENJUALAN]]></text>
</staticText>
</band>
</title>
<pageHeader>
<band splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band height="18" splitType="Stretch">
<staticText>
<reportElement mode="Opaque" x="0" y="0"
width="79" height="18" forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[Kode Petugas]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="79" y="0"
width="79" height="18" forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[No Transaksi]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="158" y="0"
width="79" height="18" forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[Kode Barang]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="237" y="0"
width="79" height="18" forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[Harga]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="316" y="0"
width="79" height="18" forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[jumlah]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="395" y="0"
width="79" height="18" forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[Total Harga]]></text>
</staticText>
<staticText>
<reportElement mode="Opaque" x="474" y="0"
width="79" height="18" forecolor="#FFFFFF" backcolor="#999999"/>
<textElement>
<font size="12"/>
</textElement>
<text><![CDATA[Waktu]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="21" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="79" height="20"/>
<textElement>
<font size="12"/>
</textElement>
<textFieldExpression
class="java.lang.String"><![CDATA[$F{kode_petugas}]]></textFieldExpression
>
</textField>
<textField>
<reportElement x="79" y="0" width="79"
height="20"/>
<textElement>
<font size="12"/>
</textElement>
<textFieldExpression
class="java.lang.String"><![CDATA[$F{no_transaksi}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="158" y="0" width="79"
height="20"/>
<textElement>
<font size="12"/>
</textElement>
<textFieldExpression
class="java.lang.String"><![CDATA[$F{kode_barang}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="237" y="0" width="79"
height="20"/>
<textElement>
<font size="12"/>
</textElement>
<textFieldExpression
class="java.lang.String"><![CDATA[$F{jual_harga}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="316" y="0" width="79"
height="20"/>
<textElement>
<font size="12"/>
</textElement>
<textFieldExpression
class="java.lang.String"><![CDATA[$F{jumlah}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="395" y="0" width="79"
height="20"/>
<textElement>
<font size="12"/>
</textElement>
<textFieldExpression
class="java.lang.String"><![CDATA[$F{subtotal}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="474" y="0" width="79"
height="20"/>
<textElement>
<font size="12"/>
</textElement>
<textFieldExpression
class="java.sql.Timestamp"><![CDATA[$F{waktu}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="25" splitType="Stretch">
<textField evaluationTime="Report" pattern=""
isBlankWhenNull="false">
<reportElement key="textField" x="516" y="6"
width="36" height="19" forecolor="#000000" backcolor="#FFFFFF"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
</box>
<textElement>
<font size="10"/>
</textElement>
<textFieldExpression
class="java.lang.String"><![CDATA["" +
$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement key="textField" x="342" y="6"
width="170" height="19" forecolor="#000000" backcolor="#FFFFFF"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
</box>
<textElement textAlignment="Right">
<font size="10"/>
</textElement>
<textFieldExpression
class="java.lang.String"><![CDATA["Page " + $V{PAGE_NUMBER} + " of
"]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement key="textField" x="1" y="6"
width="209" height="19" forecolor="#000000" backcolor="#FFFFFF"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid"
lineColor="#000000"/>
</box>
<textElement>
<font size="10"/>
</textElement>
<textFieldExpression
class="java.util.Date"><![CDATA[new Date()]]></textFieldExpression>
</textField>
</band>
</pageFooter>
<summary>
<band splitType="Stretch"/>
</summary>
</jasperReport>

BAB 2
PENUTUP

A. KESIMPULAN
Demikian laporan saya buat,dalam memenuhi tugas pemograman berbasis object
pembuatan aplikasi kasir dari ibu guru selama kami PKL 3 bulan,semoga apa yang saya
kerjakan sesuai prosedur yang ada. Semoga apa yang telah saya paparkan di atas dapat
dipahami untuk semua. Baik bagi bapak ibu guru dan teman-teman sekalian. Mungkin itu
saja yang dapat saya sampaikan. Terimakasih.

B. KESAN
Kesan kami dalam mengerjakan tugas program kasir ini,membuat logika kita
berjalan,karena dalam pembuatan program kasir kita membutuhkan logika yang
baik,supaya alur programnya dapat berjalan dengan baik dan mudah di pahami. Dan di sisi
lain adanya tugas yang ibu berikan kepada kami membuat kami di haruskan memahami
bagaimana cara membuat program aplikasi kasir menggunakan netbeans dengan
menggabungkan database yang ada.

Anda mungkin juga menyukai