SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
JAVA Programming - Membuat Program Parkir
Pembuat : Pebri Haerudin
NIM : 2018081112
Saya namakan Program ini “ System Monitoring Parkir” .
1. Login dengan Hakakses masuk
2. Input Data Plat Mobil/Motor dengan catatn tanggal dan jam secara realtime
3. Input Data Plat Mobil/Motor di hitung biaya.
Mobil bertarif 4000 dijam pertama dan 1000 jam berikutnya.
Motor bertarif 2000 dijam pertama dan 1000 jam berikutnya.
4. Menu dan Form dibuat jFrame, jDialog, jMenu
5. Database mysql “projectparkir” dengan dua data “userdb” untuk data Login dan “parkirdb”
untuk data kendaraan parkir.
JAVA Programming - Membuat Program Parkir
1. Login ke Applikasi
Membuat database, disini saya membuat database dengan nama “projectparkir” berisi dua database.
Pertama “userdb” dan kedua “parkirdb”
“userdb” berisi 5 index adapun didalamnya (userid”primary”, username, password, nama, hakakses).
Hakakses untuk membuat kategori hak akses dalam membuka program saat Login.
Semunya bertipe varchar.
“parkirdb” berisi 8 index adapun didalamnya (nomorkendaraan”primary”, nomortiket,jeniskendaraan,
Tglmasuk,jammasuk,tglkeluar,jamkeluar dan biaya).
“tglkeluar” dan “jamkeluar” untuk seting NULL saya pilih Yes dan Defaul NULL sedangkan “biaya”
Saya buat DEFAULT “0” untuk nantinya mencari data parkir yang masih didalam atau belum bayar.
Untuk type disesuaikan dapat dilihat pada gambar dibawah ini.
Add Libary ; MYSQL untuk database, jCalendar untuk Realtime Waktu. Jika tidak ada bisa download
Cari di internet dan add file
JAVA Programming - Membuat Program Parkir
Program parkir di seting harga jam pertama Mobil Rp. 4000 dan Motor Rp. 2000 untuk jam pertama
Jam berikutnya Mobil dan Motor dikenakan tarif Rp. 1000.
Adapun Program Menu Utama dibawah ini;
Ini untuk Login hakakses “Administrator” username”Administrator” dan pass “admin”.
Ini Tampilan dari menu “INPUT DATA KENDARAAN” masuk jika ingin input kendaraan dengan cara
Isi Field lalu klik Tombol “Simpan” untuk save ke database seting Tanggal dan jam adalah Realtime.
Tersedia Tombol Tampil data kendaraan Yang belum keluar untuk melihat Nomor Kendaraan yang
belu mkeluar sebelum proses Input Keluar.Tombol “Parkir Keluar” untuk llink Dialog INPUT KENDARAAN
KELUAR. Ketik Nomor Kendaraan lalu Klik tombol “Cari” akan muncul data dengan hitungan Biaya Parkir.
Jika keluar maka klik tombol “Simpan” untuk menyimpan kedalam database semua data. Untuk kembali
Ke INPUT DATA MASUK tersedia Tombol “Input Data Masuk”.
Tampilan Menu sebelum Login
Hakakses ada Input Kendaraan dan Admin
JAVA Programming - Membuat Program Parkir
Untuk Menu “Admin” dibuat dengan jTabbePane di buat 2 untuk Administrasi dapat melihat
“DATA PARKIR” Keseluruhan juga dapat meng hapusnya dan satunya adalah melihat “DATA PENGGUNA”.
Bisa untuk Tambah, Ubah dan Hapus.
Tampilan Hakakses “User” hanya muncul “Input Kendaraan”.
Tampilan Tentang Pembuat
Hakakses ada Input Kendaraan dan User
JAVA Programming - Membuat Program Parkir
Coding “Login “ pada Source
public MainApps() {
initComponents();
setMenuLogout();
}
private void login(){
try{
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/projectparkir", "root", "");
String password;
password = new String (passW.getPassword());
Statement stm = koneksi.createStatement();
String data = "SELECT * FROM userdb WHERE username ='"+nm.getText()+"' and
password='"+password+"'";
ResultSet rss = stm.executeQuery(data);
while(rss.next())
{
hakakses = rss.getString(5);
}
if(hakakses.equals(""))
{
JOptionPane.showMessageDialog(this, "Masukan User dan Password","Error",
JOptionPane.ERROR_MESSAGE);
}
else{
DialogLogin.dispose();
setMenuLogin();
JOptionPane.showMessageDialog(null, "Silahkan Masuk");
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, "Periksa Nama dan Password Anda
!","Information",JOptionPane.INFORMATION_MESSAGE);
System.out.println(e.getMessage());
}
}
JAVA Programming - Membuat Program Parkir
Coding “Login “ pada Source
private void setMenuLogin(){
if (hakakses.equals("Admin")){
JOptionPane.showMessageDialog(null, "Anda Masuk Sebagai Admin");
jMenuLogout.setVisible(true);
jMenuLogin.setVisible(false);
jMenuAdmin.setVisible(true);
jMenuInput.setVisible(true);
}
else if(hakakses.equals("User")){
JOptionPane.showMessageDialog(null, "Anda Masuk Sebagai User");
jMenuLogout.setVisible(true);
jMenuLogin.setVisible(false);
jMenuAdmin.setVisible(false);
jMenuInput.setVisible(true);
}
}
private void setMenuLogout(){
jMenuLogin.setVisible(true);
jMenuLogout.setVisible(false);
jMenuAdmin.setVisible(false);
jMenuInput.setVisible(false);
private void jMenuLogoutActionPerformed(java.awt.event.ActionEvent evt) {
this.setTitle("Anda Keluar dari Applikasi");
this.setMenuLogout();
}
private void jMenuLoginActionPerformed(java.awt.event.ActionEvent evt) {
nm.setText("");
passW.setText("");
DialogLogin.setVisible(true);
}
private void mskActionPerformed(java.awt.event.ActionEvent evt) {
login();
DialogLogin.setVisible(true);
DialogLogin.dispose();
}
JAVA Programming - Membuat Program Parkir
Coding “INPUT DATA KENDARAAN “
//Tombol Simpan
private void jBtnSimpanActionPerformed(java.awt.event.ActionEvent evt) {
if (jTextNopol.getText().isEmpty()) {
JOptionPane.showMessageDialog(this, "Nomor kendaraan belum ada");
} else if (jComboJenis.getSelectedItem().equals("-Pilih Jenis Kendaraan-")) {
JOptionPane.showMessageDialog(this, "Jenis kendaraan belum dipilih");
} else {
String nomorkendaraan,nomortiket,jeniskendaraan, data;
nomorkendaraan = jTextNopol.getText();
nomortiket = jTextTiket.getText();
jeniskendaraan = jComboJenis.getSelectedItem().toString();
data = "INSERT INTO
parkirdb(nomorkendaraan,nomortiket,jeniskendaraan,tglmasuk,jammasuk)"
+
"VALUES('"+nomorkendaraan+"','"+nomortiket+"','"+jeniskendaraan+"',CURDATE(),CURTIME())";
try{
st = koneksi.createStatement();
st.execute(data);
}
catch (SQLException e){
JOptionPane.showMessageDialog(this, "Data gagal disimpan"+e);
return;
}
JOptionPane.showMessageDialog(this, "Data telah tersimpan");
}
reset_semua();
input_masuk();
input_keluar();
}
//Tombol Kendaraan Keluar
private void jBtnKendKeluarActionPerformed(java.awt.event.ActionEvent evt) {
DialogKeluar.setLocationRelativeTo(this);
DialogKeluar.setVisible(true);
}
//Tampilkan Kendaraan yang ada didalam
private void jBtnDataDalamActionPerformed(java.awt.event.ActionEvent evt) {
reset_semua(); // dibuat reset semua atau refresh
input_masuk(); // lalu baca database yang nilai rupiah masih 0
}
JAVA Programming - Membuat Program Parkir
Coding “INPUT DATA KENDARAAN KELUAR “
//Tombol CARI
private void jBtnCariActionPerformed(java.awt.event.ActionEvent evt) {
if(jTextNopol2.getText().isEmpty())
JOptionPane.showMessageDialog(this, "Nomor Kendaraan Kosong");
else {
sql = "SELECT *, DATEDIFF(CURDATE(), tglmasuk) durasihari, (TIME_FORMAT(CURTIME(),'%H')-
TIME_FORMAT(jammasuk, '%H')) durasijam "
+ "FROM parkirdb WHERE nomorkendaraan='"+jTextNopol2.getText()+"' AND biaya=0";
int size=0;
try {
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/projectparkir", "root", "");
st = koneksi.createStatement();
rs = st.executeQuery(sql);
size++;
while (rs.next()) {
jTextTiket2.setText(rs.getString("nomortiket"));
jTextJenis.setText(rs.getString("jeniskendaraan"));
jTextTglMasuk2.setText(rs.getString("tglmasuk"));
jTextJamMasuk2.setText(rs.getString("jammasuk"));
switch (jTextJenis.getText()) {
case "Motor":
jTextTarif.setText("2000");
break;
case "Mobil":
jTextTarif.setText("4000");
break;
}
int hari = Integer.parseInt(rs.getString("durasihari"));
int jam = Integer.parseInt(rs.getString("durasijam"));
int biaya;
int tarif = Integer.parseInt(jTextTarif.getText());
if(hari>0){
jTextLamaHari.setText(""+hari+" hari");
jTextLamaJam.setText("-");
biaya = tarif + (50000*hari);
DecimalFormat rupiah = new DecimalFormat("0");
jTextBiaya.setText(rupiah.format(biaya));
}
else{
jTextLamaHari.setText("0 hari");
jTextLamaJam.setText(rs.getString("durasijam")+" jam");
biaya = tarif + (1000*jam);
DecimalFormat rupiah = new DecimalFormat("0");
jTextBiaya.setText(rupiah.format(biaya));
}
javax.swing.JOptionPane.showMessageDialog(null, "Data Ditemukan");
}
} catch (Exception e) {
javax.swing.JOptionPane.showMessageDialog(null, "Gagal Proses Cari Data "+e);
}
}
}
JAVA Programming - Membuat Program Parkir
Coding “INPUT DATA KENDARAAN KELUAR “
//Tombol SIMPAN
private void jBtnSimpan2ActionPerformed(java.awt.event.ActionEvent evt) {
String nomorkendaraan = jTextNopol2.getText();
String nomortiket = jTextTiket2.getText();
String jeniskendaraan = jTextJenis.getText();
String tglmasuk = jTextTglMasuk2.getText();
String jammasuk = jTextJamMasuk2.getText();
String tglkeluar = jTextTglKeluar.getText();
String jamkeluar = jTextJamKeluar.getText();
String biaya = jTextBiaya.getText();
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
try (com.mysql.jdbc.Connection konek = (com.mysql.jdbc.Connection)
DriverManager.getConnection("jdbc:mysql://localhost/projectparkir", "root", "");
com.mysql.jdbc.Statement statement = (com.mysql.jdbc.Statement)
konek.createStatement()) {
String data="UPDATE parkirdb SET
nomorkendaraan='"+nomorkendaraan+"',nomortiket='"+nomortiket+"',jeniskendaraan='"+jeniskenda
raan+"',tglmasuk='"+tglmasuk+"',jammasuk='"+jammasuk+"',tglkeluar='"+tglkeluar+"',jamkeluar='"+j
amkeluar+"',biaya='"+biaya+"' WHERE nomorkendaraan LIKE '"+nomorkendaraan+"'";
statement.executeUpdate(data);
}
JOptionPane.showMessageDialog(null, "Data berhasil diedit..","Insert
Data",JOptionPane.INFORMATION_MESSAGE);
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException |
SQLException | HeadlessException e) {
JOptionPane.showMessageDialog(null, "Eror:
"+e,"Gagal",JOptionPane.WARNING_MESSAGE);
//System.err.println("Exception: "+e.getMessage());
}finally{
}
}
// Tombol untuk kembali ke INPUT DATA KENDARAAN MASUK
private void jBtnBackInputActionPerformed(java.awt.event.ActionEvent evt) {
DialogInput.setLocationRelativeTo(this);
DialogInput.setVisible(true);
}
// Tampilkan data yang belu mkeluar
private void jBtnDataParkirActionPerformed(java.awt.event.ActionEvent evt) {
reset_semua();
input_masuk();
}
JAVA Programming - Membuat Program Parkir
//Coding “KONEKSI”
package MonitorParkir;
import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;
public class koneksi {
static void close() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated
methods, choose Tools | Templates.
}
void testkoneksi(){
}
public static void main(String[] args) {
try {Class.forName("com.mysql.jdbc.Driver").newInstance();
try (Connection koneksi = DriverManager.getConnection("jdbc:mysql://localhost/projectparkir",
"root", "")) {
System.out.println("Koneksi Berhasil");
JOptionPane.showMessageDialog(null," Koneksi Berhasil","Informasi",
JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception e)
{
JOptionPane.showMessageDialog(null,"Koneksi Gagal");
koneksi test = new koneksi();
test.testkoneksi();
System.exit(0);
}
}
}
JAVA Programming - Membuat Program Parkir
// Coding - Realtime Tanggal dan Jam
public void setTanggal(){
java.util.Date skrg = new java.util.Date();
java.text.SimpleDateFormat kal = new
java.text.SimpleDateFormat("yyyy-MM-dd");
jLabel17.setText(kal.format(skrg));
jTextTglMasuk.setText(kal.format(skrg));
jTextTglKeluar.setText(kal.format(skrg));
}
public void setJam(){
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
String nol_jam = "", nol_menit = "",nol_detik = "";
java.util.Date dateTime = new java.util.Date();
int nilai_jam = dateTime.getHours();
int nilai_menit = dateTime.getMinutes();
int nilai_detik = dateTime.getSeconds();
if(nilai_jam <= 9) nol_jam= "0";
if(nilai_menit <= 9) nol_menit= "0";
if(nilai_detik <= 9) nol_detik= "0";
String waktu = nol_jam + Integer.toString(nilai_jam);
String menit = nol_menit + Integer.toString(nilai_menit);
String detik = nol_detik + Integer.toString(nilai_detik);
jLabel19.setText(waktu+":"+menit+":"+detik+"");
jTextJamMasuk.setText(waktu+":"+menit+":"+detik+"");
jTextJamKeluar.setText(waktu+":"+menit+":"+detik+"");
}
};
new Timer(1000, taskPerformer).start();
}
JAVA Programming - Membuat Program Parkir
// Coding - reset semua dan input masuk
public void reset_semua(){
jTextNopol.setText("");
jComboJenis.setSelectedIndex(0);
DefaultTableModel input = (DefaultTableModel) jTblInput.getModel();
DefaultTableModel keluar = (DefaultTableModel) jTblKeluar.getModel();
int rowCount1 = input.getRowCount();
int rowCount2 = keluar.getRowCount();
//Remove rows one by one from the end of the table
for (int i = rowCount1 - 1; i >= 0; i--) {
input.removeRow(i);
}
for (int i = rowCount2 - 1; i >= 0; i--) {
keluar.removeRow(i);
}
}
//Tampilkan Data Yang Belum keluar parkir “ganti nama table bisa disesuikan”
public void input_masuk(){
DefaultTableModel input = (DefaultTableModel) jTblInput.getModel();
try {
st = koneksi.createStatement();
String query = "SELECT * FROM parkirdb WHERE biaya=0 ORDER BY nomortiket DESC LIMIT
25";
rs = st.executeQuery(query);
while (rs.next()) {
String nomortiket = rs.getString("nomortiket");
String nomorkendaraan = rs.getString("nomorkendaraan");
String jeniskendaraan = rs.getString("jeniskendaraan");
String tglmasuk = rs.getString("tglmasuk");
String jammasuk = rs.getString("jammasuk");
String fmt="%."+rs.getString("biaya")+"f";
DecimalFormat rupiah = new DecimalFormat("0");
String biaya = rs.getString("biaya");
Double biaya2 = Double.parseDouble(biaya);
String biaya_final = (rupiah.format(biaya2));
String [] data = {nomortiket, nomorkendaraan, jeniskendaraan, tglmasuk, jammasuk,
biaya_final};
input.addRow(data);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Gagal ambil data"+e);
}
jTblInput.setModel(input);
}
JAVA Programming - Membuat Program Parkir
// Coding - Input keluar Munculkan Data yang sudah keluar
public void input_keluar(){
DecimalFormat rupiah = (DecimalFormat) DecimalFormat.getCurrencyInstance();
DecimalFormatSymbols formatRp = new DecimalFormatSymbols();
formatRp.setCurrencySymbol("Rp ");
formatRp.setMonetaryDecimalSeparator(',');
formatRp.setGroupingSeparator('.');
rupiah.setDecimalFormatSymbols(formatRp);
DefaultTableModel keluar = (DefaultTableModel) jTblKeluar.getModel();
try {
st = koneksi.createStatement();
String query = "SELECT * FROM parkirdb WHERE biaya <> 0 ORDER BY tglkeluar
DESC,jamkeluar DESC LIMIT 15";
rs = st.executeQuery(query);
while (rs.next()) {
String nomortiket = rs.getString("nomortiket");
String nomorkendaraan = rs.getString("nomorkendaraan");
String jeniskendaraan = rs.getString("jeniskendaraan");
String tglkeluar = rs.getString("tglkeluar");
String jamkeluar = rs.getString("jamkeluar");
String biaya = rs.getString("biaya");
Double biaya2 = Double.parseDouble(biaya);
String biaya_final = (rupiah.format(biaya2));
String [] data = {nomortiket, nomorkendaraan, jeniskendaraan, tglkeluar, jamkeluar,
biaya_final};
keluar.addRow(data);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Gagal ambil data"+e);
}
jTblKeluar.setModel(keluar);
}
JAVA Programming - Membuat Program Parkir
// Coding - Admin Table Hapus
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel tbl = (DefaultTableModel) jTblDataParkir.getModel();
int baris = jTblDataParkir.getSelectedRow();
String strnomorkendaraan=(String)tbl.getValueAt(baris, 0);
String query = "DELETE FROM parkirdb WHERE nomorkendaraan='"+strnomorkendaraan+"'";
try {
st.executeUpdate(query);
JOptionPane.showMessageDialog(this, "Data berhasil di hapus");
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Data tidak dihapus " + ex.getMessage());
}
//update table setelah dihapus
try{
rs = st.executeQuery("select * from pasien;");
tbl.setNumRows(0);
while(rs.next())
{tbl.addRow(new Object[]{rs.getString("nomorkendaraan"),
rs.getString("jeniskendaraan"),
rs.getString("nomortiket"),
rs.getString("tglmasuk"),
rs.getString("jammasuk"),
rs.getString("tglkeluar"),
rs.getString("jamkeluar"),
rs.getString("biaya")});
}
}
catch (Exception e) {
JOptionPane.showMessageDialog (null, "koneksi gagal" +e.getMessage());
}
}
JAVA Programming - Membuat Program Parkir
// Coding - Admin Table Hapus
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel tbl = (DefaultTableModel) jTblDataParkir.getModel();
int baris = jTblDataParkir.getSelectedRow();
String strnomorkendaraan=(String)tbl.getValueAt(baris, 0);
String query = "DELETE FROM parkirdb WHERE nomorkendaraan='"+strnomorkendaraan+"'";
try {
st.executeUpdate(query);
JOptionPane.showMessageDialog(this, "Data berhasil di hapus");
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "Data tidak dihapus " + ex.getMessage());
}
//update table setelah dihapus
try{
rs = st.executeQuery("select * from pasien;");
tbl.setNumRows(0);
while(rs.next())
{tbl.addRow(new Object[]{rs.getString("nomorkendaraan"),
rs.getString("jeniskendaraan"),
rs.getString("nomortiket"),
rs.getString("tglmasuk"),
rs.getString("jammasuk"),
rs.getString("tglkeluar"),
rs.getString("jamkeluar"),
rs.getString("biaya")});
}
}
catch (Exception e) {
JOptionPane.showMessageDialog (null, "koneksi gagal" +e.getMessage());
}
}
LAINNYA Didalam Admin hampir sama Codingnya dengan Imput Data

Weitere ähnliche Inhalte

Kürzlich hochgeladen

BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
JuliBriana2
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
IvvatulAini
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
novibernadina
 

Kürzlich hochgeladen (20)

LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
E-modul Materi Ekosistem untuk kelas X SMA
E-modul Materi Ekosistem untuk kelas X SMAE-modul Materi Ekosistem untuk kelas X SMA
E-modul Materi Ekosistem untuk kelas X SMA
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
 

Empfohlen

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Program Parkir dengan JavaNetBeans

  • 1. JAVA Programming - Membuat Program Parkir Pembuat : Pebri Haerudin NIM : 2018081112 Saya namakan Program ini “ System Monitoring Parkir” . 1. Login dengan Hakakses masuk 2. Input Data Plat Mobil/Motor dengan catatn tanggal dan jam secara realtime 3. Input Data Plat Mobil/Motor di hitung biaya. Mobil bertarif 4000 dijam pertama dan 1000 jam berikutnya. Motor bertarif 2000 dijam pertama dan 1000 jam berikutnya. 4. Menu dan Form dibuat jFrame, jDialog, jMenu 5. Database mysql “projectparkir” dengan dua data “userdb” untuk data Login dan “parkirdb” untuk data kendaraan parkir.
  • 2. JAVA Programming - Membuat Program Parkir 1. Login ke Applikasi Membuat database, disini saya membuat database dengan nama “projectparkir” berisi dua database. Pertama “userdb” dan kedua “parkirdb” “userdb” berisi 5 index adapun didalamnya (userid”primary”, username, password, nama, hakakses). Hakakses untuk membuat kategori hak akses dalam membuka program saat Login. Semunya bertipe varchar. “parkirdb” berisi 8 index adapun didalamnya (nomorkendaraan”primary”, nomortiket,jeniskendaraan, Tglmasuk,jammasuk,tglkeluar,jamkeluar dan biaya). “tglkeluar” dan “jamkeluar” untuk seting NULL saya pilih Yes dan Defaul NULL sedangkan “biaya” Saya buat DEFAULT “0” untuk nantinya mencari data parkir yang masih didalam atau belum bayar. Untuk type disesuaikan dapat dilihat pada gambar dibawah ini. Add Libary ; MYSQL untuk database, jCalendar untuk Realtime Waktu. Jika tidak ada bisa download Cari di internet dan add file
  • 3. JAVA Programming - Membuat Program Parkir Program parkir di seting harga jam pertama Mobil Rp. 4000 dan Motor Rp. 2000 untuk jam pertama Jam berikutnya Mobil dan Motor dikenakan tarif Rp. 1000. Adapun Program Menu Utama dibawah ini; Ini untuk Login hakakses “Administrator” username”Administrator” dan pass “admin”. Ini Tampilan dari menu “INPUT DATA KENDARAAN” masuk jika ingin input kendaraan dengan cara Isi Field lalu klik Tombol “Simpan” untuk save ke database seting Tanggal dan jam adalah Realtime. Tersedia Tombol Tampil data kendaraan Yang belum keluar untuk melihat Nomor Kendaraan yang belu mkeluar sebelum proses Input Keluar.Tombol “Parkir Keluar” untuk llink Dialog INPUT KENDARAAN KELUAR. Ketik Nomor Kendaraan lalu Klik tombol “Cari” akan muncul data dengan hitungan Biaya Parkir. Jika keluar maka klik tombol “Simpan” untuk menyimpan kedalam database semua data. Untuk kembali Ke INPUT DATA MASUK tersedia Tombol “Input Data Masuk”. Tampilan Menu sebelum Login Hakakses ada Input Kendaraan dan Admin
  • 4. JAVA Programming - Membuat Program Parkir Untuk Menu “Admin” dibuat dengan jTabbePane di buat 2 untuk Administrasi dapat melihat “DATA PARKIR” Keseluruhan juga dapat meng hapusnya dan satunya adalah melihat “DATA PENGGUNA”. Bisa untuk Tambah, Ubah dan Hapus. Tampilan Hakakses “User” hanya muncul “Input Kendaraan”. Tampilan Tentang Pembuat Hakakses ada Input Kendaraan dan User
  • 5. JAVA Programming - Membuat Program Parkir Coding “Login “ pada Source public MainApps() { initComponents(); setMenuLogout(); } private void login(){ try{ Class.forName("com.mysql.jdbc.Driver"); koneksi = DriverManager.getConnection("jdbc:mysql://localhost/projectparkir", "root", ""); String password; password = new String (passW.getPassword()); Statement stm = koneksi.createStatement(); String data = "SELECT * FROM userdb WHERE username ='"+nm.getText()+"' and password='"+password+"'"; ResultSet rss = stm.executeQuery(data); while(rss.next()) { hakakses = rss.getString(5); } if(hakakses.equals("")) { JOptionPane.showMessageDialog(this, "Masukan User dan Password","Error", JOptionPane.ERROR_MESSAGE); } else{ DialogLogin.dispose(); setMenuLogin(); JOptionPane.showMessageDialog(null, "Silahkan Masuk"); } } catch(Exception e) { JOptionPane.showMessageDialog(null, "Periksa Nama dan Password Anda !","Information",JOptionPane.INFORMATION_MESSAGE); System.out.println(e.getMessage()); } }
  • 6. JAVA Programming - Membuat Program Parkir Coding “Login “ pada Source private void setMenuLogin(){ if (hakakses.equals("Admin")){ JOptionPane.showMessageDialog(null, "Anda Masuk Sebagai Admin"); jMenuLogout.setVisible(true); jMenuLogin.setVisible(false); jMenuAdmin.setVisible(true); jMenuInput.setVisible(true); } else if(hakakses.equals("User")){ JOptionPane.showMessageDialog(null, "Anda Masuk Sebagai User"); jMenuLogout.setVisible(true); jMenuLogin.setVisible(false); jMenuAdmin.setVisible(false); jMenuInput.setVisible(true); } } private void setMenuLogout(){ jMenuLogin.setVisible(true); jMenuLogout.setVisible(false); jMenuAdmin.setVisible(false); jMenuInput.setVisible(false); private void jMenuLogoutActionPerformed(java.awt.event.ActionEvent evt) { this.setTitle("Anda Keluar dari Applikasi"); this.setMenuLogout(); } private void jMenuLoginActionPerformed(java.awt.event.ActionEvent evt) { nm.setText(""); passW.setText(""); DialogLogin.setVisible(true); } private void mskActionPerformed(java.awt.event.ActionEvent evt) { login(); DialogLogin.setVisible(true); DialogLogin.dispose(); }
  • 7. JAVA Programming - Membuat Program Parkir Coding “INPUT DATA KENDARAAN “ //Tombol Simpan private void jBtnSimpanActionPerformed(java.awt.event.ActionEvent evt) { if (jTextNopol.getText().isEmpty()) { JOptionPane.showMessageDialog(this, "Nomor kendaraan belum ada"); } else if (jComboJenis.getSelectedItem().equals("-Pilih Jenis Kendaraan-")) { JOptionPane.showMessageDialog(this, "Jenis kendaraan belum dipilih"); } else { String nomorkendaraan,nomortiket,jeniskendaraan, data; nomorkendaraan = jTextNopol.getText(); nomortiket = jTextTiket.getText(); jeniskendaraan = jComboJenis.getSelectedItem().toString(); data = "INSERT INTO parkirdb(nomorkendaraan,nomortiket,jeniskendaraan,tglmasuk,jammasuk)" + "VALUES('"+nomorkendaraan+"','"+nomortiket+"','"+jeniskendaraan+"',CURDATE(),CURTIME())"; try{ st = koneksi.createStatement(); st.execute(data); } catch (SQLException e){ JOptionPane.showMessageDialog(this, "Data gagal disimpan"+e); return; } JOptionPane.showMessageDialog(this, "Data telah tersimpan"); } reset_semua(); input_masuk(); input_keluar(); } //Tombol Kendaraan Keluar private void jBtnKendKeluarActionPerformed(java.awt.event.ActionEvent evt) { DialogKeluar.setLocationRelativeTo(this); DialogKeluar.setVisible(true); } //Tampilkan Kendaraan yang ada didalam private void jBtnDataDalamActionPerformed(java.awt.event.ActionEvent evt) { reset_semua(); // dibuat reset semua atau refresh input_masuk(); // lalu baca database yang nilai rupiah masih 0 }
  • 8. JAVA Programming - Membuat Program Parkir Coding “INPUT DATA KENDARAAN KELUAR “ //Tombol CARI private void jBtnCariActionPerformed(java.awt.event.ActionEvent evt) { if(jTextNopol2.getText().isEmpty()) JOptionPane.showMessageDialog(this, "Nomor Kendaraan Kosong"); else { sql = "SELECT *, DATEDIFF(CURDATE(), tglmasuk) durasihari, (TIME_FORMAT(CURTIME(),'%H')- TIME_FORMAT(jammasuk, '%H')) durasijam " + "FROM parkirdb WHERE nomorkendaraan='"+jTextNopol2.getText()+"' AND biaya=0"; int size=0; try { Class.forName("com.mysql.jdbc.Driver"); koneksi = DriverManager.getConnection("jdbc:mysql://localhost/projectparkir", "root", ""); st = koneksi.createStatement(); rs = st.executeQuery(sql); size++; while (rs.next()) { jTextTiket2.setText(rs.getString("nomortiket")); jTextJenis.setText(rs.getString("jeniskendaraan")); jTextTglMasuk2.setText(rs.getString("tglmasuk")); jTextJamMasuk2.setText(rs.getString("jammasuk")); switch (jTextJenis.getText()) { case "Motor": jTextTarif.setText("2000"); break; case "Mobil": jTextTarif.setText("4000"); break; } int hari = Integer.parseInt(rs.getString("durasihari")); int jam = Integer.parseInt(rs.getString("durasijam")); int biaya; int tarif = Integer.parseInt(jTextTarif.getText()); if(hari>0){ jTextLamaHari.setText(""+hari+" hari"); jTextLamaJam.setText("-"); biaya = tarif + (50000*hari); DecimalFormat rupiah = new DecimalFormat("0"); jTextBiaya.setText(rupiah.format(biaya)); } else{ jTextLamaHari.setText("0 hari"); jTextLamaJam.setText(rs.getString("durasijam")+" jam"); biaya = tarif + (1000*jam); DecimalFormat rupiah = new DecimalFormat("0"); jTextBiaya.setText(rupiah.format(biaya)); } javax.swing.JOptionPane.showMessageDialog(null, "Data Ditemukan"); } } catch (Exception e) { javax.swing.JOptionPane.showMessageDialog(null, "Gagal Proses Cari Data "+e); } } }
  • 9. JAVA Programming - Membuat Program Parkir Coding “INPUT DATA KENDARAAN KELUAR “ //Tombol SIMPAN private void jBtnSimpan2ActionPerformed(java.awt.event.ActionEvent evt) { String nomorkendaraan = jTextNopol2.getText(); String nomortiket = jTextTiket2.getText(); String jeniskendaraan = jTextJenis.getText(); String tglmasuk = jTextTglMasuk2.getText(); String jammasuk = jTextJamMasuk2.getText(); String tglkeluar = jTextTglKeluar.getText(); String jamkeluar = jTextJamKeluar.getText(); String biaya = jTextBiaya.getText(); try { Class.forName("com.mysql.jdbc.Driver").newInstance(); try (com.mysql.jdbc.Connection konek = (com.mysql.jdbc.Connection) DriverManager.getConnection("jdbc:mysql://localhost/projectparkir", "root", ""); com.mysql.jdbc.Statement statement = (com.mysql.jdbc.Statement) konek.createStatement()) { String data="UPDATE parkirdb SET nomorkendaraan='"+nomorkendaraan+"',nomortiket='"+nomortiket+"',jeniskendaraan='"+jeniskenda raan+"',tglmasuk='"+tglmasuk+"',jammasuk='"+jammasuk+"',tglkeluar='"+tglkeluar+"',jamkeluar='"+j amkeluar+"',biaya='"+biaya+"' WHERE nomorkendaraan LIKE '"+nomorkendaraan+"'"; statement.executeUpdate(data); } JOptionPane.showMessageDialog(null, "Data berhasil diedit..","Insert Data",JOptionPane.INFORMATION_MESSAGE); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | SQLException | HeadlessException e) { JOptionPane.showMessageDialog(null, "Eror: "+e,"Gagal",JOptionPane.WARNING_MESSAGE); //System.err.println("Exception: "+e.getMessage()); }finally{ } } // Tombol untuk kembali ke INPUT DATA KENDARAAN MASUK private void jBtnBackInputActionPerformed(java.awt.event.ActionEvent evt) { DialogInput.setLocationRelativeTo(this); DialogInput.setVisible(true); } // Tampilkan data yang belu mkeluar private void jBtnDataParkirActionPerformed(java.awt.event.ActionEvent evt) { reset_semua(); input_masuk(); }
  • 10. JAVA Programming - Membuat Program Parkir //Coding “KONEKSI” package MonitorParkir; import java.sql.Connection; import java.sql.DriverManager; import javax.swing.JOptionPane; public class koneksi { static void close() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } void testkoneksi(){ } public static void main(String[] args) { try {Class.forName("com.mysql.jdbc.Driver").newInstance(); try (Connection koneksi = DriverManager.getConnection("jdbc:mysql://localhost/projectparkir", "root", "")) { System.out.println("Koneksi Berhasil"); JOptionPane.showMessageDialog(null," Koneksi Berhasil","Informasi", JOptionPane.INFORMATION_MESSAGE); } }catch(Exception e) { JOptionPane.showMessageDialog(null,"Koneksi Gagal"); koneksi test = new koneksi(); test.testkoneksi(); System.exit(0); } } }
  • 11. JAVA Programming - Membuat Program Parkir // Coding - Realtime Tanggal dan Jam public void setTanggal(){ java.util.Date skrg = new java.util.Date(); java.text.SimpleDateFormat kal = new java.text.SimpleDateFormat("yyyy-MM-dd"); jLabel17.setText(kal.format(skrg)); jTextTglMasuk.setText(kal.format(skrg)); jTextTglKeluar.setText(kal.format(skrg)); } public void setJam(){ ActionListener taskPerformer = new ActionListener() { public void actionPerformed(ActionEvent evt) { String nol_jam = "", nol_menit = "",nol_detik = ""; java.util.Date dateTime = new java.util.Date(); int nilai_jam = dateTime.getHours(); int nilai_menit = dateTime.getMinutes(); int nilai_detik = dateTime.getSeconds(); if(nilai_jam <= 9) nol_jam= "0"; if(nilai_menit <= 9) nol_menit= "0"; if(nilai_detik <= 9) nol_detik= "0"; String waktu = nol_jam + Integer.toString(nilai_jam); String menit = nol_menit + Integer.toString(nilai_menit); String detik = nol_detik + Integer.toString(nilai_detik); jLabel19.setText(waktu+":"+menit+":"+detik+""); jTextJamMasuk.setText(waktu+":"+menit+":"+detik+""); jTextJamKeluar.setText(waktu+":"+menit+":"+detik+""); } }; new Timer(1000, taskPerformer).start(); }
  • 12. JAVA Programming - Membuat Program Parkir // Coding - reset semua dan input masuk public void reset_semua(){ jTextNopol.setText(""); jComboJenis.setSelectedIndex(0); DefaultTableModel input = (DefaultTableModel) jTblInput.getModel(); DefaultTableModel keluar = (DefaultTableModel) jTblKeluar.getModel(); int rowCount1 = input.getRowCount(); int rowCount2 = keluar.getRowCount(); //Remove rows one by one from the end of the table for (int i = rowCount1 - 1; i >= 0; i--) { input.removeRow(i); } for (int i = rowCount2 - 1; i >= 0; i--) { keluar.removeRow(i); } } //Tampilkan Data Yang Belum keluar parkir “ganti nama table bisa disesuikan” public void input_masuk(){ DefaultTableModel input = (DefaultTableModel) jTblInput.getModel(); try { st = koneksi.createStatement(); String query = "SELECT * FROM parkirdb WHERE biaya=0 ORDER BY nomortiket DESC LIMIT 25"; rs = st.executeQuery(query); while (rs.next()) { String nomortiket = rs.getString("nomortiket"); String nomorkendaraan = rs.getString("nomorkendaraan"); String jeniskendaraan = rs.getString("jeniskendaraan"); String tglmasuk = rs.getString("tglmasuk"); String jammasuk = rs.getString("jammasuk"); String fmt="%."+rs.getString("biaya")+"f"; DecimalFormat rupiah = new DecimalFormat("0"); String biaya = rs.getString("biaya"); Double biaya2 = Double.parseDouble(biaya); String biaya_final = (rupiah.format(biaya2)); String [] data = {nomortiket, nomorkendaraan, jeniskendaraan, tglmasuk, jammasuk, biaya_final}; input.addRow(data); } } catch (Exception e) { JOptionPane.showMessageDialog(this, "Gagal ambil data"+e); } jTblInput.setModel(input); }
  • 13. JAVA Programming - Membuat Program Parkir // Coding - Input keluar Munculkan Data yang sudah keluar public void input_keluar(){ DecimalFormat rupiah = (DecimalFormat) DecimalFormat.getCurrencyInstance(); DecimalFormatSymbols formatRp = new DecimalFormatSymbols(); formatRp.setCurrencySymbol("Rp "); formatRp.setMonetaryDecimalSeparator(','); formatRp.setGroupingSeparator('.'); rupiah.setDecimalFormatSymbols(formatRp); DefaultTableModel keluar = (DefaultTableModel) jTblKeluar.getModel(); try { st = koneksi.createStatement(); String query = "SELECT * FROM parkirdb WHERE biaya <> 0 ORDER BY tglkeluar DESC,jamkeluar DESC LIMIT 15"; rs = st.executeQuery(query); while (rs.next()) { String nomortiket = rs.getString("nomortiket"); String nomorkendaraan = rs.getString("nomorkendaraan"); String jeniskendaraan = rs.getString("jeniskendaraan"); String tglkeluar = rs.getString("tglkeluar"); String jamkeluar = rs.getString("jamkeluar"); String biaya = rs.getString("biaya"); Double biaya2 = Double.parseDouble(biaya); String biaya_final = (rupiah.format(biaya2)); String [] data = {nomortiket, nomorkendaraan, jeniskendaraan, tglkeluar, jamkeluar, biaya_final}; keluar.addRow(data); } } catch (Exception e) { JOptionPane.showMessageDialog(this, "Gagal ambil data"+e); } jTblKeluar.setModel(keluar); }
  • 14. JAVA Programming - Membuat Program Parkir // Coding - Admin Table Hapus private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { DefaultTableModel tbl = (DefaultTableModel) jTblDataParkir.getModel(); int baris = jTblDataParkir.getSelectedRow(); String strnomorkendaraan=(String)tbl.getValueAt(baris, 0); String query = "DELETE FROM parkirdb WHERE nomorkendaraan='"+strnomorkendaraan+"'"; try { st.executeUpdate(query); JOptionPane.showMessageDialog(this, "Data berhasil di hapus"); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Data tidak dihapus " + ex.getMessage()); } //update table setelah dihapus try{ rs = st.executeQuery("select * from pasien;"); tbl.setNumRows(0); while(rs.next()) {tbl.addRow(new Object[]{rs.getString("nomorkendaraan"), rs.getString("jeniskendaraan"), rs.getString("nomortiket"), rs.getString("tglmasuk"), rs.getString("jammasuk"), rs.getString("tglkeluar"), rs.getString("jamkeluar"), rs.getString("biaya")}); } } catch (Exception e) { JOptionPane.showMessageDialog (null, "koneksi gagal" +e.getMessage()); } }
  • 15. JAVA Programming - Membuat Program Parkir // Coding - Admin Table Hapus private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { DefaultTableModel tbl = (DefaultTableModel) jTblDataParkir.getModel(); int baris = jTblDataParkir.getSelectedRow(); String strnomorkendaraan=(String)tbl.getValueAt(baris, 0); String query = "DELETE FROM parkirdb WHERE nomorkendaraan='"+strnomorkendaraan+"'"; try { st.executeUpdate(query); JOptionPane.showMessageDialog(this, "Data berhasil di hapus"); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, "Data tidak dihapus " + ex.getMessage()); } //update table setelah dihapus try{ rs = st.executeQuery("select * from pasien;"); tbl.setNumRows(0); while(rs.next()) {tbl.addRow(new Object[]{rs.getString("nomorkendaraan"), rs.getString("jeniskendaraan"), rs.getString("nomortiket"), rs.getString("tglmasuk"), rs.getString("jammasuk"), rs.getString("tglkeluar"), rs.getString("jamkeluar"), rs.getString("biaya")}); } } catch (Exception e) { JOptionPane.showMessageDialog (null, "koneksi gagal" +e.getMessage()); } } LAINNYA Didalam Admin hampir sama Codingnya dengan Imput Data