• Tidak ada hasil yang ditemukan

Script PHP Untuk Menghitung Selisih Waktu dan Tanggal

N/A
N/A
Protected

Academic year: 2021

Membagikan "Script PHP Untuk Menghitung Selisih Waktu dan Tanggal"

Copied!
13
0
0

Teks penuh

(1)

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.

(2)

33.500,-Mendapatkan Tanggal 25 hari Kedepan

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

yang berjalan setelah n hari kedepan atau n hari yang telah berlalu. Dengan fungsi

tersebut 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 depan

maupun 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 | +---+

(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

<?php

echo "<b>PROGRAM LIAT HARI 25 HARI LAGI</b>";

$next25day = mktime(0,0,0,date("n"),date("j")+25,date("Y")); echo "<br>Lihat Hari :". date("l", $next25day);

echo "<br>Lihat Tanggal :". date("d-m-Y", $next25day); ?>

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

Tanggal n Hari Kedepan dan Minggu Tidak Dihitung

Pada latihan sebelumnya, Kita dengan mudah mendapatkan informasi tanggal yang

akan berjalan pada waktu yang akan datang. Permasalahannya sekarang, bagaimana

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

untuk menyelesaikannya:

(4)

Listing Program Tgl_nHariLagi.php

<html> <head>

<title>Date and Time PHP</title> </head>

<body> <?php

// Mengetahui Tgl n Hari kedepan, dan // hari minggu tidak dihitung

echo "<b>PROGRAM LIAT HARI 10 HARI LAGI</b><br>"; echo "<b>Hari (minggu) tidak dihitung</b><br>"; echo "Tanggal sekarang :".date('l d-m-Y')."<br>"; $hari = 10;

$waktu = $hari * 2;

for ($i=0; $i <= $waktu; $i++) {

$tgl =mktime(0,0,0,date("n"),date("j")+ $i,date("Y")); // Mengecek hari minggu

if (date("l", $tgl)=="Sunday") { $jum_libur++;

}

else {

// Apablia jumlah hari sudah memenuhi // program berhenti if ($jum_hari==$hari) { break; } else { $jum_hari++; } } }

$jumhari = $jum_hari + $jum_libur;

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

echo "Tanggal Untuk $hari hari kedepan = ". date('l d-m-Y', $nextday);

?>

</body> </html>

(5)

Dari contoh program di atas, Kita hendak mengetahui informasi tanggal

untuk 10 hari kedepan, akan tetapi hari minggu tidak terhitung didalamnya,

atau hari minggu dilompati. Hasil dari contoh program di atas adalah:

Gambar Hasil program n Hari kemudian

Tanggal n Hari Kebelakang dan Minggu Tidak Dihitung

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

<html> <head>

<title>Date and Time PHP</title> </head>

<body> <?php

// Mengetahui Tgl n Hari kebelakang, dan // hari minggu tidak dihitung

echo "<b>PROGRAM LIAT HARI 10 HARI LALU</b><br>"; echo "<b>Hari (minggu) tidak dihitung</b><br>"; echo "Tanggal sekarang :".date('l d-m-Y')."<br>"; $hari = 10;

$waktu = $hari * 2;

for ($i=0; $i <= $waktu; $i++) { // 1 Hari kemudian

$tgl =mktime(0,0,0,date("n"),date("j")-$i,date("Y")); // Memeriksa hari minggu

if (date("l", $tgl)=="Sunday") { $jum_libur++;

(6)

} 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);

?>

</body> </html>

Akhir Listing

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

tanggal seperti gambar berikut:

Gambar Hasil Program n Hari yang Lalu

Tanggal n Hari Kedepan Hari Minggu dan Libur Nasional

Tidak Dihitung

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

hari libur nasional. Permasalahan ini dapat Kita selesaikan dengan cara

(7)

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

programnya:

Listing Program Tgl_nHariLagi2.php

<html> <head>

<title>Date and Time PHP</title> </head>

<body> <?php

echo "<b>PROGRAM LIAT HARI n HARI LAGI</b><br>";

echo "<b>Hari Libur (minggu,Lib Nas) tidak dihitung</b><br>"; $hari = 10;

$waktu = $hari * 2;

$libnas= array("24-04-2007","01-05-2007"); for ($i=0; $i <= $waktu; $i++) {

$tgl =mktime(0,0,0,date("n"),date("j")+ $i,date("Y")); // Cek hari libur nasional

foreach ($libnas as $indeks => $tgl_libnas) { if ($tgl_libnas== date('d-m-Y', $tgl)) {

$jum_libnas++; }

}

// Hitung hari minggu

if (date("l", $tgl)=="Sunday") { $jum_minggu++; } else { // Hitung hari if ($jum_hari==$hari) { break; } else { $jum_hari++; } } }

$jumhari = $jum_hari + $jum_libnas + $jum_minggu; $nextday = mktime(0,0,0,date("n"),date("j")+

$jumhari,date("Y"));

echo "Tanggal Untuk $hari hari kedepan = ". date('l d-m-Y', $nextday);

?>

(8)

</html>

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

Program Hitung Jumlah Minggu

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

(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'

<br>";

echo "Jum Minggu :

".JumMinggu('2007-03-01','2007-04-17');

Akhir Listing

Gambar Hasil menghitung hari minggu

Menghitung Selisih Hari Antara 2 Tanggal

Dengan menggunakan skrip dibawah Anda dapat mengetahui jumlah hari yang ada

diantara dua tanggal. Perhatikan contoh skrip berikut:

Listing Program hitung_hari.php

<?php

function dateDiff($dformat, $endDate, $beginDate){ $date_parts1=explode($dformat, $beginDate);

(10)

$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' <br>"; echo "Jum Hari : ". dateDiff("/", $date2, $date1); ?>

Akhir Listing

Gambar Hasil menghitung hari

Selisih Hari Untuk Menghitung Keterlambatan

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

<?php

$tgl_dateline = "15-04-2007"; $tgl_kembali = "19-04-2007";

(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 "<br>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:

(12)

Fungsi Menghitung Keterlambatan

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

fungsi, sehingga dapat mempermudah dalam penggunaannya dalam halaman

program.

Listing Program selisih_tanggal3.php

<?php

function SelisihTgl($tgl_dateline, $tgl_kembali) { // Mendapatkan tanggal detline

$tgl_dateline_pcs = explode ("-", $tgl_dateline); $tgl_dateline_pcs = $tgl_dateline_pcs[2]."-".

$tgl_dateline_pcs[1]."-".$tgl_dateline_pcs[0]; // Mendapatkan tanggal kembali/transaksi

$tgl_kembali_pcs = explode ("-", $tgl_kembali); $tgl_kembali_pcs = $tgl_kembali_pcs[2]."- ".

$tgl_kembali_pcs[1]."-".$tgl_kembali_pcs[0]; // Menghitung selisih

$selisih = strtotime ($tgl_kembali_pcs) – strtotime ($tgl_dateline_pcs); // Pembulatan selisih kedalam tanggal $selisih = $selisih / 86400; if ($selisih >=1) { $hasil = floor($selisih); } else { $hasil = 0; } return $hasil; } # Penerpan $tgl_dateline = "30-12-2006"; $tgl_kembali = "05-01-2006";

echo "Terlambat ".SelisihTgl($tgl_dateline,$tgl_kembali). " hari.";

?>

Akhir Listing

(13)

Gambar

Gambar Mendapatkan tanggal 25 hari kedepan
Gambar Hasil program n Hari kemudian
Gambar Hasil Program n Hari yang Lalu
Gambar  Hasil program n Hari kemudian
+3

Referensi

Dokumen terkait

LAPORAN PELAKSANAAN PRAKTEK PEMANTAPAN KEMAMPUAN MENGAJAR (PKM) Disusun Untuk Memenuhi Persyaratan Mata Kuliah Pemantapan Kemampuan Mengajar (PDGK 4209) S1 PGSD Universitas Terbuka DISUSUN OLEH : NAMA : .....................NIM : .....................SEMESTER: IV (EMPAT) UPBJJ : UT PANGKAL PINANG POKJAR : MUNTOK MASA REGISTRASI : 2015.1 FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN UNIT PROGRAM BELAJAR JARAK JAUH UNIVERSITAS TERBUKA PANGKAL PINANG TAHUN 2015 2 / 9 ii LEMBAR PENGESAHAN LAPORAN PELAKSNAAN PRAKTEK PEMANTAPAN KEMAMPUAN MENGAJAR (PDGK 4209) Oleh ..................... telah diketahui dan disahkan oleh Bapak Sarbudiono, S.Pd selaku Pembimbing Mata Kuliah Pemantapan Kemampuan Mengajar (PKM) di UPBJJ UT Pangkal Pinang Pokjar Muntok sebagai salah satu tugas akhir semester IV (Empat). Tempat : Muntok Hari : Minggu Tanggal : Mei 2015 Pembimbing Mahasiswa Sarbudiono, S.Pd ..................... NIP. 19680528 199103 1 005 NIM. ..................... 3 / 9 iii KATA PENGANTAR Alhamdullilah, segala puji syukur atas kehadirat Allah SWT dan atas berkat rahmat, hidayah dan karunia-Nya, sehingga akhirnya penulis dapat menyelesaikan laporan pelaksanaan praktek Pemantapan Kemampuan Mengajar ini dengan baik. Melalui mata kuliah ini, penulis berlatih untuk menerapkan berbagai pengetahuan, keterampilan, dan sikap yang telah dipelajari dalam kegiatan merancang, melaksanakan, dan mengevaluasi kegiatan pembelajaran, sehingga penulis dapat mengoreksi diri agar menjadi seorang guru yang profesional. Penyusunan laporan tugas akhir semester IV ini tentu tidak lepas dari bimbingan dan arahan dari berbagai pihak. Oleh karena itu, penulis menyampaikan terima kasih kepada semua pihak yang telah membantu dalam penyusunan laporan ini, diantaranya : 1.Bapak Drs. Syarif Fadillah, M.Si, selaku kepala UPBJJ UT Pangkal Pinang; 2.Bapak Hermansyah selaku pengelolah UT pangkal Pinang Pokjar Muntok; 3.Bapak Sarbudiono, S.Pd selaku Pembimbing Mata Kuliah Pemantapan Kemampuan Mengajar di UPBJJ UT Pangkal Pinang Pokjar Muntok; 4.Bapak Mulkan selaku Kepala Sekolah Dasar Negeri 4 Jebus; 5.Bapak Sarmin selaku Kepala sekolah Dasar Negeri 5 Simpang Teritip; 6.Bapak Jhoni Darma Putra, S.Pd.SD selaku Kepala Sekolah Dasar Negeri 6 Parittiga; 7.Bapak Parjana, S.Pd.SD selaku Supervisor 2 yang telah banyak membantu penulis dalam melaksanakan Praktek Pemantapan Kemampuan Mengajar; 8.Kedua orang tua dan teman Mahasiswa yang telah memberi bantuan baik moral, maupun materi dan juga semua pihak yang telah banyak membantu dalam pembuatan laporan ini. Penulis menyadari bahwa laporan ini masih jauh dari kesempurnaan walaupun penulis telah bekerja dengan maksimal. Maka dari itu, penulis mengharapkan kritik dan saran yang membangun dari semua pihak guna perbaikan, selanjutnya penulis berharap Laporan pelaksanaan praktek Pemantapan Kemampuan Mengajar ini akan memberi manfaat bagi pembaca, dan semua pihak yang berkepentingan. Muntok, Mei 2015 Penulis, 4 / 9 iv DAFTAR ISI Halaman HALAMAN JUDUL ............................................................................... i LEMBAR PENGESAHAN ......................................................................... ii KATA PENGANTAR ................................................................................. iii DAFTAR ISI ........................................................................................ iv BAB I. PENDAHULUAN......................................................................1 A.Latar Belakang ...........................................................................1 B.Deskripsi Profil Mahasiswa .............................................................2 BAB II. PELAKSANAAN PKM.......................................................................... 3 A.Manfaat Mengikuti PKM ...............................................................3 B.Tempat Pelaksanaan PKM ..............................................................3 C.Waktu Pelaksanaan PKM ...............................................................3 BAB III. ULASAN PROSES SELAMA PELAKSANAAN PKM .....................5 A.Temuan Dalam Praktek Mengajar Mata Pelajaran Eksakta ........................5 B.Temuan Dalam Praktek Mengajar Mata Pelajaran Non Eksakta ..................5 BAB IV. PENUTUP.............................................................................6 A.Kesimpulan ................................................................................. 6 B.Saran ......................................................................................... LAMPIRAN ............................................................................................. oLembar Kelengkapan Berkas Laporan Praktek PKM ...............................oSurat Rekomendasi Kepaka Sekolah ...................................................oSurat Kesediaan Teman Sejawat .......................................................o10 (Sepuluh) Rencana Pelaksanaan Pembelajaran ...................................... o3 (Tiga) APKG 1 dan APKG 2 .........................................................o10 (Sepuluh) Lembar Refleksi .........................................................o10 (Sepuluh) Lembar Observasi .......................................................oJurnal Pembimbingan .................................................................... 5 / 9 1 BAB I PENDAHULUAN A.Latar Belakang Mengajar pada hakekatnya ialah membelajarkan siswa, dalam arti mendorong dan membimbing siswa belajar. Membelajarkan siswa mengandung maksud agar guru berupaya mengaktifkan siswa belajar. Dengan demikian, di dalam proses pembelajaran guru menggunakan berbagai strategi dan media semata-mata supaya siswa belajar (Sri Anitah W, dkk, 2009:1.3). Guru adalah pendidik professional dengan tugas utama adalah mendidik, mengajar, membimbing, melatih, dan mengevaluasi peserta didik pada pendidikan anak usia dini jalur pendidikan formal, pendidikan dasar dan pendidikan menengah. Ketegasan di atas menjelaskan bahwa guru harus memiliki sikap keprofesionalisme yang harus dimiliki. Profesional sendiri adalah suatu pekerjaan atau kegiatan yang dilakukan seseorang dan menjadi sumber penghasilan kehidupan yang memerlukan keahlian, kemahiran, atau kecakapan yang memenuhi standar mutu atau norma tertentu serta memerlukan pendidikan profesi. Berdasarkan pelaksanaan kegiatan Pemantapan Kemampuan Mengajar (PKM) yang telah dilaksanakan, diharapkan memperoleh pengetahuan dan pengalaman dan untuk mengetahui hasil pelaksanaan kegiatan Pemantapan Kemammpuan Mengajar (PKM) maka perlu disusun laporan hasil pelaksanaan kegiatan tersebut guna dijadikan acuan untuk pelaksanaan pembelajaran lebih baik. Kegiatan Praktek Pemantapan Kemampuan Mengajar dilaksanakan di SD Negeri 4 Jebus yang beralamat di Desa Limbung, Kecamatan Jebus, Kabupaten Bangka Barat. SD Negeri 4 Jebus dikepalai oleh bapak Mulkan memiliki 7 tenaga pendidik dan 2 tenaga kependidikan. Sekolah ini memiliki 6 rombel dengan jumlah siswa 108 orang yang kebanyakan merupakan penduduk setempat.