• 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

weighted evolving fuzzy neural network (WEFuNN) pada sistem prediksi curah hujan. serta melakukan pengujian terhadap sistem yang

menggunakan metode Evolving Fuzzy Neural Network (EFuNN) untuk melakukan prediksi berdasarkan data time series yang ada.. EFuNN merupakan Fuzzy

Gambar 2.9 Arsitektur Standar WEFuNN 21 Gambar 2.10 Arsitektur WEFuNN dengan Short-Term Memory 21 Gambar 3.1 Algoritma Weighted Evolving Fuzzy Neural Network pada sistem 27

WEFuNN merupakan pengembagan dari metode Evolving Fuzzy Neural Network (EFuNN) yang memiliki struktur hybrid dari metode Fuzzy Inference System (FIS) dan jaringan saraf

Tujuan dari penelitian ini adalah membuat prediksi harga penjualan sepeda motor berdasarkan data runtun waktu dengan menggunakan metode weighted evolving fuzzy

Dalam penelitian ini dibuat untuk meramalkan kelistirikan di masa yang akan datang dengan mengunakan metode Weighted Evolving Fuzzy Neural Network dengan memasukan 7 faktor yang

Weighted Evolving Fuzzy Neural Network merupakan pengembangan dari metode Evolving Fuzzy Neural Network walaupun memiliki struktur yang mirip tetapi memiliki aturan

Alhamdulillah, segala puji dan syukur penulis ucapkan atas kehadirat Allah SWT beserta Nabi besar Muhammad SAW yang telah memberikan rahmat, hidayah-Nya,