Postingan ini di request oleh salah satu teman Java-SC pada laman fans page Java Soure Code mengenai penghitungan jumlah denda pengembalian buku dengan menghitung jumlah selisih pada dua tanggal. Jumlah denda akan dikenakan apabila pengembalian lebih dari 3 hari dengan jumlah 1000 rupiah dan akan bertambah apabila pengembalian telambat dihari berikutnya.
Langsung saja kepada step pembuatan program.
- Buat sebuah project baru, contoh MenghitungSelisihHari.
- Kemudian buat jFrame untuk gui dari aplikasi ini dan ubah layout dari Free Design menjadi Absolute Layout, perhatikan gambar dibawah.
Gambar 1 Gambar 2
Komponen Variable Fungsi JTextField1 kd_buku Sebagai input kode buku JTextField2 tggl_pinjam Sebagai input tanggal peminjaman buku JTextField3 tggl_kembali Sebagai input tanggal pengembalian buku JButtonTextField2 cek Tombol proses kalkulasi JTextArea1 hasil Menampung tampilan output dari proses JLable1 jLable1 Title aplikasi JLable2 exit Tombol keluar aplikasi JPanel1 jPanel1 Tempat menampung komponen-komponen Swing - Setelah menentukan komponen yang digunakan, anda dapat mengkostum tampilan sesuai dengan keinginan melalui fungsi properties pada tiap komponen sebagai contoh diatas.
- Download sebuah library jCalender di link ini Download , sebenarnya ini diberikan pada tahap pertama namun saya menyesuaikan dengan urutan pembuatan program.
- Setelah anda download , silahkan add sebagai library dengan cara klik kanan pada libraries , pilih Add JAR/Folder , cari file jCalendar1.4 yang sudah di download dan klik Open.
Gambar 3 Gambar 4 - Selanjutnya memasukan proses pada tiap fungsi tombol pada program, pertama tobol exit dengan cara klik kanan jLabel > Events > Mouse > mouseClicked dan masukan satu baris kode program dibawah.
System.exit(0);
Gambar 5 - Kedua adalah tombol cek, lakukan hal yang sama seperti tombol exit dan masukan kode program dibawah.
try { String kdbk = kd_buku.getText(); String tglsatu = tggl_pinjam.getText(); DateFormat date = new SimpleDateFormat("dd-MM-yyyy"); Date tglAwal = (Date) date.parse(tglsatu); String tgldua = tggl_kembali.getText(); Date tglAkhir = (Date) date.parse(tgldua); long bedaHari = Math.abs(tglAkhir.getTime() - tglAwal.getTime()); if (TimeUnit.MILLISECONDS.toDays(bedaHari) >= 3) { int denda = (int) (TimeUnit.MILLISECONDS.toDays(bedaHari)); hasil.setText("Pengembalian buku dengan kode : "+kdbk+" dengan denda : "+denda+"000"); } else { hasil.setText("Pengembalian buku dengan kode : "+kdbk); } } catch (Exception e) { JOptionPane.showMessageDialog(null, "Error : "+e); }
- Setelah itu silahkan coba untuk menjalankan kode program di atas dengan klik Run dan perhatikan demo dibawah.
Gambar 6
Tutorial untuk Menghitung Selisih Dua Tanggal dan Hari Pada Java sederhana seperti diatas, kita bisa mengkombine dengan database dan tentu dengan format penulisan tanggal yang berbeda. Mungkin akan ada lain waktu memberikan tutorial seperti ini. Good luck and keep learning java programming.
0 Komentar
Keep Learning and Keep Sharing