Menentukan tanggal jatuh tempo dengan MySQL

Menentukan tanggal jatuh tempo dengan MySQL

4322
35
SHARE
jatuh tempo

Studi kasus : Sebuah kantor menerbitkan suatu surat keputusan yang memiliki jangka waktu jatuh tempo 90 hari sejak tanggal surat keputusan tersebut.

Pertanyaan : Bagaimana menentukan jatuh tempo skep secara otomatis serta penentuan selisih jatuh tempo dengan tanggal hari ini ?

Menentukan tanggal jatuh tempo dengan MySQL

Pemecahan kasus :

Step 1 : Buat database dengan nama ‘harviacode’ dan sebuah tabel bernama ‘skep’ dengan field (minimal berisi) ‘no_skep’ dan ‘tgl_skep’. Masukkan beberapa contoh data skep dan tanggalnya. Berikut ini adalah SQL yang bisa anda pakai.

Step 2 : Buatlah file index.php sebagai berikut :

Step 3 : Jalankan file index.php melalui browser, maka anda akan mendapatkan hasil sebagai berikut.
jatuh tempo

Penjelasan :
Pada index.php kita akan menampilkan tabel skep dengan penambahan dua kolom baru yaitu kolom jatuh tempo dan selisih jatuh tempo.

Baris 17-18 : Kita melakukan koneksi ke database

Baris 21 : Kita menjalankan query untuk menampilkan data skep, jatuh tempo serta selisih jatuh temponya.
DATE_ADD(tgl_skep, INTERVAL 90 DAY) as jatuh_tempo berfungsi untuk menentukan tgl jatuh tempo, yaitu dengan menambahkan 90 hari sejak tgl_skep.
DATEDIFF(DATE_ADD(tgl_skep, INTERVAL 90 DAY), CURDATE()) as selisih berfungsi untuk menentukan selisih tanggal jatuh tempo dengan tanggal hari ini.

Demikianlah pembahasan tentang cara menentukan tanggal jatuh tempo dengan menggunakan mysql. Mudah bukan, selamat mencoba. Jangan lupa komentarnya ya … hehe

35 COMMENTS

    • tinggal pakai if aja gan. if jatuh tempo sama dengan tanggal hari ini, misalnya, do something. mw di munculin di notif atau di kirimin email terserah agan.

    • tinggal ubah aja intervalnya mas. pada contoh diatas saya menggunakan INTERVAL 90 DAY yang artinya menambah 90 hari, kalo mengurangi 1 hari menjadi INTERVAL -1 DAY. Semoga membatu mas Eggy

  1. Min punya script gni gak, kalo misal pengen nginsert ke field tgl_angsuran, isinya misal transaksi awal 2016-07-05, trus akan otomatis nyimpen ke field tgl_angsuran 2016-08-05, 2016-09-05, 2016-10-05, dst tiap bulan

    • sama seperti di atas mas Syahrul, hanya saja menggunakan INTERVAL 1 MONTH. Nanti tinggal dilakukan looping mau berapa kali. Misalnya 24 atau 36 kali.

    • Pertama buat kolom jatuhtempo pada tabel skep. Lalu pada saat menambahkan data skep perintah insertnya menjadi seperti ini INSERT INTO skep (no_skep, tgl_skep, jatuhtempo) VALUES (‘KEP-01/HC/2014’, ‘2014-12-28’, DATE_ADD(‘2014-12-28’, INTERVAL 90 DAY)). semoga membantu Nita..

  2. Min mau tanya gimana caranya kalau mau bikin kelipatan tanggal perhari nya sesuai dengan tanggal inputan awal. Misalkan ada field order_date dan aging_days. Inputan order date 18-08-2016 nanti di field aging days akan bertambah setiap harinya sesuai tanggal order date tersebut dengan record pada aging days sepeti ‘3 days’ atau ‘4 days’. Ibaratnya aging days adalah usia dari inputan order date tersebut min. Mohon bantuan nya. Terima kasih

    • kalo begitu tidak perlu membuat real kolom untuk aging nya. aging cukup dari syntax sql aja. caranya cukup SELECT *,DATEDIFF(CURDATE(), order_date) as usia_order FROM my_table; Jika tanggal berganti, maka nilai usia_order akan menyesuaikan. semoga membantu Dian…

  3. Min mau nanya, klo dr selisih jatuh tempo bisa munculin message box ga saat kondisinya selisih jatuh temponya sudah 0 hari??kodingannya min.pleasee..

  4. makasih mas sangat membantu,saya mau tanya mas bila saya punya masalah seperti “15 hari sd 30 hari akan dikenakan denda 50%” nah itu bikin querynya gimana ya mas? apakah bisa menggunakan INTERVAL ini?

  5. terima kasih mas, membantu sekali. saya mau tanya, di database tagihan kita ada atribut status (1=opened, 0=closed) dimana defaultnya adalah 1. ketika tagihan sudah dibayarkan, status akan kita update menjadi 0. lalu, bagaimana caranya agar saat h-7 hari (dimana notif jatuh tempo akan muncul lagi) di bulan selanjutnya status terupdate otomatis menjadi 1 lagi? ada yang mengusulkan crontab tapi saya belum memahami dgn baik. mungkin dari php langsung bisa (?) atau bagaimana ya sebaiknya? terima kasih sebelumnya

    • sebaiknya setiap record tagihan berbeda. jadi masing2 tagihan memiliki nomor tagihan. ketika di lunasi, tagihan diubah status lunas, dan diinsert record untuk tagihan baru. dengan demikian, history tagihan tidak hilang. kalo ditimpa kita tidak bisa lihat history tagihan.

  6. Assalamualaikum
    Selamat siang min, mau nanya ni saya kan ada database ijin_trayek isinya (id, tgl, nama, ….) nah gimana ni min kalau mau nyimpan data.
    Ini query nya

    If ($simpan) {
    $sql = $koneksi->query (“insert into ijin_trayek (id,tgl,nama,jatuh_tempo) values (‘$id’,’$tgl’,’$nama’, date_add (tgl, interval 10 day))”);
    }

    Koq gak bisa nyimpan ya mas, mohon koreksinya.
    Terima kasih
    Wassalam

  7. [ask]
    kalau kasus nya seperti ini gmna mas,,
    “Admin menginputkan anggaran belanja (Rp) pada tgl 01 setiap bulannya, lalu diberi tenggang waktu selama 10 hari kepada karyawan untuk menginputkan realisasi dari anggaran tersebut (anggaran yang sudah dibelanjakan). Apabila telah lewat dari 10 hari, karyawan tersebut tidak dapat menginputkan realisasi dari anggaran tsb”. Bagaimana cara mengkonversinya kedalam bentuk syntax php mas.
    Mohon pencerahan nya mas,, Terimakasih

LEAVE A REPLY