LAMPIRAN Kode Program
1.
Index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Flood Prediction</title>
<link href="library/css/style.css" rel="stylesheet">
<link href="library/css/bootstrap.min.css" rel="stylesheet"> <link href="library/css/justified.css" rel="stylesheet"> </head>
<body class="twoColElsLtHdr"> <div id="container">
<div id="header">
<!-- end #header --></div> <div id="sidebar">
<ul class="nav nav-justified">
<li><a href="index.php">Home</a></li>
<li><a href="index.php?p=modul/home/air.php">Data Tinggi Permukaan Air</a></li>
<li><a href="index.php?p=modul/home/form_show.php">Prediksi</a></li> <li><a href="modul/login/login.php">Login</a></li>
</ul> </div>
<div id="mainContent">
<?php
if($_REQUEST['p']!="") {
include $_REQUEST['p']; } else {
include "modul/home/content.php"; }
?> </div>
<!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats --><br class="clearfloat" /> <div id="footer" align="center" style="color:#000000">
Copyright@Reza Elfandra Srg (091402098)<br /> Teknologi Informasi Universitas Sumatera Utara </div>
<!-- end #footer --></div> <!-- end #container --></div>
2. form_show
<?php
include "koneksi/koneksi.php";
$s=mysql_query("select * from parameter", $koneksi) or die (mysql_error); $r=mysql_fetch_array($s);
?>
<script language="javascript" src="library/js/cal2.js"></script> <script language="javascript" src="library/js/cal_conf2.js"></script>
<script type="text/javascript" src="library/js/jquery-1.2.3.min.js"></script> <script type="text/javascript">
$(document).ready(function() {
$().ajaxStart(function() {
$('#hasil_prediksi').hide(); }).ajaxStop(function() {
$('#hasil_prediksi').fadeIn('slow'); });
$('#myForm').submit(function() {
$("#hasil_prediksi").html('<img src="image/ajax.gif">');
var thres = $("#thres").val(); var error1 = $("#error1").val(); var rate1 = $("#rate1").val(); var rate2 = $("#rate2").val(); var tanggal = $("#tanggal").val(); var tanggal1 = $("#tanggal1").val();
$.ajax({
type: 'POST',
url: $(this).attr('action'), data:
'thres='+thres+'&error1='+error1+'&rate1='+rate1+'&rate2='+rate2+'&tanggal='+tangga l+'&tanggal1='+tanggal1,
success: function(data) { $("#hasil_prediksi").html(''); alert('Berhasil');
document.location.href='index.php?p=modul/home/testing/show.php';
} }); }); });
</script>
<h1>Prediksi</h1>
<form id="myForm" method="post"
<table width="399" border="0"> <tr>
<td width="135" height="49">Sensitive Threshold</td> <td width="5">:</td>
<td width="214"><input type="text" name="thres" value="<?php echo $r['thres']; ?>"></td>
</tr> <tr>
<td height="42">Error Threshold</td> <td>:</td>
<td><input type="text" name="error1" value="<?php echo $r['error1']; ?>"></td>
</tr> <tr>
<td height="43">Learning Rate 1</td> <td>:</td>
<td><input type="text" name="rate1" value="<?php echo $r['rate1']; ?>"></td>
</tr> <tr>
<td height="45">Learning Rate 2</td> <td>:</td>
<td><input type="text" name="rate2" value="<?php echo $r['rate2']; ?>"></td>
</tr> <tr>
<td height="45">Dari Tanggal</td> <td>:</td>
<td><input type="text" name="tanggal"><small><a
href="javascript:showCal('Calendar1')">Select Date</a></small></td>
</tr> <tr>
<td height="46">Sampai Tanggal</td> <td>:</td>
<td><input type="text" name="tanggal1"><small><a
href="javascript:showCal('Calendar2')">Select Date</a></small></td>
</tr> <tr>
<td height="45">Input Hari</td> <td>:</td>
<td><input type="text" name="hari" size="5"/> Hari</td>
</tr> <iframe width=174 height=189 name="gToday:normal:agenda.js"
id="gToday:normal:agenda.js" src="ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;"> </iframe>
<tr>
</tr> </table> </form>
<div id="loading" style="display:none" align="center"><img src="loader.gif" alt="loading" /></div>
<div id="hasil_prediksi" style="display:none" align="center"></div>
3. show.php
<script type="text/javascript" src="library/js/jquery.min.js"></script> <script>
!window.jQuery && document.write('<script src="library/js/jquery-1.4.3.min.js"><\/script>');
</script>
<script type="text/javascript" src="library/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
<script type="text/javascript" src="library/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" type="text/css" href="library/fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<script type="text/javascript">
$(document).ready(function() {
/*
* Examples - various */
$("#various1").fancybox({
'titlePosition' : 'inside', 'transitionIn' : 'none', 'transitionOut' : 'none' });
$("#various2").fancybox();
$("#various3").fancybox({
'width' : '85%', 'height' : '85%',
'autoScale' : false, 'transitionIn' : 'none', 'transitionOut' : 'none',
'type' : 'iframe' });
$("#various4").fancybox({
'width' : '80%', 'height' : '80%',
'autoScale' : false, 'transitionIn' : 'none', 'transitionOut' : 'none',
}); </script>
<?php
set_time_limit(0); error_reporting(0);
include "koneksi/koneksi.php";
$waktu_mulai = microtime(true);
$thres=$_REQUEST['thres']; $error1=$_REQUEST['error1']; $rate1=$_REQUEST['rate1']; $rate2=$_REQUEST['rate2']; $tanggal=$_REQUEST['tanggal']; $tanggal1=$_REQUEST['tanggal1']; $hari=$_REQUEST['hari'];
$t1 = explode("-", $tanggal); $dt1 = $t1[0].'-'.$t1[1].'-'.$t1[2];
$t2 = explode("-", $tanggal1); $dt2 = $t2[0].'-'.$t2[1].'-'.$t2[2];
$d = mysql_query("select min(tgl) as min_tanggal, adddate('$dt1', -1) as max_tanggal from air");
$d1 = mysql_fetch_array($d);
$tr1 = explode('-', $d1["min_tanggal"]); $dr1 = $tr1[0].'-'.$tr1[1].'-'.$tr1[2];
$tr2 = explode('-', $d1["max_tanggal"]); $dr2 = $tr2[0].'-'.$tr2[1].'-'.$tr2[2];
$qi=mysql_query("select * from air where tgl<='$dt1'"); $po=mysql_num_rows($qi);
$tu=mysql_query("select * from air where tgl>='$dt1' and tgl<='$dt2'"); $gt=mysql_num_rows($tu);
$tr=$gt/$po;
$_SESSION['reza']=$tr;
if($tr >= 0.5) {
?>
<script language="javascript"> <!--
alert('Maaf, data tidak bisa ditampilkan. Data kurang dari 80%')
--></script> <?php
} else {
?>
<h1> Hasil Prediksi </h1>
Sensitive Threshold : <?php echo $thres; ?><br> Error Threshold : <?php echo $error1; ?><br> Learning Rate 1 : <?php echo $rate1; ?><br> Learning Rate 2 : <?php echo $rate2; ?> <br>
Tanggal Testing : <?php echo $dt1; ?> sampai <?php echo $dt2; ?><br> Jumlah Data Testing : <?php $r1=mysql_query("select * from air where tgl>='$tanggal' and tgl<='$tanggal1'"); $t1=mysql_num_rows($r1); echo $t1; ?> Data<br>
Input hari : <?php echo $hari; ?> Hari<br>
<?php $yt=mysql_query("select sum(actual) as acttotal, sum(ramal) as actramal from ramal");
$rq=mysql_fetch_array($yt); $sumactual=$rq[acttotal]; $sumramal=$rq[actramal]; $ut=($sumactual/$sumramal);
?>
<?php
include "../koneksi.php"; error_reporting(0);
$d=mysql_query("select max(ukuran) as max_air, min(ukuran) as min_air from air"); while($d1 = mysql_fetch_array($d))
{
$maxmal = $d1["max_air"]; $minmal = $d1["min_air"]; }
$midmal = ($minmal + $maxmal)/2;
$t1 = explode("-", $tanggal); $dt1 = $t1[0].'-'.$t1[1].'-'.$t1[2];
$t2 = explode("-", $tanggal1); $dt2 = $t2[0].'-'.$t2[1].'-'.$t2[2];
$d = mysql_query("select min(tgl) as min_tanggal, adddate('$dt1', -1) as max_tanggal from air");
$tr1 = explode('-', $d1["min_tanggal"]); $dr1 = $tr1[0].'-'.$tr1[1].'-'.$tr1[2];
$tr2 = explode('-', $d1["max_tanggal"]); $dr2 = $tr2[0].'-'.$tr2[1].'-'.$tr2[2];
//************************* TRAINING********************************//
$i=0;
$q = mysql_query("select * from air where tgl>='".$d1["min_tanggal"]."' and tgl<='".$d1["max_tanggal"]."'");
$jml = mysql_num_rows($q);
while($q1 = mysql_fetch_array($q)) {
$ukur[$i] = $q1["ukuran"];
$tgl[$i] = $q1["tgl"];
$i++;
};
//normalisasi
for($i=0; $i<count($ukur); $i++) {
$nilmal[$i] = ((0.8 * ($ukur[$i] - $minmal))/($maxmal - $minmal))+0.1;
}
// Triangle Member Function for($i=0; $i<count($nilmal); $i++)
{
if($nilmal[$i] < 0)
$fuzzy[$i][0] = 0;
elseif($nilmal[$i] >= 0 and $nilmal[$i] < 0.5) $fuzzy[$i][0] = ($nilmal[$i] - 0) / (0.5 - 0); elseif($nilmal[$i] >= 0.5 and $nilmal[$i] < 1) $fuzzy[$i][0] = (1 - $nilmal[$i]) / (1 - 0.5);
else
$fuzzy[$i][0] = 0;
$fuzzy[$i][1] = $nilmal[$i];
$i=0; $rNode=0;
$W1[$rNode]= $fuzzy[$i][0]; $W2[$rNode]= $fuzzy[$i][1];
$k=0; $t=0;
while($i<count($fuzzy) and $rNode < $jml ) {
$dis=0;
for($j=0; $j<=$rNode; $j++) {
$dis += (abs($fuzzy[$i][0] - $W1[$j])/2); }
// Distance
$Distance[$k][0] = $rNode; $Distance[$k][1] = $i;
$Distance[$k][2] = $dis/array_sum($W1);
$Distance[$k][3] = exp(-(pow($Distance[$k][2], 2)));
// get max(A1) from rule node (rNode) if($mxA1[$rNode][0] == '')
{
$mxA1[$rNode][0] = $rNode;
$mxA1[$rNode][1] = $Distance[$k][3]; }
else {
if($mxA1[$rNode][1] < $Distance[$k][3]) {
$mxA1[$rNode][0] = $rNode;
$mxA1[$rNode][1] = $Distance[$k][3]; }
}
if($mxA1[$rNode][1] > $thres) {
// get A2 and Err
$A2 = $mxA1[$rNode][1] * $W2[$rNode]; $Err = abs($A2 - $fuzzy[$i][1]);
// cek max (A2) from rule node (rNode) if($mxA2[$rNode][0] == '')
{
$mxA2[$rNode][0] = $rNode; $mxA2[$rNode][1] = $A2; $mxA2[$rNode][2] = $Err; }
else {
if($mxA2[$rNode][1] < $A2) {
$mxA2[$rNode][1] = $A2; $mxA2[$rNode][2] = $Err; }
}
if(($Err < $error1) or ($rNode == $i)) {
$hasil[$i][0] = $rNode; $hasil[$i][1] = $i;
$hasil[$i][2] = $fuzzy[$i][0]; $hasil[$i][3] = $fuzzy[$i][1]; $hasil[$i][4] = $A2;
$hasil[$i][5] = $Err;
$Dist = $fuzzy[$i][0] - $W1[$rNode];
$W1[$rNode] = $W1[$rNode] + ($rate1 * $Dist); $W2[$rNode] = $W2[$rNode] + ($rate2 * $Err * $mxA1[$rNode][1]);
$i++;
} else {
$rNode++;
$W1[$rNode] = $fuzzy[$i][0]; $W2[$rNode] = $fuzzy[$i][1]; }
} else {
$rNode++;
$W1[$rNode] = $fuzzy[$i][0]; $W2[$rNode] = $fuzzy[$i][1]; }