Hallo teman-teman kali ini kita akan membuat aplikasi sewa lapangan futsal, anggaplah disini kita mempunyai 3 Lapangan dan Maks Durasi bermain 5 Jam dengan harga per jam Rp. 200.000.
Langkah pertama silahkan teman-teman aktifkan mysql dan apache nya terlebih dahulu dan membuat databasenya, oh iya teman-teman bisa mendownload databasenya disini: database_futsal.sql, setelah itu teman-teman tinggal import database tersebut.
Kemudian teman-teman buka netbeans dan create project sesuai keinginan, karena ini adalah perintah dari pak Dosen maka saya memberi nama project tersebut “UTS_M. CHANDRA NUGRAHA_181011401123”, jangan lupa juga buat new JFrame Form baru dengan nama terserah kalian
Buat design seperti dibawah ini:
Change Variable Nama seperti dibawah ini:
Komponen | Nilai |
jTextField1 | txt_idsewa_mchandranugraha |
jTextField2 | txt_nama_mchandranugraha |
jTextField3 | txt_telepon_mchandranugraha |
jTextField4 | txt_uangmuka_mchandranugraha |
jTextField5 | txt_sisabayar_mchandranugraha |
jTextField6 | txtud_idsewa_mchandranugraha |
jTextField7 | txtud_tanggalsewa_mchandranugraha |
jTextField8 | txtud_jamsewa_mchandranugraha |
jTextField9 | txtud_durasisewa_mchandranugraha |
jTextField10 | txtud_nama_mchandranugraha |
jTextField11 | txtud_telepon_mchandranugraha |
jTextField12 | txtud_uangmuka_mchandranugraha |
jTextField13 | txtud_sisabayar_mchandranugraha |
jComboBox1 | cb_kodelapangan_mchandranugraha |
jComboBox2 | cb_tanggal_mchandranugraha |
jComboBox3 | cb_bulan_mchandranugraha |
jComboBox4 | cb_tahun_mchandranugraha |
jComboBox5 | cb_jamawal_mchandranugraha |
jComboBox6 | cb_jamakhir_mchandranugraha |
jComboBox7 | cb_durasi_mchandranugraha |
jComboBox8 | cb_status_mchandranugraha |
jComboBox9 | cbud_kodelapangan_mchandranugraha |
jComboBox10 | cbud_status_mchandranugraha |
jButton1 | btn_proses_mchandranugraha |
jButton2 | btn_simpan_mchandranugraha |
jButton3 | btn_ubah_mchandranugraha |
jButton4 | btn_hapus_mchandranugraha |
jButton5 | btn_cari_mchandranugraha |
jButton6 | btn_baru_mchandranugraha |
jButton7 | btn_refresh_mchandranugraha |
jButton8 | btn_keluar_mchandranugraha |
jButton9 | btnud_proses_mchandranugraha |
jTable1 | tbl_tampil_mchandranugraha |
Klik kanan pada masing-masing combo box -> Properties -> ganti nilai Model dan selectedIndex seperti dibawah ini:
Komponen | Nilai Pada Model | Nilai Pada selectedIndex |
cb_kodelapangan_mchandranugraha | LAP001 LAP002 LAP003 |
-1 |
cb_tanggal_mchandranugraha | 01 02 …. 31 |
-1 |
cb_bulan_mchandranugraha | JANUARI FEBRUARI …. DESEMBER |
-1 |
cb_tahun_mchandranugraha | 2020 2021 2022 |
-1 |
cb_jamawal_mchandranugraha | 00:00 01:00 …. 23:00 |
-1 |
cb_jamakhir_mchandranugraha | 00:00 01:00 …. 23:00 |
-1 |
cb_durasi_mchandranugraha | 1 JAM 2 JAM 3 JAM 4 JAM 5 JAM |
-1 |
cb_status_mchandranugraha | BELUM LUNAS SUDAH LUNAS |
-1 |
cbud_kodelapangan_mchandranugraha | LAP001 LAP002 LAP003 |
-1 |
cbud_status_mchandranugraha | BELUM LUNAS SUDAH LUNAS |
-1 |
Kemudian import library MySQL JDBC Driver
Masukkan source code berikut dibawah package uts_m.chandra.nugraha_181011401123;
import java.sql.*; import java.awt.*; import javax.swing.JOptionPane; import javax.swing.table.*;
Masukkan source code berikut dibawah public class aplikasi_sewa_lapangan_futsal_mchandranugraha extends javax.swing.JFrame {
private Connection con; private Statement stat; private ResultSet res; private String t; private DefaultTableModel dtm;
Masukkan source code berikut dibawah initComponents();
koneksi(); kosongkan(); kosongkanub(); tampil(); //rata kiri dan kanan Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = getSize(); setLocation( (screenSize.width - frameSize.width) / 3, (screenSize.height - frameSize.height) / 4);
Masukkan source code berikut dibawah (screenSize.height – frameSize.height) / 4); }
private void koneksi(){ try { Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/database_futsal?user=root&password="); stat=con.createStatement(); } catch(SQLException ex){ System.err.print(ex); } catch(ClassNotFoundException ex){ System.err.print(ex); } } private void kosongkan(){ txt_idsewa_mchandranugraha.setText(""); cb_kodelapangan_mchandranugraha.setSelectedIndex(-1); cb_tanggal_mchandranugraha.setSelectedIndex(-1); cb_bulan_mchandranugraha.setSelectedIndex(-1); cb_tahun_mchandranugraha.setSelectedIndex(-1); cb_jamawal_mchandranugraha.setSelectedIndex(-1); cb_jamakhir_mchandranugraha.setSelectedIndex(-1); cb_durasi_mchandranugraha.setSelectedIndex(-1); txt_nama_mchandranugraha.setText(""); txt_telepon_mchandranugraha.setText(""); txt_uangmuka_mchandranugraha.setText(""); txt_sisabayar_mchandranugraha.setText(""); cb_status_mchandranugraha.setSelectedIndex(-1); } private void kosongkanub(){ txtud_idsewa_mchandranugraha.setText(""); cbud_kodelapangan_mchandranugraha.setSelectedIndex(-1); txtud_tanggalsewa_mchandranugraha.setText(""); txtud_jamsewa_mchandranugraha.setText(""); txtud_durasisewa_mchandranugraha.setText(""); txtud_nama_mchandranugraha.setText(""); txtud_telepon_mchandranugraha.setText(""); txtud_uangmuka_mchandranugraha.setText(""); txtud_sisabayar_mchandranugraha.setText(""); cbud_status_mchandranugraha.setSelectedIndex(-1); } private void tampil(){ try{ Object [] rows={"ID","Kode Lapangan","Tanggal","Jam","Durasi","Nama","No. HP","Uang Muka","Sisa Bayar","Status"}; dtm=new DefaultTableModel(null,rows); tbl_tampil_mchandranugraha.setModel(dtm); tbl_tampil_mchandranugraha.setBorder(null); jScrollPane1.setVisible(true); jScrollPane1.setViewportView(tbl_tampil_mchandranugraha); int no = 1; String tbl_id="",tbl_kode_lapangan="",tbl_tanggal="",tbl_jam="",tbl_durasi="",tbl_nama="" + "",tbl_telepon="",tbl_uang_muka="",tbl_sisa_pembayaran="",tbl_status_pembayaran=""; try{ String sql="select * from data_sewa"; Statement st=con.createStatement(); ResultSet rs=st.executeQuery(sql); while(rs.next()){ tbl_id=rs.getString("tbl_id"); tbl_kode_lapangan=rs.getString("tbl_kode_lapangan"); tbl_tanggal=rs.getString("tbl_tanggal"); tbl_jam=rs.getString("tbl_jam"); tbl_durasi=rs.getString("tbl_durasi"); tbl_nama=rs.getString("tbl_nama"); tbl_telepon=rs.getString("tbl_telepon"); tbl_uang_muka=rs.getString("tbl_uang_muka"); tbl_sisa_pembayaran=rs.getString("tbl_sisa_pembayaran"); tbl_status_pembayaran=rs.getString("tbl_status_pembayaran"); String [] tampil={""+tbl_id,tbl_kode_lapangan,tbl_tanggal,tbl_jam,tbl_durasi,tbl_nama ,tbl_telepon,tbl_uang_muka,tbl_sisa_pembayaran,tbl_status_pembayaran}; dtm.addRow(tampil); } } catch(SQLException e){ e.printStackTrace(); JOptionPane.showMessageDialog(null,"Query Salah "+e); } } catch(Exception e){ e.printStackTrace(); } }
Klik kanan pada btn_proses_mchandranugraha -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:
int a= Integer.parseInt((String)cb_durasi_mchandranugraha.getSelectedItem()); int b= Integer.parseInt(txt_uangmuka_mchandranugraha.getText()); int c= 200000; int d= a*c; int Hasil= d-b; txt_sisabayar_mchandranugraha.setText(""+Hasil);
Klik kanan pada btn_simpan_mchandranugraha -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:
try { stat.executeUpdate("insert into data_sewa values (" + "'" + txt_idsewa_mchandranugraha.getText()+"'," +"'"+ cb_kodelapangan_mchandranugraha.getSelectedItem()+ "'," +"'"+ cb_tanggal_mchandranugraha.getSelectedItem()+"-"+cb_bulan_mchandranugraha.getSelectedItem()+"-"+cb_tahun_mchandranugraha.getSelectedItem()+ "'," +"'"+ cb_jamawal_mchandranugraha.getSelectedItem()+"-"+cb_jamakhir_mchandranugraha.getSelectedItem()+ "'," +"'"+ cb_durasi_mchandranugraha.getSelectedItem()+ "'," + "'" + txt_nama_mchandranugraha.getText()+"'," + "'" + txt_telepon_mchandranugraha.getText()+"'," + "'" + txt_uangmuka_mchandranugraha.getText()+"'," + "'" + txt_sisabayar_mchandranugraha.getText()+"'," +"'"+ cb_status_mchandranugraha.getSelectedItem()+ "')"); kosongkan(); tampil(); JOptionPane.showMessageDialog(null, "Berhasil Menyimpan Data"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Perintah Salah : "+e); }
Klik kanan pada btn_baru_mchandranugraha -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:
new aplikasi_sewa_lapangan_futsal_mchandranugraha().setVisible(true); dispose();
Klik kanan pada btn_hapus_mchandranugraha -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:
int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Mendelete Record Ini???", "Confirmation",JOptionPane.YES_NO_CANCEL_OPTION); if (ok==0){ try{ String sql="delete from data_sewa where tbl_id='"+txtud_idsewa_mchandranugraha.getText()+"'"; PreparedStatement st=con.prepareStatement(sql); st.executeUpdate(); kosongkanub(); tampil(); JOptionPane.showMessageDialog(null, "Delete Data Sukses"); } catch (Exception e){ JOptionPane.showMessageDialog(null, "Delete Data Gagal"); } }
Klik kanan pada btn_refresh_mchandranugraha -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:
tampil();
Klik kanan pada btn_keluar_mchandranugraha -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:
JOptionPane.showMessageDialog(null, "Anda Akan Keluar Dari Program?"); System.exit(0);
Klik kanan pada btn_cari_mchandranugraha -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:
try { res=stat.executeQuery("select * from data_sewa where "+ "tbl_id='" +txtud_idsewa_mchandranugraha.getText()+"'" ); while (res.next()){ cbud_kodelapangan_mchandranugraha.setSelectedItem(res.getString("tbl_kode_lapangan")); txtud_tanggalsewa_mchandranugraha.setText(res.getString("tbl_tanggal")); txtud_jamsewa_mchandranugraha.setText(res.getString("tbl_jam")); txtud_durasisewa_mchandranugraha.setText(res.getString("tbl_durasi")); txtud_nama_mchandranugraha.setText(res.getString("tbl_nama")); txtud_telepon_mchandranugraha.setText(res.getString("tbl_telepon")); txtud_uangmuka_mchandranugraha.setText(res.getString("tbl_uang_muka")); txtud_sisabayar_mchandranugraha.setText(res.getString("tbl_sisa_pembayaran")); cbud_status_mchandranugraha.setSelectedItem(res.getString("tbl_status_pembayaran")); } } catch (Exception e) { JOptionPane.showMessageDialog(rootPane, e); }
Klik kanan pada btn_ubah_mchandranugraha -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:
int ok=JOptionPane.showConfirmDialog(null,"Apakah Yakin Untuk Update Record ini???","Confirmation",JOptionPane.YES_NO_OPTION); try { String sql="update data_sewa set tbl_id=?,tbl_kode_lapangan=?,tbl_tanggal=?,tbl_jam=?,tbl_durasi=?,tbl_nama=?" + ",tbl_telepon=?,tbl_uang_muka=?,tbl_sisa_pembayaran=?,tbl_status_pembayaran=? " + "where tbl_id='"+txtud_idsewa_mchandranugraha.getText()+"'"; PreparedStatement st=con.prepareStatement(sql); if(ok==0) { try { st.setString(1,txtud_idsewa_mchandranugraha.getText()); st.setString(2, (String) cbud_kodelapangan_mchandranugraha.getSelectedItem()); st.setString(3,txtud_tanggalsewa_mchandranugraha.getText()); st.setString(4,txtud_jamsewa_mchandranugraha.getText()); st.setString(5,txtud_durasisewa_mchandranugraha.getText()); st.setString(6,txtud_nama_mchandranugraha.getText()); st.setString(7,txtud_telepon_mchandranugraha.getText()); st.setString(8,txtud_uangmuka_mchandranugraha.getText()); st.setString(9,txtud_sisabayar_mchandranugraha.getText()); st.setString(10, (String) cbud_status_mchandranugraha.getSelectedItem()); st.executeUpdate(); kosongkanub(); tampil(); JOptionPane.showMessageDialog(null,"Update Data Sukses"); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Update Data Gagal"); } } } catch (Exception e){}
Klik kanan pada btnud_proses_mchandranugraha -> Events -> Action -> actionPerformed, kemudian masukkan source code berikut:
int a= Integer.parseInt(txtud_durasisewa_mchandranugraha.getText()); int b= Integer.parseInt(txtud_uangmuka_mchandranugraha.getText()); int c= 200000; int d= a*c; int Hasil= d-b; txtud_sisabayar_mchandranugraha.setText(""+Hasil);
Klik kanan pada tbl_tampil_mchandranugraha -> Events -> Mouse -> mouseClicked, kemudian masukkan source code berikut:
int i = tbl_tampil_mchandranugraha.getSelectedRow(); if(i==-1){ return; } String code = (String)tbl_tampil_mchandranugraha.getValueAt(i,0); String code1 = (String)tbl_tampil_mchandranugraha.getValueAt(i,1); String code2 = (String)tbl_tampil_mchandranugraha.getValueAt(i,2); String code3 = (String)tbl_tampil_mchandranugraha.getValueAt(i,3); String code4 = (String)tbl_tampil_mchandranugraha.getValueAt(i,4); String code5 = (String)tbl_tampil_mchandranugraha.getValueAt(i,5); String code6 = (String)tbl_tampil_mchandranugraha.getValueAt(i,6); String code7 = (String)tbl_tampil_mchandranugraha.getValueAt(i,7); String code8 = (String)tbl_tampil_mchandranugraha.getValueAt(i,8); String code9 = (String)tbl_tampil_mchandranugraha.getValueAt(i,9); txtud_idsewa_mchandranugraha.setText(code); cbud_kodelapangan_mchandranugraha.setSelectedItem(code1); txtud_tanggalsewa_mchandranugraha.setText(code2); txtud_jamsewa_mchandranugraha.setText(code3); txtud_durasisewa_mchandranugraha.setText(code4); txtud_nama_mchandranugraha.setText(code5); txtud_telepon_mchandranugraha.setText(code6); txtud_uangmuka_mchandranugraha.setText(code7); txtud_sisabayar_mchandranugraha.setText(code8); cbud_status_mchandranugraha.setSelectedItem(code9);
Selesai.
Untuk demonya teman-teman bisa lihat video dibawah ini
Bro, saya udah ikutin semua step nya, kenapa masih merah ya?
bisa kirim keterangan errornya?