Membuat Aplikasi Sederhana Parkir
1. Deskipsi.Aplikasi parkir ini memudahkan pengguna untuk menghitung biaya parkir hanya dengan menginput jam masuk dan jam keluar pada aplikasi ini, sekaligus mempermudah pengguna kendaraan jika ingin memasuki parkir dengan aplikasi ini. dengan adanya fitur member pengguna kendaraan juga akan mendapatkan potongan sebesar 50% . aplikasi ini di buat untuk mempermudah dan meng efisiensikan waktu atau kinerja para penggunanya.
Biasanya aplikasi ini di gunakan pada parkiran sekolah,rumah sakit, hotel maupun kantor kantor di daerah padat kendaraan.
Langkah Awal :
Jadi pertama-tama sebelum membuat aplikasi tersebut kalian harus mempersiapkan :
aplikasi NetBeans IDE 8.0.2
aplikasi java JDK
Setelah semua berhasil terinstal buka aplikasi NetBeans IDE yang telah terinstal
lalu new project ->Java aplication -> Java Package -> new JFrame :
PALETTE YANG DI BUTUHKAN :
Label
TextField
Button
ComboBox
Tabbed
Tabel
2. Lembar Jawaban
3. Screenshot Design
4. ScreenShot Running
| MENU |
| SAVE PARKIR |
| CHECKOUT |
| EXIT |
5. Database
6. Source code
## koneksi
package ta_parkir;
import java.sql.*;
public class koneksi {
public Connection conn;
public Statement st;
public ResultSet rs;
public void koneksi()
{
konek("localhost","db_parkir","root","");
}
public void konek(String server, String db, String user,String passwd){
System.out.println("Keterangan");
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Driver JDBC tidak barhasil Load");
e.printStackTrace();
return;
}
System.out.println("Driver berhasil di Load");
conn = null;
try {
conn = DriverManager.getConnection(
"jdbc:mysql://"+server+":3306/"+db,user,passwd);
} catch (SQLException e) {
System.out.println("Tidak bisa koneksi ke database");
e.printStackTrace();
return;
}
if (conn != null)
System.out.println("Berhasil Koneksi!");
else
System.out.println("Koneksi Gagal........ !");
}
}
#menu utama
package ta_parkir;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class utama extends javax.swing.JFrame {
public utama() {
initComponents();
BTN1.setBackground(Color.yellow);
BTN2.setBackground(Color.red);
JFrame frame = new JFrame();
frame.setUndecorated(true);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel2 = new javax.swing.JLabel();
BTN1 = new javax.swing.JButton();
BTN2 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Aplikasi Manajemen Parkir");
setResizable(false);
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel2.setText("WELCOME MENU PARKIR");
BTN1.setText("MASUK");
BTN1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BTN1ActionPerformed(evt);
}
});
BTN2.setText("TUTUP");
BTN2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BTN2ActionPerformed(evt);
}
});
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(87, 87, 87)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jLabel2)
.addGroup(layout.createSequentialGroup()
.addComponent(BTN1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(BTN2)))
.addContainerGap(97, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(55, 55, 55)
.addComponent(jLabel2)
.addGap(61, 61, 61)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(BTN1, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(BTN2, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(99, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void BTN1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new fParkir(this,true).setVisible(true);
}
private void BTN2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Object[] options = {"Ya", "Tidak, tetap di halaman"};
int dialog = JOptionPane.showOptionDialog(this, "Apakah Anda yakin akan Keluar?", "Konfirmasi Keluar", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
if (dialog == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
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(utama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(utama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(utama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(utama.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 utama().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton BTN1;
private javax.swing.JButton BTN2;
private javax.swing.JLabel jLabel2;
// End of variables declaration
}
#form Parkir
package ta_parkir;
import java.awt.Color;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.awt.PrintJob;
import java.awt.Graphics;
import java.awt.Font;
public class fParkir extends javax.swing.JFrame {
DefaultTableModel masuk, keluar;
koneksi konek = new koneksi();
public fParkir() {
konek.koneksi();
initComponents();
btnSimpan.setBackground(Color.green);
btnCari.setBackground(Color.yellow);
btnKeluar.setBackground(Color.red);
tampil_masuk();
tampil_keluar();
}
fParkir(utama aThis, boolean b) {
throw new UnsupportedOperationException("Not supported yet.");
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
lblbiaya = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
cbJenis = new javax.swing.JComboBox<String>();
btnSimpan = new javax.swing.JButton();
txtKTglMasuk = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
txtKNoPol = new javax.swing.JTextField();
txtKNoTiket = new javax.swing.JTextField();
btnCari = new javax.swing.JButton();
txtKJenis = new javax.swing.JTextField();
txtKJamMasuk = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
txtKBiaya = new javax.swing.JTextField();
jLabel12 = new javax.swing.JLabel();
txtKDurasiJ = new javax.swing.JTextField();
txtKBiayaAkhir = new javax.swing.JTextField();
txtKDurasiH = new javax.swing.JTextField();
jLabel10 = new javax.swing.JLabel();
btnKeluar = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jTabbedPane1 = new javax.swing.JTabbedPane();
jScrollPane1 = new javax.swing.JScrollPane();
tbMasuk = new javax.swing.JTable();
jTabbedPane2 = new javax.swing.JTabbedPane();
jScrollPane2 = new javax.swing.JScrollPane();
tbKeluar = new javax.swing.JTable();
lblbiaya.setText("jLabel13");
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Menu Parkir");
setResizable(false);
jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
jPanel2.setPreferredSize(new java.awt.Dimension(556, 500));
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel1.setText("No. Pol");
jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 60, -1, -1));
jLabel2.setText("Jenis");
jPanel2.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 90, -1, -1));
cbJenis.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "-Pilih Jenis Kendaraan-", "Motor", "Mobil" }));
jPanel2.add(cbJenis, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 90, 140, -1));
btnSimpan.setText("Simpan");
btnSimpan.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSimpanActionPerformed(evt);
}
});
jPanel2.add(btnSimpan, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 140, -1, -1));
txtKTglMasuk.setEditable(false);
jPanel2.add(txtKTglMasuk, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 310, 155, -1));
jLabel6.setText("Jenis");
jPanel2.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 280, -1, -1));
jLabel5.setText("No. Tiket");
jPanel2.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 250, -1, -1));
txtKNoPol.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
txtKNoPolKeyTyped(evt);
}
});
jPanel2.add(txtKNoPol, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 60, 140, -1));
txtKNoTiket.setEditable(false);
jPanel2.add(txtKNoTiket, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 250, 155, -1));
btnCari.setText("Cari");
btnCari.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCariActionPerformed(evt);
}
});
jPanel2.add(btnCari, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 140, 60, -1));
txtKJenis.setEditable(false);
jPanel2.add(txtKJenis, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 280, 155, -1));
txtKJamMasuk.setEditable(false);
jPanel2.add(txtKJamMasuk, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 250, 175, -1));
jLabel8.setText("Jam Masuk");
jPanel2.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 250, -1, -1));
jLabel9.setText("Durasi Hari");
jPanel2.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 340, -1, -1));
jLabel7.setText("Tgl Masuk");
jPanel2.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 310, -1, -1));
jLabel11.setText("Biaya Parkir");
jPanel2.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 370, -1, -1));
txtKBiaya.setEditable(false);
jPanel2.add(txtKBiaya, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 370, 155, -1));
jLabel12.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel12.setText("TOTAL");
jPanel2.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 310, 50, -1));
txtKDurasiJ.setEditable(false);
jPanel2.add(txtKDurasiJ, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 280, 175, -1));
txtKBiayaAkhir.setEditable(false);
txtKBiayaAkhir.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
txtKBiayaAkhir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtKBiayaAkhirActionPerformed(evt);
}
});
jPanel2.add(txtKBiayaAkhir, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 310, 175, 50));
txtKDurasiH.setEditable(false);
jPanel2.add(txtKDurasiH, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 340, 155, -1));
jLabel10.setText("Durasi Jam");
jPanel2.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 280, -1, -1));
btnKeluar.setText("CHECK OUT");
btnKeluar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnKeluarActionPerformed(evt);
}
});
jPanel2.add(btnKeluar, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 60, -1, 54));
jButton1.setText("EXIT");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel2.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 370, -1, -1));
jButton2.setText("Refresh");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jPanel2.add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 370, -1, -1));
jTabbedPane1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
tbMasuk.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"No. Tiket", "No. Pol", "Jenis", "Tanggal Masuk", "Jam Masuk"
}
) {
boolean[] canEdit = new boolean [] {
false, false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
jScrollPane1.setViewportView(tbMasuk);
jTabbedPane1.addTab("Masuk Kendaraan", jScrollPane1);
jTabbedPane2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
tbKeluar.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"No. Tiket", "No. Pol", "Jenis", "Tgl Keluar", "Jam Keluar", "Biaya"
}
) {
boolean[] canEdit = new boolean [] {
false, false, false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
tbKeluar.addAncestorListener(new javax.swing.event.AncestorListener() {
public void ancestorMoved(javax.swing.event.AncestorEvent evt) {
}
public void ancestorAdded(javax.swing.event.AncestorEvent evt) {
tbKeluarAncestorAdded(evt);
}
public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {
}
});
jScrollPane2.setViewportView(tbKeluar);
jTabbedPane2.addTab("Laporan Parkiran", jScrollPane2);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 548, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(26, 26, 26)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 504, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTabbedPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 504, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(25, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(25, 25, 25)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addComponent(jTabbedPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 252, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(50, Short.MAX_VALUE))
);
jTabbedPane1.getAccessibleContext().setAccessibleName("tab 1");
pack();
}// </editor-fold>
private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (txtKNoPol.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Nomor polisi belum diisi!");
} else if (cbJenis.getSelectedItem().equals("-Pilih Jenis Kendaraan-")) {
JOptionPane.showMessageDialog(this, "Jenis kendaraan belum dipilih");
} else {
String nopol, jenis, sql;
nopol = txtKNoPol.getText();
jenis = cbJenis.getSelectedItem().toString();
sql = "INSERT INTO tb_parkir(no_pol,jenis,tgl_masuk,jam_masuk)"
+ "VALUES('"+nopol+"','"+jenis+"',CURDATE(),CURTIME())";
try{
konek.st = konek.conn.createStatement();
konek.st.execute(sql);
}
catch (SQLException e){
JOptionPane.showMessageDialog(this, "Data gagal disimpan"+e);
return;
}
JOptionPane.showMessageDialog(this, "Data berhasil disimpan");
}
resetAll();
tampil_masuk();
tampil_keluar();
}
private void btnCariActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(txtKNoPol.getText().isEmpty())
JOptionPane.showMessageDialog(this, "No. Pol masih kosong!");
else {
DecimalFormat rupiah = (DecimalFormat) DecimalFormat.getCurrencyInstance();
DecimalFormatSymbols formatRp = new DecimalFormatSymbols();
formatRp.setCurrencySymbol("Rp ");
formatRp.setMonetaryDecimalSeparator(',');
formatRp.setGroupingSeparator('.');
rupiah.setDecimalFormatSymbols(formatRp);
String sql = "SELECT *, DATEDIFF(CURDATE(), tgl_masuk) durasi_hari, (TIME_FORMAT(CURTIME(),'%H')-TIME_FORMAT(jam_masuk, '%H')) durasi_jam "
+ "FROM tb_parkir WHERE no_pol='"+txtKNoPol.getText()+"' AND biaya=0";
try
{
konek.st = konek.conn.createStatement();
konek.rs = konek.st.executeQuery(sql);
} catch (SQLException ex){
JOptionPane.showMessageDialog(this, "Kesalahan query"+ex);
}
int size=0;
try {
while (konek.rs.next()){
size++;
txtKNoTiket.setText(konek.rs.getString("no_tiket").toString());
txtKJenis.setText(konek.rs.getString("jenis").toString());
txtKTglMasuk.setText(konek.rs.getString("tgl_masuk").toString());
txtKJamMasuk.setText(konek.rs.getString("jam_masuk").toString());
int hari = Integer.parseInt(konek.rs.getString("durasi_hari"));
int jam = Integer.parseInt(konek.rs.getString("durasi_jam"));
int biaya, biaya_akhir;
if(txtKJenis.getText().equals("Mobil")){
txtKBiaya.setText(rupiah.format(5000));
biaya = 5000;
} else {
txtKBiaya.setText(rupiah.format(2000));
biaya = 2000;
}
if(hari>0){
txtKDurasiH.setText(""+hari+" hari");
txtKDurasiJ.setText("-");
biaya_akhir = biaya + (50000*hari);
txtKBiayaAkhir.setText(rupiah.format(biaya_akhir));
lblbiaya.setText(""+biaya_akhir);
}
else{
txtKDurasiH.setText("0 hari");
txtKDurasiJ.setText(konek.rs.getString("durasi_jam").toString()+" jam");
biaya_akhir = biaya + (1000*jam);
txtKBiayaAkhir.setText(rupiah.format(biaya_akhir));
lblbiaya.setText(""+biaya_akhir);
}
}
if(size==0)
{
JOptionPane.showMessageDialog(this,"Data tidak ditemukan");
return;
}
konek.rs.close();
konek.st.close();
} catch (SQLException ex){
}
}
}
private void txtKNoPolKeyTyped(java.awt.event.KeyEvent evt) {
evt.setKeyChar(Character.toUpperCase(evt.getKeyChar()));
}
private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if(txtKNoPol.getText().isEmpty())
JOptionPane.showMessageDialog(this, "Data kosong!");
else {
int biaya = Integer.parseInt(lblbiaya.getText());
String sql, notiket;
notiket = txtKNoTiket.getText();
sql = "UPDATE tb_parkir SET tgl_keluar=CURDATE(), jam_keluar=CURTIME(), biaya='"+biaya+"' "
+ "WHERE no_tiket='"+notiket+"'";
try{
konek.st = konek.conn.createStatement();
konek.st.execute(sql);
}
catch (SQLException e){
JOptionPane.showMessageDialog(this, "Data gagal disimpan"+e);
return;
}
JOptionPane.showMessageDialog(this, "Data berhasil diperbaharui");
resetAll();
tampil_masuk();
tampil_keluar();
}
}
private void tbKeluarAncestorAdded(javax.swing.event.AncestorEvent evt) {
// TODO add your handling code here:
}
private void txtKBiayaAkhirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Object[] options = {"Ya", "Tidak, tetap di halaman"};
int dialog = JOptionPane.showOptionDialog(this, "Apakah Anda yakin akan Keluar?", "Konfirmasi Keluar", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
if (dialog == JOptionPane.YES_OPTION)
{
System.exit(0);
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
{txtKNoPol.setText("");
txtKNoTiket.setText("");
txtKJenis.setText("");
txtKTglMasuk.setText("");
txtKJamMasuk.setText("");
txtKDurasiH.setText("");
txtKDurasiJ.setText("");
txtKBiaya.setText("");
txtKBiayaAkhir.setText("");}
}
public void resetAll(){
txtKNoPol.setText("");
cbJenis.setSelectedIndex(0);
masuk = (DefaultTableModel) tbMasuk.getModel();
keluar = (DefaultTableModel) tbKeluar.getModel();
int rowCount1 = masuk.getRowCount();
int rowCount2 = keluar.getRowCount();
//Remove rows one by one from the end of the table
for (int i = rowCount1 - 1; i >= 0; i--) {
masuk.removeRow(i);
}
for (int i = rowCount2 - 1; i >= 0; i--) {
keluar.removeRow(i);
}
}
public void tampil_masuk(){
masuk = (DefaultTableModel) tbMasuk.getModel();
try {
konek.st = konek.conn.createStatement();
String query = "SELECT * FROM tb_parkir WHERE biaya=0 ORDER BY no_tiket DESC LIMIT 25";
konek.rs = konek.st.executeQuery(query);
while (konek.rs.next()) {
String no_tiket = konek.rs.getString("no_tiket");
String no_pol = konek.rs.getString("no_pol");
String jenis = konek.rs.getString("jenis");
String tgl_masuk = konek.rs.getString("tgl_masuk");
String jam_masuk = konek.rs.getString("jam_masuk");
String [] data = {no_tiket, no_pol, jenis, tgl_masuk, jam_masuk};
masuk.addRow(data);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Gagal ambil data"+e);
}
tbMasuk.setModel(masuk);
}
public void tampil_keluar(){
DecimalFormat rupiah = (DecimalFormat) DecimalFormat.getCurrencyInstance();
DecimalFormatSymbols formatRp = new DecimalFormatSymbols();
formatRp.setCurrencySymbol("Rp ");
formatRp.setMonetaryDecimalSeparator(',');
formatRp.setGroupingSeparator('.');
rupiah.setDecimalFormatSymbols(formatRp);
keluar = (DefaultTableModel) tbKeluar.getModel();
try {
konek.st = konek.conn.createStatement();
String query = "SELECT * FROM tb_parkir WHERE biaya <> 0 ORDER BY tgl_keluar DESC,jam_keluar DESC LIMIT 15";
konek.rs = konek.st.executeQuery(query);
while (konek.rs.next()) {
String no_tiket = konek.rs.getString("no_tiket");
String no_pol = konek.rs.getString("no_pol");
String jenis = konek.rs.getString("jenis");
String tgl_keluar = konek.rs.getString("tgl_keluar");
String jam_keluar = konek.rs.getString("jam_keluar");
String biaya = konek.rs.getString("biaya");
Double biaya2 = Double.parseDouble(biaya);
String biaya_final = (rupiah.format(biaya2));
String [] data = {no_tiket, no_pol, jenis, tgl_keluar, jam_keluar, biaya_final};
keluar.addRow(data);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Gagal ambil data"+e);
}
tbKeluar.setModel(keluar);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
fParkir dialog = new fParkir();
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnCari;
private javax.swing.JButton btnKeluar;
private javax.swing.JButton btnSimpan;
private javax.swing.JComboBox<String> cbJenis;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JTabbedPane jTabbedPane2;
private javax.swing.JLabel lblbiaya;
private javax.swing.JTable tbKeluar;
private javax.swing.JTable tbMasuk;
private javax.swing.JTextField txtKBiaya;
private javax.swing.JTextField txtKBiayaAkhir;
private javax.swing.JTextField txtKDurasiH;
private javax.swing.JTextField txtKDurasiJ;
private javax.swing.JTextField txtKJamMasuk;
private javax.swing.JTextField txtKJenis;
private javax.swing.JTextField txtKNoPol;
private javax.swing.JTextField txtKNoTiket;
private javax.swing.JTextField txtKTglMasuk;
// End of variables declaration
}

Komentar
Posting Komentar