Anda di halaman 1dari 95

HALAMAN JUDUL

TUGAS AKHIR – TE 145561

RANCANG BANGUN SISTEM PERINGATAN MELUAPNYA AIR


SUNGAI MELALUI SMS DAN RUNNING TEXT

Haris Inmas Ryandi


NRP 2213030071

Dosen Pembimbing
Ir. Hanny Boedinugroho, MT.

PROGRAM STUDI D3 TEKNIK ELEKTRO


Fakultas Teknologi Industri
Institut Teknologi Sepuluh Nopember
Surabaya 2017

i
ii
HALAMAN JUDUL

FINAL PROJECT – TE 145561

WARNING SYSTEM OVERFLOW OF THE RIVER THROUGH


SMS AND RUNNING TEXT

Haris Inmas Ryandi


NRP 2213030071

Advisor
Ir. Hanny Boedinugroho, MT.

ELECTRICAL ENGINEERING D3 STUDY PROGRAM


Faculty of Industrial Technology
Institut Teknologi Sepuluh Nopember
Surabaya 2017

iii
iv
PERNYATAAN KEASLIAN
PERNYATAAN KEASLIAN TUGAS AKHIR
Dengan ini saya menyatakan bahwa isi sebagian maupun
keseluruhan Tugas Akhir saya dengan judul “Rancang Bangun Sistem
Peringatan Meluapnya Air Sungai melalui SMS dan Running Text”
adalah benar-benar hasil karya intelektual mandiri, diselesaikan tanpa
menggunakan bahan-bahan yang tidak diijinkan dan bukan merupakan
karya pihak lain yang saya akui sebagai karya sendiri.
Semua referensi yang dikutip maupun dirujuk telah ditulis secara
lengkap pada daftar pustaka.
Apabila ternyata pernyataan ini tidak benar, saya bersedia
menerima sanksi sesuai peraturan yang berlaku.

Surabaya, 10 Januari 2017

Haris Inmas R.
NRP 2213030071

v
-----Halaman ini sengaja dikosongkan-----

vi
R..-\..' \.C A..."G BANGUN SISTEM PERINGATAN MELUAPNYA
AIR SUNGAI MELALUI SMS DAN RUNNING TEXT

TUGASAKHIR

Diajukan Guna Memenuhi Sebagian Persyaratan


Untuk Memperoleh Gelar Ahli Madya
Pacta
Bidang Studi Komputer Kontrol
Program Studi D3 Teknik Elektro
Institut Teknologi Sepuluh Nopember

• --

Ir. Hanny' Bo§!!inugroho. MT.


- - NIP. l 9610t{l61987011001

... - -~~ ·- ~. --·-~·

SUR4BAYA
JAJ'l"UA..IU, 201 7
-----Halaman ini sengaja dikosongkan-----

viii
RANCANG BANGUN SISTEM PERINGATAN MELUAPNYA
AIR SUNGAI MELALUI SMS DAN RUNNING TEXT

Nama : Haris Inmas Ryandi


Pembimbing : Ir. Hanny Boedinugroho, MT.

ABSTRAK
Banjir yang terjadi di kota-kota besar hampir datang setiap tahun.
Pada umumnya banjir terjadi karena dipengaruhi oleh tingginya curah
hujan dan tanggul pada sungai tidak dapat menampung volume air.
Tidak siapnya masyarakat dalam menghadapi banjir yang datang dengan
tiba-tiba menyebabkan masyarakat mengalami kerugian yang lebih
besar. Kerugian yang diakibatkan oleh banjir sangat beragam, mulai dari
rusaknya interior rumah hingga barang elektronik. Masyarakat tidak siap
menghadapi bencana banjir dikarenakan tidak mengetahui ketinggian
permukaan air sungai yang mengalami pasang. Untuk mengetahui
ketinggian permukaan air sungai dapat diukur menggunakan sensor
ultrasonik, kemudian informasi tersebut akan disebarkan kepada
masyarakat dengan melalui SMS dan akan ditampilkan pada running
text yang ditempatkan pada lokasi yang ramai. Hasil pengujian alat
menunjukkan bahwa alat ini mampu menjadi solusi alternatif untuk
memberikan informasi kepada masyarakat mengenai ketinggian
permukaan air sungai melalui sms jika ketinggian sungai berada diantara
2 - 100 cm dan buzzer akan aktif jika ketinggian permukaan air sungai
berada diantara 2 - 50 cm dibawah tanggul.

Kata Kunci : Running Text, SMS, Sensor Ultrasonik, Mikrokontroler

ix
-----Halaman ini sengaja dikosongkan-----

x
RANCANG BANGUN SISTEM PERINGATAN MELUAPNYA
AIR SUNGAI MELALUI SMS DAN RUNNING TEXT

Name : Haris Inmas Ryandi


Advisor : Ir. Hanny Boedinugroho, MT.

ABSTRACT
Floods occurred in major cities almost come every year. In
general, the flooding occurred due to be affected by high rainfall and
river embankments on can not accommodate the volume of water.
Unprepared communities to cope with floods that come with sudden
causes people to experience greater losses. Losses caused by flooding is
very diverse, ranging from damage to the interior of the home to
electronic goods. Society is not ready to face floods due to not knowing
the water level of the river is experiencing ups. To determine the water
level of the river can be measured using ultrasonic sensors, then the
information will be disseminated to the public through SMS and will be
displayed in running text that is placed in crowded locations. The results
of the testing tool indicate that this device can be an alternative solution
to inform the public about the water level of the river via sms if the
height of the river is between 2-100 cm and the buzzer will be activated
if the water level of the river is between 2-50 cm below the
embankment.

Keywords : Running Text, SMS, Ultrasonic Sensor, Microcontroller

xi
-----Halaman ini sengaja dikosongkan-----

xii
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT atas rahmat dan
hidayah-Nya sehingga Tugas Akhir ini dapat terselesaikan dengan baik
dan tepat pada waktunya. Shalawat serta salam semoga selalu
dilimpahkan kepada Rasulullah Muhammad SAW, keluarga, sahabat,
dan umat muslim yang senantiasa meneladani beliau.
Tugas Akhir ini disusun untuk memenuhi sebagian persyaratan
guna menyelesaikan pendidikan Diploma-III pada Bidang Studi
Komputer Kontrol, Jurusan D3 Teknik Elektro, Fakultas Teknologi
Industri, Institut Teknologi Sepuluh Nopember Surabaya dengan judul:
RANCANG BANGUN SISTEM PERINGATAN MELUAPNYA
AIR SUNGAI MELALUI SMS DAN RUNNING TEXT
Dalam Tugas Akhir ini dibangun suatu sistem yang dapat
memberikan informasi kepada masyarakat terhadap tingginya
permukaan air sungai melalui sms dan running text. Tugas akhir ini
diharapkan dapat membantu menyelamatkan nyawa, harta benda dan
mengurangi risiko yang diakibatkan oleh banjir.
Penulis mengucapkan terima kasih kepada kedua orang tua penulis
yang telah memberikan dukungan penuh baik moril maupun materil,
Bapak Ir. Hanny Boedinugroho, MT. selaku dosen pembimbing yang
dengan sabar bersedia meluangkan waktunya untuk membimbing
penulis dari awal hingga terselesaikannya Tugas Akhir ini, dan teman-
teman angkatan 2013 atas semangat dan kerjasamanya. Penulis juga
mengucapkan banyak terima kasih kepada semua pihak yang telah
membantu baik secara langsung maupun tidak langsung dalam proses
penyelesaian Tugas Akhir ini.
Penulis menyadari dan memohon maaf atas segala kekurangan
pada Tugas Akhir ini. Akhir kata, semoga Tugas Akhir ini dapat
bermanfaat dalam pengembangan keilmuan di kemudian hari.

Surabaya, 10 Januari 2017

Penulis

xiii
-----Halaman ini sengaja dikosongkan-----

xiv
DAFTAR ISI

HALAMAN

HALAMAN JUDUL .......................................................................... i


HALAMAN JUDUL .......................................................................... i
PERNYATAAN KEASLIAN TUGAS AKHIR................................. v
HALAMAN PENGESAHAN ......................................................... vii
ABSTRAK ....................................................................................... ix
ABSTRACT....................................................................................... xi
KATA PENGANTAR .................................................................... xiii
DAFTAR ISI ................................................................................... xv
DAFTAR GAMBAR .................................................................... xvii
DAFTAR TABEL .......................................................................... xix
BAB I PENDAHULUAN ..................................................................... 1
1.1 Latar Belakang ........................................................................... 1
1.2 Permasalahan ............................................................................. 1
1.3 Tujuan ........................................................................................ 2
1.4 Batasan Masalah......................................................................... 2
1.5 Metodologi ................................................................................. 2
1.6 Sistematika Laporan ................................................................... 3
1.7 Relevansi.................................................................................... 4
BAB II TEORI DASAR ........................................................................ 5
2.1 Tinjauan Pustaka ........................................................................ 5
2.2 Sensor Ultrasonik ....................................................................... 6
2.3 Mikrokontroler ........................................................................... 9
2.4 Modul GSM ............................................................................. 12
2.5 Running Text ............................................................................ 14
2.5.1 Led Matrix ..................................................................... 14
2.6 Arduino IDE............................................................................. 16
BAB III PERANCANGAN DAN PEMBUATAN .............................. 19
3.1 Perancangan Sistem .................................................................. 19
3.2 Perancangan Hardware Bagian Transmitter ............................. 21
3.2.1 Perancangan Sistem Minimum Mikrokontroler ATmega
328................................................................................. 21

xv
3.2.2 Rangkaian Sensor Ultrasonik dengan Mikrokontroler ..... 23
3.2.3 Rangkaian Modul GSM dengan Mikrokontroler
ATmega328.................................................................... 25
3.3 Perancangan Software Bagian Transmitter ............................... 25
3.3.1 Perancangan Software Sensor Ultrasonik ........................ 26
3.3.2 Perancangan Software Modul GSM ................................ 28
3.4 Perancangan Hardware Bagian Receiver................................... 30
3.4.1 Perancangan Minimum Sistem Mikrokontroler ATmega
16 .................................................................................. 31
3.4.2 Rangkaian Modul GSM dengan Mikrokontroler ATmega
16 .................................................................................. 32
3.4.3 Running Text .................................................................. 33
3.5 Perancangan Software Bagian Receiver ..................................... 34
BAB IV HASIL UJI COBA ................................................................37
4.1 Uji Coba Sensor Ultrasonik ....................................................... 37
4.2 Uji Coba Modul GSM ............................................................... 39
4.2.1 Uji Coba Modul GSM dengan HP .................................. 39
4.2.2 Uji Coba Modul GSM dengan Modul GSM .................... 40
4.3 Uji Coba Running Text ............................................................. 41
4.4 Uji Coba Sistem ........................................................................ 42
BAB V PENUTUP ..............................................................................45
5.1 Kesimpulan............................................................................... 45
5.2 Saran ....................................................................................... 45
DAFTAR PUSTAKA ...................................................................... 47
LAMPIRAN A LISTING PROGRAM ................................................49
A.1 Listing Program Bagian Transmitter ......................................... 49
A.2 Listing Program Bagian Receiver ............................................. 53
LAMPIRAN B BENTUK ALAT ........................................................61
B.1 Dokumentasi Alat ...................................................................... 61
LAMPIRAN C DATASHEET ..............................................................63
C.1 ATmega328............................................................................... 63
C.2 Sensor Ultrasonik HC - SR04 .................................................... 67
C.3 Modul GSM SIM900................................................................. 70
DAFTAR RIWAYAT HIDUP.............................................................75

xvi
DAFTAR GAMBAR

HALAMAN

Gambar 2.1 Cara Kerja Sensor Ultrasonik ......................................... 7


Gambar 2.2 Gambar Sensor Ultrasonik HC-SRF04............................ 7
Gambar 2.3 Timing Diagram Sensor Ultrasonik HC-SRF04 ............... 8
Gambar 2.4 IC ATmega328 ............................................................... 9
Gambar 2.5 Pin ATmega328............................................................ 10
Gambar 2.6 IC ATmega16 ............................................................... 11
Gambar 2.7 Pin ATmega16 ............................................................. 11
Gambar 2.8 Modul GSM SIM900 .................................................... 13
Gambar 2.9 Contoh Tampilan Running Text .................................... 14
Gambar 2.10 Led ............................................................................... 15
Gambar 2.11 Led Matrix ................................................................... 16
Gambar 2.12 Tampilan Arduino IDE ................................................. 18
Gambar 3.1 Diagram Blok Alat ....................................................... 19
Gambar 3.2 Sistem Minimum ATmega328 ...................................... 22
Gambar 3.3 Rangkaian Regulator pada Sistem Minimum ................ 23
Gambar 3.4 Bentuk Fisik Sistem Minimum ATmega328 ................. 23
Gambar 3.5 Sensor Ultrasonik dihubungkan ke Mikrokontroler
ATmega328 .................................................................. 24
Gambar 3.6 Modul GSM dihubungkan ke Mikrokontroler
ATmega328 .................................................................. 25
Gambar 3.7 Flow Chart untuk Sensor Ultrasonik ............................. 26
Gambar 3.10 Flow Chart untuk modul GSM ..................................... 29
Gambar 3.15 Skematik Rangkaian Minimum Sistem ATmega16 ....... 31
Gambar 3.16 Modul GSM dihubungkan ke Mikrokontroler
ATmega16.................................................................... 32
Gambar 3.17 Rangkaian Dalam Led Matrix 8x8 ................................ 33
Gambar 3.18 SMS ............................................................................. 34
Gambar 3.19 Flow Chart untuk Mengambil Isi SMS ......................... 35
Gambar 3.20 Flow Chart untuk Membuat Array................................ 36
Gambar 4.1 Uji Coba Sensor Ultrasonik .......................................... 38
Gambar 4.2 Tampilan Data pada HP ................................................ 40
Gambar 4.3 Uji Coba Running Text melalui SMS ............................ 41
Gambar 4.4 Uji Coba Running Text menampilkan Huruf ................. 41

xvii
Gambar 4.5 Uji Coba Running Text menampilkan Angka ................. 42
Gambar 4.6 Uji Coba Sistem Pengukur Ketinggian Air di Sungai
Wonorejo Surabaya ....................................................... 43

xviii
DAFTAR TABEL

HALAMAN

Tabel 4.1 Hasil Uji Coba Sensor Ultrasonik ....................................... 38


Tabel 4.2 Hasil Uji Coba Pengukuran Ketinggian Sungai ................... 43

xix
BAB I
PENDAHULUAN

1.1 Latar Belakang


Bencana merupakan peristiwa yang mengancam dan mengganggu
kehidupan masyarakat yang disebabkan baik oleh faktor alam maupun
faktor manusia sehingga mengakibatkan timbulnya korban jiwa
manusia, kerusakan lingkungan, kerugian harta benda, dan dampak
psikologis. Banjir merupakan bencana yang hampir selalu terjadi pada
setiap tahun. Bencana tersebut sering kali meresahkan masyarakat dan
pemerintah. Kini banjir tak semata akibat faktor alam, banyak faktor
yang dapat mempengaruhi suatu wilayah tersebut terendam banjir.
Secara umum terjadinya banjir dipengaruhi oleh tingginya curah hujan
dan tanggul pada sungai tidak dapat menampung volume air. Jika badan
sungai tidak mampu menampung, air akan menggenangi daratan
disekitarnya. Volume air sungai yang tinggi dapat juga disebabkan oleh
tidak lancarnya arus sungai.
Banyak dampak yang ditimbulkan oleh banjir, mulai dari kerugian
secara materi hingga dapat menimbulkan korban jiwa jika bencana
terebut tidak ditangani dengan benar. Kurangnya informasi mengenai
meluapnya air sungai pada masyarakat menyebabkan kerugian yang
semakin tinggi. Hal tersebut dikarenakan masyarakat yang rawan
terkena banjir tidak siap siaga. Kerugian yang diakibatkan oleh banjir
dapat diminimalisir jika masyarakat waspada dan bersiaga akan
datangnya banjir. Salah satu upaya menyiapkan kesiagaan masyarakat
dalam menghadapi banjir adalah dengan mengetahui ketinggian air pada
sungai. Upaya inilah yang disebut peringatan dini. Semakin cepat dan
akurat sistem peringatan dini, maka semakin cepat masyarakat
mempersiapkan diri menghadapi bencana banjir. Untuk mengidentifikasi
ketinggian air sungai agar masyarakat tidak perlu lagi melihat secara
langsung ke sungai, maka perlu dibuatkan sebuah alat yang dapat
mengetahui ketinggian air sungai.

1.2 Permasalahan
Bencana alam banjir merupakan bencana alam yang sangat
meresahkan warga yang bertempat tinggal di sekitar sungai. Kurangnya
informasi keadaan permukaan air sungai yang mengalami pasang

1
kepada masyarakat, membuat masyarakat tidak bersiap siaga dengan
cepat menghadapi banjir dan dapat mengalami kerugian materi seperti
rusaknya barang-barang elektronik dan perabotan lainnya. Selama ini
masyarakat dapat mencegah masuknya air banjir yang datang
kerumahnya dengan cara membuat tanggul di pagar rumah
menggunakan karung yang berisi pasir. Selain itu masyarakat juga
menempatkan barang-barang yang dapat rusak karena air ke tempat
yang lebih tinggi. Dengan masyarakat yang mengetahui ketinggian
permukaan air sungai lebih awal, maka masyarakat juga dapat
mempersiapkan datangnya banjir dengan lebih awal juga, sehingga
kerugian dapat sedikit dicegah.

1.3 Tujuan
Dengan adanya tugas akhir ini, masyarakat dapat mengetahui
tinggi permukaan air sungai tanpa melihat secara langsung ke sungai.
Informasi ketinggian air sungai tersebut digunakan sebagai peringatan
banjir. Sehingga dengan adanya informasi tersebut, masyarakat dapat
bersiap siaga akan datangnya banjir, dan dapat mencegah terjadinya
kerugian yang lebih besar. Masyarakat juga dapat berevakuasi pada saat
permukaan air sungai sangat tinggi untuk menghindari banjir bandang
yang mungkin dapat datang.

1.4 Batasan Masalah


Dalam pembuatan tugas akhir ini, diberikan batasan permasalahan
agar pembahasan tidak meluas dan menyimpang dari tujuan. Pada tugas
akhir ini menggunakan sensor ultrasonik SRF-04, ATmega328, modul
GSM SIM900, ATmega16, dan running text. Sensor ultrasonik
ditempatkan pada ketinggian yang sama dengan tanggul. Pengukuran
ketinggian permukaan air sungai hanya dapat mendeteksi mulai dari 2
cm hingga tidak lebih dari 400 cm. Keterlambatan pengiriman data
ketinggian permukaan air sungai kepada penerima diabaikan.

1.5 Metodologi
Dalam pelaksanaan tugas akhir rancang bangun sistem peringatan
meluapnya air sungai melalui sms dan running text, ada beberapa
tahapan yang dapat diuraikan. Penelitian ini dilakukan melalui beberapa

2
tahapan metodologi, yaitu, studi literatur, pembuatan perangkat keras,
pembuatan perangkat lunak, uji coba dan uji ukur, dan yang terakhir
adalah penyusunan laporan berupa buku Tugas Akhir.
Pada tahap studi literatur dipelajari beberapa makalah yang
berkaitan dengan sensor ultrasonic yaitu mempelajari cara kerja dan
karakteristik sensor, mempelajari sistem komunikasi antara
mikrokontroler dengan modul GSM dan penggunaan modul GSM untuk
sms, dan penggunaan running text. Pada tahap pembuatan perangkat
keras dilakukan perancangan alat sesuai dengan data yang telah
didapatkan dari studi literatur. Pada tahap pembuatan perangkat lunak,
dilakukan pembuatan program pada Arduino IDE. Yang terakhir adalah
melakukan pengujian alat yang telah dibuat sehingga dapat diketahui
alat bekerja sesuai dengan perencanaan atau tidak.

1.6 Sistematika Laporan


Pembahasan Tugas Akhir ini akan dibagi menjadi lima Bab dengan
sistematika sebagai berikut:

Bab I Pendahuluan
Bab ini meliputi latar belakang, permasalahan, tujuan
penelitian, metodologi penelitian, sistematika laporan,
dan relevansi.

Bab II Teori Dasar


Bab ini menjelaskan tentang perangkat keras dan
perangkat lunak. Dari sisi perangkat keras, terdapat
beberapa komponen yaitu sensor ultrasonik,
mikrokontroler, modul GSM, dan running text.
Sedangkan dari sisi perangkat lunak yaitu Arduino
IDE.

Bab III Perancangan Sistem


Bab ini membahas desain dan perancangan perangkat
keras dan perangkat lunak berdasarkan teori dasar
pada Bab II.

3
Bab IV Hasil Uji Coba Sistem
Bab ini memuat hasil uji coba sistem tersebut.

Bab V Penutup
Bab ini berisi kesimpulan dan saran dari hasil
pembahasan yang telah diperoleh.

1.7 Relevansi
Hasil yang diperoleh dari tugas akhir ini diharapkan memberikan
solusi alternatif untuk mengurangi dampak banjir dengan cara
menginformasikan kepada masyarakat sekitar sungai agar bersiaga pada
saat permukaan air sungai meluap. Selain itu, dengan adanya tugas akhir
ini dapat menjadi sarana pembelajaran dengan menerapkan hal-hal yang
telah diterima selama di bangku perkuliahan.

4
2 BAB II TEORI DASAR
TEORI DASAR

Pada bab ini menjelaskan mengenai teori-teori yang mendasari


perancangan dan pembuatan tugas akhir. Teori yang mendukung
penyelesaian tugas akhir ini diantaranya adalah sensor ultrasonik,
mikrokontroler, modul GSM, running text.

2.1 Tinjauan Pustaka


Banjir merupakan sebuah kondisi daratan yang terendam dengan
air. Jika daratan yang menjadi permukiman warga tersebut terendam air,
kegiatan warga sehari-hari akan menjadi terganggu. Pada umumnya,
banjir yang menggenangi sekitar sungai terjadi karena meluapnya air
sungai. Air yang menggenang di area tersebut dapat memasuki rumah-
rumah warga. Air pada umumnya masuk melalui depan rumah. Selain
air tergenang di jalan yang makin lama makin tinggi, air juga dapat
memasuki rumah yang disebabkan oleh gelombang air saat mobil atau
motor melaju dengan kencang karena takut kendaraannya mogok.
Kedatangan banjir tidak hanya mengganggu kegiatan masyarakat,
datangnya air banjir yang semakin tinggi akan menyebabkan perabotan
rumah tangga yang terendam dan menyebabkan peralatan elektronik
yang rusak.
Dampak banjir tersebut dapat dikurangi maupun dicegah jika
masyarakat tanggap dan siap dalam menghadapi datangnya banjir.
Untuk menjadikan masyarakat siap maka perlu untuk mengetahui
ketinggian air sungai agar dapat bersiaga menghadapi datangnya banjir.
Terdapat beberapa cara untuk mengurangi kerugian yang diakibatkan
oleh banjir, pada umumnya masyarakat yang berada di daerah rawan
banjir mencegah masuknya air banjir ke dalam rumah dengan cara
menumpuk karung-karung pasir di depan rumah agar menutupi jalannya
air yang akan menuju kedalam rumah. Warga juga dapat mencegah
rusaknya barang-barang berharga dengan memindahkan barang tersebut
ke tempat yang lebih tinggi.
Agar dapat memberikan peringatan dini akan adanya bencana
banjir, diperlukan suatu sistem yang dapat mendeteksi terjadinya
perubahan ketinggian air sungai. Sensor ultrasonik merupakan sensor
pengukur jarak yang akan digunakan pada tugas akhir ini untuk

5
mengukur ketinggian air. Hasil pengukuran ketinggian air sungai
tersebut akan di kirimkan kepada running text dan alarm yang dipasang
pada tempat yang strategis agar informasi tersebut menjangkau wilayah
yang luas. Pengiriman data tersebut dilakukan melalui sms agar dapat
berkomunikasi dengan lokasi yang berjauhan. Running text merupakan
sebuah papan informasi yang terdiri dari led yang disusun dengan cara
tertentu.
Untuk memahami lebih dalam tentang persoalan yang dibahas pada
tugas akhir ini, berikut perlu dijelaskan konsep teori terkait dengan
sistem peringatan meluapnya air sungai melalui sms dan running text.
Uraian teori tersebut meliputi hardware dan software. Dari sisi
hardware terdapat bebrapa komponen yaitu uraian tentang sensor
ultrasonik, mikrokontroler, modul gsm, running text, dan alarm.
Sedangkan pada sisi software terdapat satu software yang digunakan
pada pemrograman mikrokontroler yaitu menggunakan Arduino IDE.

2.2 Sensor Ultrasonik


Sensor adalah sebuah peralatan yang dapat digunakan untuk
mendeteksi adanya perubahan lingkungan fisik. Sensor jarak merupakan
sebuah peralatan yang dapat melakukan pengukuran serta mengetahui
letak dari suatu benda. Untuk mengetahui ketinggian permukaan air,
terdapat berbagai macam sensor yang dapat digunakan. Gelombang
ultrasonik adalah getaran gelombang dengan frekuensi yang terlalu
tinggi untuk bisa didengar oleh telinga manusia, yaitu kira-kira di atas
20 kiloHertz, sedangkan manusia hanya dapat mendengar bunyi dengan
frekuensi antara 20 Hz sampai 20 kHz. Sensor ultrasonik merupakan
sebuah alat elektronika yang memanfaatkan gelombang ultrasonik untuk
mengukur jarak. Cara kerja sensor ini didasarkan pada prinsip dari
pantulan suatu gelombang suara sehingga dapat dipakai untuk
menafsirkan jarak suatu benda. Metode pengukuran sensor ultrasonik
tersebut dapat dilihat pada gambar 2.1.
Sensor ultrasonik terdiri atas rangkaian pemancar yang disebut
transmitter dan rangkaian penerima ultrasonik yang disebut receiver.
Trasnmitter merupakan sebuah alat yang berfungsi untuk memancarkan
gelombang ultrasonik, waktu tempuh gelombang ultrasonik yang
dipancarkan hingga gelombang tersebut menyentuh sebuah benda di
depannya disebut dengan waktu ½ tempuh.

6
Gambar 2.1 Cara Kerja Sensor Ultrasonik

Ketika gelombang ultrasonik mengenai benda penghalang, maka


sinyal ini dipantulkan dan diterima oleh rangkaian receiver yang
terdapat pada modul sensor. Waktu tempuh gelombang ultrasonik yang
dipantulkan hingga dapat diterima kembali oleh bagian receiver pada
sensor dapat disebut dengan ½ waktu tempuh. Sehingga waktu tempuh
total gelombang ultrasonik tersebut adalah waktu tempuh pada saat
gelombang ultrasonik dikirimkan hingga dapat diterima kembali.
Pada sensor ultrasonik ini, waktu tempuh tersebut diukur di pin
Echo pada saat bernilai “1”. Waktu tempuh total tersebut akan diproses
pada mikrokontroler untuk menghitung jarak terhadap benda yang
memantulkan gelombang ultrasonik tersebut.

Gambar 2.2 Gambar Sensor Ultrasonik HC-SRF04

Sensor ultrasonik yang akan digunakan pada tugas akhir ini adalah
HC-SRF04. Sensor tersebut merupakan sensor ultrasonik yang sudah
mencangkup rangkaian transmitter dan receiver. Pada pengukuran

7
maksimum, sensor ini dapat digunakan untuk mengukur jarak hingga
sejauh 4 meter. Alat ini memiliki 4 pin, yaitu pin Vcc, Gnd, Trigger,
dan Echo. Pin Vcc dihubungkan ke kutub positif sumber DC
bertegangan 5V dan Gnd untuk dihubungkan ke kutub negatif. Pin
Trigger berfungsi untuk membuat keluarnya sinyal dari sensor dan pin
Echo digunakan untuk menangkap sinyal pantul dari benda yang
menghalangi. Modul sensor ultrasonik tersebut dapat dilihat pada
gambar 2.2.
Alat ini dapat digunakan dengan cara memberikan tegangan positif
pada pin trigger selama 10uS, maka sensor akan mengirimkan 8 step
sinyal utrasonik dengan frekuensi 40kHz. Selanjutnya, sinyal akan
diterima pada pin echo. Untuk mengukur jarak benda yang
memantulkan sinyal tersebut, maka selisih waktu ketika mengirim dan
menerima sinyal digunakan untuk menentukan jarak benda tersebut. Jika
dalam waktu lebih dari yang ditentukan pin echo tidak menerima
kembali sinyal ultrasonik tersebut, maka tidak ada sesuatu yang
terdeteksi di depan sensor tersebut. Timing diagram dari sensor tersebut
dapat dilihat pada gambar 2.3.
Sensor utrasonik ini akan ditempatkan di tepi sungai. Dengan
rumus tertentu yang dituliskan ke dalam mikrokontroler maka
ketinggian permukaan air akan diketahui. Kemudian data ketinggian air
sungai tersebut diproses oleh mikrokontroler untuk dikirmkan kepada
perangkat lain melalui sms.

Gambar 2.3 Timing Diagram Sensor Ultrasonik HC-SRF04

8
2.3 Mikrokontroler
Dalam merancang aplikasi elektronika digital dibutuhkan sebuah
alat/komponen yang dapat menghitung, mengingat, dan mengambil
pilihan serta digunakan sebagai pemrosesan data. Mikrokontroler adalah
sebuah chip yang dapat menerima sinyal input, mengolahnya dan
memberikan sinyal output sesuai dengan program yang diisikan ke
dalamnya.
Sinyal input mikrokontroler berasal dari sensor yang merupakan
informasi dari lingkungan sedangkan sinyal output ditujukan kepada
aktuator yang dapat memberikan efek ke lingkungan. Jadi secara
sederhana mikrokontroler dapat diibaratkan sebagai otak dari suatu
perangkat/produk yang mampu berinteraksi dengan lingkungan
sekitarnya. ATmega merupakan sebuah chip mikrokontroler 8 bit.
Beberapa tipe mikrokontroler yang sama dengan ATMega8 ini antara
lain ATMega8535, ATMega16, ATMega32, ATmega328, yang
membedakan antara mikrokontroler diantaranya, ukuran memori,
banyaknya pin input/output, peripherial (USART, timer, counter, dll).
Dari segi ukuran fisik, ATMega328 memiliki ukuran fisik lebih kecil
dibandingkan dengan beberapa mikrokontroler diatas. Bentuk fisik dari
Atmega328 dapat dilihat pada gambar 2.4 dibawah ini. Pada gambar 2.5
di bawah ini, chip Atmega328 memiliki 3 buah port utama yang menjadi
input atau output yaitu port B, port C, port D dengan total pin sebanyak
23 pin.

Gambar 2.4 IC ATmega328

9
Mikrokontroler ini memiliki beberapa fitur antara lain:
 Memiliki EEPROM (Electrically Erasable Programmable
Read Only Memory) sebesar 1KB sebagai tempat penyimpanan
data semi permanen karena EEPROM tetap dapat menyimpan
data meskipun catu daya dimatikan,
 Memiliki SRAM (Static Random Access Memory) sebesar 2KB,
 Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM
(Pulse Width Modulation) output,
 32 x 8-bit register serba guna,
 Dengan clock 16 MHz kecepatan mencapai 16 MIPS,
 32 KB Flash memory dan pada arduino memiliki bootloader
yang menggunakan 2 KB dari flash memori sebagai
bootloader, dan
 130 macam instruksi yang hampir semuanya dieksekusi dalam
satu siklus clock.

Gambar 2.5 Pin ATmega328

ATmega328 merupakan tipe mikrokontroler yang akan digunakan


untuk memproses sensor ultrasonik agar dapat menentukan ketinggian
permukaan air sungai. Sedangkan mikrokontroler yang digunakan pada
bagian receiver untuk menerima pesan SMS dan akan menampilkannya
ke running text adalah ATmega16. Mikrokontroler ini mempunyai lebih
banyak pin dibandingkan dengan ATmega328. ATmega16 mempunyai

10
40 kaki pin. Bentuk fisik dari ATmega16 dapat dilihat pada gambar 2.6
dibawah ini.

Gambar 2.6 IC ATmega16

Konfigurasi pin ATmega16 pada tipe DIP 40 pin dapat dilihat pada
gambar 2.7 berikut. Atmega16 mempunyai 8 pin untuk port A0 hingga
A7, 8 pin untuk port B0 hingga B7, 8 pin untuk port C0 hingga C7, 8 pin
untuk port D0 hingga D7, dan pin lainnya untuk sumber tegangan dan
pin untuk xtal.

Gambar 2.7 Pin ATmega16

11
2.4 Modul GSM
GSM merupakan teknologi komunikasi selular. Teknologi ini
seringkali diterapkan pada komunikasi bergerak, khususnya telepon
genggam. GSM dijadikan standar global untuk komunikasi selular
sekaligus sebagai teknologi yang paling banyak digunakan orang di
seluruh dunia. Baik sistem yang menggunakan jaringan selular berbasis
di sekitar stasiun siaran atau teknologi satelit yang terhubung ke sinyal
dari orbit, keduanya dapat menjadi bagian dari jaringan GSM. Telepon
selular yang menggunakan teknologi jenis ini pada dasarnya
menggunakan Subscriber Identify Module Card (SIM Card). Salah satu
fungsi utama dari jaringan GSM adalah untuk memfasilitasi akses yang
lebih mudah pada platform seluler dan satelit di seluruh jalur
internasional.
Layanan pesan singkat atau yang biasa disebut dengan sms (Short
Message Service) adalah sebuah fasilitas untuk mengirim suatu pesan
dan menerima suatu pesan pendek. Umumnya, sms dilakukan melalui
telepon genggam. Sebuah pesan sms mempunyai ukuran maksimal
dalam sekali pengiriman. Sesuai dengan namanya, pesan singkat ini
hanya mampu maksimal mengirimkan 160 karakter dalam setiap
pengiriman. Adapula beberapa metode untuk mengirim pesan yang lebih
dari 160 karakter, tetapi seorang pengguna harus membayar lebih dari
sekali. Sms bisa pula untuk mengirim gambar, suara dan video, sms
dengan bentuk tersebut disebut dengan MMS. Layanan sms
memudahkan sesorang untuk mengirimkan pesan kepada ponsel lainnya
yang berjarak sangat jauh. Hal tersebut menjadi kelebihan untuk
menutupi kekurangannya yaitu dengan pengiriman maksimal 160
karakter setiap pengiriman jika dibandingkan dengan perangkat
komunikasi wireless lainnya seperti wifi, bluetooth, dan infrared.
Mikrokontroler dapat mengirimkan pesan singkat tersebut dengan
menggunakan sebuah modul yang memiliki teknologi GSM. Modul
tersebut memungkinkan mikrokontroler untuk mengirimkan pesan ke
mikrokontroler lain maupun ke telepon genggam. Modul GSM sangat
beragam di pasaran, dengan keunggulannya masing-masing. Pada tugas
akhir ini, modul gsm dengan tipe SIM900 yang akan digunakan untuk
berkomunikasi melalui sms. Bentuk fisik modul tersebut dapat dilihat
pada gambar 2.8 dibawah ini.

12
Gambar 2.8 Modul GSM SIM900

Selain digunakan untuk pengiriman sms, modul tersebut dapat


digunakan untuk komunikasi sms, modul ini juga dapat digunakan untuk
voice call dan data call. Untuk melakukan voice call, modul tersebut
perlu ditambahkan sebuah microphone dan speaker untuk berbicara dan
mendengar lawan bicaranya. Data call dapat digunakan untuk
mengakses internet, dengan demikian mikrokontroler dapat mengakses
website.
Modul ini dapat berkomunikasi dengan mikrokontroler melalui
komunikasi serial, yaitu menggunakan komunikasi serial. Pin TX dan
RX pada mikrokontroler akan dihubungkan dengan pin TX dan RX
yang berada pada modul GSM. Komunikasi melalui sms ini difungsikan
untuk mengirimkan kondisi ketinggian permukaan air.
AT+Command adalah sebuah kumpulan perintah yang
digabungkan dengan karakter lain setelah karakter ‘AT’ yang biasanya
digunakan pada komunikasi serial. ATCommand dapat diberikan kepada
modul GSM/CDMA untuk mengirim dan menerima data berbasis
GSM/GPRS, atau mengirim dan menerima SMS. SIM900 GSM/GPRS
dikendalikan melalui perintah AT.
Berikut adalah beberapa perintah AT command yang sering
digunakan untuk modul GSM:
 AT+CMGR : membaca pesan masuk,
 AT+CMGS : digunakan untuk mengirim sms,
 AT+CMGD : menghapus sms,
 AT+CNMI : indikasi pesan baru,
 AT+CMGF : memilih format SMS.

13
2.5 Running Text
Susunan led yang menyala secara beraturan untuk membentuk
suatu karakter huruf ataupun angka dan gambar dapat disebut dengan
running text. Alat ini berfungsi untuk menampilkan sebuah informasi.
Contoh bentuk fisik running text tersebut dapat dilihat ada gambar di
bawah 2.9 ini.

Gambar 2.9 Contoh Tampilan Running Text

Sebelum ditemukannya running text, manusia mempunyai berbagai


macam cara konvensional untuk memberikan suatu peringatan atau
memberikan informasi. Seseorang akan menuliskan sebuah pesan pada
selembar kertas surat kepada yang dituju untuk memberikan sebuah
informasi. Jika yang dituju lebih dari seorang atau publik maka hal
tersebut akan menyusahkan, karena akan membuat pemberi informasi
tersebut menulis banyak surat. Biasanya, untuk pesan yang mempunyai
sifat umum untuk dipublikasikan, maka pemberi informasi akan
menuliskannya di kertas atau papan tulis yang besar dan menaruhnya di
tempat yang ramai. Tentunya kertas yang telah digunakan tidak dapat
digunakan kembali untuk informasi selanjutnya. Dengan ditemukannya
running text, untuk menuliskan sebuah informasi ke publik secara
berkali-kali tidak akan bermasalah, karena informasi yang tampil pada
running text dapat diubah-ubdah tanpa menimbulkan sampah.

2.5.1 Led Matrix


Led mempunyai kutub positif dan negatif (p-n) untuk dihubungkan
ke sumber daya dan hanya akan menyala bila diberikan arus maju. Ini
dikarenakan led terbuat dari bahan semikonduktor yang hanya akan

14
mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah
sebaliknya.

Gambar 2.10 Led

Bila led diberikan arus terbalik, hanya akan ada sedikit arus yang
melewati chip led tersebut. Hal tersebut menyebabkan led tidak akan
mengeluarkan cahaya, bahkan dapat menyebabkan led tersebut rusak.
Meskipun tegangan maju yang diberikan, led dapat rusak jika besar
tegangan tersebut melebihi batas dari tegangan led yang telah
ditentukan.
Desain rangkaian sirkuit elektronika yang menggunakan led dapat
disusun secara seri maupun paralel. Sebuah led yang disusun secara
berjajar dengan jumlah tertentu dapat disebut dengan led matrix. Bentuk
fisik dari led tersebut dapat dilihat pada gambar 2.10.
Led matrix yang akan digunakan pada running text untuk
menampilkan data ketinggian air dan untuk menampilkan pesan
kesiagaan akan terjadinya banjir tersebut berdimensi 8x40 piksel dengan
total 320 buah led yang akan dipakai. Led matrix 8x40 tersebut disusun
menggunakan 5 led matrix berdimensi 8x8 yang ada di pasaran secara
memanjang. Led matrix tersebut dapat dilihat pada gambar 2.11. Led
matrix tersebut dapat menampilkan sebuah pesan dikarenakan sistem
menyalakan led tersebut yang diatur sedemikian rupa. Pengaturan nyala
led tersebut dituliskan pada program yang akan menjadi kontroler
running text. Pesan yang tampil pada running text tersebut yang akan
menjadi peringatan akan terjadinya kenaikan permukaan air sungai. Hal

15
tersebut dapat membuat masyarakat dapat mempersiapkan lebih awal
untuk mengurangi kerugian akibat banjir.

Gambar 2.11 Led Matrix

Running text ini dapat menampilkan teks jika mempunyai masukan


berupa array yang bertipe string. Modul GSM dari bagian transmitter
mengirim SMS kepada modul GSM yang berada pada bagian receiver
yang kemudian SMS yang diterima tersebut diubah untuk dimasukkan
kedalam array yang bertipe string. Kemudian kontroler dari running text
akan mengolah teks tersebut untuk ditampilkan.

2.6 Arduino IDE


Arduino adalah pengendali mikro yang bersifat open source.
Semua orang dapat mengunduh software Arduino IDE secara gratis.
Perangkat keras dari alat ini memiliki prosesor Atmel AVR dan
softwarenya memiliki bahasa sendiri. Arduino menggunakan keluarga
mikrkontroler ATmega yang dirilis oleh Atmel sebagai prosesornya.
Namun terdapat individu atau perusahaan yang membuat clone arduino
dengan menggunakan mikrokontrler lain tetapi tetap kompatibel dan
dapat diprogram dengan Arduino IDE. Selain melalui USB, program
yang akan dimasukkan ke perangkat keras Arduino dapat melalui port
ISP. Software pemrograman ini juga bersifat cross-platform yang
memungkinkan untuk dijalanan di berbagai operating system seperti
Windows, Macintosh OSX, dan Linux. Penulisan program pada Arduino

16
menggunakan programming environment turunan dari bahasa
pemrograman C yang mudah dimengerti. Tampilan dari Arduino IDE
dapat dilihat pada gambar 2.12. Arduino IDE terdiri dari editor
program, dan beberapa option pada toolbar. Editor program merupakan
sebuah window yang memungkinkan pengguna menulis dan mengedit
program. Pada toolbar terdapat beberapa pilihan untuk mengatur pada
port berapa Arduino berhubungan dengan komputer, bagian verify dan
upload. Pilihan verify berfungsi untuk mendeteksi jika terdapat
kesalahan pada penulisan program yang terdapat pada bagian editor
program. Jika program terdapat kesalahan, maka akan muncul
peringatan. Program dapat diunggah ke papan mikrokontroler jika sudah
benar.

Berikut adalah beberapa perintah dasar yang sering digunakan pada


Arduino IDE:
 setup() : digunakan untuk inisialisasi variable, pin
mode, penggunaan library, dan lain sebagainya. Hanya
dijalankan sekali, pada saat Arduino pertama kali dinyalakan,
atau setelah reset,
 loop() : setelah function setup(), digunakan function
loop() yang sesuai dengan namanya, untuk menjalankan
program utama dalam Arduino secara berulang terus-menerus,
hingga Arduino dimatikan atau reset,
 pinMode() : digunakan untuk melakukan konfigurasi
secara spesifik fungsi dari sebuah pin, apakah digunakan
sebagai input atau sebagai output,
 digitalRead() : digunakan untuk membaca nilai pin digital
yang spesifik, apakah bernilai HIGH atau LOW,
 digitalWrite() : selain membaca nilai, ada juga function
untuk menuliskan atau memberikan nilai pada suatu pin digital
secara spesifik. Dengan function digitalWrite() memberikan
nilai pin digital yang spesifik apakah bernilai HIGH atau LOW,
dapat dilakukan,
 delay() : sesuai dengan namanya, function delay()
digunakan untuk memberikan waktu tundaan (dalam satuan
millisecond) untuk mengerjakan satu baris program ke baris
selanjutnya.

17
Gambar 2.12 Tampilan Arduino IDE

18
3 BAB III PERANCANGAN SISTEM KONTROL

PERANCANGAN DAN PEMBUATAN

Pada bab ini akan membahas mengenai tahapan yang dilakukan


dalam perancangan dan pembuatan sistem peringatan meluapnya air
sungai melalui sms dan running text. Dalam perancangan dan
pembuatan tugas akhir ini terbagi menjadi dua yaitu perancangan
perangkat keras dan perangkat lunak. Sistem ini mempunyai dua bagian
besar yaitu bagian transmitter dan bagian receiver, sehingga masing-
masing kedua bagian besar tersebut akan dijelaskan mengenai bagian
perangkat keras dan perangkat lunak. Sebelum membahas perancangan
dan pembuatan, pada bab ini akan membahas perancangan sistem secara
keseluruhan terlebih dahulu.

3.1 Perancangan Sistem


Agar perancangan dan pembuatan alat dapat berjalan dengan lancar
dan baik, maka sebelum melakukan proses tersebut dilakukan
pembuatan diagram blok alat dari sistem tersebut. Sistem ini dibagi
menjadi dua bagian besar yaitu bagian transmitter dan bagian receiver.
Bagian transmitter terdiri dari sensor ultrasonik, mikrokontroler dengan
IC ATmega328 dan modul GSM sebagai pengirim data melalui sms.
Sedangkan pada bagian receiver terdiri dari handphone(HP), modul
GSM sebagai penerima data melalui sms, mikrokontroler dengan IC
ATmega16, rangkaian running text, dan alarm.

Gambar 3.1 Diagram Blok Alat

19
Sistem dari alat ini dapat dilihat pada gambar 3.1. Pada bagian
transmitter berfungsi untuk mengirimkan data yang berisi ketinggian
permukaan air sungai kepada bagian receiver. Sensor ultrasonik
digunakan untuk mendeteksi ketinggian permukaan air yang akan
ditempatkan pada pinggiran tanggul sungai. Kemudian ketinggian
permukaan tersebut diproses oleh mikrokontroler ATmega328 yang
diprogram oleh Arduino IDE. Data tersebut akan diproses untuk
kemudian dikirimkan kepada running text melalui sms menggunakan
modul GSM. Selain dikirimkan kepada running text, sms ini akan
dikirimkan kepada masyarakat yang nomor teleponnya telah di
daftarkan. Nomor yang telah di daftarkan tersebut akan dimasukkan ke
dalam program bagian transmitter. Untuk berkomunikasi melalui sms,
sistem ini menggunakan dua buah modul GSM dengan tipe SIM900.
Satu modul berada pada bagian transmitter yang ditempatkan pada
sungai, sedangkan yang lainnya berada di bagian receiver yaitu dekat
dengan running text.
Permukaan air sungai akan selalu berubah-ubah setiap waktu,
maka pengukuran ketinggian permukaan air tersebut tidak dilakukan
sekali, melainkan dilakukan berkali-kali dan akan diambil rata-rata.
Hasil data rata-rata tersebut yang akan dikirimkan kepada modul GSM
pada bagian receiver melalui sms dan akan ditampilkan pada running
text. Pada bagian transmitter juga terdapat beberapa indikator yang
dapat mewakili ketinggian permukaan air. Terdapat 5 indikator yaitu 2
buah led yang berwarna hijau, 2 buah led yang berwarna kuning, dan 1
led yang berwarna merah. Led hijau pertama menunjukkan bahwa
permukaan air sungai berada lebih dari 2 meter dibawah tanggul atau
sensor ultrasonik. Led hijau kedua merupakan kondisi dimana
permukaan air berada diantara 1,5 meter hingga 2 meter dibawah
tanggul. Kondisi ketiga akan mengaktifkan led berwarna kuning, yaitu
pada saat permukaan air sungai berada diantara ketinggian 1 meter
hingga 1,5 meter dibawah permukaan tanggul. Kondisi keempat diwakili
oleh led yang berwarna kuning kedua, pada saat led ini aktif dapat
berarti bawah permukaan air sungai berada diantara 0,5 meter hingga 1
meter dibawah tanggul atau sensor ultrasonik. Pada kondisi keempat
bagian transmitter akan mengirimkan sms kepada masyarakat yang telah
terdaftar. Pada inidikator terakhir yang berwarna merah menunjukkan
bahwa permukaan air sungai telah meluap hingga pada ketinggian antara
0 hingga 0,5 meter dibawah sensor ultrasonik. Pada kondisi ini bagian
transmitter tidak hanya mengirimkan data ketinggian air sungai kepada

20
running text melainkan juga mengirimkan sms untuk mengaktifkan
alarm yang berupa buzzer. Pada kondisi seperti ini tokoh masyakarat
juga dapat menghimbau masyarakat lain untuk segera bertindak. Bahkan
dapat melakukan pengungsian jika banjir sudah sangat tinggi agar tidak
menimbulkan korban jiwa.
Perancangan alat pada tugas akhir ini akan dibagi menjadi dua
bagian besar yaitu bagian transmitter dan bagian receiver. Masing-
masing bagian tersebut membutuhkan beberapa komponen pokok yaitu :
1. Mikrokontroler, pada tugas akhir ini menggunakan dua buah
mikrokontroler yaitu ATmega 328 yang berfungsi sebagai pusat
kendali pada bagian transmitter dan ATmega 16 pada bagian
receiver.
2. Sensor ultrasonik, berfungsi sebagai pengukur ketinggian air
sungai.
3. Modul GSM, berungsi sebagai alat komunikasi antara bagian
transmitter dan receiver.
4. Rangkaian Running Text, perangkat ini berfungsi untuk
menampilkan informasi pada bagian receiver.
5. Alarm, berfungsi sebagai tanda bahwa air sungai meluap.

3.2 Perancangan Hardware Bagian Transmitter


Bagian transmitter merupakan bagian yang memiliki sensor
ultrasonik dan ditempatkan pada tanggul sungai untuk mendeteksi
ketinggian permukaan air sungai. Bagian ini berfungsi sebagai modul
yang dapat mengirimkan data kepada bagian receiver. Untuk
mengirimkan sebuah data yang diproses oleh mikrokontroler, tentunya
bagian ini memerlukan sebuah alat komunikasi yaitu modul GSM.
Rancangan dari bagian-bagian tersebut akan dibahas pada bagian
dibawah ini.

3.2.1 Perancangan Sistem Minimum Mikrokontroler ATmega 328


Mikrokontroler ATmega328 merupakan komponen elektronika
yang berfungsi sebagai otak pengendalian. Sistem minimum merupakan
sebuah rangkaian elektronika yang menunjang kinerja dari chip
mikrokontroler. Pada sistem minimum yang akan dibangun
menggunakan ATmega328 ini dilengkapi dengan pinhead pada tiap
port, mulai dari port B, port C, dan port D. Pinhead tersebut berfungsi

21
untuk memudahkan pengguna pada saat ingin menghubungkan port
dengan sensor yang sebagai input atau menghubungkannya dengan
output. Untuk menghubungkan pinhead dengan kedua hal tersebut dapat
disambung menggunakan kabel jumper. Selain itu, rangkaian ini juga
dilengkapi dengan rangkaian kristal 16 MHz untuk menambah
kecepatan proses dari chip yang dipakai. Kristal tersebut dipasang secara
paralel pada pin B6 (kaki 9) dan B7 (kaki 10), dengan rangkaian
kapasitor 22pF. Program yang diisikan kepada rangkaian sistem
minimun ini harus melalui sebuah perangkat yang disebut dengan
downloader. Rangkaian tersebut bertugas untuk menjadi perantara
antara komputer dengan rangkaian minimum sistem untuk mentransfer
program. Untuk menghubungkan rangkaian sistem minimun dengan
downloader dibutuhkan beberapa pin untuk berkomunikasi yaitu pin B3
sebagai MOSI (kaki 17), B4 sebagai MISO (kaki 18), B5 sebagai SCK
(kaki 19), C6 sebagai RESET (kaki 1), Vcc (kaki 7), dan Gnd (kaki 8).
Rangkaian sistem minimum ini dapat dilihat pada gambar 3.2.

Gambar 3.2 Sistem Minimum ATmega328

Rangkaian sistem minimum ini juga dirancang agar dapat


menerima catu daya sebesar 12V. Agar mikrokontroler dapat menerima
tegangan 12V, maka pada sistem minimum ini diberi rangkaian

22
regulator menggunakan IC LM7805. Rangkaian tersebut dapat dilihat
pada gambar 3.3.

Gambar 3.3 Rangkaian Regulator pada Sistem Minimum

Dengan adanya rangkaian tersebut sistem minimum ini mampu


menerima tegangan yang diberikan oleh power supply 12V. Bentuk fisik
dari rangkaian sistem minimum ini dapat dilihat pada gambar 3.4.

Gambar 3.4 Bentuk Fisik Sistem Minimum ATmega328

3.2.2 Rangkaian Sensor Ultrasonik dengan Mikrokontroler


Modul ultrasonik merupakan modul yang bekerja dengan
memanfaatkan gelombang ultrasonik untuk mengukur suatu jarak benda
yang ada di depannya. Dengan mengirimkan geombang ultrasonik
melalui bagian transmitter dari modul ini, maka bagian receiver akan
menerima gelombang pantul sehingga dapat menghitung jarak benda

23
yang ada di depan sensor. Sesuai dengan hal tersebut, sensor ultrasonik
ini memiliki dua kaki komponen yang digunakan untuk mengeluarkan
gelombang dan menerima gelombang. Kaki tersebut adalah kaki trigger
dan echo. Agar dapat mengeluarkan gelombang ultrasonik dari modul
tersebut, kaki trigger harus di berikan pulse dengan panjang minimal 10
uS. Kaki echo berfungsi untuk menerima pulse yang terjadi akibat
pantulan dari benda yang terdeteksi. Setelah kaki trigger diperintahkan
untuk mengirimkan gelombang, maka setelah itu pin echo akan otomatis
berubah dari keadaan logika “0” menjadi logika “1”. Jika logika “1”
pada pin echo tersebut melebihi dari 36 mS maka dapat disimpulkan
bahwa tidak ada benda yang terdeteksi yang berada di depan sensor.
Selain kedua pin tersebut tentunya modul sensor ini dilengkapi
dengan kaki pin yang berfungsi sebagai sumber tegangan yaitu pin Vcc
dan pin Gnd. Pin trigger pada modul sensor ini dihubungkan pada port
B4 (kaki 18) pada ATmega328, sedangkan pin echo dihubungkan pada
port B5 (kaki 19). Rangkaian ini dapat dilihat pada gambar 3.5 dibawah
ini.

Gambar 3.5 Sensor Ultrasonik dihubungkan ke Mikrokontroler ATmega328

24
3.2.3 Rangkaian Modul GSM dengan Mikrokontroler ATmega328
Perangkat inilah yang memungkinkan bagian transmitter dan
receiver dapat saling berkomunikasi melalui sms. Untuk dapat
melakukan komunikasi melalui sms, modul GSM memerlukan beberapa
kaki yang dihubungkan dengan mikrokontroler yaitu salah satunya
adalah kaki untuk catu daya. Selain itu modul GSM memerlukan 2 buah
pin TX dan RX untuk berkomunikasi secara serial dengan
mikrokontroler. Skematik hubungan antara modul GSM dengan
mikrokontroler dapat dilihat pada gambar 3.6 dibawah ini.

Gambar 3.6 Modul GSM dihubungkan ke Mikrokontroler ATmega328

3.3 Perancangan Software Bagian Transmitter


Pembuatan perangkat lunak pada sistem yang diterapkan pada
bagian transmitter terbagi menjadi beberapa bagian yaitu bagian
ultrasonik sebagai pengukur jarak permukaan air dan modul GSM untuk
mengirim sms. Untuk memudahkan dalam pembuatan program, maka

25
terlebih dahulu membuat flow chart. Dengan membuat flow chart, aliran
pembuatan program akan lebih jelas dan mudah dipahami.

3.3.1 Perancangan Software Sensor Ultrasonik


Pembuatan flow chart diawali dengan membuat inisialiasi pin,
variabel yang akan dibutuhkan pada program, dan array yang akan
digunakan untuk menyimpan jarak yang telah diukur. Sensor ultrasonik
dapat mengukur jarak apabila sensor tersebut dapat mengirimkan
gelombar ultrasonik dan dapat menerima kembali gelombang tersebut.
Untuk mengirimkan gelombang ultrasonik, pin trig pada sensor
diaktifkan sehingga pin echo akan aktif. Durasi pin echo pada saat
berlogika “1” tersebut yang akan diukur dan kemudian diproses untuk
mendapatkan jarak.

Gambar 3.7 Flow Chart untuk Sensor Ultrasonik

26
Untuk mendapatkan jarak, durasi tersebut dikalikan dengan
0,0172. Angka tersebut didapatkan dengan cara durasi dikalikan dengan
kecepatan suara di udara yaitu sebesar 344 m/detik dan dibagi dengan 2.
Dibagi dengan 2 dikarenakan durasi yang dihasilkan tersebut merupakan
waktu yang ditempuh mulai dari gelombang ultrasonik dikimkan dan
kembali.
Jarak yang telah didapatkan akan disimpan pada sebuah array yang
nanti akan dihitung nilai rata-rata pada saat pengukuran telah mencapai
100x. Penggunaan rata-rata tersebut berguna untuk mendapatkan hasil
jarak permukaan air sungai yang tidak stabil. Flow chart dari program
ultrasonik ini dapat dilihat pada gambar 3.7. Inisialisasi tersebut terdiri
dari variabel dan pin yang akan dipakai seperti pada program yang
terdapat di dalam “void setup()”. Array yang akan digunakan untuk
mengumpulkan data jarak sebanyak 100x mempunyai nama
“kumpulandata[]” dengan tipe data int karena membutuhkan nilai
positif. Pin trigger tersebut ditempatkan pada pin 12 dan pin untuk echo
ditempatkan pada pin 13. Pin trigger berfungsi untuk mengaktifkan
ultrasonik agar mengirimkan gelombang ultrasonik sehingga pin
tersebut difungsikan sebagai output dengan cara menuliskan perintah
“pinMode(trig,OUTPUT)”, sedangkan pin echo difungsikan sebagai
input. Difungsikan sebagai input karena pin tersebut akan menerima
nilai “1” yang diberikan oleh sensor ultrasonik. Terdapat perintah “for”
pada barisan terakhir berfungsi hanya untuk memastikan bahwa di
dalam array yang akan digunakan untuk menyimpan hasil jarak tersebut
bernilai 0.
Fungsi perintah digitalWrite adalah memerintahkan pin bernilai
“1” atau “0”, jika ingin bernilai “1” maka dapat ditulis “HIGH”,
sedangkan “LOW” digunakan untuk memberikan nilai “0” pada pin.
Untuk menghitung durasi pada saat pin echo bernilai 1 dapat
menggunakan perintah “pulseIn” seperti pada baris ke 7 pada program
utama sensor ultrasonik. Durasi yang akan dihasilkan tersebut dalam
satuan mikrosekon (us), sehingga untuk mengkonversi durasi tersebut
menjadi jarak dalam satuan centimeter (cm) dapat dikalikan dengan
0,0172 seperti pada baris ke 10.
Jarak yang telah dihitung akan disimpan di dalam array. Agar data
jarak tersebut dapat disimpan ke dalam array yaitu harus bernilai lebih
dari 0. Pengukuran tersebut akan diulang berkali-kali secara otomatis
dan disimpan hingga array “kumpulandata[]” mencapai maksimum.
Pengukuran tersebut dapat berulang menyimpan data karena terdapat

27
program yang berada pada baris ke15 hingga 18 yang menambahkan
selalu isi dari array tersebut. Pengaturan banyaknnya pengukuran
tersebut dapat diatur pada awal inisialisasi dengan merubah nilai pada
“jmlhbaca”. Jika pengukuran telah berulang kali sebanyak yang
ditentukan pada nilai yang tertera di “jmlhbaca” seperti yang tertera
pada perintah “if (isidata>=jmlhbaca)” yang terdapat pada baris akhir
maka dapat berarti bahwa jika array sudah penuh. Setelah syarat tersebut
terpenuhi maka akan melakukan program yang berada dibawahnya yaitu
mencari rata-rata dari seluruh pengukuran. Program tersebut akan
berulang-ulang secara otomatis dikarenakan seluruh program utama
tersebut berada di dalam “void loop()”

3.3.2 Perancangan Software Modul GSM


Program utama yang akan diterapkan untuk modul GSM
mempunyai fungsi untuk mengirimkan jarak dari sensor ultrasonik. Pada
bagian transmitter dari sistem ini program sensor ultrasonik dan modul
GSM akan digabungkan. Untuk mengirimkan sms dengan menggunakan
modul GSM dapat memakai perintah AT. Flow chart dari modul GSM
ini terdapat pada gambar 3.10 dibawah ini. Sebelum membuat program
utama, perlu dilakukan untuk mendeklarasikan variabel-variabel yang
akan digunakan, pin, dan juga array yang nanti akan digunakan untuk
menyimpan nomor handphone. Setelah melalui proses inisialiasi, jarak
rata-rata yang dihasilkan oleh sensor ultrasonik akan diproses untuk
dikirimkan melalui sms. Terdapat perintah pengambilan keputusan
setelah mengirimkan sms, jika jarak rata-rata tersebut belum dikirim ke
seluruh nomor yang telah terdaftar pada array untuk no. HP maka
program tersebut akan kebali mengirimkan sms ke no. HP selanjutnya,
begitu seterusnya hingga tidak ada nomor lagi yang belum dikirim data
jarak rata-rata tersebut.
Modul GSM dengan mikrokontroler dapat berhubungan melalui
komunikasi serial. “SoftwareSerial” merupakan perintah yang berfungsi
agar dapat menggunakan komunikasi serial. Nomor handphone yang
didaftarkan dapat ditulis pada array yang bernama “nomorhp”, array
tersebut bertipe “String” karena dalam penggunaan perintah AT yang
akan dikirimkan mempunyai tipe string. String merupakan bentuk data
yang biasa dipakai dalam bahasa pemrograman untuk keperluan
menampung data teks.

28
Gambar 3.10 Flow Chart untuk modul GSM

Program yang berada di dalam void kirimSMS() akan berulang


beberapa kali tergantung dari jumlah nomor handphone yang dituliskan
pada array. String yang akan dikirimkan melalui sms ke nomor
handphone tersebut adalah string yang berisi kalimat “KETINGGIAN
PERMUKAAN AIR (jarak) CM DIBAWAH TANGGUL.”. Seperti
pada program yang terdapat pada gambar tersebut, string yang akan
dikirim tersebut merupakan gabungan dari 3 buah variabel yaitu variabel
dengan nama “string tiga”, “jarak”, dan “stringempat”.
Untuk mengirimkan sms melalui modul GSM dapat menggunakan
perintah “AT+CMGS = “\(nomor HP)\””, setelah itu diikuti dengan
pesan yang akan dikirimkan dengan tipe string. Sebelum melakukan
perintah untuk mengirimkan sms, hal yang terlebih dahulu dilakukan

29
adalah memilih atau mengatur format sms yang akan digunakan untuk
mengirim sms maupun menerima sms dengan perintah “AT+CMGF”
seperti pada baris ke empat yang terdapat di program utama modul
GSM. Terdapat dua format sms yang dapat digunakan yaitu mode PDU
jika pada perintah tersebut diberi nilai “0” dan mode text jika pada
perintah tersebut diberi nilai “1”. Setelah itu dilakukan perintah keluar
atau escape dengan menuliskan angka desimal “26” yang mempunyai
arti keluar pada tipe data karakter. Program ini akan dilaksanakan
apabila jarak permukaan air sungai berada di antara 0 hingga 1 meter
dibawah tanggul atau dibawah sensor.
Data ketinggian yang akan dikirimkan kepada running text berbeda
dengan yang akan dikirimkan kepada masyarakat. SMS yang akan selalu
dikirimkan kepada running text pada saat keadaan permukaan air berada
pada ketinggian 0 hingga 4 meter. Data ketinggian air tersebut akan
diperbarui setiap beberapa menit sekali. Perintah yang digunakan untuk
mengirimkan SMS kepada running text dengan yang digunakan untuk
mengirim SMS kepada nomor HP masyarakat adalah sama. Namun isi
dari sms tersebut berbeda, pada SMS yang dikirimkan kepada running
text ini terdapat tanda pagar “#” pada akhir kalimatnya. Tetapi tanda
tersebut tidak ditampilkan pada running text. Tanda tersebut digunakan
untuk memberikan tanda bahwa isi kalimat dari SMS tersebut telah
berakhir dan siap untuk ditampilkan pada running text.
Pada keadaan permukaan air sungai berada di antara 0 meter
hingga 0,5 meter buzzer yang berfungsi sebagai alarm akan aktif. Untuk
mengaktifkan buzzer ini, terdapat SMS yang menjadi tanda agar dapat
memerintahkan alarm untuk aktif. Mikrokontroler yang sebagai otak
dari bagian receiver tersebut akan mengaktifkan buzzer jika mendapat
SMS yang berisi tanda seru “!” seperti pada baris ke sembilan yang
tedapat di dalam program SMS untuk alarm.

3.4 Perancangan Hardware Bagian Receiver


Bagian receiver berperan sebagai penerima data dari transmitter
yang berisi keadaan permukaan air di sungai. Data tersebut akan di
proses oleh mikrokontroler ATmega16 untuk ditampilkan pada running
text. Untuk menerima data tersebut, tentunya pada bagian receiver ini
juga memiliki perangkat komunikasi melalui sms yaitu menggunakan
modul GSM. Dengan tampilan pada running text tersebut maka
masyarakat yang tinggal di kawasan rawan banjir yang dekat dengan

30
sungai dapat mengetahui ketinggian air sungai agar dapat bersiap siaga.
Peralatan yang dibutuhkan untuk merancang bagian receiver ini adalah
minimum sistem ATmega16, modul GSM, dan running text.

3.4.1 Perancangan Minimum Sistem Mikrokontroler ATmega 16


Perangkat tambahan yang dibangun untuk mendukung kinerja dari
sebuah chip mikrokontroler merupakan kesatuan yang disebut dengan
minimum sistem. Minimum sistem ini merupakan salah satu perangkat
yang sering dirancang sebelum menggunakan chip mikrokontroler itu
sendiri. ATMega 16 terdiri dari 40 pin, terdapat port A, port B, port C
dan port D. Ada juga pin MISO, MOSI, SCK beserta RESET, Vcc, dan
Gnd yang dapat langsung dihubungkan ke downloader atau USB ASP
untuk mengunduh program yang telah dibuat. Beberapa pin yang akan
terhubung dengan downloader tersebut dihubungkan menggunakan
socket amphenol 10 pin.

Gambar 3.15 Skematik Rangkaian Minimum Sistem ATmega16

31
Rangkaian minimum sistem ini memimliki kristal eksternal sebesar
16MHz. Minimum sistem ATmega16 juga kompatibel dengan beberapa
chip mikrokontroler lainnya, salah satunya adalah IC mikrokontroler
ATmega32. Minimum sistem tersebut kompatibel dikarenakan
memiliki posisi pin dan jumlah pin yang sama yaitu memiliki 40 buah
pin, namun perbedaannya hanya pada alokasi memorinya saja. Gambar
3.15 merupakan rangkaian minimum sistem dari mikrokontroler
ATmega16.

3.4.2 Rangkaian Modul GSM dengan Mikrokontroler ATmega 16

Gambar 3.16 Modul GSM dihubungkan ke Mikrokontroler ATmega16

32
Seperti halnya pada bagian transmitter, bagian receiver juga
memiliki modul GSM untuk berkomunikasi melalui sms. Hanya saja
pada bagian ini, modul GSM hanya bersifat sebagai penerima data.
Untuk menggunakan modul GSM, mikrokontroler hanya perlu
menghubungkan beberapa pin yaitu 2 pin untuk komunikasi serial TX
RX dan pin lainnya sebagai catu daya. Lokasi pin mikrokontroler
ATmega16 yang digunakan untuk berhubungan dengan modul GSM
tentunya berbeda dengan mikrokontroler yang mengganak chip
ATmega328. Skematik hubungan antara modul GSM dengan
mikrokontroler ATmega16 dapat dilihat pada gambar 3.16.

3.4.3 Running Text


Papan yang akan menampilkan peringatan terhadap ketinggian
permukaan air sungai tersebut terdiri dari susunan led. Papan tersebut
disebut dengan running text. Pada tugas akhir ini, running text yang
akan digunakan berukuran 8x40 piksel, memiliki 8 baris dan 40 kolom,
sehingga jika dihitung total led yang dipakai berjumlah 320.
Membutuhkan 5 buah modul dot matrix yang berukuran 8x8 dalam
running text ini. Setiap modul led matrix mempunyai 8 kaki dengan
kutub positif dan 8 kaki dengan kutub negatif. Rangkaian tiap modul
tersebut disusun dengan cara menghubungkan kutub negatif pada setiap
baris dan menggabungkan kutub positif pada setiap kolom. Rangkaian
dari modul led matrix tersebut dapat dilihat pada gambar 3.17 dibawah
ini.

Gambar 3.17 Rangkaian Dalam Led Matrix 8x8

33
Untuk menampilkan kalimat pada running text ini membutuhkan
masukan kalimat yang berada di dalam array dengan tipe data string.
Oleh karena itu, sms yang berupa karakter yang diterima oleh
mikrokontroler pada bagian receiver melalui komunikasi serial tersebut
harus dimasukkan ke dalam array dengan tipe data string agar dapat
ditampilkan pada running text. Sebelum karakter tersebut dapat diterima
oleh mikrokontroler, modul GSM di program terlebih dahulu dengan
perintah AT agar dapat menerima sms.

3.5 Perancangan Software Bagian Receiver


Program utama dari program receiver adalah menerima sms
tentang ketinggian air sungai yang akan dimasukkan kedalam array yang
bertipe data string untuk diberikan kepada running text agar dapat
ditampilkan. Modul GSM pada bagian transmitter mengirimkan sms
dalam bentuk seperti berikut “ KETINGGIAN PERMUKAAN AIR
(jarak) CM DIBAWAH TANGGUL#”. Tanda pagar yang terdapat pada
akhir kalimat berfungsi untuk memberikan tanda bahwa kalimat telah
berakhir. Namun pada bagian receiver sms yang diterima tidak hanya isi
dari sms tersebut melainkan terdapat beberapa tambahan yaitu nomor
handphone, tanggal, dan waktu pengiriman seperti pada gambar 3.18.

KETINGGIAN PERMUKAAN AIR 150 CM DIBAWAH TANGGUL#

Gambar 3.18 SMS

Sehingga sms yang diterima tersebut harus di deteksi untuk


mengambil isi sms. Untuk mengambil isi kalimat tersebut dapat
dilakukan dengan mendeteksi masing karakter dan menghitung tanda
petik yang ada. Sebelum membuat program mendeteksi tersebut akan
dilakukan pembuatan flow chart seperti gambar 3.19. Flow chart untuk
menerima isi sms tersebut dimulai dengan membuat inisialisasi (x)
untuk menerima karakter. Setiap karakter yang akan masuk akan di
deteksi terlebih dahulu apakah x merupakan tanda petik (“). Jika bukan
maka program akan kembali untuk menerima karakter. Saat karakter
yang diterima adalah tanda petik, maka nilai dari inisialisasi petik akan

34
ditambah 1, hingga jumlah pada inisialisasi petik adalah 6 maka
program akan dilanjutkan untuk membuat array kalimat untuk
ditampilkan pada running text. Karakter yang diterima sebelum tanda
petik berjumlah 6 diabaikan karena bukan isi dari sms tersebut
melainkan keterangan lain dari sms tersebut.

Gambar 3.19 Flow Chart untuk Mengambil Isi SMS

Setelah melewati program ini, akan dilanjutkan untuk menerima


masing-masing karakter dan dimasukkan ke dalam array. Flow chart

35
untuk menerima karakter dan membuat array tersebut dapat dilihat pada
gambar 3.20. Pada program ini tanda pagar yang terdapat pada isi sms
akan digunakan. Flow chart diawali seperti biasa dengan inisialisasi
yang kemudian akan dilanjutkan dengan menerima karakter. Masing-
masing karakter tersebut akan dibandingkan apakah karakter tersebut
berupa tanda pagar (#). Array yang akan dibangun mempunyai nama
“kalimat”. Kalimat tersebut merupakan penjumlahan dari karakter -
karakter yang telah didapatkan. Karakter tersebut akan terus menerus
ditambahkan hingga karakter yang diterima sama dengan tanda pagar.
Ketika sama dengan tanda pagar maka keluaran dari program adalah
array dengan nama “kalimat” yang akan diproses oleh program running
text untuk ditampilkan. Pada gambar 3.21 merupakan program yang
akan digunakan untuk mendeteksi isi dari sms.

Gambar 3.20 Flow Chart untuk Membuat Array

36
4 BAB IV
HASIL UJI COBA

Dalam perencanaan dan pembuatan pada suatu sistem, uji ukur dan
uji coba alat merupakan bagian yang sangat penting. Hal tersebut
ditujukan untuk mengetahui kinerja dari setiap komponen pendukung
yang dibuat dan sistem tersebut sudah sesuai dengan yang telah
direncanakan atau belum. Dengan hasil yang telah dilakukan pada uji
coba sistem dan setiap komponen tersebut dapat digunakan sebagai
proses evaluasi sehingga akan dapat dilakukan langkah-langkah positif
untuk membawa alat ini kearah yang lebih baik. Pada bab ini akan
dibahas mengenai uji coba dan pengukuran pada komponen yang
mendukung pembuatan tugas akhir ini. Bab ini dibagi menjadi empat
bagian. Pada bagian pertama akan dijelaskan mengenai uji coba sensor
ultrasonik. Pada bagian kedua akan dijelaskan tentang uji coba pada
modul GSM yang digunakan untuk sms. Ketiga merupakan bagian yang
menjelaskan tentang uji coba running text. Kemudian yang terakhir akan
dijelaskan mengenai uji coba sistem secara keseluruhan yaitu sistem
untuk peringatan meluapnya air sungai.

4.1 Uji Coba Sensor Ultrasonik


Sensor Ultrasonik dapat digunakan untuk mengukur jarak dari
suatu benda yang ada di depannya. Pada sistem ini sensor ultrasonik
berfungsi untuk mengukur permukaan air sungai. Untuk menguji coba
ketepatan pengukuran jarak pada sensor ini, maka dilakukan pengukuran
terhadap terhadap air.
Untuk mendapatkan suatu jarak dengan menggunakan sensor
ultrasonik perlu mengetahui waktu yang ditempuh oleh gelombang
ultrasonik yang memantul hingga diterima oleh bagian receiver sensor.
Total waktu yang ditempuh oleh sensor dapat diketahui dengan
menghitung waktu pada saat pin echo bernilai “1”. Dengan hasil
tersebut, jarak benda yang ada di depan sensor dapat dihitung dengan
waktu yang ditempuh dikalikan dengan 0,0172.

37
Gambar 4.1 Uji Coba Sensor Ultrasonik

Uji coba ini dilakukan dengan cara mendeteksi permukaan air yang
jaraknya telah ditentukan dengan mistar seperti pada gambar 4.1 diatas.
Hasil pengukuran tersebut terdapat pada tabel 4.1 di bawah ini.

Tabel 4.1 Hasil Uji Coba Sensor Ultrasonik

Jarak yang Hasil jarak


Uji Coba Waktu
ditentukan (waktu * 0,0172)
1 5 cm 321 us 5 cm
2 7 cm 437 us 7 cm
3 10 cm 582 us 10 cm
4 12 cm 731 us 12 cm
5 15 cm 890 us 15 cm
6 17 cm 1021 us 17 cm
7 20 cm 1205 us 20 cm
8 22 cm 1281 us 22 cm

38
9 25 cm 1493 us 25 cm
10 27 cm 1593 us 27 cm
11 30 cm 1761 us 30 cm

Dengan hasil pengukuran di atas, sensor ultrasonik dapat


menentukan jarak permukaan air yang diukur. Tujuan hasil dari
pengambilan data pengukuran jarak pada benda yang berada di depan
sensor ultrasonik adalah untuk mengetahui respon dari sensor yang akan
digunakan pada sistem untuk melakukan pengukuran.

4.2 Uji Coba Modul GSM


Pada bagian transceiver yang berfungsi sebagai pengirim data
ketinggian permukaan air sungai maupun pada bagian receiver yang
akan menampilkan data ketinggian air sungai pada running text masing-
masing memiliki modul GSM. Masing-masing modul GSM tersebut
memiliki peran yang berbeda-beda. Pada bagian transceiver modul
GSM berfungsi untuk mengirimkan data kepada HP dan kepada modul
GSM. Sedangkan pada bagian receiver hanya berfungsi untuk menerima
data. Untuk mengetahui kinerja dari masing-masing modul GSM
tersebut maka perlu dilakukan uji coba untuk tiap fungsi modul GSM
yaitu uji coba pengiriman data antara modul GSM dengan HP dan
modul GSM dengan modul GSM.

4.2.1 Uji Coba Modul GSM dengan HP


Modul GSM yang berada pada bagian transceiver memiliki peran
untuk mengirimkan data ketinggian permukaan air sungai kepada nomor
HP tertentu yang telah terdaftar. Pada percobaan untuk menguji fungsi
dari modul GSM ini dilakukan dengan cara menggabungkan listing
program untuk sensor ultrasonik dengan listing program untuk mengirim
sms. Dengan demikian ketinggian permukaan air yang terdeteksi oleh
ultrasonik akan dikirimkan melalui sms kepada nomor HP yang
terdaftar.
Dengan hasil yang didapatkan dari uji coba pada gambar 4.2
diatas, modul GSM dapat berfungsi dengan baik saat digunakan untuk
mengirimkan sms yang berisi data ketinggian permukaan air sungai.

39
Gambar 4.2 Tampilan Data pada HP

4.2.2 Uji Coba Modul GSM dengan Modul GSM


Uji coba ini dilakukan pada modul GSM yang terdapat pada bagian
transmitter dengan modul GSM yang berada pada bagian receiver untuk
ditampilkan pada running text. Pada percobaan ini, bagian transceiver
mengirimkan SMS berisi “HARIS” dan modul GSM pada bagian
receiver menerima SMS tersebut dan menampilkannya seperti pada
gambar 4.3 berikut.

40
Gambar 4.3 Uji Coba Running Text melalui SMS

4.3 Uji Coba Running Text


Uji coba running text dilakukan untuk mengetahui apakah running
text yang akan digunakan telah sesuai dengan yang diharapkan. Uji
coba dilakukan dengan cara membuat listing program untuk menguji
bahwa running text berfungsi atau tidak. Pada uji coba ini running text
dapat menampilkan huruf sesuai instruksi yang ditulis dalam listing
program. Pada percobaan ini huruf yang dituliskan pada listing program
adalah “HALO” dan tampil seperti pada gambar 4.4 berikut.

Gambar 4.4 Uji Coba Running Text menampilkan Huruf

41
Jarak permukaan air yang akan ditampilkan pada running text akan
berbentuk angka. Untuk itu papan running text ini perlu untuk dilakukan
uji coba menampilkan angka, agar dapat mengetahui berfungsinya papan
running text dalam menampilkan angka.

Gambar 4.5 Uji Coba Running Text menampilkan Angka

4.4 Uji Coba Sistem


Uji coba ini dilakukan pada sungai yang berada pada daerah
Rungkut Surabaya. Gambar 4.6 merupakan gambar dari lokasi uji coba.
Pada uji coba ini, bagian sensor yang mendeteksi ketinggian permukaan
air sungai diletakkan pada tepi sungai. Ketika sungai air meluap hingga
ketinggian kurang 1 meter di bawah tanggul maka bagian transmitter ini
akan mengirimkan sms kepada masyarakat mengenai ketinggian
permukaan air sungai. Pada saat air sungai berada di ketinggian kurang
dari 0,5 meter dibawah tanggul, bagian transmitter tidak hanya
mengirimkan sms kepada masyarakat, bagian ini akan mengirimkan
perintah untuk mengaktifkan buzzer pada bagian running text.

42
Gambar 4.6 Uji Coba Sistem Pengukur Ketinggian Air di Sungai Wonorejo
Surabaya

Pengujian sistem ini dilakukan selama 10 menit pada tanggal 21


Desember 2016. Sungai yang diukur tersebut memiliki ketinggian
sekitar 157 cm di bawah tanggul. Pada tabel 4.1 merupakan hasil
pengukuran ketinggian pada sungai tersebut.

Tabel 4.2 Hasil Uji Coba Pengukuran Ketinggian Sungai


No. Waktu (WIB) Ketinggian (cm)
1. 14.20 159
2. 14.21 157
3. 14.22 157
4. 14.23 156
5. 14.24 156
6. 14.25 156
7. 14.26 156
8. 14.27 158
9. 14.28 158
10. 14.29 158

43
-----Halaman ini sengaja dikosongkan-----

44
5 BAB V PENUTUP
PENUTUP
5.1 Kesimpulan
Dari hasil uji coba alat sistem peringatan meluapnya air sungai
melalui sms dan running text dapat diambil kesimpulan diantaranya
yaitu :

a. Sensor ultrasonik hanya dapat digunakan untuk pengukuran mulai


dari 2 cm hingga jarak yang tidak lebih dari 400 cm. Jika sensor
ultrasonik digunakan untuk mengukur jarak yang lebih dari 400 cm,
maka data jarak yang diukur akan menjadi tidak akurat. Selain itu
sensor ultrasonik juga tidak dapat mengukur jarak dengan akurat
jika benda yang terdeteksi di depannya merupakan benda yang tidak
pejal seperti spons.
b. SMS yang diterima oleh modul GSM tidak hanya karakter yang
merupakan isi dari SMS yang dikirim, melainkan terdapat beberapa
keterangan menegenai sms tersebut seperti nomor HP, tanggal, dan
waktu. Sehingga jika ingin mengambil isi SMS tersebut harus
memisahkan karakter keseluruhan yang diterima tersebut.
c. Pengaturan delay pengiriman SMS dari bagian transmitter kepada
bagian receiver dapat mempengaruhi data yang akan ditampilkan
oleh running text. Terkadang apabila delay terlalu cepat, maka SMS
tidak terkirim.

5.2 Saran
Dari pengamatan selama pengerjaan tugas akhir ini terdapat
beberapa saran diantaranya yaitu :

a. Untuk penelitian selanjutnya sebaiknya memilih sensor pendeteksi


permukaan air sungai dengan batas jarak pengukuran lebih dari 400
cm agar dapat diterapkan pada sungai yang mempunyai tanggul
lebih tinggi.
b. Karena sensor ultrasonik tersebut akan digunakan pada permukaan
air sungai yang selalu bergerak dan sedikit bergelombang, untuk itu
perlu mengambil sampling beberapa data dan mencari hasil rata-rata
dari data tersebut untuk menentukan jarak pada permukaan air yang
bergelombang.

45
c. Sebaiknya membuat desain peralatan pada sistem ini yang dapat
tahan terhadap air, agar peralatan tidak mengalami kerusakan pada
saat terjadi hujan.

46
DAFTAR PUSTAKA

[1] Dadan Nurdin dan Wahyudin. RANCANG BANGUN PAPAN


IKLAN DOT MATRIX MENGGUNAKAN SMS BERBASIS
MIKROKONTROLER. Bandung : Teknik Informatika STMIK
LPKIA.
[2] Andris Prima Satrio. 2011. RANCANG BANGUN SISTEM
PERINGATAN DINI BANJIR BERBASIS MIKROKONTROLER
AT89S52 DENGAN SENSOR ULTRASONIK. Padang : Universitas
Andalas.
[3] Aditya Pradhana. 2011. PERINGATAN DINI BAHAYA BANJIR DI
TAMBANG PASIR BERBASIS SMS GATEWAY. Semarang :
Universitas Diponegoro.
[4] Tri Ardiansa Nim. Sensor Alarm Banjir Berbasis Mikrokontroller
Arm.
[5] Rajes Nanda Zetri. RANCANG BANGUN SISTEM PERINGATAN
DINI BENCANA BANJIR MELALUI SMS BERBASIS
MIKROKONTROLER PIC16F877A. Pekan Baru : Universitas
Islam Negeri Sulthan Syarif Kasim Riau.

47
-----Halaman ini sengaja dikosongkan-----

48
6 LAMPIRAN A
LISTING PROGRAM

A.1 Listing Program Bagian Transmitter

#define trig 12
#define echo 13
#include <SoftwareSerial.h>
SoftwareSerial SIM900(3, 4);
String stringsatu, stringdua, stringtiga, stringempat;
const int jmlhbaca = 100;
int kumpulandata[jmlhbaca];
int isidata = 0;
int total = 0;
int jarakrata2 = 0;
int durasi = 0;
int jarak = 0;
const int byknmr = 2;
String nomorhp[byknmr]={"6289633770047","6285655673879"};

void setup() {
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(0,OUTPUT);
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
for (int i = 0; i < jmlhbaca; i++) {
kumpulandata[i] = 0;}
SIM900.begin(19200);
}

void kirimSMSRT()
{

SIM900.print("AT+CMGF=1\r");

49
delay(100);
stringsatu = String ("AT + CMGS = \"+");
stringdua = String ("\"");
SIM900.println(stringsatu + "6285804962432" + stringdua);
delay(100);
stringtiga = String(" KETINGGIAN PERMUKAAN AIR ");
stringempat = String(" CM DIBAWAH TANGGUL#");
SIM900.println(stringtiga + jarak + stringempat);
delay(100);
SIM900.println((char)26);
delay(100);
SIM900.println();
delay(10000);

void kirimSMSBZ()
{

SIM900.print("AT+CMGF=1\r");
delay(100);
stringsatu = String ("AT + CMGS = \"+");
stringdua = String ("\"");
SIM900.println(stringsatu + "6285804962432" + stringdua);
delay(100);
SIM900.println("!");
delay(100);
SIM900.println((char)26);
delay(100);
SIM900.println();
delay(10000);

void kirimSMS()
{
for(int x=0;x<byknmr;x++){
SIM900.print("AT+CMGF=1\r");
delay(100);

50
stringsatu = String ("AT + CMGS = \"+");
stringdua = String ("\"");
SIM900.println(stringsatu + nomorhp[x] + stringdua);
delay(100);
stringtiga = String("KETINGGIAN PERMUKAAN AIR ");
stringempat = String(" CM DIBAWAH TANGGUL.");
SIM900.println(stringtiga + jarak + stringempat);
delay(100);
SIM900.println((char)26);
delay(100);
SIM900.println();
delay(10000);
}
}

void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
durasi = pulseIn(echo, HIGH);
Serial.print(durasi);
Serial.println(" us");
jarak = durasi*0.0172;
if (jarak>=0){
Serial.print("jarak : ");
Serial.println(jarak, DEC);
delay(10);
total= total - kumpulandata[isidata];
kumpulandata[isidata] = jarak;
total= total + kumpulandata[isidata];
isidata = isidata + 1;

if (isidata >= jmlhbaca) {


isidata = 0;
jarakrata2 = total / jmlhbaca;
Serial.print("jarak rata-rata : ");
Serial.println(jarakrata2, DEC);

51
delay(200);

if (jarakrata2>=0){
kirimSMSRT();

if (jarakrata2>=20){
digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
delay(500);
}

else if (jarakrata2>=15&&jarakrata2<20){
digitalWrite(0,LOW);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
delay(500);
}

else if (jarakrata2>=10&&jarakrata2<15){
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
delay(500);
}

else if (jarakrata2>=5&&jarakrata2<10){
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);

52
delay(500);
kirimSMS();
delay(5000);
}

else if (jarakrata2>=0&&jarakrata2<5){
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
delay(500);
kirimSMS();
kirimSMSBZ();
delay(5000);
}
delay(15000);

}
}}
}

A.2 Listing Program Bagian Receiver

#include <stdlib.h>
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

#define F_CPU 16000000UL


#define BAUD 9600
#define BAUDRATE ((F_CPU)/(BAUD*16UL)-
1)

#define data_hi PORTD|=(1<<PD2)


#define data_lo PORTD&=~(1<<PD2)

int j,waktu,k,z;

53
int jmlhdt;
volatile int bstat=0, buzzon=0;
unsigned long toverflow;
unsigned char col,h;
unsigned char temp[300];
unsigned char data[222]=
{
0x7E, 0x11, 0x11, 0x11, 0x7E, 0x00, // A
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, // B
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, // C
0x7F, 0x41, 0x41, 0x22, 0x1C, 0x00, // D
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, // E
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, // F
0x3E, 0x41, 0x49, 0x49, 0x7A, 0x00, // G
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, // H
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, // I
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, // J
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, // K
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, // L
0x7F, 0x02, 0x0C, 0x02, 0x7F, 0x00, // M
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, // N
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, // O
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, // P
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, // Q
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, // R
0x46, 0x49, 0x49, 0x49, 0x31, 0x00, // S
0x01, 0x01, 0x7F, 0x01, 0x01, 0x00, // T
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, // U
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, // V
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, // W
0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // X
0x07, 0x08, 0x70, 0x08, 0x07, 0x00, // Y
0x61, 0x51, 0x49, 0x45, 0x43, 0x00, // Z
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, // 0
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, // 1
0x42, 0x61, 0x51, 0x49, 0x46, 0x00, // 2
0x21, 0x41, 0x45, 0x4B, 0x31, 0x00, // 3
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, // 4
0x27, 0x45, 0x45, 0x45, 0x39, 0x00, // 5

54
0x3C, 0x4A, 0x49, 0x49, 0x30, 0x00, // 6
0x01, 0x71, 0x09, 0x05, 0x03, 0x00, // 7
0x36, 0x49, 0x49, 0x49, 0x36, 0x00, // 8
0x06, 0x49, 0x49, 0x29, 0x1E, 0x00, // 9
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
};
volatile unsigned char RxBuff[200];
volatile unsigned char kalimat[200];
volatile int RxComplete, index, petik;

void init_uart()
{
UBRRH = (BAUDRATE>>8);
UBRRL = BAUDRATE;
UCSRB|= (1<<TXEN)|(1<<RXEN)|(1 << RXCIE );
UCSRC|= (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1);
}

void clock()
{
PORTD |= (1<<PD3);
PORTD &= ~(1<<PD3);
}

ISR(USART_RXC_vect)
{
char c = UDR;

if(c == '#')
{

for(int i=0; i<100; i++) kalimat[i] = '\0';

if(RxComplete == 0) strcpy(kalimat, RxBuff);


else RxComplete = 1;

for(int i=0; i<100; i++) RxBuff[i] = '\0';


index = 0;

55
scanHuruf();
}

else if(c == '!')


{
buzzon = 1;
for(int i=0; i<100; i++) RxBuff[i] = '\0';
index = 0;
}
else if(c == '+')
{
for(int i=0; i<100; i++) RxBuff[i] = '\0';
RxComplete = 1;
index = 0;
}
else if(c == '"')
{
petik++;
if(petik >= 6)
{
//uart_puts("OK");
for(int i=0; i<100; i++) RxBuff[i] = '\0';
RxComplete = 0;
index = 0;
}
}
else if(RxComplete == 0 && c != '\r' && c != '\n')
{
RxBuff[index] = c;
index++;
}
}

void scanHuruf()
{

j = 0;
for(int x=0; x<300; x++) temp[x] = 0;

56
for(h=0; h<strlen(kalimat); h++)
{
int i = kalimat[h];
if(i==32) k=216;
else if(i>57) k=(i-65)*6;
else k=(i-47)*6+150;

for(z=k; z<k+6; z++)


{
temp[j]=data[z];
j++;
}
}
}

void init_timer0()
{
TCCR0 |= (1 << CS02);

TCNT0 = 0;

TIMSK |= (1 << TOIE0);

toverflow = 0;
}

ISR(TIMER0_OVF_vect)
{
toverflow++;

if(buzzon > 0 && buzzon < 20 && bstat == 1 && toverflow >=
244)
{
PORTD &= ~(1<<PD4);
bstat= 0;
toverflow = 0;
buzzon++;
}

57
else if(buzzon > 0 && buzzon < 20 && bstat == 0 &&
toverflow >= 244)
{
PORTD |= (1<<PD4);
bstat= 1;
toverflow = 0;
buzzon++;
}
else if(buzzon >= 20)
{
buzzon = 0;
PORTD &= ~(1<<PD4);
}
}

int main()
{
DDRA=0xff;
DDRC=0xff;
DDRD=0xff;
PORTA=0x00;
PORTC=0x00;
PORTD=0x00;

init_uart();
init_timer0();
sei();

uart_puts("AT+CMGF=1\n\r");
_delay_ms(500);
uart_puts("AT+CNMI=2,2,0,0,0\n\r");
_delay_ms(500);

for(int i=0; i<100; i++) kalimat[i] = '\0';


strcpy(kalimat, "READY ");
scanHuruf();

while(1)
{

58
jmlhdt = strlen(kalimat)*6-1;
z = temp[0];

for(int i=0; i<jmlhdt; i++) temp[i] = temp[i+1];


temp[jmlhdt] = z;

for(waktu=0; waktu<5; waktu++)


{
data_hi;
clock();
PORTA = temp[0];
_delay_us(500);
PORTA=0x00;

for (col=0; col<40; col++)


{
data_lo;
clock();
PORTA=temp[col];
_delay_us(500);
PORTA=0x00;
}
}
}
}

59
-----Halaman ini sengaja dikosongkan-----

60
7 LAMPIRAN B
BENTUK ALAT

B.1 Dokumentasi Alat

Tampilan Depan Bagian Receiver

Tampilan Belakang Bagian Receiver

61
Tampilan Modul GSM pada Baian Receiver

Tampilan Rangkaian pada Bagian Transmitter

62
8 LAMPIRAN C
DATASHEET

C.1 ATmega328

63
64
65
66
C.2 Sensor Ultrasonik HC - SR04

67
68
69
C.3 Modul GSM SIM900

70
71
72
73
-----Halaman ini sengaja dikosongkan-----

74
9 DAFTAR RIWAYAT HIDUP
Nama : Haris Inmas Ryandi
TTL : Surabaya, 20 September
1995
Jenis Kelamin : Laki - laki
Agama : Islam
Alamat : Jl. Wono Ayu 8 / 106
Rungkut, Surabaya
Telp/HP : 089633770047
E-mail : harisinmasryandi@gmail.com

RIWAYAT PENDIDIKAN
1. 2001 – 2007 : SD Negeri Kertajaya XI Surabaya
2. 2007 – 2010 : SMP Negeri 30 Surabaya
3. 2010 – 2013 : SMA Negeri 1 Surabaya
4. 2013 – 2017 : D3 Teknik Elektro, Program Studi Komputer
Kontrol - FTI Institut Teknologi Sepuluh Nopember (ITS)

PENGALAMAN KERJA
1. Kerja Praktek di PT. PLN (Persero) APJ Surabaya Utara

PENGALAMAN ORGANISASI
1. Staff Divisi Big Event Periode 2014/2015 HIMAD3TEKTRO, FTI –
ITS
2. Staff Sie Dekorasi Industrial Automation and Robotic Competition
(IARC 2014)

75

Anda mungkin juga menyukai