dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

Upload: islahudin-mly

Post on 06-Jul-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    1/20

    TRIK PEMROGRAMAN PHP

    Script PHP Untuk

    Menghitung Selisih Waktu

    dan Tanggal

    www.bunafit-komputer.com

    www.planetKode.Com

    Koleksi Buku dari Penerbit GAVAMEDIA, Yogyakarta

    Penulis : Bunafit Nugroho, dan Indah Indriyanna

    Harga: Rp. 57.500,- Harga: Rp. 65.500,- Harga: Rp. 36.500,- Harga: Rp. 67.500,-

    Harga: Rp. 66.500,- Harga: Rp. 49.500,- Harga: Rp. 49.500,- Harga: Rp. 33.500,-

    http://www.bunafit-komputer.com/http://www.planetkode.com/http://www.planetkode.com/http://www.bunafit-komputer.com/

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    2/20

    2 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

    Dengan menggunakan program PHP, kita dapat mengetahui nama hari dan tanggal

    yang berjalan setelah n hari kedepan atau n hari yang telah berlalu. Dengan fungsitersebut Kita juga dapat mengetahui secara lengkap informasi jam yang berjalan.

    Fungsi yang dapat digunakan adalah mktime(), berikut adalah sintaks dasarnya:

    SINTAKS :

     mktime ( [int hour [, int minute [, int second [,

    int month [, int day [, int year [,

      int is_dst]]]]]]] )

    Dengan fungsi di atas, Anda dapat mengetahui tanggal pada hari besok, bulan depanmaupun tahun depan. Caranya adalah dengan menambahkan operasi penambahan

    atau pengurangan pada data tanggal, bulan atau tahun. Berikut adalah contohnya:

    Hari Kemaren :

    mktime(0,0,0, date("m"), date("d")-1, date("Y"));

    Hari Depan :

    mktime(0,0,0, date("m"), date("d")+1, date("Y"));

    Bulan Lalu :mktime(0,0,0, date("m")-1, date("d"), date("Y"));

    Bulan Depan :

    mktime(0,0,0, date("m")+1, date("d"), date("Y"));

    Tahun Lalu :

    mktime(0,0,0, date("m"), date("d"), date("Y")-1);

    Tahun Depan :mktime(0,0,0, date("m"), date("d"), date("Y")+1);

    Dari perintah di atas, apabila Anda menggunakan MySQL, maka Anda juga dapat

    menggunakan perintah DATE_ADD() seperti yang telah dibahas pada bab terdahulu.

    Berikut contohnya:

    mysql> SELECT DATE_ADD(CURDATE(), INTERVAL 25 DAY)

    -> AS 25harilagi;

    +------------+

    | 25harilagi |

    +------------+

    | 2007-05-10 |+------------+

    1 row in set (0.66 sec)

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    3/20

    Script PHP Untuk Menghitung Selisih Waktu dan Tanggal 3

    mysql> SELECT DATE_FORMAT(DATE_ADD(CURDATE(),

    -> INTERVAL 25 DAY),

    -> '%W %d-%m-%Y') AS 25harilagi;

    +---------------------+| 25harilagi |

    +---------------------+

    | Thursday 10-05-2007 |

    +---------------------+

    1 row in set (0.67 sec)

    Dari gambaran di atas, maka apabila hendak mendapatkan waktu dan tanggal yang

    berjalan 25 hari kemudian, perintahnya adalah:

    Listing Program tgl_25harilagi.php

    Akhir Listing

    Dari skrip program di atas, apabila ingin mendapatkan tanggal maupun hari yang

    berjalan beberapa hari yang lalu, maka nilainya dapat menggunakan tanda minus (-

    25). Berikut hasilnya:

    Gambar Mendapatkan tanggal 25 hari kedepan

     

    Pada latihan sebelumnya, Kita dengan mudah mendapatkan informasi tanggal yangakan berjalan pada waktu yang akan datang. Permasalahannya sekarang, bagaimana

    apabila Kita tidak menghitung hari minggu sebagai hari aktif. Berikut adalah skrip

    untuk menyelesaikannya:

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    4/20

    4 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

    Listing Program Tgl_nHariLagi.php

    Date and Time PHP

    Akhir Listing

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    5/20

    Script PHP Untuk Menghitung Selisih Waktu dan Tanggal 5

     

    Apabila pada contoh program sebelumnya berfungsi mencari informasi tanggal yang

    berjalan n hari kemudian, maka untuk mendapatkan informasi n hari yang telah

    berlalu Anda dapat mengubah nilai plus (+) menjadi minus (-) pada penambahan nilai

    tanggalnya. Berikut adalah contohnya:

    Listing Program Tgl_nHariLalu.php

    Date and Time PHP

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    6/20

    6 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

    }

    else {

    if ($jum_hari==$hari) {

    break;}

    else {

    // Penambahan hari

    $jum_hari++;

    }

    }

    }

    $jumhari = $jum_hari + $jum_libur;

    $nextday = mktime(0,0,0,date("n"),date("j")-$jumhari,  date("Y"));

    # Penerapan

    echo "Tanggal Untuk $hari hari kebelakang = ".

     date('l d-m-Y', $nextday);

    ?>

    Akhir Listing

    Dari contoh program di atas, apabila dijalankan Anda akan mendapatkan informasi

    tanggal seperti gambar berikut:

    Gambar Hasil Program n Hari yang Lalu

     Kasus lain, bagaimana apabila selain hari minggu, program juga tidak menghitung

    hari libur nasional. Permasalahan ini dapat Kita selesaikan dengan cara

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    7/20

    Script PHP Untuk Menghitung Selisih Waktu dan Tanggal 7

    mendefinisikan daftar tanggal hari libur nasional yang ada. Berikut adalah contoh

    programnya:

    Listing Program Tgl_nHariLagi2.php

    Date and Time PHP

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    8/20

    8 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

    Akhir Listing

    Dari contoh program di atas, sebaiknya Anda mendefinisikan daftar tanggal yang

    menjadi libur nasional ke dalam data array, berikut contohnya:

    $libnas= array("24-04-2007","01-05-2007");

    Kemudian untuk mendapatkan hari libur nasional yang terlewati, perintah

    pegecekannya adalah:

    $tgl =mktime(0,0,0,date("n"),date("j")+ $i,date("Y"));foreach ($libnas as $indeks => $tgl_libnas) {

    if ($tgl_libnas== date('d-m-Y', $tgl)) {

    $jum_libnas++;

    }

    }

    Jadi, dengan cara mendefinisikan semua daftar hari libur nasional yang ada dalam

    bulan berjalan atau tahun sekarang, maka program akan mendapatkan data tanggal

    yang valid. Berikut contoh hasilnya:

    Gambar  Hasil program n Hari kemudian

    Dari dua tanggal yang berbeda, Anda dapat mengetahui jumlah hari minggu yang ada

    diantaranya. Untuk dapat mengetahuinya, Anda dapat menggunakan skrip program

    berikut:

    Listing Program Hitung_minggu.php

    function JumMinggu($tgl_mulai,$tgl_akhir) {

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    9/20

    Script PHP Untuk Menghitung Selisih Waktu dan Tanggal 9

    $adaysec =24*3600;

    $tgla= strtotime($tgl_mulai);

    $tglb= strtotime($tgl_akhir);

    $minggu=0;

    for ($i=$tgla; $i < $tglb; $i+=$adaysec){

    if (date("w",$i) =="0") {

    $minggu++;

    }

    }

    return $minggu;

    }

    # Contoh

    echo "Rentang waktu '2007-03-01' sampai '2007-04-17'


    ";

    echo "Jum Minggu : ".JumMinggu('2007-03-01','2007-04-

    17');

    Akhir Listing

    Gambar Hasil menghitung hari minggu

    Dengan menggunakan skrip dibawah Anda dapat mengetahui jumlah hari yang ada

    diantara dua tanggal. Perhatikan contoh skrip berikut:

    Listing Program hitung_hari.php

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    10/20

    10 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

      $date_parts2=explode($dformat, $endDate);

      $start_date =gregoriantojd($date_parts1[1],

     $date_parts1[0], $date_parts1[2]);  $end_date =gregoriantojd($date_parts2[1],

     $date_parts2[0], $date_parts2[2]);

      return $end_date - $start_date;

    }

    # Penerpan dd-mm-yyyy

    $date1="07/04/2007";

    $date2="15/04/2007";

    # Pemakaian

    echo "Rentang waktu '$date1' sampai '$date2'
    ";

    echo "Jum Hari : ". dateDiff("/", $date2, $date1);

     ?>

    Akhir Listing

    Gambar Hasil menghitung hari

    Skrip program ini dapat Anda gunakan untuk menyelesaikan permasalahan saat Anda

    membuat program yang terkait dengan batas waktu, misalnya pengembalian saat

    meminjam buku atau penyetoran uang saat arisan. Dengan menggunakan skrip

    berikut, Anda dapat menghitung jumlah waktu keterlambatan dari deadline yang telah

    ditetapkan. Berikut skripnya:

    Listing Program selisih_tanggal.php

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    11/20

    Script PHP Untuk Menghitung Selisih Waktu dan Tanggal 11

    // Mengurai tanggal detline

    $tgl_dateline_pcs = explode ("-", $tgl_dateline);

    $tgl_dateline_pcs = $tgl_dateline_pcs[2]."-".$tgl_dateline_pcs[1]."-".$tgl_dateline_pcs[0];

    // Mengurai tanggal kembali

    $tgl_kembali_pcs = explode ("-", $tgl_kembali);

    $tgl_kembali_pcs = $tgl_kembali_pcs[2]."-".

    $tgl_kembali_pcs[1]."-".$tgl_kembali_pcs[0];

    $selisih = strtotime ($tgl_kembali_pcs)   –

    strtotime ($tgl_dateline_pcs);

    $selisih = $selisih / 86400;

    # Implementasi

    echo "Detline : $tgl_dateline, pengembalian : $tgl_kembali";

    echo "
    Terlambat ".floor ($selisih)." hari.";

    ?>

    Akhir Listing

    Dari contoh program di atas, untuk implementasi ke dalam program Anda dapat

    menggunakan data deadline yang berasal dari database. Seandainya waktu

    pengembalian atau penyetorannya adalah hari ini, maka pada tanggal kembali dapat

    menggunakan waktu sekarang. Berikut contohnya:

    $tgl_dateline = "15-04-2007";

    $tgl_kembali = date('d-m-Y');

    Hasil dari contoh program di atas adalah:

    Gambar Mendapatkan waktu keterlambatan

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    12/20

    12 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

    Dari contoh program penghitung selisih tanggal, Anda dapat membuat paket menjadi

    fungsi, sehingga dapat mempermudah dalam penggunaannya dalam halamanprogram.

    Listing Program selisih_tanggal3.php

    Akhir Listing

    oooOooo

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    13/20

    Script PHP Untuk Menghitung Selisih Waktu dan Tanggal 13

     

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    14/20

    14 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

     

     

     

     

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    15/20

    Script PHP Untuk Menghitung Selisih Waktu dan Tanggal 15

     

     

     

     

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    16/20

    16 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

     

     

     

     

     

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    17/20

    Script PHP Untuk Menghitung Selisih Waktu dan Tanggal 17

     

        

       

     

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    18/20

    18 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta

     

     

     

     

     

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    19/20

    Script PHP Untuk Menghitung Selisih Waktu dan Tanggal 19

       

       

         

     

    Setelah transfer, konfirmasi lewat Email ,

    atau SMS Ke :

    Terimakasih Super.

    Buanfit Komputer Team

    http://www.alamattokoanda.com/http://www.alamattokoanda.com/

  • 8/17/2019 dokumen.tips_script-php-untuk-menghitung-selisih-waktu-dan-tanggal-5585e10f4be1e.pdf

    20/20

    20 Artikel ini diterbitkan oleh Redaksi Bunafit Komputer, Yogyakarta