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 AKHIR
PERNYATAAN KEASLIAN TUGAS
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 temanteman 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 Gambar 2.2 Gambar 2.3 Gambar 2.4 Gambar 2.5 Gambar 2.6 Gambar 2.7 Gambar 2.8 Gambar 2.9 Gambar 2.10 Gambar 2.11 Gambar 2.12 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 3.6 Gambar 3.7 Gambar 3.10 Gambar 3.15 Gambar 3.16 Gambar 3.17 Gambar 3.18 Gambar 3.19 Gambar 3.20 Gambar 4.1 Gambar 4.2 Gambar 4.3 Gambar 4.4
Cara Kerja Sensor Ultrasonik ......................................... 7 Gambar Sensor Ultrasonik HC-SRF04............................ 7 Timing Diagram Sensor Ultrasonik HC-SRF04 ............... 8 IC ATmega328 ............................................................... 9 Pin ATmega328............................................................ 10 IC ATmega16 ............................................................... 11 Pin ATmega16 ............................................................. 11 Modul GSM SIM900 .................................................... 13 Contoh Tampilan Running Text .................................... 14 Led ............................................................................... 15 Led Matrix ................................................................... 16 Tampilan Arduino IDE ................................................. 18 Diagram Blok Alat ....................................................... 19 Sistem Minimum ATmega328 ...................................... 22 Rangkaian Regulator pada Sistem Minimum ................ 23 Bentuk Fisik Sistem Minimum ATmega328 ................. 23 Sensor Ultrasonik dihubungkan ke Mikrokontroler ATmega328 .................................................................. 24 Modul GSM dihubungkan ke Mikrokontroler ATmega328 .................................................................. 25 Flow Chart untuk Sensor Ultrasonik ............................. 26 Flow Chart untuk modul GSM ..................................... 29 Skematik Rangkaian Minimum Sistem ATmega16 ....... 31 Modul GSM dihubungkan ke Mikrokontroler ATmega16.................................................................... 32 Rangkaian Dalam Led Matrix 8x8 ................................ 33 SMS ............................................................................. 34 Flow Chart untuk Mengambil Isi SMS ......................... 35 Flow Chart untuk Membuat Array................................ 36 Uji Coba Sensor Ultrasonik .......................................... 38 Tampilan Data pada HP ................................................ 40 Uji Coba Running Text melalui SMS ............................ 41 Uji Coba Running Text menampilkan Huruf ................. 41
xvii
Gambar 4.5 Gambar 4.6
Uji Coba Running Text menampilkan Angka ................. 42 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 rumahrumah 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 DAN PEMBUATAN PERANCANGAN SISTEM KONTROL
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 masingmasing 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. Masingmasing 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. Masingmasing 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
Uji Coba 1 2 3 4 5 6 7 8
Jarak yang ditentukan 5 cm 7 cm 10 cm 12 cm 15 cm 17 cm 20 cm 22 cm
Waktu 321 us 437 us 582 us 731 us 890 us 1021 us 1205 us 1281 us
38
Hasil jarak (waktu * 0,0172) 5 cm 7 cm 10 cm 12 cm 15 cm 17 cm 20 cm 22 cm
9 10 11
25 cm 27 cm 30 cm
1493 us 1593 us 1761 us
25 cm 27 cm 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 masingmasing 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. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Waktu (WIB) 14.20 14.21 14.22 14.23 14.24 14.25 14.26 14.27 14.28 14.29
43
Ketinggian (cm) 159 157 157 156 156 156 156 158 158 158
-----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.
b.
c.
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. 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. 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.
b.
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. 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
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
#include #include #define F_CPU #define BAUD #define BAUDRATE
16000000UL 9600 ((F_CPU)/(BAUD*16UL)-
1) #define data_hi #define data_lo
PORTD|=(1<
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<
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 0 && buzzon < 20 && bstat == 1 && toverflow >= 244) { PORTD &= ~(1<
57
else if(buzzon > 0 && buzzon < 20 && bstat == 0 && toverflow >= 244) { PORTD |= (1<= 20) { buzzon = 0; PORTD &= ~(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 TTL
: Haris Inmas Ryandi : Surabaya, 20 September 1995 Jenis Kelamin : Laki - laki Agama : Islam Alamat : Jl. Wono Ayu 8 / 106 Rungkut, Surabaya Telp/HP : 089633770047 E-mail : [email protected]
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