GAMBAR PETA
DAFTAR PUSTAKA
[1] Adams, E. D. 2012. Rancang Bangun Aplikasi Web Pencarian Rute Terpendek Antar Gedung Di Kampus Menggunakan Algoritma Floyd Warshall. Journal Basic Science And Technology Universitas Brawijaya Malang. [2] Andriani, Anik. 2014 Rancangan Bangun Sistem Informasi Rute Wisata
Terpendek Berbasis Algoritma Floyd Warshall. Jakarta: Amik BSI Jakarta.
[3] Baras, J., & Theodorakopoulos, G. 2010. Path Problems in Network.Morgan & Claypool Publishers.
[4] Cormen, Thomas H 2003. Intrudoction To Algorithms Edition. The MIT Press.Cambridge London.
[5] Handaka, M.S. (2010). Perbandingan Algoritma Dijkstra (Greedy), Bellman-Ford(BFS-DFS), dan Floyd-Warshall (Dynamic Programming) dalam Pengaplikasian LintasanTerpendek pada Link-State Routing Protocol. Bandung: ITB
[6] Kurniadi, I,.2011. Logika Dan Algoritma Dasar Menggunakan C ++. Jakarta: Mitra Wacana Media.
[7] Kusrini.2007.Konsep dan Aplikasi Sistem Pendukung Keputusan. Andi: Yogyakarta.
[8] Purwananto, Yudhi; Purwitasari, Diana; Wibowo, Agung., 2005, “Implementasi dan Analisis Algoritma Pencarian Rute Terpendek di Kota Surabaya”, JurnalPenelitian dan Pengembangan Telekomunikasi, No. 2, Vol.10, Desember 2005.
[9] Purwanto, E. B., 2008, “Perancangan Dan Analisis Algoritma”, Edisi 1, Graha Ilmu, Yogyakarta.
[10] Rosen, K. H. 2011. Discrete Mathematics and Its Applications, Seventh Edition. United Stated: Mc Graw Hill
[11] Siang,Jungjenk. 2009. Matematika Diskrit Dan Aplikasinya Pada Ilmu Komputer. Yogykarta: Andi Offset.
[12] Sitanggang, Sondang. 2011. Perbandingan Algoritma Dijkstra dan Floyd-Warshall Dalam Mencari Rute Terpendek Jaringan Jalan.Skripsi: Universitas Sumatera Utara.
[13] Suarga., 2012. Algoitma Dan Pemrograman.Yogyakarta Penerbit Andi.
[14] Whiten, L.J., Bentley L.D. & Ditman K.C. 2004. Metode Desain dan Analisis Sistem, Yogyakarta: Andi.
LISTING PROGRAM
1. Index.php <? include "config.php"; $jalurterpendek = ""; $njalurterpendek = 500000; $iterasi=0; $fullpath = ""; $cawal=""; function get_client_ip() { $ipaddress = ''; if($_SERVER['REMOTE_ADDR']) $ipaddress = $_SERVER['REMOTE_ADDR']; else $ipaddress = 'UNKNOWN'; return $ipaddress; } function arah($zx,$zy,$alokasi,$nilai) { global $jalurterpendek; global $njalurterpendek; global $iterasi; global $fullpath; $spasi=0; if(empty($alokasi)){$alokasi=$zx;} $spasi++;$queryzx="select * from tbljarak where awal ='$zx' and jarak>0"; $query=mysql_query($queryzx);
while ($data = mysql_fetch_array($query)) { $pecah=explode("|",$data['arah']); if($pecah[0]==$zx){ $anak=$pecah[1]; }else{ $anak=$pecah[0]; }
$ubahcariulangan=str_replace($anak,"xxxx",$alokasi); if($ubahcaritujuan!=$alokasi){
/*tidak sama //tidak dapet dapet 1*/ }
elseif($ubahcariulangan!=$alokasi){ /* Tidak pernah diulangin*/ }
else{
/* tidak memenuhi dan berulang terus */ $nilaix=$nilai+$data['jarak']; //echo $data['jarak']."|"; $alokasix=$alokasi."|".$anak; arah($anak,$zy,$alokasix,$nilaix); $ubahcaritujuanx=str_replace($zy,"xxxx",$alokasix); if($ubahcaritujuanx!=$alokasix){
/*tidak sama //tidak dapet dapet 1*/ if ($nilaix<$njalurterpendek){
$jalurterpendek = $alokasix; $njalurterpendek = $nilaix; }
//echo "</br>(".$alokasix.") --->".$nilaix."Km</br>"; } } //echo $ubahcaritujuan."|".$ubahcariulangan."|".$alokasi; //echo $spasi; } }?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head>
<title>PENCARIAN JALUR TERPENDEK</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="" content="" />
<link href="css/style.css" rel="stylesheet" type="text/css" /> <link href="css/layout.css" rel="stylesheet" type="text/css" /> <!--[if lt IE 7]>
<link href="style_ie.css" rel="stylesheet" type="text/css" /> <![endif]-->
55
</style>
<script type="text/javascript" src="scripts/jquery-1.6.1.min.js"></script> <script type="text/javascript" src="scripts/jquery.nivo.slider.js"></script> <script type="text/javascript" src="scripts/topmenu.js"></script>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript" src="scripts/util.js"></script> <script>
var directionsDisplay;
var directionsService = new google.maps.DirectionsService(); var map;
function initialize() {
var myLatlng = new google.maps.LatLng(3.595444, 98.769372); var myOptions = {
zoom: 11,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP }
var map = new google.maps.Map(document.getElementById("map"), myOptions); downloadUrl("phpsqlajax_genxml.php", function(data) {
var infowindow = new google.maps.InfoWindow();
var markers = data.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) {
var latlng = new
google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
var marker = new google.maps.Marker({position: latlng, map: map});
google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() { infowindow.setContent(markers[i].getAttribute("ket")); infowindow.open(map, marker); } })(marker, i)); } }); } function calcRoute() {
var directionsDisplay;
var directionsService = new google.maps.DirectionsService(); var map;
directionsDisplay = new google.maps.DirectionsRenderer(); var cp = new google.maps.LatLng(3.591780, 98.680325); var mapOptions = {
zoom: 11, center: cp }
map = new google.maps.Map(document.getElementById('map'), mapOptions); directionsDisplay.setMap(map);
var pathkoordinat = document.getElementById('koordinat').textContent; var pecah = pathkoordinat.split("|");
var start = pecah[0]; //PB
var end = pecah[pecah.length-1]; // KNIA var waypts = [];
//var checkboxArray = document.getElementById('waypoints'); for (var i = 1; i < pecah.length-1; i++) {
waypts.push({location:pecah[i],stopover:true}); } var request = { origin: start, destination: end, waypoints: waypts, optimizeWaypoints: true, travelMode: google.maps.TravelMode.DRIVING };
directionsService.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response); }
}); }
//google.maps.event.addDomListener(window, 'load', initialize); </script>
</head>
<body id="page1" onload="" onunload="GUnload()"> <a name="top"></a>
57 <? include "header.php" ?> <!-- content --> <div id="bg-content"> <div id="content"> <div class="colom-welcome"> <h3>
<p>PENCARIAN RUTE TERPENDEK MENGGUNKAN ALGORITMA FLOYD WARSHALL </h4> </p> <p><?php include"time.php"; ?></p>
<div id="map" style="width: 500px; height:300px"></div> <?php
if (isset($_POST['awal'])) { $ip = get_client_ip();
$updatepe = mysql_query("insert into tbljlhpengguna set waktu=now(),ip='$ip'"); $awal=$_POST['awal']; global $cawal; $cawal=$_POST['awal']; $tujuan=$_POST['tujuan']; if(empty($awal)){$awal=0;} if(empty($tujuan)){$tujuan=0;} arah($awal,$tujuan,"",0); $fullpath=""; $koorjalur=""; $pecah=explode("|",$jalurterpendek); $jlh = count($pecah);
$hps = mysql_query("delete from tblmap"); for ($i = 0; $i < $jlh; $i++) {
// echo "kode: $pecah[$i] <br>";
$query="select ket,koor1,koor2 from tblnode where kdnode='$pecah[$i]'"; $q=mysql_query($query);
while ($data = mysql_fetch_array($q)){ if ($i==0){ $fullpath=$fullpath.$data['ket']; $koorjalur=$koorjalur.$data['koor1'].",".$data['koor2']; }else{ $fullpath=$fullpath."|".$data['ket']; $koorjalur=$koorjalur."|".$data['koor1'].",".$data['koor2']; } } if ($i<($jlh-1)){ $aw = $pecah[$i]; $ak = $pecah[$i+1];
$inputmap = mysql_query("insert into tblmap set awal='$aw',akhir='$ak'");
} }
echo "<h4></br>HASIL : ";
if ($njalurterpendek == 500000){$njalurterpendek=0;} echo "( ".$fullpath." ) --->".$njalurterpendek."Km</br>"; echo "<label id='koordinat'>".$koorjalur."</label></h4>"; } ?> <div></div> <p></p> <br /> </br> </div>
<div class="colom-product" style="margin-top:100px;"> <?php
if (isset($_POST['awal'])){}else{ $ip = get_client_ip();
$updatepe = mysql_query("insert into tbljlhpengunjung set waktu=now(),ip='$ip'");}
$query = mysql_query("select count(*) as jlh from tbljlhpengunjung");
while($lihat=mysql_fetch_array($query)){
59
}
$query = mysql_query("select count(*) as jlh from tbljlhpengguna");
while($lihat=mysql_fetch_array($query)){
echo "<h4>Jumlah Pengguna : ".$lihat['jlh']."</h4>";
} ?>
<form method="POST" action="#" > <table cellpadding="10px">
<tr><td><select name="awal">
<option value=""> -Pilih Daerah Asal- </option> <?php $query=mysql_query("select * from tblnode");
while($lihat=mysql_fetch_array($query)){
//echo "<script type='text/javascript'>alert('".$cawal."'); if ($lihat['kdnode']==$cawal){
echo "<OPTION selected='selected' VALUE='".$lihat['kdnode']."'>".$lihat['ket']."</OPTION>"; }else{ echo "<OPTION VALUE='".$lihat['kdnode']."'>".$lihat['ket']."</OPTION>"; } } ?> </select></td> </tr>
<tr bgcolor="#33FF99"><td>Daerah Tujuan (KNIA) <input type="hidden" name="tujuan" value="T011"></td></tr>
<tr><td><input type="submit" value="RUTE" ></td></tr> </table>
</form>
</div>
<? if (isset($_POST['awal'])) {echo '<script type="text/javascript"> calcRoute();</script>';
}else{echo '<script type="text/javascript"> initialize();</script>';}?> <p></p>
</body> </html>
1. Config.php <?php
//mysql_connect("localhost","root",""); //sesuaikan username dan password nya sesuai dengan host teman-teman
//mysql_select_db("db_floyd"); //sesuai dengan nama database yang kita buat dan yg akan kita gunakan
$koneksi=@mysql_connect("localhost","root","") or die ("Koneksi Gagal : ".mysql_error()); $db=@mysql_select_db("db_floyd") or die
("Database tidak ditemukan karena : ".mysql_error()); ?>
2. Time.php <body>
<strong><font color="#000000" size="3"> <?php
//time.php
//menampilkan tanggal sekarang $data=time();
$sekarang=date("d M Y",$data); echo" $sekarang<br>"
?>
</font></strong><font color="#FFFFFF" size="3"></font> </body>
</html>
3. Header.php
<div id="background" ><div id="top-header">
<div id="bg-header" style="background-image: url(images/header-world-map.jpg)"><div id="header" align="center"><div class="digitcal"></div> </div></div>
61
<div id="nav-menu"> <div id="nav"> <ul id="navigation">
<li style="border-left:1px solid rgba(0,0,0,0.2);"><a href="index.php"
style="padding: 2px 20px" ><img height="30px" src='images/home.png' alt='home' style=" padding-bottom:0; margin:0"/></a></li>
<li><a href="index.php">K N I A</a></li> <li><a href="floyd/index.php">FLOYD</a></li> <li><a href="login.php">DATA LOKASI</a></li> </ul> </div> </div> </div> <!-- end of button --> 4. Login.php <html> <head>
<title>PENCARIAN JALUR TERPENDEK</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="" content="" />
<link href="css/style.css" rel="stylesheet" type="text/css" /> <link href="css/layout.css" rel="stylesheet" type="text/css" /> <?php
include 'config.php'; // hubungkan file php dengan file configurasi ke database ?> </head> <body> <a name="top"></a> <? include "header.php" ?> <!-- content --> <div id="bg-content"> <div id="content">
<h3>Admin Kelola Data</h3> <p><?php
include"time.php"; ?></p>
<tr>
<th colspan="2" scope="row"><div id="left"> <div class="post"></div>
<div class="post"> <div align="left">
<form id="form1" method="post" action="data%20lokasi/lihatnode.php"> <table width="400" align="center" cellpadding="5">
<tr>
<td colspan="4"> </td> </tr>
<tr>
<td width="10" rowspan="2"><img src="images/login-welcome.gif" width="56" height="49" /></td>
<td width="78"><b>User</td> <td width="6"><b>:</b></td>
<td width="144"><input type="text" name="user" maxlength="40" /> </td>
</tr> <tr>
<td><b>Password</b></td> <td><strong>:</strong></td>
<td><input type="password" name="password" maxlength="40" /> </td> </tr> <tr> <td colspan="4"> </td> </tr> <tr> <td colspan="3"> </td>
<td><input name="submit" type="submit" value="Login" /> <input name="reset" type="reset" value="Hapus" />
</td> </tr> </table> <p> </p> </form> </div> </div> </body> </html>