Membuat Script PHP untuk Prediksi Tanggal Kelahiran (HPL)

Sharing is caring!

Pada artikel kali ini saya akan mencoba memaparkan bagaimana cara membuat script PHP untuk menentukan prediksi tanggal kelahiran (HPL). Mudah-mudahan artikel ini bisa bermanfaat bagi Anda yang sedang belajar PHP maupun bagi orang tua yang tak lama lagi akan mendapat anugerah dari Allah SWT 🙂 . Bagi para calon programmer PHP, script ini nanti merupakan contoh penerapan penggunaan statement bersyarat IF.

Ide dasar dari pembuatan script menentukan HPL ini, saya ambil dari artikel e-kehamilan.blogspot.com. Menurut artikel tersebut, perhitungan HPL ditentukan berdasarkan hari pertama haid terakhir (HPHT) dan juga lama hari siklus haidnya. Untuk perhitungan HPL dapat menggunakan formula Naegele, yaitu berasumsi bahwa lamanya kehamilan adalah 9 bulan 7 hari. Asumsi ini hanya berlaku untuk siklus haid sang calon ibu antara 28 s/d 30 hari. Jika siklus haidnya kurang dari 28 hari, misalnya 26 hari, maka lamanya kehamilan adalah 9 bulan (7-2) hari, 2 hari di sini adalah selisih antara 28 hari dengan 26 hari. Sedankan jika siklus haidnya lebih dari 30 hari, misalkan 31 hari, maka lamanya kehamilan adalah 9 bulan (7+1) hari, 1 hari di sini adalah selisih antara 30 hari dengan 31 hari.

Berikut ini contoh perhitungan HPL:

Misalkan HPHT nya adalah tanggal 9 Juni 2008 (09-06-2008), dan siklus haidnya adalah normal yaitu 28 s/d 30 hari, maka HPL nya adalah 16 Maret 2009 (16-03-2009) dengan lama 9 bulan 7 hari. Sedangkan bila siklus haidnya adalah 26 hari, maka HPLNYA adalah 14 Maret 2009 (14-03-2009) dengan lama 9 bulan 5 hari. Demikian pula jika siklus haidnya 31 hari yang HPL nya adalah 17 Maret 2009 (17-03-2009) dengan lama 9 bulan 8 hari.

Nah… sekarang bagaimana cara membuat script PHP nya?

OK… pertama kita buat dulu form untuk memasukkan tanggal HPHT dan lama siklus haid sbb:

hpl.php

<html>
  <head>
    <title>Prediksi HPL</title>
  </head>
  <body>
    <h1>Prediksi Tanggal Kelahiran</h1>
    <form method="post" action="proses.php">
    Masukkan tanggal HPHT : 
    <select name="tgl">
      <?php
      // mengenerate tanggal 01 s/d 31
      for ($i=1; $i<=31; $i++)
      {
         echo "<option>".sprintf("%02d", $i)."</option>";
      }
      ?>
    </select>
    <select name="bln">
      <?php
      // mengenerate bulan 01 s/d 12
      for ($i=1; $i<=12; $i++)
      {
         echo "<option>".sprintf("%02d", $i)."</option>";
      }
      ?>
    </select>
    <select name="thn">
      <?php
      // mengenerate tahun 2008 s/d 2020
      for ($i=2008; $i<=2020; $i++)
      {
         echo "<option>".$i."</option>";
      }
      ?>
     </select>
     <br><br>
     Masukkan siklus haid (hari) : <input type="text" name="siklus"><br>
     <input type="submit" name="submit" value="Submit">
     </form>
  </body>
</html>

Keterangan:

Di dalam script form di atas, untuk mengenerate tanggal, bulan dan tahun digunakan loopig FOR supaya cepat. Sedangkan perintah sprintf("%02d", $i) digunakan untuk menampilkan angka dalam 2 digit, misalnya 1 dinyatakan sebagai 01, 2 sebagai 02 dst.

Tampilan dari script form di atas adalah sbb:

script php tanggal lahir

Selanjutnya, kita bisa buat script untuk perhitungan HPL nya. Ide dari pembuatan script nya, pertama kita harus cek validitas tanggal HPHT nya dahulu, jangan-jangan yang dimasukkan adalah tanggal 31-02-2010 misalnya 🙂 kan repot tuh… Untuk mengecek validasi tanggal, kita gunakan function checkdate(). Jika tangalnya valid, maka hitung HPL nya.

Untuk menghitung HPL, kita menggunakan function mktime() karena dengan mktime() kita bisa mengetahui tanggal n bulan dan m hari berikutnya dari suatu tanggal tertentu. Penjelasan detil tentang hal ini, silakan baca lagi artikel terkait.

OK deh… ini dia scirpt proses.php nya untuk mendapatkan HPL nya.

proses.php

<?php

// baca tanggal
$tgl = $_POST&#91;'tgl'&#93;;
// baca bulan
$bln = $_POST&#91;'bln'&#93;;
// baca tahun
$thn = $_POST&#91;'thn'&#93;;
// baca siklus haid
$siklus = $_POST&#91;'siklus'&#93;;

// cek validitas tanggal
if (checkdate($bln, $tgl, $thn))
{
   if ($siklus < 28)
   {
      // jika siklus kurang dari 28 hari 
      $selisih = 28-$siklus;
      $hpl = mktime(0, 0, 0, $bln + 9, $tgl + 7 - $selisih, $thn);  
   } 	  
   else if ($siklus > 30)
   {
      // jika siklus lebih dari 30 hari
      $selisih = $siklus - 30;
      $hpl = mktime(0, 0, 0, $bln + 9, $tgl + 7 + $selisih, $thn);
   }	  
   else
   {
      // jika siklus haid normal 28 - 30 hari
      $hpl = mktime(0, 0, 0, $bln + 9, $tgl + 7, $thn);
   }
   
   // menampilkan HPL   
   echo "Insya Allah kelahiran anak Anda pada tanggal: ".date("d-m-Y", $hpl);
}
else echo "Tanggal tidak valid";

?>

Hasil dari script proses.php di atas adalah sbb:

script php tanggal lahir

Bagaimana??? mudah bukan membuatnya? Anda dapat memodifikasi script di atas supaya menambahkan nama hari HPL nya dalam bahasa Indonesia (Senin, Selasa, … dst).

Mudah-mudahan dengan adanya script di atas, para bapak atau calon bapak bisa lebih SIAGA ketika mendekati HPL nya, OK??? 🙂

Tinggalkan Komentar