Artha

Penentuan Tanggal Penyelesaian Pekerjaan (kompleks)

Posted on: April 17, 2011

Pada posting sebelumnya telah saya kupas tentang aplikasi ini beserta sourcecodenya dalam 2 bahasa yaitu coldfusion dan php, tentu anda akan bertanya2 kenapa saya membahas mengenai aplikasi ini pada posting saya kali ini, jawabannya adalah pada kata-kata ‘kompleks’. kenapa saya sebut kompleks karena aplikasi yang akan saya tampilkan kode nya kali support untuk user memilih berapa hari pengecualian pengerjaan proyek/pekerjaan dan hari apa saja, tidak seperti aplikasi saya yang terdahulu yang statis hanya pengecualian pada hari sabtu dan minggu. begitu juga untuk format hari dan bulan sudah dalam format indonesia tidak seperti aplikasi terdahulu yang memakai format english.

berikut kode programnnya dalam bahasa php

<center> APLIKASI ESTIMASI WAKTU PEKERJAAN/ PROYEK </center>

<?php 
$now = getdate();
$tgl_format = $now['mday'].'-'.$now['mon'].'-'.$now['year'];
?>

<table border = "0" >

<form name = "frmhari" method="post">
<tr> 
<td> Jumlah hari Pengecualian</td> <td> : </td> <td> <input type="text" name="txtjumlahhari" value="<?php echo $jumlah_hari?>"></td>
<td> <input type="submit" name="btnSubmit" value = "Tampilkan hari"> </td>
</tr>
<br>
</form>

<form name="frmmain" method="post">
<?php  
if ($_POST['txtjumlahhari'] != "" )
$jumlah_hari = $_POST['txtjumlahhari'];
{
	for($i=0;$i<$jumlah_hari;$i++)
	{
?>

<tr> 
<td> &nbsp;</td> <td>&nbsp;  </td>
<td> Hari Ke- <?php echo $i+1; ?>
<select name="cmbhari_<?php echo $i;?>" >
              <option value='Mon' > Senin</option>
              <option value='Tue' >Selasa</option>
              <option value='Wed' >Rabu</option>
              <option value='Thu' >Kamis</option>
              <option value='Fri' >Jumat</option>
              <option value='Sat' >Sabtu</option>
              <option value='Sun' >Minggu</option>
            </select></td>
</tr>			

<?php
    }
}
?>			

<tr>	
<td> Waktu Pengerjaan proyek (hari)</td> <td> : </td>  <td> <input type="text" name="txtWaktu" value=""></td>
</tr>
<tr>
<td> Tanggal Awal Mulai Proyek</td> <td>:</td> <td> <input type="text" name="txtTgl" value="<?php echo $tgl_format?>"> </td>
<input type="hidden" name="txtjmlhari" value="<?php echo $jumlah_hari?>">
<td> <input type="submit" name="btnSubmit" value = "Tampilkan Waktu Penyelesaian"> </td>
</form>
</tr>
</table>

<?php 
if ($_POST['txtWaktu'] != "" && $_POST['txtTgl'] != "")
{
	$waktu = $_POST['txtWaktu'];
	$tgl = $_POST ['txtTgl'];
	$jmlhari = $_POST ['txtjmlhari'];
	$cmbhari[0] = "";
	$cmbhari[1] = "";
	$cmbhari[2] = "";
	$cmbhari[3] = "";
	$cmbhari[4] = "";
	$cmbhari[5] = "";
	$cmbhari[6] = "";
	$hari_kecuali = "";
		for($j=0;$j<$jmlhari;$j++)
			{
			$cmbhari[$j] = $_POST ["cmbhari_$j"];
			$hari_kecuali .= nama_hari($cmbhari[$j]) ."  ";
			}
			
	
	$jumlah_hari = $_POST['txtjumlahhari'];
	$es = 1;
	$hasil = 0;
	$endindex = $waktu + 7;
	$now2 = date($tgl);
		for ($i=0;$i<$endindex;$i++)
		{
		$date1 = strtotime($now2);
		$result = date('j-n-Y', strtotime('+'.$i.' days', $date1));
		$arrdate = explode("-", $result);
		$hari[0] = date(D, mktime(0,0,0,$arrdate[1],$arrdate[0],$arrdate[2]));
		$hari[1] = date("D-j-F-Y", mktime(0,0,0,$arrdate[1],$arrdate[0],$arrdate[2]));
					
					if ($hari[0] != $cmbhari[0] && $hari[0] != $cmbhari[1] && $hari[0] != $cmbhari[2] && $hari[0] != $cmbhari[3] 
						&& $hari[0] != $cmbhari[4] && $hari[0] != $cmbhari[5] && $hari[0] != $cmbhari[6])
						{
						 if ($es == $waktu)
							{
							$arrhari = explode("-", $hari[1]);
							$format_indo = nama_hari($arrhari[0]).' , '.$arrhari[1].' '. nama_bulan($arrhari[2]).' '.$arrhari[3];
							echo "Tanggal Selesai Proyek adalah"."&nbsp;&nbsp;&nbsp;<strong>".$format_indo."</strong>"."&nbsp;&nbsp;&nbsp;" 
								."dengan pengecualian pada hari"."&nbsp;&nbsp;&nbsp;<strong>".$hari_kecuali."</strong>";
							break;
							}
						$es++;
						}
		}

}
else
	{
	echo "<strong>"."jumlah hari/tanggal mulai proyek belum dimasukkan"."</strong>";
	}
	
?>


<?php

function nama_hari($hari)
{
switch ($hari) {
    case 'Sun':
        return 'Minggu';
        break;
    case 'Mon':
        return 'Senin';
        break;
     case 'Tue':
        return 'Selasa';
        break;
	 case 'Wed':
        return 'Rabu';
        break;
	 case 'Thu':
        return 'Kamis';
        break;
	 case 'Fri':
        return 'Jumat';
        break;
	 case 'Sat':
        return 'Sabtu';
        break;
}

}

function nama_bulan($bulan)
{
switch ($bulan) {
    case 'January':
        return 'Januari';
        break;
    case 'February':
        return 'Februari';
        break;
     case 'March':
        return 'Maret';
        break;
	 case 'April':
        return 'April';
        break;
	 case 'May':
        return 'Mei';
        break;
	 case 'June':
        return 'Juni';
        break;
	case 'July';
		return 'Juli';
		break;
	case 'August';
		return 'Agustus';
		break;
	case 'July';
		return 'Juli';
		break;
	case 'Oktober';
		return 'Oktober';
		break;
	case 'November';
		return 'November';
		break;
	case 'December';
		return 'Desember';
		break;
}

}
?>

<?php $x = $_POST ['cmbhari_0'];
	  $y  =  $syntxIF;
?>
<!--<input type="text" name="txtTgl" value="<?php echo $x?>">
<input type="text" name="txtTgl" value="<?php echo $y?>">
<input type="text" name="txtTgl" value="<?php echo $cmbhari[0]?>">-->



klik disini untuk melihat hasil dari sourcecode diatas
semoga bermanfaat.^_^

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: