Sistem Pemantauan & Peringatan Banjir Yang Terintegrasi Dengan Website Melalui Teknologi GPRS

DAFTAR PUSTAKA
[1]

Tanpa Nama. Tanpa Tahun. “Banjir ”.https://id.wikipedia.org/wiki/Banjir.
Diakses. 10 Januari 2017

[2]

Setyaningsih, Emy dkk. 2015. “Sistem Informasi Monitoring Kereta Api
Berbasis WebServer MenggunakanLayanan GPRS”. Jurnal Momentum
Vol.17 No.2. Agustus 2015

[3]

Mcrobets, Michael. 2013. “Beginning Arduino”. New York : Springer
Science+Business Media.

[4]

Studiawan, Hudan dkk. 2013. “Sistem Pendeteksi Dini Banjir Menggunakan
Sensor Kecepatan Air dan Sensor Ketinggian Air pada Mikrokontroler

Arduino”. JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013)

[5]

Eka Mulyana dan Rindi Kharisman, " Perancangan Alat Peringatan Dini
Bahaya Banjir dengan Mikrokontroler Arduino Uno R3," Citec Journal, Vol.
1, No. 3, Mei 2014 – Juli 2014.

[6]

Artanto, Dian. 2012. Interaksi Arduino dan LabVIEW. Jakarta : PT. Elex
Media Komputindo.

[7]

Bramer, Max. 2015. Web Programming with PHP and MySQL. London:
Springer International Publishing

45
Universitas Sumatera Utara


[8]

Connoly Randy,Ricardo 2015. Fundamental of Web Programming. New
Jersey : Pearson Education, INC.
LAMPIRAN

Lampiran A: Program Arduino
#include
SoftwareSerial gprsSerial(7,8);

byte sensorInterrupt =0;
volatile int NbTopsFan; //mengukur jumlah pulah pulsa
float Calc;
int hallsensor = 2;
float height;

//Pin digunakan untuk sensor air
// Tinggi


const int trigPin = 4; //Pin Trigger
const int echoPin =5; // Pin Echo
float wkt =0; float dist;
int sm ;

void setup() {
gprsSerial.begin(19200);//Mulai komunikasi GGPRS
pinMode(hallsensor, INPUT); //initializes digital pin 2 as an input
Serial.begin(19200); // Mulai komunikasi serial monitor
pinMode(trigPin,OUTPUT); // Set pin 4 jadi Output
pinMode(echoPin,INPUT); // Set pin 5 jadi input
}

46
Universitas Sumatera Utara

void loop() {

delay(2000); //delay 2s
senseHigh(); // Ukur ketinggian

senseFlow(); //Ukur kecepatan

if (height >0.8 && sm == 0)
{ // tinggi > 0.8 & sm =0 ?
sm = 1; //status message =1
startGPRS(); //activekan GPRS
sendtoweb(); // kirim ke web
sendSMS(); // send sms
}
else if (height >0.8 && sm == 1)
{ // tinggi > 0.8 & sm =1 ?
startGPRS(); //activekan gprs
sendtoweb(); //kirim ke web
}
else
{ // jika tidak
sm =0; // status message =0
startGPRS(); // activekan GPRS
sendtoweb(); // kirim ke web
}


47
Universitas Sumatera Utara

delay(120000); // tunggu 2 menit
}

void senseHigh()
{

digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); //pancarkan gelombang
delayMicroseconds(10);

// ultrasonik selama

digitalWrite(trigPin, LOW); // 10uS lalu matikan

wkt = pulseIn(echoPin,HIGH); // hitung waktu berapa lama pin echo menerima pulsa

berlogika High ?

dist = ((wkt/1000000)*340)/2; //hitung jarak

if (dist>=5 || dist 5m atau < 0 ?
Serial.println("Out of Range");
}
else
{
height = 1.55 - dist; // Rumus menghitung kenaikan air sungai
//adalah ketinggian normal air sungai - jarak

48
Universitas Sumatera Utara

Serial.println("m");
Serial.print(" Ketinggian air = ");
Serial.print(height);
Serial.println("m");
delay(3000);

}
}

void rpm ()

//Fungsi memanggil interupsi

{
NbTopsFan++; //Menghitung jumlah pulsa
}

void toSerial() // fungsi untuk menampilkan
{

// hasil respon GPRS ke serial monitor
while(gprsSerial.available()!=0)
{
Serial.write(gprsSerial.read());
}


}

void startGPRS() // fungsi untuk mengaktifkan GPRS
{
gprsSerial.begin(19200);
Serial.println("Config SIM900 . . .");

49
Universitas Sumatera Utara

delay(1000);
Serial.println("Done");
gprsSerial.flush();
Serial.flush();

gprsSerial.println("AT+CGATT?");// periksa GPRS
delay(2000);
toSerial();
// atur parameter bearer
gprsSerial.println("AT+SAPBR=3,1, \"CONTYPE\", \"GPRS\"");

delay(2000);
toSerial();

gprsSerial.println("AT+SAPBR=3,1, \"APN\",\"taif\"");
delay(2000);
toSerial();

gprsSerial.println("AT+SAPBR=1,1");
delay(2000);
toSerial();
}

void sendtoweb() {
// initialisasi http service
gprsSerial.println("AT+HTTPINIT");

50
Universitas Sumatera Utara

delay(2000);

toSerial();

// set http param value
gprsSerial.print("AT+HTTPPARA=\"URL\",\"sisteminformasibanjir.pe.hu/simpan.ph
p?");
gprsSerial.print("sensor1=");
gprsSerial.print(height);
gprsSerial.print("&sensor2=");
gprsSerial.print(Calc, DEC);
gprsSerial.println("\"");
delay(2000);
toSerial();

// set http action type 0 = GET, 1 = POST, 2 = HEAD
gprsSerial.println("AT+HTTPACTION=0");
delay(6000);
toSerial();

// read server respon
gprsSerial.println("AT+HTTPREAD");

delay(1000);
toSerial();

//akhiri
gprsSerial.println("");

51
Universitas Sumatera Utara

gprsSerial.println("AT+HTTPTERM");
toSerial();
delay(300);

gprsSerial.println("");
delay(10000);

}

void sendSMS()
{
gprsSerial.print("AT+CMGF=1\r"); // Mode mengirim sms dalam bentuk tesk
delay(100);
gprsSerial.println("AT + CMGS = \"+085261541277\""); //Mengirim pesan
delay(100);
gprsSerial.println(" Peringatan!. Kemungkinan akan terjadi banjir di daerah sungai
deli");
delay(100);
gprsSerial.println((char)26); //kode ASCI ctrl+z adalah 26
delay(100);
gprsSerial.println();
}

void senseFlow()
{

52
Universitas Sumatera Utara

attachInterrupt(sensorInterrupt, rpm, RISING); // pasang interupsi
delay(1000);
detachInterrupt(sensorInterrupt); // lepaskan interupsi
Calc = (NbTopsFan * 60 *0.000157522*3.6); // rumus yang digunakan
Serial.print (Calc); //print nilai yang terhitung
Serial.print (" km/jam\r\n"); //print km/jam
NbTopsFan =0;
}

Lampiran B : Program Web Index.php



Informasi Ketinggian dan Kecepatan Air Sungai







Sistem Peringatan dini Banjir


Informasi Ketinggian (m) dan Debit Air Sungai (km/Jam)

53
Universitas Sumatera Utara








Lampiran C : Program Web koneksi.php


Lampiran D : Program Web simpan.php