• Tidak ada hasil yang ditemukan

Prediksi Banjir Dengan Mengunakan Weighted Evolving Fuzzy Neural Network (WEFUNN)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Prediksi Banjir Dengan Mengunakan Weighted Evolving Fuzzy Neural Network (WEFUNN)"

Copied!
9
0
0

Teks penuh

(1)

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)

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"

(3)

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

(4)

</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',

(5)

}); </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%')

(6)

--></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");

(7)

$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];

(8)

$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) {

(9)

$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]; }

Referensi

Dokumen terkait

Ucapat terikamasih juga tidak lupa disampaikan kepada Ketua dan seluruh Komisioner KPU Kota Jakarta Timur dan seluruth Sekretariat KPU Kota Jakarta yang selalu

Sehubungan dengan pelaksanaan evaluasi dokumen kualifikasi dan pembukt ian kualifikasi dari perusahaan yang saudara/ i pimpin, maka dengan ini kami mengundang dalam

[r]

Mitra Adiperkasa, Tbk, maka dapat disimpulkan bahwa tingkat likuiditas yang dimiliki perusahaan sangat minim atau menunjukkan kondisi perusahaan yang ilikuid, sedangkan untuk

[r]

[r]

Dari hasil penelitian ini dapat disimpulkan bahwa perusahaan belum menggunakan metode harga pokok proses untuk perhitungan harga pokok produksi per unit, karena perhitungan

[r]