New!
×Close

Notifications

Disqus Logo
MASIGNCLEAN104

Cara Menghitung Selisih Dua Tanggal dan Hari Pada Java

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.
  1. Buat sebuah project baru, contoh MenghitungSelisihHari.
  2. Kemudian buat jFrame untuk gui dari aplikasi ini dan ubah layout dari Free Design menjadi Absolute Layout, perhatikan gambar dibawah.
    Menghitung-Selisih-Dua-Tanggal-dan-Hari-Pada-Java-Gambar-1
    Gambar 1
    Menghitung-Selisih-Dua-Tanggal-dan-Hari-Pada-Java-Gambar-2
    Gambar 2
    Berikut komponen yang digunakan.
    KomponenVariableFungsi
    JTextField1kd_bukuSebagai input kode buku
    JTextField2tggl_pinjamSebagai input tanggal peminjaman buku
    JTextField3tggl_kembaliSebagai input tanggal pengembalian buku
    JButtonTextField2cekTombol proses kalkulasi
    JTextArea1hasilMenampung tampilan output dari proses
    JLable1jLable1Title aplikasi
    JLable2exitTombol keluar aplikasi
    JPanel1jPanel1Tempat menampung komponen-komponen Swing
  3. Setelah menentukan komponen yang digunakan, anda dapat mengkostum tampilan sesuai dengan keinginan melalui fungsi properties pada tiap komponen sebagai contoh diatas.
  4. Download sebuah library jCalender  di link ini Download , sebenarnya ini diberikan pada tahap pertama namun saya menyesuaikan dengan urutan pembuatan program.
  5. 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.
    Menghitung-Selisih-Dua-Tanggal-dan-Hari-Pada-Java-Gambar-3
    Gambar 3
    Menghitung-Selisih-Dua-Tanggal-dan-Hari-Pada-Java-Gambar-4
    Gambar 4
  6. 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);

    Menghitung-Selisih-Dua-Tanggal-dan-Hari-Pada-Java-Gambar-5
    Gambar 5
  7. 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);
            }
  8. Setelah itu silahkan coba untuk menjalankan kode program di atas dengan klik Run dan perhatikan demo dibawah.
    Menghitung-Selisih-Dua-Tanggal-dan-Hari-Pada-Java-Gambar-6
    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.
Share This :