49 BAB II PERANCANGAN APLIKASI * 1.1. Rancangan Database Instal terlebih dahulu software Xampp v3.2.2 A. Database Cepat_Tepat Ketika pada kotak “Create database”. Lalu klik tombol “Create”. Buat database dengan nama “cepat_tepat”. B. Tabel Les Ketika telah masuk kedalam database cepat_tepat, maka kita ketikan nama table beserta jumlah field yang ada pada table. Tabel ”Les”: Field name Data type Field size Keterangan kd_les Varchar 15 Primary Key Kelas Varchar 15 Jenis Varchar 15 Jml_latihan Int Hrg Int
75
Embed
BAB II PERANCANGAN APLIKASI * 1.1. Instal terlebih ......49 BAB II PERANCANGAN APLIKASI * 1.1. Rancangan Database Instal terlebih dahulu software Xampp v3.2.2 A. Database Cepat_Tepat
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
49
BAB II
PERANCANGAN APLIKASI *
1.1. Rancangan Database Instal terlebih dahulu software Xampp v3.2.2
A. Database Cepat_Tepat Ketika pada kotak “Create database”. Lalu klik tombol “Create”. Buat database dengan nama “cepat_tepat”.
B. Tabel Les Ketika telah masuk kedalam database cepat_tepat, maka kita ketikan nama table beserta jumlah field yang ada pada table. Tabel ”Les”:
Field name Data type Field size Keterangan
kd_les Varchar 15 Primary Key
Kelas Varchar 15
Jenis Varchar 15
Jml_latihan Int
Hrg Int
50
Jika sudah mengisi nama tabel dan jumlah field maka langsung ke bagian “Null index” untuk membuat primary key.
51
Jika sudah memilih index name lalu klik tombol “Go”.
52
53
C. Tabel Detail Les Tabel “detail_les”:
Field name Data type Field size Keterangan
kd_les Varchar 15 Foreign Key
kd_siswa Varchar 15 Foreign Key
sisah_latihan Int
kd_kry Varchar 15 Foreign Key
D. Tabel Karyawan
Tabel “karyawan”:
Field name Data type Field size Keterangan
kd_kry Varchar 15 Primary Key
nm_kry Varchar 35
Jk Varchar 10
tempat_lahir Varchar 20
tgl_lahir Date
Alamat Varchar 50
akses_lvl Varchar 10
E. Tabel Kehadiran Siswa
Tabel “kehadiran_siswa”:
Field name Data type Field size Keterangan
Tgl Date
Kehadiran Int
kd_siswa Varchar 15 Foreign Key
kd_kry Varchar 15 Foreign Key
F. Tabel Siswa
Tabel “siswa”:
Field name Data type Field size Keterangan
kd_siswa Varchar 15 Primary Key
Nik Varchar 17
nm_plg Varchar 35
Jk Varchar 10
tempat_lahir Varchar 20
tgl_lahir Date
nm_ayah Varchar 35
nm_ibu Varchar 35
Alamat Varchar 50
Ket Varchar 20
54
status_bayar Varchar 20
G. Tabel Pembayaran
Tabel “pembayaran”:
Field name Data type Field size Keterangan
kd_byr Varchar 15 Primary Key
Tgl Date
Bayar Int
Tunggakan Int
kd_siswa Varchar 15 Foreign Key
kd_les Varchar 15 Foreign Key
H. Tabel Kehadiran
Tabel “kehadiran”:
Field name Data type Field size Keterangan
Tgl Date
Kehadiran Int
Kd_kry Varchar 15 Foreign Key
Lanjutkan pengerjaan database “cepat_tepat”, lalu buat kembali beberapa table berikut ini menggunakan phpMyAdmin (liat contoh pengerjaan pada pembuatan table les)
55
1.2. Rancangan Form Master
A. Langkah pertama dalam pembuatan program ini adalah :
1. Menginstall aplikasi java netbeans, disini penulis menggunakan java netbeans versi 8.2.
2. Menginstall JDK sesuai dengan Bit sistem operasi masing-masing, disini penulis menggunakan JDK 1.7.2 untuk windows 64bit.
3. Download Ireport jar & Ireport plugin. 4. Download Jcalendar jar 5. Untuk link download silahkan buka link
6. Setelah semua terinstall silahkan buka aplikasi netbeans dan buat project baru caranya : A. PIlih File. B. Pilih New Porject, atau bisa dengan cara tekan CTRL+SHIFT+N
7. Pilih java pada kolom Categories, dan pilih Java Application, lalu pilih Next seperti gambar di bawah.
8. Beri nama project name cepat_tepat, dan pada Create Main Class jangan di Ceklis, lalu pilih Finish, seperti pada gambar dibawah.
56
9. Setelah itu buat package baru, caranya : A. Klik kanan pada Source Package, New, Java Package, seperti
gambar dibawah.
B. Beri nama cepat_tepat, lalu Finish, seperti gambar dibawah.
57
10. Buat class koneksi pada package cepat_tepat, caranya : A. Klik kanan pada package cepat_tepat, New, pilih Java Class,
Seperti pada gambar dibawah.
B. Beri nama koneksi, lalu Finish, seperti gambar dibawah.
58
C. Buka class koneksi yang sudah di buat tadi, lalu ketikan kode berikut.
JOptionPane.showMessageDialog(null,"Koneksi Gagal : " +e);
}
return conn;
}
}
B. Setelah membuat class koneksi, selanjutnya meng-add library caranya sebagai berikut :
1. Klik kanan pada folder libraries lalu pilih add Library.
60
2. Add library mysql, seperti pada gambar dibawah.
3. Menambahkan Library jCalendar, caranya :
A. Sama seperti menambahkan Library mysql diatas, hanya saja pada tahapan B kita pilih create.
B. Kemudian beri nama jCalendar dan Klik OK seperti gambar dibawah.
C. Kemudian pilih Add Jar / Folder.
61
D. Cari File jar jCalendar yang sudah di download sebelumnya, kemudian blok semua file jar yang ada dan Add jar/Folder, dan klik Ok, Lihat gambar dibawah.
4. Menambahkan Library iReport, caranya sama seperti menambahkan Library jCalendar.
5. Meng-install plugin iReport caranya : A. Pilih Tools, Plugin.
B. Pilih Download, kemudian pilih Add Plugin
62
C. Cari file jar di folder iReport Plugin yang sudah di download dan pilih semua file jar, kemudian pilih Open dan klik Install.
D. Setelah proses install selesai maka netbeans akan memberikan pemberitahuan untuk me-Restart netbeans, klik yes dan netbeans akan me-Restart otomatis.
Proses install semua kebutuhan dalam membuat aplikasi ini sudah selesai, selanjutnya kita akan membuat tampilan beserta Code-code nya.
Membuat Jframe menu_utama caranya:
1. Klik kanan pada package cepat_tepat, pilih New, pilih JFarme Form, seperti gambar dibawah.
63
2. Beri nama menu_utama, lalu Finish, seperti gambar dibawah.
64
Desain menu_utama, caranya :
A. Tambahkan jPanel seperti gambar dibawah.
B. Buat tampilan seperti gambar dibawah menggunakan jPanel, dan
Ubah Warna jPanel sesuai selera, seperti gambar dibwah
65
C. Terlihat ada 3 buah jPanel, ubahlah nama variable jPanel nomor 3
menjadi main_panel. 3. Klik navigator
4. Ubah Layout panel main_panel menjadi Card Layout, caranya : Klik kanan pada main_panel, set Layout, pilih Card Layout.
1
2
3
66
5. Tambahkan panel baru ke dalam main_panel, seperti gambar
dibawah.
6. Setelah di tambahkan panel baru tadi, akan terlihat tampilan dan
navigator seperti gambar di bawah. Ubah nama variable panel yang baru di tambahkan tadi menjadi dashboard.
67
68
7. Tambahkan 5 panel baru ke dalam main_panel dan ubah nama variable nya seperti gambar di bawah.
8. Tambahkan tombol Button dan Label seperti gambar dibawah.
A. Ubah nama variable yang di tandai nomor :
1. tgl_skrg 2. nama_user
1 2
69
A. Membuat Form Master Mengemudi Di dalam aplikasi SI CePat ini terdapat beberapa Form Master yaitu mengemudi, kesetaraan, Otomotif, dan pengguna. Disini penulis hanya menjelaskan pembuatan form master mengemudi dikarenakan cara pembuatan form master lain tidak jauh berbeda dengan pembuatan form master mengemudi. Bagaimana cara membuatnya? ikuti langkah berikut. 1. Tambahkan 2 buah panel dan Button pada panel dashboard, desain
tampilan seperti gambar di bawah.
2. Ubah layout panel nomor 2 menjadi Card Layout. 3. Tambahkan 4 buah panel ke dalam panel nomor 2 pada gambar di
atas, dan ubah nama variable panel tersebut seperti pada gambar di bawah.
1
2
2
70
4. Sekarang buka mainMengemudi[jPanel] dan desain seperti gambar di bawah.
1
2 3 4
5
6
71
A. Ubah nama variable nomor : 1. kd_mM 2. j_mM 3. l_mM 4. biaya_mM 5. tbl_mM 6. cari_mM
} catch (Exception e) { JOptionPane.showMessageDialog(null, e); } return urutan; } private void Bacatbl_mKes() { try { String kelas= "Kesetaraan"; String sql = "Select *From les where kelas like '%" +kelas+ "'"; kon.rs = kon.st.executeQuery(sql); ResultSetMetaData m = kon.rs.getMetaData(); int kolom = m.getColumnCount(); int baris = 0; while (kon.rs.next()) { baris = kon.rs.getRow(); } datamKes = new Object[baris][kolom]; int x = 0; kon.rs.beforeFirst(); while (kon.rs.next()) { datamKes[x][0] = kon.rs.getString("kd_les"); datamKes[x][1] = kon.rs.getString("jenis"); datamKes[x][2] = kon.rs.getString("hrg"); x++; } tbl_mKes.setModel(new DefaultTableModel(datamKes, labelmKes)); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e); } } private void Bacatbl_mKesCari() { try { String kelas= "Kesetaraan"; String sql = "Select *From les where jenis like '%" +cari_mKes.getText()+ "%' AND kelas='"+kelas+"'"; kon.rs = kon.st.executeQuery(sql); ResultSetMetaData m = kon.rs.getMetaData(); int kolom = m.getColumnCount();
79
int baris = 0; while (kon.rs.next()) { baris = kon.rs.getRow(); } datamKes = new Object[baris][kolom]; int x = 0; kon.rs.beforeFirst(); while (kon.rs.next()) { datamKes[x][0] = kon.rs.getString("kd_les"); datamKes[x][1] = kon.rs.getString("jenis"); datamKes[x][2] = kon.rs.getString("hrg"); x++; } tbl_mKes.setModel(new DefaultTableModel(datamKes, labelmKes)); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e); } } //untuk mainOtomotif panel private void nonaktif_mO() { kd_mO.setEditable(false); j_mO.setEditable(false); biaya_mO.setEditable(false); jButton53.setEnabled(false); jButton54.setEnabled(false); jButton52.setEnabled(false); } private void aktif_mO() { j_mO.requestFocus(); j_mO.setEditable(true); biaya_mO.setEditable(true); jButton53.setEnabled(true); } private void bersih_mO() { kd_mO.setText(""); j_mO.setText(""); biaya_mO.setText(""); }
80
private void Bacatbl_mO() { try { String kelas= "Otomotif"; String sql = "Select *From les where kelas like '%" +kelas+ "'"; kon.rs = kon.st.executeQuery(sql); ResultSetMetaData m = kon.rs.getMetaData(); int kolom = m.getColumnCount(); int baris = 0; while (kon.rs.next()) { baris = kon.rs.getRow(); } datamO = new Object[baris][kolom]; int x = 0; kon.rs.beforeFirst(); while (kon.rs.next()) { datamO[x][0] = kon.rs.getString("kd_les"); datamO[x][1] = kon.rs.getString("jenis"); datamO[x][2] = kon.rs.getString("hrg"); x++; } tbl_mO.setModel(new DefaultTableModel(datamO, labelmO)); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e); } } private void Bacatbl_mOCari() { try { String kelas= "Otomotif"; String sql = "Select *From les where jenis like '%" +cari_mO.getText()+ "%' AND kelas='"+kelas+"'"; kon.rs = kon.st.executeQuery(sql); ResultSetMetaData m = kon.rs.getMetaData(); int kolom = m.getColumnCount(); int baris = 0; while (kon.rs.next()) { baris = kon.rs.getRow(); } datamO = new Object[baris][kolom];
try { String kelas= "Mengemudi"; String sql = "Select *From les where kelas like '%" +kelas+ "'"; kon.rs = kon.st.executeQuery(sql); ResultSetMetaData m = kon.rs.getMetaData(); int kolom = m.getColumnCount(); int baris = 0; while (kon.rs.next()) { baris = kon.rs.getRow(); } datamM = new Object[baris][kolom]; int x = 0; kon.rs.beforeFirst(); while (kon.rs.next()) { datamM[x][0] = kon.rs.getString("kd_les"); datamM[x][1] = kon.rs.getString("jenis"); datamM[x][2] = kon.rs.getString("jml_latihan"); datamM[x][3] = kon.rs.getString("hrg"); x++; } tbl_mM.setModel(new DefaultTableModel(datamM, labelmM)); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e); } } private void Bacatbl_mMCari() { try { String kelas= "Mengemudi"; String sql = "Select *From les where jenis like '%" +cari_mM.getText()+ "%' AND kelas='"+kelas+"'"; kon.rs = kon.st.executeQuery(sql); ResultSetMetaData m = kon.rs.getMetaData(); int kolom = m.getColumnCount(); int baris = 0; while (kon.rs.next()) { baris = kon.rs.getRow(); } datamM = new Object[baris][kolom]; int x = 0;
83
kon.rs.beforeFirst(); while (kon.rs.next()) { datamM[x][0] = kon.rs.getString("kd_les"); datamM[x][1] = kon.rs.getString("jenis"); datamM[x][2] = kon.rs.getString("jml_latihan"); datamM[x][3] = kon.rs.getString("hrg"); x++; } tbl_mM.setModel(new DefaultTableModel(datamM, labelmM)); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e); } } // untuk siswa panel public String kd_kry_s; private String ket; public String kode; public String kode_lama; public String jenis; public String jml_latihan; public String getkd_kry_s() { return kd_kry_s; } public String getkkode_lama() { return kode_lama; } public String getkode() { return kode; } public String getjenis() { return jenis; } public String getjml_latihan() { return jml_latihan; } private void nonaktif_s() { kd_s.setEditable(false); ktp_s.setEditable(false);
7. Menambahkan action performed pada tombol button Batal, caranya
sama seperti menambahkan action performed tombol Tambah. Ketikan code berikut. private void jButton57ActionPerformed(java.awt.event.ActionEvent evt) { bersih_mM(); nonaktif_mM(); }
8. Menambahkan action performed pada tombol button Simpan private void jButton59ActionPerformed(java.awt.event.ActionEvent evt) { if(j_mM.getText().equals("")){ // --- 3 adalah jumlah karakter yang saya inginkan // Your Command, for examples : JOptionPane.showMessageDialog(null,"Jenis Kursus tidak boeh kosong"); // --- Memunculkan Pesan ke User j_mM.requestFocus(); }else if(l_mM.getText().equals("")){ JOptionPane.showMessageDialog(null,"Jumlah Latihan tidak boleh kosong !"); l_mM.requestFocus(); }else if(biaya_mM.getText().equals("")){ JOptionPane.showMessageDialog(null,"Biaya tidak boleh kosong !"); biaya_mM.requestFocus(); }else{ try { String kelas= "Mengemudi"; String sql = "insert into les values('" + kd_mM.getText() + "'," + "'" + kelas + "'," + "'" + j_mM.getText() + "'," + "'" + l_mM.getText() + "'," + "'" + biaya_mM.getText() + "')"; kon.st.executeUpdate(sql); Bacatbl_mM();
94
bersih_mM(); nonaktif_mM(); JOptionPane.showMessageDialog(null, "Data Berhasil Di Simpan"); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e); } } }
9. Menambahkan action performed pada tombol button Ubah if(j_mM.getText().equals("")){ // --- 3 adalah jumlah karakter yang saya inginkan // Your Command, for examples : JOptionPane.showMessageDialog(null,"Jenis Kursus tidak boeh kosong"); // --- Memunculkan Pesan ke User j_mM.requestFocus(); }else if(l_mM.getText().equals("")){ JOptionPane.showMessageDialog(null,"Jumlah Latihan tidak boleh kosong !"); l_mM.requestFocus(); }else if(biaya_mM.getText().equals("")){ JOptionPane.showMessageDialog(null,"Biaya tidak boleh kosong !"); biaya_mM.requestFocus(); }else{ try { String sql = "UPDATE les SET kd_les='" + kd_mM.getText() + "'," + "jenis='" + j_mM.getText() + "'," + "jml_latihan='" + l_mM.getText() + "'," + "hrg='" + biaya_mM.getText() + "' where kd_les='" + kd_mM.getText() + "'"; kon.st.executeUpdate(sql); Bacatbl_mM(); bersih_mM(); JOptionPane.showMessageDialog(null, "Data Berhasil Di Ubah"); jButton58.setEnabled(false); jButton60.setEnabled(false); } catch (SQLException e) {
95
JOptionPane.showMessageDialog(null, e); } } }
10. Menambahkan action performed pada tombol button Hapus private void jButton58ActionPerformed(java.awt.event.ActionEvent evt) { try { String sql = "Delete from les where kd_les='" + kd_mM.getText() + "'"; kon.st.executeUpdate(sql); Bacatbl_mM(); bersih_mM(); JOptionPane.showMessageDialog(null, "Data Berhasil Di Hapus"); jButton58.setEnabled(false); jButton60.setEnabled(false); } catch (SQLException e) { JOptionPane.showMessageDialog(null, e); } }
11. Menambahkan event mouse pressed pada tabel, caranya klik kanan pada tabel lalu pilih event, mouse, mouse pressed.
Ketikan code dibawah private void tbl_mMMousePressed(java.awt.event.MouseEvent evt) { int row = tbl_mM.getSelectedRow();