BAB V KESIMPULAN DAN SARAN
B. Saran
Berdasarkan kesimpulan yang telah disebutkan dan dengan keterbatasan jarak dan waktu, pembuatan rancangan reproducer ATIS ini masih memiliki beberapa kekurangan. Adapun saran yang dapat diberikan oleh penulis, yaitu :
1. Untuk pengembangan selanjutnya, input data BMKG yang ada dapat diambil langsung dari antenna AWOS sehingga dapat menampilkan data secara realtime.
2. Dapat dibuat software tambahan agar rancangan ini bisa mengubah data langsung secara realtime dan bukan dari database
40
DAFTAR PUSTAKA
[1] S. P. Dependency, “ICAO: Annex 11,” Futures, vol. II, no. July, pp. 3–7, 2001.
[2] D. Supardam, A. Setiawan, and K. T. Prasetyo, “Manfaat Wind Display di Ruang Control Tower Terkait Keselamatan Penerbangan di Bandar Udara Hang Nadim Batam,” Jurnal Penelitian, vol. 2, no. 2, pp. 121–128, 2017, doi:
10.46491/jp.v2e2.70.121-128.
[3] A. Di, B. Udara, and E. L. Tari, “(1) , (2) , (3),” no. 1, pp. 81–90, 2005.
[4] Direktorat Jendral Perhubungan Udara KP 103 Tahun 2015, “Standar Teknis dan Operasi (Manual Of Standard CASR 171 - 02) Spesifikasi Teknis Fasilitas
Telekomunikasi Penerbangan,” vol. 126, pp. 7–8, 2015.
[5] A. A. Hamzah, “ATIS - HARDWARE,” vol. 1, pp. 7–8, 2020.
[6] “Membangun Aplikasi Elektronika dengan Raspberry Pi 2 dan - Dayat Kurniawan - Google Books.”
https://books.google.co.id/books?hl=en&lr=&id=7CtIDwAAQBAJ&oi=fnd&pg=PP 1&ots=YtPJxMklYn&sig=IZQJ6EmUukg1D0wzntgzbIhzNM4&redir_esc=y#v=onepa ge&q&f=false (accessed Jan. 20, 2022).
[7] File:Raspberry Pi 3 Model B.png - Wikimedia Commons.
[8] File:Raspberry Pi OS Logo.png - Wikimedia Commons.
[9] P. A. Nugraha, M. A. Irwansyah, and H. Priyanto, “Rancang Bangun Web Server Berbasis Linux Dengan Metode Load Balancing (Studi Kasus : Laboratorium Teknik Informatika),” Jurnal Sistem dan Teknologi Informasi (JUSTIN), vol. 3, no. 1, pp.
371–375, 2016.
[10] ADMINISTRASI SERVER DALAM JARINGAN - Google Books.
[11] Smart Conveyor Pada Outbound Dengan Arduino - Google Books.
[12] S. Hartati, “PERANCANGAN SISTEM INFORMASI INVENTARIS BARANG PADA KANTOR NOTARIS DAN PPAT R.A LIA KHOLILA, S.H MENGGUNAKAN VISUAL STUDIO CODE,” Jurnal Siskomti, vol. 3, no. 2, 2020, [Online]. Available:
http://www.ejournal.lembahdempo.ac.id
[13] File:Visual Studio Logo.svg - Wikimedia Commons.
[14] D. Saputra and Ari Waluyo, “Perancangan Sistem Informasi Alumni Berbasis Website dengan Menggunakan PHP MYSQL di Politeknik Dharma Patria Kebumen,” Jurnal E-Komtek (Elektro-Komputer-Teknik), vol. 4, no. 2, pp. 191–
199, Dec. 2020, doi: 10.37339/e-komtek.v4i2.406.
[15] A. Ramadhana, E. Roza, and ) & Irfan, PerancanganWebsite dengan Inovasi Konten Radio Streaming FISIP UHAMKA. 2016.
41
[16] Endang Supriyadi, Maya Sofiana, and Surya Dwipangga, “Sistem Kendali Lampu Defect Dan Reject Berbasis Web Server Menggunakan Raspberrry Pi 3 Model B,”
Jurnal Teknik Informatika, vol. 7, no. 1, pp. 09–15, 2021, doi:
10.51998/jti.v7i1.346.
42
LAMPIRAN
Coding pembuatan aplikasi web - Halaman Login
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="Mark Otto, Jacob Thornton, and Bootstrap contributors">
<meta name="generator" content="Hugo 0.80.0">
<title>ATIS | Galuh</title>
<!-- Bootstrap core CSS -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet">
<style>
.bd-placeholder-img { font-size: 1.125rem;
text-anchor: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
@media (min-width: 768px) { .bd-placeholder-img-lg { font-size: 3.5rem;
} } </style>
<!-- Custom styles for this template -->
<link href="assets/css/floating-labels.css" rel="stylesheet">
</head>
<body>
<form class="form-signin" method="post" action="cek_login.php">
<div class="text-center mb-4">
<img class="mb-4" src="assets/ATIS_logo.png" width="50%">
<h1 class="h3 mb-3 font-weight-normal">Aeronautical Terminal Information Services</h1>
<p>Silakan masukkan username dan password anda.</a></p>
<p>Login</a></p>
</div>
<div class="form-label-group">
<input type="text" id="username" name="username" class="form- control" placeholder="username" required autofocus>
<label for="username">Username</label>
</div>
<div class="label-group">
<input type="password" id="password" name="password" class="form- control" placeholder="Password" required>
<label for="password">Password</label>
</div>
<div class="checkbox mb-3">
<label>
<input type="checkbox" value="remember-me"> Remember me </label>
</div>
<button class="btn btn-lg btn-primary btn-block">Sign in</button>
<p class="mt-5 text-muted text-center">Tugas Akhir - Galuh</a></p>
<p class="mt-5 mb-3 text-muted text-center">© 2022</p>
</form>
</body>
</html>
- Halaman Home
<div class="jumbotron mt-3">
<h1 class="display-4">Selamat Datang</h1>
<p clas="lead">Aplikasi ini di gunakan untuk menampilkan Informasi Cuaca Aktual Bandara Adi Soemarmo - Surakarta.</p>
<hr class="my-4">
<p>Anda dapat menggunakan menu-menu di atas untuk melihat data.</p>
<!-- <a class="btn bt-danger btn-lg" href="logout.php"
role="button">Logout</a> -->
</div>
- Halaman Status
<div class="card mt-3">
<div class="card-header bg-dark text-white text-center">
STATUS </div>
<div class="card-body">
<table class="table table-hover">
<tr>
<th class="text-center">Tosca 127.2MHz</th>
</tr>
<tr>
<td class="text-center">Adi Soemarmo International Airport - Surakarta</td>
</tr>
<tr>
<td class="text-center">IATA : SOC</td>
</tr>
<tr>
<td class="text-center">ICAO : WAHQ</td>
</tr>
</table>
</div>
</div>
- Halaman Meteorological Information
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet"
href="https://cdn.jSDelivr.net/npm/[email protected]/dist/css/bootstrap.mi n.css" integrity="sha384-
zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn"
crossorigin="anonymous">
<title>Galuh</title>
</head>
<body>
<div class="container">
<div class="alert alert-dark text-center" role="alert">
<!--<img class="mb-2" src="assets/ATIS_logo.png"
width="10%">-->
<h4 class="alert-heading">Meteorological Information</h4>
<hr>
<p class="mb-0">Sumber data : Website BMKG</p>
</div>
<?php
require_once('simplehtmldom_1_9_1/simple_html_dom.php');
$html = file_get_html('https://www.bmkg.go.id/cuaca/cuaca- aktual-bandara.bmkg?=YES&ICAOID=WAHQ');
foreach ($html->find('table tr') as $e) {
if (strpos($e->innertext, 'Adi Soemarmo') !== false) { $rowData = array();
foreach ($e->find('td') as $cell) { $rowData[] = $cell->innertext;
} } } ?>
<!-- <pre>
<?php
print_r($rowData);
?>
</pre> -->
<?php
$view = mysqli_query($koneksi, "SELECT * from tbl_data order by data_id DESC LIMIT 1 ");
while ($data = mysqli_fetch_array($view)) : function huruf($angka)
{
$angka = str_replace("1"," one",$angka);
$angka = str_replace("2"," two",$angka);
$angka = str_replace("3"," three",$angka);
$angka = str_replace("4"," four",$angka);
$angka = str_replace("5"," five",$angka);
$angka = str_replace("6"," six",$angka);
$angka = str_replace("7"," seven",$angka);
$angka = str_replace("8"," eight",$angka);
$angka = str_replace("9"," niner",$angka);
$angka = str_replace("0"," zero",$angka);
$angka = str_replace("."," point",$angka);
$angka = str_replace(":"," ",$angka);
return $angka;
}
//Input yang anda masukan emoticon-Big Grin
$wind = $data['wind'] ; $speed = $data['speed'];
$time = $data['time'] ; $vis = $data['vis'];
$weather = $data['weather'];
$ceiling = $data['ceiling'];
$temp = $data['temp'];
$dewpoint = $data['dew_point'];
$cloud1 = $data['cloud1'];
$altimeter = $data['alt'];
$altimeter2 = $data['alt2'];
$pressure = $data['pressure'];
$pressure2 = $data['pressure2'];
$runway = $data['runway'];
?>
<p><a href="?halaman=mi&hal=hapus&id=<?=$data['data_id']?>"
class="btn-lg active" role="button" aria-pressed="true">Update Data</a></p>
<?PHP endwhile; ?>
<form >
<div class="row">
<div class="col-6"><!--left side -->
<?php
$view = mysqli_query($koneksi, "SELECT * from tbl_data order by data_id DESC LIMIT 1 ");
while ($data = mysqli_fetch_array($view)) : ?>
<div class="form-group row">
<label for="date" class="col-sm-4 col-form- label">Time</label>
<div class="input-group col-sm-6">
<input type="text" readonly="1" class="form- control" id="time" value= <?PHP echo $data['time']?>>
<div class="input-group-text">UTC</div>
<div class="input-group-prepend">
</div>
</div>
</div>
<div class="form-group row">
<label for="wind" class="col-sm-4 col-form- label">Winds</label>
<div class="input-group col-sm-6">
<input type="text" readonly="1" class="form- control" id="wind" value= <?PHP echo $data['wind']?>>
<div class="input-group-text">°</div>
<div class="input-group-prepend">
</div>
</div>
</div>
<div class="form-group row">
<label for="speed" class="col-sm-4 col-form- label">Speed</label>
<div class="input-group col-sm-6">
<input type="text" readonly="1" class="form- control" id="speed" value= <?PHP echo $data['speed']?>>
<div class="input-group-text">knots</div>
<div class="input-group-prepend">
</div>
</div>
</div>
<div class="form-group row">
<label for="ceiling" class="col-sm-4 col-form- label">Ceiling</label>
<div class="col-sm-6">
<input type="text" readonly="1" class="form- control" id="ceiling" value= <?PHP echo $data['ceiling']?>>
</div>
</div>
<div class="form-group row">
<label for="temperature" class="col-sm-4 col-form- label">Temperature</label>
<div class="input-group col-sm-6">
<!-- <input type="text" readonly="1"
class="form-control" id="temperature" value= <?PHP echo $data['temp']?>>
-->
<input type="text" readonly="1" class="form- control" id="temperature" value= <?PHP echo $rowData[7]?>>
<div class="input-group-text">°C</div>
<div class="input-group-prepend"></div>
</div>
</div>
<div class="form-group row">
<label for="qfe" class="col-sm-4 col-form-label">Dew Point</label>
<div class="input-group col-sm-6">
<!-- <input type="text" readonly="1"
class="form-control" id="dewpoint" value= <?PHP echo
$data['dew_point']?>> -->
<input type="text" readonly="1" class="form- control" id="dewpoint" value= <?PHP echo $rowData[8]?>>
<div class="input-group-text">°C</div>
<div class="input-group-prepend"></div>
</div>
</div>
<?PHP endwhile; ?>
</div>
<!--right side -->
<div class="col-6">
<?php
$view = mysqli_query($koneksi, "SELECT * from tbl_data order by data_id DESC LIMIT 1 ");
while ($data = mysqli_fetch_array($view)) : ?>
<div class="form-group row">
<label for="visibility" class="col-sm-4 col-form- label">Visibility</label>
<div class="input-group col-sm-6">
<!-- <input type="text" readonly="1"
class="form-control" id="visibility" value= <?PHP echo $data['vis']?>> - ->
<input type="text" readonly="1" class="form- control" id="visibility" value= <?PHP echo $rowData[5]?>>
<div class="input-group-text">km</div>
<div class="input-group-prepend"></div>
</div>
</div>
<div class="form-group row">
<label for="weather" class="col-sm-4 col-form- label">Weather</label>
<div class="col-sm-6">
<input type="text" readonly="1" readonly="1"
class="form-control" id="weather" value= <?PHP echo $data['weather']?>>
</div>
</div>
<div class="form-group row">
<label for="inputState" class="col-sm-4 col-form- label">Cloud 1</label>
<div class="col-sm-6">
<input type="text" readonly="1" class="form- control" id="cloud1" value= <?PHP echo $data['cloud1']?>>
</div>
</div>
<div class="form-group row">
<label for="inputState" class="col-sm-4 col-form- label">Cloud 2</label>
<div class="col-sm-6">
<select id="cloud2" class="form-control">
<option selected>Few</option>
<option>Scatered</option>
</select>
</div>
</div>
<div class="form-group row">
<label for="remarks" class="col-sm-4 col-form- label">QFE</label>
<div class="input-group col-sm-6">
<input type="text" readonly="1" class="form- control" id="altimeter" value= <?PHP echo $data['alt']?>>
<div class="input-group-text col-sm-3"
>mbar</div>
<input type="text" class="form-control"
id="altimeter2" value= <?PHP echo $data['alt2']?>>
<div class="input-group-text col-sm- 3">Inch</div>
</div>
</div>
<div class="form-group row">
<label for="remarks" class="col-sm-4 col-form- label">QNH</label>
<div class="input-group col-sm-6">
<!-- <input type="text" readonly="1"
class="form-control" id="pressure" value= <?PHP echo
$data['pressure']?>> -->
<input type="text" readonly="1" class="form- control" id="pressure" value= <?PHP echo $rowData[9]?>>
<div class="input-group-text col-sm-3"
>mbar</div>
<input type="text" class="form-control"
id="pressure2" value= <?PHP echo $data['pressure2']?>>
<div class="input-group-text col-sm- 3">Inch</div>
</div>
</div>
<div class="form-group row">
<label for="inputState" class="col-sm-4 col-form- label">Runway In Use</label>
<div class="col-sm-6">
<select id="runway" class="form-control">
<option selected>26</option>
<option>08</option>
</select>
</div>
</div>
<?PHP endwhile; ?>
</div>
</form>
</div>
<button class="btn btn-primary" id="message-button">Atis Message Preview</button>
<textarea class="form-control" id="output" cols="6"
rows="4"></textarea>
<button type="button" class="btn btn-outline-primary" onclick="play ();"><b>Play</b></button>
<button type="button" class="btn btn-outline-danger" onclick="stop ();"><b>Stop</b></button>
<script>
var time = document.getElementById("time");
var wind = document.getElementById("wind");
var speeds = document.getElementById("speed");
var vis = document.getElementById("visibility");
var weather = document.getElementById("weather");
var temp = document.getElementById("temperature");
var cloud = document.getElementById("cloud1");
var cloud2 = document.getElementById("cloud2");
var dew = document.getElementById("dewpoint");
var pressure= document.getElementById("pressure");
var altimeter = document.getElementById("altimeter");
var runway2 = document.getElementById("runway");
var output = document.getElementById("output");
var btn1 = document.getElementById("message-button") function message() {
//outputinnerHTML += ("This is an Automatic Terminal Information Service for Adi Soemarmo International Airport ; Information romeo; "
+
//"weather report at " + time value + " UTC"; " + //"Wind from " + wind.value + " " + "degree" + "; " + //"Speed " + speed.value + " " + "knots" + "; " + //"Ceiling " + ceiling.value + " " + "feets" + "; " +
//"Temperature " + temp.value + " Degree Centigrade" + "; " + //"Dew Point " + dew.value + " Degree Centigrade" + "; " + //"Visibility " + vis value + " " + "Kilometers" + "; " + //"Present Weather " + weather.value + "; " +
//"Cloud " + cloud.value + "; " +
//"Altimeter " + altimeter.value + " Milibar" + " " + //altimeter2.value + " Inches" + "; " +
//"Pressure " + pressure2.value + " + " " + //altimeter2.value + " Inches" + "; " +
//"Runway Arival is " + runway.value + "; " + "Depature Runway is
" + runway.value + "."
//);
//};
output.innerHTML += "This is an Automatic Terminal Information Service for Adi Soemarmo International Airport; Information romeo;
weather report at <?PHP huruf($time); ?> UTC ; Wind From; <?PHP echo huruf($wind); ?> degree ; " +
"Speed <?PHP echo huruf($speed);?> knots; Temperature, <?PHP echo huruf($temp);?> Degree Centigrade ; dew point, <?PHP echo
huruf($dewpoint);?> Degree Centigrade; visibility <?PHP echo huruf($vis); ?> Kilometers ; Present Weather, <?PHP echo huruf($weather)?> ; "+
"Cloud, <?PHP huruf($cloud1); ?> <?PHP echo huruf($ceiling);?> Feet;
"+ "Cloud 2, " + cloud2.value + "; " +" QFE, <?PHP echo
huruf($altimeter);?> milibar, <?PHP huruf($altimeter2);?> inches; QNH,
<?PHP echo huruf($pressure);?> milibar, <?PHP echo huruf($pressure2);?>
inches ; " +
"runway arrival is " + runway value + ";" + " depature runway is, "
+ runway.value + "." ; };
btn1.addEventListener("click",message);
</script>
<script>
function play() {
var textspeak = document.getElementById ('output').value repeat(100);
responsiveVoice.speak(textspeak, "UK English Male", {
pitch: 1, rate: 1, volume: 10 })
}
function stop() {
responsiveVoice.cancel();
}
</script>
<script type="text/javascript"
src="https://code.responsivevoice.org/responsivevoice.js?key=HTMToKQE"><
/script>
<!-- <script src="script.js"></script> -->
<!--Bootstrap Script -->
<!-- Option 1: jQuery and Bootstrap Bundle (includes Popper) -->
<script
src="https://cdn.jSDelivr.net/npm/[email protected]/dist/jquery.slim.min.js"
integrity="sha384-
DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script
src="https://cdn.jSDelivr.net/npm/[email protected]/dist/js/bootstrap.bund le.min.js" integrity="sha384-
fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF"
crossorigin="anonymous"></script>
</body>
</html>
- Tampilan Logout
<?php
session_start();
//hapus session yang sudah di set unset($_SESSION['id_user']);
unset($_SESSION['username']);
session_destroy();
echo "<script>
alert('Anda berhasil Logout');
document.location='index.php';
</script>";
?>
- Tampilan Header
<?php
// session_start();
// //mengatasi juka user masuk tanpa login (langsung ke home) // if(empty($_SESSION['id_user']) or empty($_SESSION{'username'})) // {
// echo "<script>
// alert('Silakan Login terlebih dahulu');
// document.location='index.php';
// </script>";
// }
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="assets/css/bootstrap.min.css">
<title>ATIS | Galuh</title>
</head>
<body>
<!-- Awal Nav Bar / Menu -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">ATIS</a>
<button class="navbar-toggler" type="button" data- toggle="collapse" data-target="#navbarSupportedContent" aria- controls="navbarSupportedContent" aria-expanded="false" aria- label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse"
id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="?">Home <span class="sr- only">(current)</span></a>
</li>
<!-- <li class="nav-item">
<a class="nav-link" href="#">Monitor 2</a>
</li> -->
<li class="nav-item">
<a class="nav-link"
href="?halaman=status">Status</a>
</li>
<li class="nav-item">
<a class="nav-link"
href="?halaman=mi">Meteorological Information</a>
</li>
<li class="nav-item">