Anda di halaman 1dari 58

MONITORING KUALITAS AIR TAMBAK DENGAN FITUR PLUG

AND PLAY DENGAN METODE STATE MACHINE

SKRIPSI

KEMINATAN TEKNIK KOMPUTER

Untuk memenuhi sebagian persyaratan


memperoleh gelar Sarjana Komputer

Disusun oleh:
IQBAL YUAN AVISENA
NIM:125150300111070

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
MALANG
2018
PENGESAHAN

MONITORING KUALITAS AIR TAMBAK DENGAN FITUR PLUG AND PLAY DENGAN
METODE STATE MACHINE
PENELITIAN

KEMINATAN TEKNIK KOMPUTER

Diajukan untuk memenuhi sebagian persyaratan


memperoleh gelar Sarjana Komputer

Disusun Oleh :
Iqbal Yuan Avisena
NIM: 125150300111070

Skripsi ini telah diuji dan dinyatakan lulus pada

Telah diperiksa dan disetujui oleh:

Dosen Pembimbing I Dosen Pembimbing II

Wijaya Kurniawan, S.T., M.T. Mochammad Hannats Hanafi, S.ST, M.T


NIP: 19820125 201504 1 002 NIK: 201405 881229 1 001

Mengetahui
Ketua Jurusan Teknik Informatika

Tri Astoto Kurniawan, S.T., M.T., Ph.D.


NIP: 19710518 200312 1 001

ii
PERNYATAAN ORISINALITAS

Saya menyatakan dengan sebenar-benarnya bahwa sepanjang pengetahuan


saya, di dalam naskah penelitian ini tidak terdapat karya ilmiah yang pernah
diajukan oleh orang lain untuk memperoleh gelar akademik di suatu perguruan
tinggi, dan tidak terdapat karya atau pendapat yang pernah ditulis atau
diterbitkan oleh orang lain, kecuali yang secara tertulis disitasi dalam naskah ini
dan disebutkan dalam daftar pustaka.
Apabila ternyata didalam naskah penelitian ini dapat dibuktikan terdapat
unsur-unsur plagiasi, saya bersedia penelitian ini digugurkan dan gelar akademik
yang telah saya peroleh (sarjana) dibatalkan, serta diproses sesuai dengan
peraturan perundang-undangan yang berlaku (UU No. 20 Tahun 2003, Pasal 25
ayat 2 dan Pasal 70).

Malang, 2018

Iqbal Yuan Avisena


NIM:125150300111070

iii
KATA PENGANTAR

Puji syukur kehadirat Allah SWT yang telah memberikan rahmat, taufik dan
hidayah-Nya sehingga laporan penelitian dengan judul “Perancangan Sistem
Keamanan Motor Dengan Menggunakan State Machine” ini dapat terselesaikan.
Penulis menyadari bahwa penyusunan skripsi ini tidak terlepas dari bantuan
banyak pihak. Oleh karena itu, penulis ingin menyampaikan rasa hormat dan
terima kasih kepada:
1. Ibu Srie Ramsiah, S.E. selaku orang tua, yang selalu memberikan doa,
motivasi, kasih sayang, dukungan moril dan materil sebagai penyemangat
dalam menyelesaikan skripsi ini.
2. Ibu Sri Indah Rosiani dan Sri Rusmiani selaku bude dari penulis, yang selalu
memberikan doa, motivasi, kasih sayang, dukungan moril dan materil sebagai
penyemangat dalam menyelesaikan skripsi ini.
3. Bapak Wayan Firdaus Mahmudy, S.Si., M.T., Ph.D. selaku Dekan Fakultas
Ilmu Komputer.
4. Bapak Heru Nurwarsito, Ir., M.Kom. selaku Wakil Dekan I Bidang Akademik
Fakultas Ilmu Komputer.
5. Bapak Tri Astoto Kurniawan, S.T., M.T., Ph.D. selaku Ketua Jurusan Teknik
Informatika.
6. Bapak Sabriansyah Rizkiqa Akbar, S.T., M.Eng. selaku Ketua Program Studi
Teknik Komputer yang sudah banyak membantu.
7. Bapak Wijaya Kurniawan, S.T., M.T. selaku dosen pembimbing I yang dengan
sabar membimbing dan mengarahkan penulis sehingga dapat menyelesaikan
skripsi ini.
8. Bapak Gembong Edhi Setyawan, S.T., M.T. selaku dosen pembimbing II yang
telah dengan sabar membimbing dan mengarahkan penulis sehingga dapat
menyelesaikan skripsi ini.
9. Segenap Bapak Ibu dosen dan staf serta karyawan Fakultas Ilmu Komputer
Universitas Brawijaya atas segenap ilmu pengetahuan yang diberikan.
10. M. Kholis Fikri, S.Kom., Ponco Wiguna, Embris Nuresalandis, S.Kom., Aras
Nizamul Aryo Anwar, M. Wingga Woggiasworo, Fauzi Awal Ramadhan,
Samkhya Aparigraha, Jodie Putra Kahir, Poby Zaarifwandono, S.Kom., Ardy
Frayogi, S.Kom., Siti Rizky Amalia, S.K.G., Rahmat Yanuar Putra terima kasih
untuk dukungan dalam penyelesaian skripsi ini serta seluruh teman-teman
sistem komputer angkatan 2012. Ade Andriani Butar Butar, S.S. yang sudah
dengan sabar memberikan dukungan, semangat, dan doa selama pengerjaan
skripsi ini dan pihak yang tidak bisa disebutkan satu per satu.
11. Alm. Dio Falagki selaku saudara serta sahabat dari penulis, yang selalu
menemani dan membantu penulis dalam segala kondisi yang ada, serta selalu
memberi dukungan dan doa selama pengerjaan skripsi ini.

iv
12. Dhipa Fathurahman., Thalia Hana S.M., Devana Mozaik, Mustika Tri
Cahyani, S.I.Kom, Nursyabira, S.T., Kukuh Bhaskara, Siti Arfiah Meisari,
S.Ked., Novanda Nuraniodi untuk dukungan yang terus di berikan dalam
penyelesaian skripsi ini.
Penulis menyadari bahwa dalam penyusunan skripsi ini masih banyak
kekurangan, sehingga saran dan kritik yang membangun sangat penulis
harapkan. Akhir kata penulis berharap skripsi ini dapat membawa manfaat bagi
semua pihak yang menggunakannya.
Malang, 18 Januari 2018
Penulis

aryccasm@gmail.com

v
ABSTRAK

Berdasarkan pengelolaan kualitas air yang baik bisa meningkatkan


produktivitas tambak tersebut jika dilakukan sesuai dengan standar yang sesuai.
Pengujian ini bertujuan untuk mengetahui seberapa efektif penujian kualitas air
pada tambak, dengan fitur Plug and Play dan metode State Machhine. Untuk itu
penulis telah membuat sebuah perancangan sistem monitoring kualitas air
tambak dengan metode state machines yang dihubungkan dengan sensor-sensor
pendukung yang sudah ada. Adapun jenis sensor yang digunakan oleh penulis
adalah sensor pH, sensor suhu, sensor photo diode dan juga nodeMCU sebagai
alat pengiriman data sensor dan juga sebagai server. Hasil baca dari sensor
tersebut akan dikirimkan ke node server melalui broadcat SSID yang telah
terhubung oleh masing-masing node sensor.
Kata kunci – Kualitas air tambak, nodeMCU, State Machine,

vi
ABSTRACT

Based on data obtained from BPS (Statistics Indonesia) regarding motorcycle


theft cases in Indonesia shows an increase in each year. So that makes people
become more worried about the safety of two wheeled vehicles. There are many
security systems of two-wheeled vehicles that have been circulating in Indonesia,
but the price offered relatively expensive, thus making people reluctant to use it.
To that end, the authors have made the design of motorcycle security system by
using a State machine that utilizes multiple sensors and existing technologies.
The sensor used is a fingerprint sensor and GPS sensor, coupled with some
technology in the form of data transmission using SMS-Gateway. The fingerprint
sensor is used to detect fingerprints from vehicle users, GPS as location readings
and notices when two-wheeled vehicles move while parked, and SMS-Gateway as
a location data transmission medium and two-wheel drive notification. In making
the program will be used State machine as the method. Finite state machine has
three basic elements, namely State, Event and Action. Based on the results
obtained from testing on the system, it can be concluded with the existence of
this system the safety level of the motor can increase, and the time obtained in
the delivery and reception of data is relatively efficient or brief and the use of
state machine on the system can run well.

Keywords - Security of two-wheeled vehicles, GPS, fingerprint Sensor, SMS-


Gateway, State machine

vii
DAFTAR ISI

PENGESAHAN ...........................................................................................................ii
PERNYATAAN ORISINALITAS ................................................................................... iii
KATA PENGANTAR ................................................................................................... iv
ABSTRAK .................................................................................................................. vi
ABSTRACT ............................................................................................................... vii
DAFTAR ISI ............................................................................................................. viii
DAFTAR TABEL ......................................................................................................... xi
DAFTAR GAMBAR ................................................................................................... xii
DAFTAR LAMPIRAN ............................................................................................... xiv
BAB 1 PENDAHULUAN............................................................................................. 1
1.1 Latar belakang........................................................................................ 1
1.2 Rumusan masalah .................................................................................. 1
1.3 Tujuan .................................................................................................... 2
1.4 Manfaat.................................................................................................. 2
1.5 Batasan masalah .................................................................................... 2
1.6 Sistematika pembahasan ....................................................................... 3
BAB 2 LANDASAN KEPUSTAKAAN ........................................................................... 5
2.1 Tinjauan Pustaka .................................................................................... 5
2.2 Dasar Teori ............................................................................................. 5
2.2.1 Definisi Keamanan......................................................................... 6
2.2.2 Definisi Short Message Service .......Error! Bookmark not defined.
2.2.3 Finite State Machine ..................................................................... 6
2.2.4 Arduino Uno ....................................Error! Bookmark not defined.
2.2.5 Android operation system ...............Error! Bookmark not defined.
2.2.6 Sensor Sidik Jari ...............................Error! Bookmark not defined.
2.2.7 Module SIM900A.............................Error! Bookmark not defined.
2.2.8 Module GPS SKM53 ........................Error! Bookmark not defined.
2.2.9 Module Relay 1 channel ..................Error! Bookmark not defined.
2.2.10 LCD 16X4 .......................................Error! Bookmark not defined.

viii
BAB 3 METODOLOGI ............................................................................................. 10
3.1 Metodologi Penelitian ......................................................................... 10
3.1.1 Studi Literatur ............................................................................. 11
3.1.2 Rekayasa Kebutuhan ................................................................... 11
3.1.3 Perancangan dan Implementasi Sistem ...................................... 12
3.1.4 Pengujian dan Analisis................................................................. 13
3.1.5 Kesimpulan .................................................................................. 13
BAB 4 REKAYASA KEBUTUHAN .............................................................................. 14
4.1 Rekayasa Kebutuhan Umum Sistem .................................................... 14
4.1.1 Tujuan.......................................................................................... 14
4.1.2 Fungsi .......................................................................................... 14
4.1.3 Karakteristik Pengguna ............................................................... 14
4.1.4 Batasan Sistem ............................................................................ 14
4.1.5 Asumsi dan Ketergantungan ....................................................... 15
4.2 Kebutuhan Antarmuka ......................................................................... 15
4.2.1 Kebutuhan Antarmuka Pengguna ............................................... 15
4.2.2 Antarmuka Perangkat Keras ....................................................... 15
4.2.3 Antarmuka Perangkat Lunak ....................................................... 16
4.3 Kebutuhan Fungsional ......................................................................... 16
4.4 Kebutuhan Non-Fungsional ................................................................. 17
BAB 5 PERANCANGAN DAN IMPLEMENTASI ........................................................ 18
5.1 Gambaran Umum Sistem ..................................................................... 18
5.2 Perancangan Sistem............................................................................. 19
5.2.1 Perancangan State Machine Pada Sistem Keamanan Motor ..... 19
5.2.2 Perancangan Frame Sistem Keamanan Motor ........................... 20
5.2.3 Perancangan Aplikasi Menggunakan AppInverter ................. Error!
Bookmark not defined.
5.3 Implementasi Sistem ........................................................................... 22
5.3.1 Implementasi State Machine Pada Sistem Keamanan Motor
..................................................................Error! Bookmark not defined.
5.3.2 Impelementasi Frame Sistem Keamanan Motor ........................ 22
5.3.3 Impelementasi Aplikasi Menggunakan AppInverter ................... 25

ix
BAB 6 PENGUJIAN DAN ANALISIS.......................................................................... 27
6.1 Pengujian State Sistem Keamanan Motor ........................................... 27
6.1.2 Pengujian State A : Mesin mati .......Error! Bookmark not defined.
6.1.3 Pengujian State B1 : Cek GPS ...................................................... 28
6.1.4 Pengujian State B2 : Cek GPS ...................................................... 29
6.1.5 Pengujian State C2 : Kirim Notif LokasiError! Bookmark not
defined.
6.1.6 Pengujian State D : Cek Fingerprint Error! Bookmark not defined.
6.1.7 Pengujian State E : Mesin Nyala......Error! Bookmark not defined.
6.1.8 Pengujian State B3 : Cek GPS ..........Error! Bookmark not defined.
6.2 Analisis Pengujian ....................................Error! Bookmark not defined.
BAB 7 PENUTUP .................................................................................................... 32
7.1 Kesimpulan........................................................................................... 32
7.2 Saran .................................................................................................... 32
DAFTAR PUSTAKA.................................................................................................. 33
LAMPIRAN A Source Code Program ...................................................................... 37
A.1 Program Utama ................................................................................... 37
A.2 Program Aktuator ................................................................................ 39
A.3 Program GPS ........................................................................................ 39
A.4 Program State Machine ....................................................................... 41
A.5 Program Sim900A ................................................................................ 41
A.6 Program Fingerprint ............................................................................ 42

x
DAFTAR TABEL

Table 3.1 Kebutuhan perangkat keras .................................................................. 12


Table 5.1 Potongan Program State Machine ............Error! Bookmark not defined.
Table 6.1 Prosedur Pengujian Sistem Keamanan MotorError! Bookmark not
defined.
Table 6.2 Hasil Pengujian Aksi Command Memanggil LokasiError! Bookmark not
defined.
Table 6.3 Hasil Pengujian Aksi time out 30 s ............Error! Bookmark not defined.
Table 6.4 Hasil Pengujian Pemindaian Sidik Jari .......Error! Bookmark not defined.
Table 6.5 Hasil Pengujian Aksi Command untuk Menyalakan Motor .............. Error!
Bookmark not defined.
Table 6.6 Hasil pengujian dengan time out 1s ..........Error! Bookmark not defined.
Table 6.7 Hasil Pengujian Ketika Posisi Motor BerubahError! Bookmark not
defined.
Table 6.8 Hasi Pengujian Ketika Posisi Motor Tidak BerubahError! Bookmark not
defined.
Table 6.9 Hasil Pengujian aksi time out 30 s .............Error! Bookmark not defined.
Table 6.10 Hasil Pengujian Sidik Jari Pengguna BenarError! Bookmark not
defined.
Table 6.11 Hasil Pengujian Sidik Jari Pengguna SalahError! Bookmark not
defined.
Table 6.12 Hasil Pengujian Command Cek GPS ........Error! Bookmark not defined.
Table 6.13 Hasil Pengujian Command Mematikan MesinError! Bookmark not
defined.
Table 6.14 Hasil Pengujian Cek GPS Dengan Time Out 1sError! Bookmark not
defined.

xi
DAFTAR GAMBAR

Gambar 2.1 Contoh Diagram Sederhana State Machine ........................................ 6


Gambar 2.2 Arduino Uno ..........................................Error! Bookmark not defined.
Gambar 2.3 Sensor Sidik Jari .....................................Error! Bookmark not defined.
Gambar 2.4 Module SIM900A...................................Error! Bookmark not defined.
Gambar 2.5 Module GPS SKM53...............................Error! Bookmark not defined.
Gambar 2.6 Module Relay 1 Channel .......................Error! Bookmark not defined.
Gambar 2.7 LCD 16x4 ................................................Error! Bookmark not defined.
Gambar 3.1 Metode Penelitian Waterfall ............................................................ 10
Gambar 3.2 Metode penelitian yang digunakan .................................................. 11
Gambar 3.3 Diagram Blok Sistem ......................................................................... 12
Gambar 5.1 Diagram Blok Sistem Keamanan Motor ............................................ 18
Gambar 5.2 Perancangan Sistem ..............................Error! Bookmark not defined.
Gambar 5.3 Diagram Blok State Machine Pada Sistem Keamanan Motor ........... 19
Gambar 5.4 Perancangan Pembacaan Module GPS SKM53Error! Bookmark not
defined.
Gambar 5.5 Perancangan Module SIM900A .............Error! Bookmark not defined.
Gambar 5.6 Perancangan Sensor Fingerprint ...........Error! Bookmark not defined.
Gambar 5.7 Perancangan Module Relay 1 Channel .Error! Bookmark not defined.
Gambar 5.8 Tampilan Awal App Inverter..................Error! Bookmark not defined.
Gambar 5.9 Flowchart Perancangan Aplikasi Pada SmartphoneError! Bookmark
not defined.
Gambar 5.10 Skema Pembuatan Perangkat Keras ...Error! Bookmark not defined.
Gambar 5.11 Bentuk Fisik Sistem Keamanan Motor Error! Bookmark not defined.
Gambar 5.12 Implementasi Sistem Keamanan MotorError! Bookmark not
defined.
Gambar 5.13 Implementasi GPS SKM53 ............................................................... 23
Gambar 5.14 Implementasi SIM900A .......................Error! Bookmark not defined.
Gambar 5.15 Implementasi Sensor fingerprint ........Error! Bookmark not defined.
Gambar 5.16 Implementasi Relay 1 Channel ............Error! Bookmark not defined.
Gambar 5.17 Block Coding Speech Recognizer.........Error! Bookmark not defined.

xii
Gambar 5.18 Block Coding Text and Sending Message ProcessError! Bookmark
not defined.
Gambar 5.19 Tampilan Aplikasi pada Smartphone ...Error! Bookmark not defined.
Gambar 5.20 Tampilan Aplikasi Ketika Menunggu Input Suara dari Pengguna
...................................................................................Error! Bookmark not defined.
Gambar 5.21 Tampilan Aplikasi Ketika Pengguna Telah Meng-inputkan Suara
...................................................................................Error! Bookmark not defined.
Gambar 5.22 Tampilan Aplikasi Ketika Data Ditampilkan dan Dikirim ............ Error!
Bookmark not defined.
Gambar 6.1 Lokasi yang Benar ..................................Error! Bookmark not defined.
Gambar 6.2 Lokasi Pengujian ke – 4 .........................Error! Bookmark not defined.
Gambar 6.3 Lokasi Pengujian ke – 7 .........................Error! Bookmark not defined.
Gambar 6.4 Koordinat dari pengujian State A ke State B2Error! Bookmark not
defined.
Gambar 6.5 Lokasi Hasil Pengujian State B2 Aksi duaError! Bookmark not
defined.
Gambar 6.6 Lokasi Berdasarkan Data Dari Tabel 6.11Error! Bookmark not
defined.

xiii
DAFTAR LAMPIRAN

LAMPIRAN A Source Code Program ...................................................................... 37


A.1 Program Utama ................................................................................... 37
A.2 Program Aktuator ................................................................................ 39
A.3 Program GPS ........................................................................................ 39
A.4 Program State Machine ....................................................................... 41
A.5 Program Sim900A ................................................................................ 41
A.6 Program Fingerprint ............................................................................ 42

xiv
BAB 1 PENDAHULUAN

1.1 Latar belakang


Pada dewasa ini masyarakat Indonesia mulai beralih untuk mengkonsumsi
ikan, dapat dilihat bahwa tingkat konsumsi ikan di Indonesia perkapita dalam 6
tahun terakhir (2011-2016) mengalami kenaikan rata-rata sebesar 6,3 persen.
Tahun 2016 tercatat tingkat konsumsi ikan nasional sebanyak 43,94 kg per kapita
per tahun atau naik sebesar 6,8 persen dari tahun sebelumnya. Kendati
demikian angka ini masih jauh lebih rendah dibandingkan dengan beberapa
negara di level Asean, semisal Malaysia yang telah mencapai 70 kg per kapita per
tahun.
Di sisi lain, kinerja produksi perikanan budidaya nasional juga menunjukkan
tren positif, yang dalam kurun waktu 5 tahun terakhir (2011-2015) cenderung
mengalami kenaikan rata-rata pertahun hingga 19,08 persen dan tercatat
sebagai nomor 2 (dua) produsen perikanan budidaya dunia. Pada tahun 2014
Indonesia menyumbang sedikitnya 14,22 persen dari total produksi perikanan
budidaya dunia dan menempati urutan kedua setelah China yang masih
mendominasi dengan share sebesar 58,16 persen. (Cocon S.Pi, 2017).
Untuk meningkatkan hasil produksi para produsen juga memanfaatkan
teknologi untuk mendapatkan hasil yang maksimal. Salah satu penggunaaan
teknologi dalam budidaya perikanan diantaranya untuk memonitoring
perkembangan keadaan kualitas ikan dan lingkungnnya. Pada penelitian rivaldi
wibowo dengan mengmplementasi Wireless Sensor Node Sebagai Pendukung
Pertanian Modern Berbasis Pemrograman State Machine. Pada penelitian ini
metode state machine digunakan sebagai metode yang berguna untuk melihat
tingkah laku keadaan lingkungan tambak. Selain itu pada penelitian lainnya yang
dilakuakan …………………..
Untuk melengkapi pada penelitan sebelumnya dalam penelitian ini, akan
dilakukan monitoring tentang kualitas air tambak yang baik untuk melakukan
pembudidayaan. Dalam melakukan penelitian ini berfokus pada seberapa baik
kualitas air yang digunakan untuk pembudidayaan pada tambak. Dalam hal
kualitas air disini meliputi seberapa kadar pH yang baik, tingkat kekeruhan air
yang digunakan dan juga suhu yang digunakan pada tambak
tersebut.penggunaan teknologi Wsn di buat menggunakan mkrokokontroler
MCU yang memiliki kelebihan …… sehingga dapat meningkatkan hasil perikanan.
Pada penelitian ini pengguaan metode state machine dengan node MCU
memiliki hasil sebagai berikut ………………

1.2 Rumusan masalah


Berdasarkan latar belakang yang telah dibahas, dapat diambil beberapa
rumusan masalah yang dapat dikaji sebagai berikut:
1
1. Bagaimana sistem bekerja dengan cara sistem plug and play .
2. Berapa tingkat akurasi data yang dikirim oleh client ke server.
3. Bagaimana sistem dapat berjalan dengan metode state machine

1.3 Tujuan
Tujuan yang diharapkan dari peneltian ini adalah:
1. Sebagai sarana meningkatkan kualitas air tambak supaya hasil yang
diperoleh bisa maksimal.
2. Menguji tingkat kekeruhan air pada air tambak dan kadar pH air supaya
hasil yang didapat pada saat panen bias maksimal.
3. Untuk memudahkan para pekerja tambak agar lebih mudah dalam
melakukan pengawasan kualitas air tambak tersebut supaya hasilyang
didapat bisa maksimal.

1.4 Manfaat
Pada penelitian ini diterapakan sensor suhu, sensor pH, dan juga sensor
kekeruhan diharapkan dengan penerapan sensor-sensor tersebut dapat
diperoleh manfaat sebagai berikut:
a) Bagi penulis
1. Dengan penelitian ini maka penulis bisa mengimplementasikan apa
yang telah dipelajari selama menempuh perkuliahan di Universitas
Brawijaya.
2. Dapat memahami bagaimana penerapan sistem state machine dapat
berjalan dengan baik, khususnya pada alat yang telah dibuat oleh
penguji dan pada bidang yang lainnya.
3. Dapat memahami tentang proses pengolahan data sensor suhu,
sensor pH, dan juga sensor kekeruhan air pada module node MCU
8266.
b) Bagi pengguna
1. Meningkatkan kualitas air pada tambak sebagai sarana
pengembangbiakan sumber pangan bagi masyarakat.
2. Memudahkan para pekerja tambak untuk memonitoring seberapa
baik kualitas air yang dibutuhka.
3. Mendapatkan hasil yang maksimal pada saat pemanenan dengan
baiknya kualitas air tambak yang digunakan.

1.5 Batasan masalah


Agar penelitian ini dapat dilakukan dengan teliti dan terarah, maka penulis
membatasi hal-hal yang dilakukan dalam penelitian ini dalam hal rancangan

2
sistem yang bekerja, pengiriman data sensor ke server, maka penulisan ini
memiliki batasan masalah sebagai berikut:
1. Data sensor yang dikirimkan keserver berjumlah tiga buah sensor.
2. Sistem mikrokontroller yang digunakan oleh penulis adalah node
MCU 8266
3. Untuk pengiriman data dengan cara broadcast.
4. Untuk pembacaan suhu menggunakan modul ds 18b20.
5. Untuk pembacaan kadar pH pada air mengunakan Sensor pH.
6. Untuk pembacaan kekeruhan pada air menggunakan sensor photo
diode.
7. Menggunakan State Machine.
8. Menggunakan Plug and Play.

1.6 Sistematika pembahasan


Bagian ini berisi struktur penelitian ini mulai Bab Pendahuluan sampai Bab
Penutup dan depenelitian singkat dari masing-masing bab. Diharapkan bagian ini
dapat membantu pembaca dalam memahami sistematika pembahasan isi dalam
penelitian ini.
Bab I : Pendahuluan
Menguraiakan tentang latar belakang pembuatan tugas akhir,
rumusan masalah, batasan masalah, tujuan dan manfaat, serta
sistematika penulisan.
Bab II : Landasan Kepustakaan
Menguraikan kajian pustaka dan dasar teori yang mendasari
sistem monitoring kualitas air tambak dengan fitur plug and play
dan metode state machine.
Bab III : Metodologi
Menguraikan tentang metode dan langkah kerja yang terdiri dari
studi literatur, analisis kebutuhan simulasi, perancangan sistem,
implementasi dan analisis serta pengambilan kesimpulan.
Bab IV : Analisis dan rekayasa kebutuhan
Menguraikan analisa dan rekayasa kebutuhan dari dasar teori
yang telah dipelajari sesuai analisis.
Bab V : Perancangan dan implementasi sistem
Menguraikan proses perancangan dan implementasi dari dasar
teori yang telah dipelajari sesuai analisis.
Bab VI : Pengujian dan analisis

3
Tahapan pengujian memuat proses pengujian terhadap sistem
monitoring kualitas air tambak dengan menggunakan fitur plug
and play dan mtode state machine yang selanjutnya akan
dilakukan analisis terhadap hasil monitoring.
Bab VII : Penutup
Memuat kesimpulan yang diperoleh dari pembuatan dan
pengujian program , serta saran-saran untuk mengembangkan
lebih lanjut.

4
BAB 2 LANDASAN KEPUSTAKAAN

Landasan kepustakaan berisi uraian dan pembahasan tentang teori, konsep,


model, metode, atau sistem dari literatur ilmiah, yang berkaitan dengan sistem
keamanan motor menggunakan sidik jari dan sms gateway berbasis android
menggunakan suara. Dalam landasan kepustakaan terdapat landasan teori dari
berbagai sumber pustaka yang terkait dengan teori dan metode yang digunakan
dalam penelitian. Jika dibutuhkan sesuai dengan karakteristik penelitiannya dan
syarat kecukupan khusus keminatan tertentu, bisa juga terdapat kajian pustaka
yang menjelaskan secara umum penelitian-penelitian terdahulu yang
berhubungan dengan topik penelitian dan menunjukkan persamaan dan
perbedaan penelitian tersebut terhadap penelitian terdahulu yang dituliskan.

2.1 Tinjauan Pustaka


Pada penelitian ini, landasan kepustakaan sebagai referensi berasal dari
beberapa jurnal dan literasi terkait konsep Internet of things, mikrokontroler
nodeMCU dan metodologi pengujian. Jurnal dan literasi tersebut meliputi kondisi
dan perkembagan IoT saat ini, mikrokontroler nodeMCU, kelebihan dalam
penerapan metode plug and play, Landasan kepustakaan yang ada akan menjadi
dasar pengembangan dan pengujian penerapan metode plug and play pada
monitoring air tambak di penelitian kali ini.
Penelitian yang pertama, Implementasi Wireless Sensor Node Sebagai
Pendukung Pertanian Modern Berbasis Pemrograman State Machine. Pada
penelitian ini metode state machine digunakan sebagai metode yang berguna
untuk melihat tingkah laku sistem yang telah dibuat peneliti. Pengujian pada
sistem yang dibuat dilakukan sebanyak 6 kali yaitu pengujian pada eksekusi
setiap state, pengujian lama eksekusi transisi, pengujian total waktu eksekusi
state dan transisi, pengujian sensor, pengujian pengiriman data, serta pengujian
sleep mode.Sehingga hasil dari implementasi metode state machine berhasil
dilakukan dengan sistem dapat berjalan. Dalam penelitian ini hasil rata-rata dari
pengujian state sebanyak 10 kali dari total transisi state “diam” adalah 21543,6
microsecond, state “termonitor” 921594,4 microsecond, dan “terkirim” sebesar
1161218,4 microsecond. Kemudian hasil dari sensor yang diuji sesuai dengan
yang diharapkan serta data yang masuk sesuai dengan tampilan serial monitor.
Untuk pengujian sleep mode tidak sesuai dengan pengaturan yang telah
dilakukan dikarenakan adanya faktor delay pada program yang mempengaruhi
hasil keluaran sistem menjadi lebih lama dari waktu yang telah ditentukan
(Rivaldi Wibowo, 2018).

2.2 Dasar Teori


Dasar teori berisi tentang teori-teori yang berhubungan dalam perancangan
penelitian dengan topik rancang bangun pendeteksi kekeruhan air berbasisi
mikrokontroler pada penampungan air.

5
2.2.1 Definisi Plug and Play
Menurut Dyahayuriyanafani (2011) Plug and Play ini merupakan frase yang
digunakan untuk menjelaskan perangkat yang bekerja dengan sistem komputer
segera setelah terhubung. Pengguna tidak harus menginstal driver, tetapi
komputer secara otomatis mengenali perangkat ini, beban driver baru untuk
hardware jka diperlukan dan mulai bekerja dengan perangkat baru yang
terhubung.

2.2.2 Finite State Machine


Finite State machine merupakan sebuah metodologi perancangan mesin
yang menggambarkan logika sekuensial dan beberapa program computer, yang
dapat diimplementasikan kedalam perangkat keras ataupun perangkat lunak.
Defini Finite State Machine (FSM)
Secara garis besar, definisi finite State machine adalah sebuah pemodelan
komptasi yang dapat diimplementasikan kedalam perangkat keras ataupun
peragkat lunak. Selain itu, Finite State Machine juga bisa digunakan untuk
mensimulasikan logika sequensial dan beberapa program computer. Secara
umum Finite State machine memilik 3 elemen dasar, yaitu State(keadaan),
Event(kejadian) dan Action(aksi). Ketika dalam kurun waktu tertentu, sistem akan
berada pada State yang aktif. Kemudian sistem akan dapat berganti
State(keadaan) ketikan mendapat input(event) tertentu dari sistem itu sendiri
ataupun dari perangkat keras lainnya yang bukan berasal dari sistem itu sendiri.

Gambar 2.1 Contoh Diagram Sederhana State Machine


sumber: (Setiawan, 2006)
Pada gambar diagram di atas menunjukkan sebuah FSM(Finite State
Machine) dengan dua buah State, satu buah input, empat buah event/action
yang berbeda. Seperti yang terlihat pada gambar di atas, ketika sistem mulai
dihidupkan, sistem akan bertransisi menuju State0, pada keadaan ini sistem akan
menghasilkan Action1 jika terjadi masukan Event0, sedangkan jika terjadi Event1
maka Action2 akan dieksekusi kemudian sistem selanjutnya bertransisi ke
keadaan State1 dan seterusnya.
Event merupakan sebuah kejadian yang dapat menyebabkan perpindahan
dari satu state ke state yang lain ataupun melakukan pengulangan pada state
yang sama. Terdapat dua jenis event, yaitu event trasition yang merupakan suatu

6
kejadian yang dapat membuat perpindahan pada state dan event iteration yang
merupakan suatu kejadian yang membuat state melakukan perulangan.
Sedangkan, action ditulis setelah nama event yang diawali dengan tanda garis
miring (/). Karakteristik dari action harus bisa selesai sebelum transition
mencapai state yang baru. Hal tersebut mengindikasikan bahwa action tidak
dapat diinterupsi oleh event yang lain yang mungkin dideteksi oleh obyek.
FSM(Finite State Machine) didefinisikan sebagai pasangan 6 tupel F(K, V, S,
Z, f, g) dimana:
K : himpunan hingga stata
VT : himpunan hingga simbol input (alphabet)
SϵK : stata awal
Z : himpunan hingga simbol output
f : K x VT -> K disebut fungsi next State
g : K x VT -> Z disebut fungsi output
Kelebihan dan Kekurangan FSM(Finite State Machine)
 Kelebihan State machine
FSM sendiri memiliki kelebihan dan kekurangan sebagai berikut
(Brownlee, 2010).
1. Sederhana sehingga mudah diimplementasikan
2. Respon dapat diprediksi
3. Komputasinya ringan
4. Fleksibel
5. Metode AI lama yang dapat dipakai dalam berbagai sistem
6. Mudah ditranfer dari abstrak menjadi kode program
 Kekurangan State machine
Selain memiliki banyak kelebihan, FSM juga mempunyai beberapa
kelemahan (Brownlee, 2010),diantaranya :
1. Karena sifatnya bisa diprediksi, maka implementasi pada game
kurang disukai
2. Implementasi pada sistem yang lebih besar lebih sulit karena
pengaturan dan pemeliharaannya jadi kompleks
3. Sebaiknya hanya digunakan pada sistem dimana sifat sistem
bisa didekomposisi menjadi State.
4. Kondisi untuk transisi State adalah tetap.
2.2.3 Node MCU 8266
Menurut Mona dan Dini (admin ‘dirakit’), node MCU merupakan sebuah
open source platform IoT dan pengembangan kit yang menggunakan bahasa
pemrogaman untuk membantu pengguna dalam membuat prototype produk IoT
atau bisa dengan mamakai sketch dengan arduino IDE.

7
Menurut Agus Faudin (2017), NodeMCU itu sendiri memiliki 3 versi dalam
pembuatannya, yaitu versi 0.9, versi 1.0 (official) dan versi 1.0 (unofficial). Dalam
penggunaan penelitian ini sendiri, pengguna lebih memilih untuk menggunakan
versi 1.0 (official) yang merupakan pengembangan dari versi sebelumnya (versi
0.9). Pada versi 1.0 (official) ini ukuran module board lebih kecil yang membuat
lebih kompatibel dalam penggunaannya dan versi ESP8266 yang digunakan
bertipe ESP-12E yang dianggap lebih stabil dari ESP-12. Pengembangan kit ini
didasarkan pada modul ESP8266, yang mengintegrasikan GPIO, PWM, IIC, 1-Wire
dan ADC (analog digital converter) semua dalam satu board.

2.2.4 Sensor pH
Sensor ini merupakan sensor yang berfungsi untuk mengukur kadar
keasaman atau kebasa-an suatu benda dengan menggunakan skala pH anatara
nilai 0-14. Sifat asam mempunyai nilai pH antara 0-7, sedangkan sifat basa
mempunyai nilai pH antara 7-14. Kadar pH pada air bisa dikatakan normal jika
memiliki nilai kada pH berkisar antara 6,5 - 8,5. Prinsip kerja pada sensor pH ini
adalah pada sensor probe sebagai electrode kaca untuk mengukur jumlah ion
H3O+ pada larutan. Ujung pada alat ini berbentuk bulat dan dikaitkan pada kaca
silinder nonkonduktor yang kemudian diisi dengan larutan HCL. Pada sensor pH
yang digunakan juga memiliki variasi eror dengan nilai maksimal 0,848% dan
standar deviasi rata-rata 0,01.

8
2.2.5 Sensor suhu LM35
Sensor LM35 adalah sebuah sensor untuk pengukuran suhu dalam air yang
digunakan untuk memonitoring kualitas air. Sensor ini merupakan termasuk
sensor yang tahan terhadap air. Sensor ini memiliki rentan pengukuran suhu dari
-55°C s/d +125°C serta resolusi ADC 9-bit. Pada sensor suhu LM35 ini memiliki
beberapa kaki pin, beberapanya adalah pin 1(output), pin 2(input VCC 5V) dan
pin 3 (GND). Pada sensor suhu DS 18B20 yang digunakan juga memiliki nilai
variasi eror dengan nilai maksimal 5,4% dengan standar deviasi rata-rata sebesar
1,145. Sambar dari sensor suhu LM35 itu sendiri dapat dilihat pada gambar
dibawah ini.

2.2.6 Sensor Photodioda


Sensor Photodioda adalah sebuah sensor diode yang peka terhadap cahaya
dan akan mengalami perubahan resistansi pada saat menerima intensitas cahaya
mengalirkan arus secara forward. Pada sensor kekeruhan yang menggunakan
photodiode juga memiliki nilai variasi eror sebesar 0,97% dengan standar deviasi
rata-rata sebesar 6,69.

9
BAB 3 METODOLOGI

Pada bab ini akan dijabarkan langkah – langkah yang akan dilakukan untuk
menyelesaikan masalah penelitian ini. Langkah-langkah tersebut meliputi studi
literatur, analisis kebutuhan, perancangan sistem, implementasi sistem, analisis
hasil pengujian dan pengambilan kesimpulan.

3.1 Metodologi Penelitian


Metodologi penelitian yang akan digunakan pada penelitian ini yaitu metode
penelitian waterfall. Metode ini merupakan metode pengembangan perangkat
lunak terstruktur yang paling dikenal dan banyak digunakan secara luas, tidak
hanya di lingkup akademisi tetapi juga di industri (Binanto, 2015).

Gambar 3.1 Metode Penelitian Waterfall


sumber : (Sommerville I. , 2011)
Pada Gambar 3.1 merupakan metode penelitian waterfall versi Sommerville
(Sommerville I. , 2011). Mengambil dasar dari metode penelitian tersebut penulis
mengadaptasikannya pada metode penelitian penulis dengan menambahkan dan
merubah beberapa bagian sehingga dapat disesuaikan dengan alir penelitian
penulis yang ditunjukkan pada Gambar 3.2.

10
Gambar 3.2 Metode penelitian yang digunakan
3.1.1 Studi Literatur
Studi literatur merupakan kegiatan yang dilakukan untuk mempelajari serta
memahami penjelasan dasar teori yang digunakan untuk menunjang
perancangan agar tidak mengalami kendala. Pada tahap studii literatur ini,
mempelajari teori-teori yang digunakan dalam pengerjaan penelitian. Teori-teori
pendukung tersebut diperoleh dari buku, jurnal, e-book, dokumentasi, dan
penelitian sebelumnya yang berkaitan dengan penelitian. Referensi utama yang
diperoleh dalam penulisan ini adalah forum-forum terkait dengan komponen dan
metode state machine yang diterapkan dalam penelitian ini, seperti forum
diskusi pengguna arduino uno dan jurnal.
3.1.2 Rekayasa Kebutuhan
Rekayasa kebutuhan bertujuan untuk mendapatkan semua kebutuhan yang
diperlukan dalam merancang sistem yang akan dibuat dan diuji. Analisa
kebutuhan dilakukan dengan cara mengidentifikasi kebutuhan dari sistem dan
peralatan yang terlibat didalamnya. Dalam kebutuhan sistem akan terjadi proses
mengidentifikasi beberapa perangkat yang digunakan seperti perangkat keras
dan perangkat lunak. Dengan adanya pengidentifikasi, maka dapat
mempermudah dalam perancangan dan implementasi pada saat pembuatan
sistem. Berikut adalah kebutuhan sistem pada perangkat keras dan perangkat
lunak:
1 Kebutuhan perangkat keras
Kebutuhan perangkat keras yang digunakan pada penelitian ini akan
dijelaskan pada tabel 3.1

11
Table 3.1 Kebutuhan perangkat keras
Nama perangkat Kegunaan
Sensor turbindity Mengukur tingkat kekeruhan air
Sensor suhu Mendeteksi besar suhu pada air
Sensor pH Mendeteksi kadar pH pada air
Node MCU 8266 Sebagai mikrokontroler dan
pengiriman data

2 Kebutuhan perangkat lunak


Kebutuhan perangkat lunak yang digunakan pada penelitian ini akan
dijabarkan sebagai berikut :
a) Arduino Softward IDE
b) Library ESP 8266
c) Library sensor Suhu LM35
d) Library sensor Tds
e) Library sensor ph
3.1.3 Perancangan dan Implementasi Sistem
Setelah melakukan rekayasa kebutuhan untuk sistem maka selanjutnya akan
dilakukan perancangan serta implementasi pada sistem. Untuk mempermudah
dalam memahami perancangan sistem akan digambarkan dalam bentuk diagram
blok pada Gambar 3.3 yang akan menjelaskan desain sistem secara keseluruhan.

Gambar 3.3 Diagram Blok Sistem


Diagram blok pada Gambar 3.3, merupakan sebuah alur perangkat keras
sistem monitoring kualitas air tambak menggunakan node MCU. Terdapat tiga
12
jenis node MCU yang berondal sebagai klien, setiap node nya mempunyai input
berupa sensor suhu, sensor Ph, dan sensor TDS. Node MCU klien akan
mengirimkan data ke node MCU server. Lalu server akan melakukan proses
pengolahan data untuk ditampilkan pada serial monitor. Setelah data dikirim
maka akan ditampilkan nilai dari setiap sensor yang dikirimkan ke serial monitor.
3.1.4 Pengujian dan Analisis
Pengujian dari penelitian ini yaitu dengan memastikan data yang dikirim
efisien secara update dalam skala waktu yang ditentukan untuk memperoleh
hasil data yang diinginkan. Dengan menggunakan parameter pengujian yang
sesuai pada perancangan sistem agar dapat berjalan baik sesuai yang
diharapkan, pengujian sistem dilakukan meliputi :
1. Pengujian node MCU pada sistem plug and play.
2. Pengujian nilai sensor yang dikirimkan
3. Memonitoring setiap perubahan kualitas dari air tambak tersebut.

Setelah dilakukannya pengujian, maka akan dilakukan analisis terhadap


pengujian tersebut dengan berdasarkan data yang telah didapat dari pengujian.
Dengan begitu akan dapat diketahui mengenai kinerja dari sistem.
3.1.5 Kesimpulan
Pengambilan kesimpulan dilakukan setelah semua tahapan perancangan
implementasi dan pengujian telah selesai. Kesimpulan diambil untuk menjawab
rumusan masalah yang sudah dijabarkan sebelumnya. Tahapan terakhir dari
penulis adalah saran yang dimaksudkan untuk memperbaiki kesalahan-kesalahan
yang terjadi dan menyempurnakan penulisan serta memberikan pertimbangan
yang terjadi atas hasil yang telah dilakukan.

13
BAB 4 REKAYASA KEBUTUHAN

4.1 Rekayasa Kebutuhan Umum Sistem


Secara rekayasa kebutuhan umum sistem dibutuhkan beberapa hal yang
diperlukan untuk melakukan perancangan sistem ini yaitu tujuan, fungsi, dan
karakteristik pengguna.
4.1.1 Tujuan
Tujuan dari perancangan sistem ini adalah untuk menguraikan dan
menjelaskan bagaimana penelitian proses monitoring kualitas air pada tambak
untuk meningkatkan kualitas konsumsi pangan yang berada di Indonesia.
Adapun penguraian yang lebih rinci pada penelitian ini adalah adalah fitur
plug and play dari sistem yang dikembangkan, kegunaan, lingkungan pengguna,
batasan perencanaan dan implementasi dan asumsi ketergantungan, serta
penjelasan terkait kebutuhan fungsional dan non fungsional. Pada bab ini dibuat
agar dapat digunakan untuk dokumentasi para pengembang berikutnya supaya
selanjutnya penelitian ini dapat dikembangankan dan diusulkan sebagai laporan
penelitian.
4.1.2 Fungsi
Dalam perancangan sistem monitoring ini, akan dilengkapi dengan
mikrokontroler, module nodeMCU, sensor pH, sensor turbindity, dan sensor
suhu pada perancangan alatnya. Kegunaan dari module nodeMCU adalah untuk
pengiriman data dari sensor yang akan ditampilkan server pada serial monitor
dan juga sebagai mikrokontroller. Lalu kegunaan dari sensor pH sendiri sebagai
pengukur kadar pH pada air tambak. Selain itu ada juga sensor suhu yang
digunakan sebagai pengukur suhu pada air tambak. Sedangkan sensor turbindity
itu sendiri bertujuan untuk mengukur tingkat kekeruhan pada air.
4.1.3 Karakteristik Pengguna
Karakteristik pengguna pada sistem ini bersifat pasif, karena penggunahanya
dapat melihat data dari sensor yang didapat dari monitoring yang dilakukan.
Hasil yang dihasilkan juga merupakan nilai standarisasi kualitas air dan
pemberitahuan ketika sensor terhubung ataupun terputus ke server.
4.1.4 Batasan Sistem
Beberapa batasan yang ada pada sistem ini antara lain :
1. Sensor yang digunakan adalah sensor suhu, sensor pH dan sensor turbindity.
2. Setiap sensor melakukan pembacaan nilai yang terukur setiap 2-3 detik
selama klien terhubung oleh server.
3. Sumber tegangan untuk setiap node sensor merupakan sumber tegangan
langsung dari baterai minimal 9v.

14
4.1.5 Asumsi dan Ketergantungan
Beberapa asumsi dan ketergantungan yang ada pada sistem ini antara lain :
1. Setiap node sensor akan secara terus menerus mengirimkan nilai selama
terhubung ke server.
2. Penerapan pengiriman nilai sensor yang dilakukan dengan cara melakukan
broadcast yang membuat node sensor harus tetap terhubung dengan
server.
3. Sistem ini membutuhkan minimal tegangan 9v untuk menjalankan sistem.

4.2 Kebutuhan Antarmuka


Kebutuhan antarmuka merupakan kebutuhan untuk menghubungkan
pengguna sistem dan sistem itu sendiri. Pada kebutuhan antarmuka ini terbagi
menjadi 3, yaitu kebutuhan antarmuka pengguna, kebutuhan antarmuka
perangkat keras dan kebutuhan antarmuka perangkat lunak.

4.2.1 Kebutuhan Antarmuka Pengguna


Kebutuhan yang diperlukan untuk antarmuka pengguna dalam sistem ini
adalah sebagai berikut:
1. Sistem dapat menampilkan hasil dari sensor yang terbaca pada serial
monitor yang telah tersedia.
2. Hasil data yang diterima merupakan nilai-nilai dari tiap sensor yang
terhung keserver untuk melihat sebagaimana penilaian kualitas air
tambak yang sesuai dengan parameter yang ditentukan.

4.2.2 Antarmuka Perangkat Keras


Kebutuhan perangkat keras yang dibutuhakan untuk antarmuka pada sistem ini
yaitu:
1. Modul nodeMCU 8266
 Membutuhkan daya minimal sebesar 9V.
 Sebagai perangkat untuk melakukan pengiriman data keserver
dengan cara broadcast.
2. Sensor pH
 Membutuhkan daya minimal sebesar 9V.
 Sebagai pengukur kadar pH pada air tambak.
3. Sensor suhu ds 18b20
 Membutuhkan daya minimal sebesar 9V.
 Sebagai pengukur suhu air tambak.
4. Sensor turbindity
15
 Membutuhkan daya minimal sebesar 9V.
 Sebagai pengukur tingkah kekeruhan pada air tambak.

4.2.3 Antarmuka Perangkat Lunak


Kebutuhan perangkat lunak yang dibutuhkan untuk antarmuka pada sistem ini
yaitu:
1. Modul esp8266
Sebagai library esp8266 untuk penggunaan arduino IDE.
2. Arduino IDE
IDE untuk memprogram esp8266 dengan menggunakn bahasa C.
3. Bahasa C
Sebagai bahasa pemrogaman yang digunakan.

4.3 Kebutuhan Fungsional


Dalam sebuah kebutuhan fungsional, untuk menjelaskan kinerja sistem
supaya dapat berjalan dengan baik sesuai dengan apa yang diharapkan.
1. Sistem dapat menampilkan hasil ukur sensor yang terhubung dan telah
diproses untuk ditampilkan melalui serial monitor.
a. Penjelasan
Fitur ini berguna untuk mengetahui nilai dari masing-masing sensor
yang terhubung pada server. Agar sistem dapat melakukan proses
pembacaan nilai sensor, maka setiap node sensor harus terhubung
pada server untuk bisa mengirimkan nilai-nilainya.
b. Stimulus dan respon sistem
Sistem akan menerima data dari node sensor yang dikirimkan secara
broadcast.
c. Kebutuhan fungsional
Kebutuhan fungsional ini digunakan untuk pengguna agar dapat
melihat hasil monitoring yang dilakukan.
2. Sistem dapat membaca pengiriman nilai sensor yang dilakukan dengan cara
melakukan broadcast yang membuat node sensor harus tetap terhubung
dengan server.
a. Penjelasan
Fitur ini berguna untuk menjelaskan hasil yang diterima oleh server
yang berupa nilai-nilai dari masing-masing sensor. Hasil tersebut
kemudian akan ditampilkan diserial monitor oleh server.
b. Stimulus atau respon sistem

16
NodeMCU merupakan mikrokontroller yang bertugas untuk
menerima data sensor yang masuk untuk kemudian ditampilkan.
Dari hasil yang ditampilkan itulah kemudian pengguna dapat
melakukan monitoring dari kualitas air tersebut.
c. Kebutuhan fungsional
Kebutuhan fungsional ini digunakan sebagai cara agar pengguna
dapat membaca hasil data monitoring sebagai data teknis.

4.4 Kebutuhan Non-Fungsional


Pada kebutuhan non-fungsional ini menggunakan daya 9V (bateray atau
powerbank) pada sistem. Sehingga sistem masih dapat berjalan sesuai dengan
yang pengguna harapkan. Selain itu pengguna juga dapat berinteraksi dengan
sistem melalui LCD 16x2 utik melihat hasil monitoring yang dilakukan. Namun
dengan menambahkan daya yang dibutuhkan.

17
BAB 5 PERANCANGAN DAN IMPLEMENTASI

Pada bab ini akan dibahas mengenai konsep dasar, gambaran umum pada
sistem, analisa kebutuhan sistem, diagram blok, perancangan perangkat keras
dan perancangan perangkat lunak sistem.

5.1 Gambaran Umum Sistem


Dalam perancangan perangkat keras ini meliputi rangkaian mikrokontroler
yang di dalamnya terdapat nodeMCU, sensor yang digunakan (sensor suhu,
sensor pH, sensor turbindity), baterai. Untuk lebih jelasnya dapat dilihat pada
Gambar 5.1.

Gambar 5.1 Diagram Blok Sistem Monitoring Air Tambak


Keterangan:
1. PC / Laptop
2. NodeMCU sebagai server (2a), NodeMCU sebagai klien (2b-2d)
3. Sensor pH
4. Sensor suhu ds 18b20
5. Sensor turbindity
6. Baterai (6a-6c)

18
Pada gambar 5.1 diatas dapat dilahat bagaimana penjelasan tentang diagram
blok sistem monitoring air tambak. Dalam sistem monitoring tersebut terdapat
perancangan sistem, yang dimana dimulai dengan perancangan mikrokontroler,
perancangan node sensor serta pengiriman data dari node sensor ke server
melalui wireless.

5.2 Perancangan Sistem


Pada bab sebelunya tentang rekayasa kebutuhan yang telah di paparkan
beberapa kebutuhan yang mesti dipenuhi untuk merancang sistem pada
penelitian ini. telah dijelaskan kebutuhan-kebutuhan yang harus dipenuhi untuk
merancang sistem pada penelitian ini. Tahap perancangan dalam sistem ini akan
menjelaskan tahapan perancangan nodesensor yang terhubung oleh masing-
masing sensor. Interaksi antar komponen dan sistem itu sendiri dibagi menjadi
dua bagian, yaitu pengiriman data yang terbaca oleh sensor dan diterima oleh
node sensor.
Pada interaksi yang kedua yaitu pengiriman data dari node sensor untuk
dikirimkan ke server dengan cara broadcast. Pengiriman data oleh node sensor
ke server dikirim secara bersamaan dengan cara broadcast. Pada server itu
sendiri dapat melakukan inisialisasi sensor mana sajakah yang terhubung untuk
mengirimkan data dan tidak terhubung.

5.2.1 Perancangan State Machine Pada Sistem Monitoring Air Tambak


Pada bagian perancangan state machine pada sistem monitoring air tambak
ini akan dijelaskan menggunakan diagram blok supaya mempermudah
penerapan pada sistemnya. Penjelasan diagram pada sistem state machine ini
akan dijelaskan pada gambar 5.2.1 dibawah ini.

Gambar 5.2.2 Diagram Blok State Machine Pada Sistem monitoring air tambak

19
5.2.2 Perancangan Perangkat Keras Sistem
Perancangan Node Server

9V

5V

Perancangan Node client 1

9V

5V

20
Perancangan Node Client 2

9V

5V

Perancangan Node Client 3

9V

5V

21
5.3 Implementasi Sistem
Implementasi sistem ini meliputi implementasi pada perangkat keras dan
perangkat lunak yang di gunakan.

5.3.1 Impelementasi Node Server


Implementasi Node server ini dilakukan sebagai node penerima data dari
node sensor yang telah dijalankan sistem. Node server tersebut dihubungkan
langsung ke PC / Laptop pengguna dengan menggunakan kabel USB.

Gambar 5.3.1 Node server

5.3.2 Implementasi Node Client 1 Sensor suhu


Implementasi node sensor suhu tersebut digunakan sebagai node
pengirim data hasil baca sensor yang dilakukan. Setelah nilai data terbaca
oleh sensor, kemudian data tersebut akan dikirimkan oleh node sensor ke
node server dengan cara broadcast.

22
Gambar 5.2 Client 1 Sensor suhu

5.3.3 Implementasi Node Client 2 sensor pH


Implementasi node sensor pH tersebut digunakan sebagai node pengirim
data hasil baca sensor yang dilakukan. Setelah nilai data terbaca oleh sensor,
kemudian data tersebut akan dikirimkan oleh node sensor ke node server
dengan cara broadcast.

23
Program sensor_pH
void Input_sensor(){
avgph_real=0;
float bufph_real=0;
for(int a=0;a<5;a++){ //sampling 5 kali (5 x
100)
for(int i=0;i<20;i++){ //mengambil 20
sampling, tiap 5ms 1 sampling (20 x 5)
adcph[i]=analogRead(Sensor);
delay(5);
}
for(int i=0;i<19;i++) {//menyortir nilai
analog dari terkecil ke terbesar
for(int j=i+1;j<20;j++) {
if(adcph[i]>adcph[j]) {
tempPh=adcph[i];
adcph[i]=adcph[j];
adcph[j]=tempPh;
}
}
}
avgValueph=0;
for(int i=4;i<16;i++) avgValueph+=adcph[i]; //
noise (ambil nilai center)
float avgADCph=(float)avgValueph/12;
phreal = ((avgADCph - adcmin)*((phmax-
phmin)/(adcmax-adcmin)))+phmin;
bufph_real+=phreal;
}
avgph_real=bufph_real/calib_ph;
value_ph =avgph_real;
}

24
5.3.4 Implementasi Node Client 3 sensor turbindity
Implementasi node sensor suhu tersebut digunakan sebagai node
pengirim data hasil baca sensor yang dilakukan. Setelah nilai data terbaca oleh
sensor, kemudian data tersebut akan dikirimkan oleh node sensor ke node server
dengan cara broadcast.

Program sensor_turbindity
void Input_sensor(){
b = analogRead(Sensor);

value_turbidity = b*(5.000 / 1023.000);


}

5.3.5 Impelementasi Sistem Keseluruhan


Implementasi pada keseluruhan sistem tersebut mencakup seluruh node
sensor dan node server pada rancangan sistem yang dibangun. Pada node sensor
suhu, node sensor pH dan node sensor turbindity akan mengirimkan data hasil
ukur sensor yang telah diterima. Setelah menerima data hasil ukur sensor
tersebut, maka masing-masing dari node sensor tersebut akan mengirimkan data
kepada node server yang telah terhubung pada PC / Laptop. Setelah data
diterima oleh node server, maka PC/Laptop pengguna akan menampilkan hasil
data yang didapat pada serial monitor.
Pada tampilan data diserial monitor pengguna, data dari sensor yang
terukur akan ditampilkan secara terus menerus selama masing-masing node

25
sensor tersebut terhubung oleh server. Hasil pembacaan data dari sensor
tersebut digunakan untuk mendeteksi kualitas air yang dilakukan.

26
BAB 6 PENGUJIAN DAN ANALISIS

6.1 Pengujian Sensor Kualitas Air


Pada pengujian sistem monitoring air tambak ini akan diuji apakah sistem
pada perancangan alat tersebut berjalan dengan sesuai apa yang diharapkan
oleh pengguna sebagai monitoring air tambak. Pengujian yang dilakukan ini
meliputi tingkat akurasi sensor dalam pengiriman data, lama waktu yang
dibutuhkan untuk mengirim data tiap node sensor dan pemberitahuan notifikasi
pada serial monitor ketika ada sebuah node sensor ada yang terputus dengan
server. Dalam pengujian ini menggunakan 3 jenis sensor yaitu sensor suhu,
sensor pH dan sensor kekeruhan untuk mengetahui tingkat akurasi nilai sensor.

6.1.1 Pengujian Sensor Suhu


Sensor suhu yang digunakan pada pengujian ini adalah sensor suhu LM35
yang merupakan sebuah sensor digital. Pengujian ini dilakukan untuk
mengetahui nilai akurasi sensor untuk kemudian dikirimkan sebagai nilai hasil
pemantauan kualitas air.
Prosedur
Pengujian pada sensor suhu LM35 digunakan untuk mendapatkan nilai hasil
baca sensor pada pengujian yang telah dilakukan sebelumnya. Untuk
perbandingan nilai hasil ukur sensor dengan nilai yang sebenarnya, digunakan
thermometer untuk mengetahui suhu yang sebenarnya.
Hasil
Hasil dari pengujian yang telah dilakukan dapat dilihat pada tabel berikut.
Nilai hasil baca sensor dan pengukuran suhu dengan menggunakan
thermometer, dapat dilihat pada table dibawah ini.
No Nilai Thermometer Hasil sensor Akurasi
LM35
1. 30 30.29 99.04%
2. 21 21.25 98.82%
3. 18 18.21 98.84%
4. 15 15.40 97.40%
Rata-rata 98.53%

Analisis
Berdasarkan hasil yang didapat dari pengujian, dapat diamati bahwa nilai
rata-rata dari pembacaan sensor memiliki akurasi sebesar 98.53%. Nilai yang
27
didapat tersebut merupakan hasil pembagian dari nilai ukur pada sensor dengan
pengukuran dengan menggunakan thermometer dengan dikalikan 100% untuk
mendapatkan nilai prosentase dari pengukuran suhu. Menurut hasil analisa
tersebut diatas, dapat disimpulkan bahwa nilai ukur pada sensor suhu LM35
sebagai parameter pengukuran suhu memiliki nilai akurasi yang cukup baik dan
akurat. Hal itu dikarenakan akurasi pengukurannya memiliki prosentase lebih
dari 95%.

6.1.2 Pengujian Sensor pH


Tujuan
Tujuan dari pengujian akurasi sensor pH bertujuan untuk mengetahui nilai
akurasi sensor. Pada pengujian sensor pH cairan yang pada tempat pengujian
telah diatur dengan kondisi netral, asam dan basa.
Prosedur
Untuk dapat melakukan pengujian pada sensor pH ini ada beberapa
prosedur yang yang dilalui adalah sebagai berikut,
1. Mempersiapkan alat-alat yang diperlukan dalam pengujian dan
cairan sampel yang akan diuji pada wadah yang berbeda.
2. Mencampurkan cairan asam pada air sampel sesuai yang
dibutuhkan.
3. Mencampurkan cairan basa pada air sampel sesuai yang
dibutuhkan.
4. Meletakkan sensor pH kedalam wadah air sampel dan melihat
hasil baca sensor pada serial monitor.
Hasil
Nilai hasil ukur sensor pH yang telah dilakukan dapat dilihat pada table
dibawah ini. Dengan menggunakan pH Buffer Kit sebagai perbandingan nilai
sensor yang diujikan. Dengan nilai 10 sebagai nilai basa, 7 sebagai nilai netral, 4
dan 3 %sebagai nilai asam.
No Nilai buffer Hasil sensor pH Akurasi
1. 10 10.68 93.63%
2. 7 7.50 93.33%
3. 4 4.41 90.70%
4. 3 3.20 93.75%
Rata-rata 92.85%

28
Analisis
Setelah melakukan pengujian pada sensor pH tersebut, dimana nilai
tersebut diperoleh dengan cara membandingkan nilai Buffer pada cairan sampel
dan nilai ukur pada sensor pH. Dapat dilihat pada hasil nilai akurasi sensor yang
didapat memiliki prosentase sebesar 92.85%, yang menunjukkan bahwa sensor
pH yang digunakan sudah cukup baik dalam melakukan pengukuran kadar pH
pada cairan sampel yang memiliki kondisi netral, asam dan basa. Hasil yang
didapat tersebut dapat diperoleh dengan caramenggunakan rumus seperti
dibawah ini.
𝑛𝑖𝑙𝑎𝑖 𝑏𝑢𝑓𝑓𝑒𝑟
𝑁𝑖𝑙𝑎𝑖 𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑋 100%
𝑛𝑖𝑙𝑎𝑖 𝑠𝑒𝑛𝑠𝑜𝑟 𝑃ℎ
6.1.3 Pengujian Sensor Kekeruhan
Tujuan
Tujuan dari pengujian akurasi sensor kekeruhan bertujuan untuk
mengetahui nilai akurasi sensor. Pada pengujian sensor kekeruhan, air sampel
pada wadah telah diatur sesuai dengan apa yang dibutuhkan yaitu dengan cara
mencampur air sampel dengan tanah. Pada hasil pengujian yang dilakukan dapat
diperoleh dengan rumus yaitu:
𝑇𝑒𝑔𝑎𝑛𝑔𝑎𝑛
𝑁𝑖𝑙𝑎𝑖 𝑆𝑒𝑛𝑠𝑜𝑟 = 𝑋 𝐼𝑛𝑝𝑢𝑡
1024
Prosedur
1. Mempersiapkan alat-alat yang dibutuhkan dan air sampel yang akan diuji.
2. Mencampurkan air sampel pada wadah yang telah disiapkan dan
dicampukan dengan tanah
3. Lalu meletakkan sensor kekeruhan ke dalam wadah air sampel dan
mencatat hasil uji sensor pada air sampel yang sudah dicampur tanah yang
tampil pada serial monitor.
Hasil
Hasil dari pengukuran yang telah dilakukan pada sensor kekeruhan dapat
dilihat pada gambar dibawah ini.

29
6

TEGANGAN
3

0
0 50 100 150
KEKERUHAN

Analisis
Setelah melakukan pengujian pada sensor kekeruhan, nilai yang dihasilkan
didapat dengan rumus:
𝑇𝑒𝑔𝑎𝑛𝑔𝑎𝑛
𝑁𝑖𝑙𝑎𝑖 𝑆𝑒𝑛𝑠𝑜𝑟 = 𝑋 𝐼𝑛𝑝𝑢𝑡𝑎𝑛
1024

Dengan rumus seperti gambar diatas, dugunakan untuk mengetahui nilai


sensor yang didapat pada pengujian. Nilai tegangan sebesar 5V dibagi 1024 dan
dikalikan dengan nilai input dengan range 0-1024 berdasarkan nilai photodiode.
Maka diperoleh nilai hasil sensor dengan range 0-100 dengan nilai range tersebut
didapat dari data kuisioner dalam penelitian tentang kekeruhan air dengan
menggunakan photodiode dan LED. Ketika nilai semakin mendekati nilai 0 maka
air tersebut jernih dan ketika nilai mendekati nilai 100 maka air tersebut keruh.
Dengan nilai rentang tegangan antara 0-5V dapat menghasilkan nilai sensor yang
diinginkan. Dan nilai 0-100 pada sensor tergantung dengan nilai input tegangan
yang diterima oleh photodiode.

6.2 Pengujian pengiriman data ke server dari node 1,2, dan 3


Pengujian ini dilakukan untuk melihat pengiriman data dari 3 node ke server
sudah sesuai.
Node Sensor Nilai Node Nilai Server Hasil
1 Suhu 29.1 29.1 Terkirim
2 PH 7.46 7.46 Terkirim
3 Kekeruhan 15 15 Terkirim

Dari hasil data yang di atas bisa di nyatakan bahwa pengiriman broadcast
pada 3 node telah sesuai dengan yang di inginkan dan data tersebut berhasil di
kirim ke server dengan nilai yang telah di tentukan oleh sensor yang ada di node
tersebut.

30
6.3 Analisis Keseluruhan
Analisis keseluruhan pada beberapa sistem yang di uji menunjukan sistem telah
berjalan sesuai yang di inginkan. Sensor pada suhu mencapai nilai akurasi 98.53%
dan sensor pada PH mencapai nilai akurasi 92.85%. Pada sensor kekeruhan di
dapat dari nilai yang telah di tentukan pada sistem tersebut. Untuk pengiriman
data dengan node MCU, data terkirim dengan sesuai yang telah di inginkan.

31
BAB 7 PENUTUP

Pada bagian ini terdapat kesimpulan yang diambil berdasarkan tahapan


pengujian yang dilakukan dan juga saran yang dilakukan untuk penelitian
selanjutnya yang akan dilakukan.

7.1 Kesimpulan
Berdasarkan hasil perancangan sistem, implementasi sistem, pengujian, dan
analisis sistem, maka penulis menyimpulkan:
1. Nilai sensor PH dan Suhu yang di dapat telah menunjukan akurasi di atas
90%.
2. Setelah pengujian yang dilakukan terhadap sistem yang berjalan pada
proses monitoring, tiap node sensor tersebut berhasil untuk melakukan
pengiriman data ke server dengan cukup akurat. Namun delay waktu yang
dibutuhkan untuk melakukan pengiriman cukup cepat, sekitar 0.5-1 detik
mengirim data sensor yang diuji. Adapun data yang terkirim terdapat
penumpukan yang sedikit membuat data menumpuk pada saat ditampilkan.
3. Pengujian yang telah di lakukan telah menunjukan sistem alat telah berjalan
sesuai yang di inginkan.

7.2 Saran
Berikut ini merupakan saran yang diberikan penulis dengan tujuan agar
penelitian ini dapat lebih dikembangkan:
1. Untuk pengembangan lebih lanjut, dapat menggunakan metode pembacaan
lokasi lainnya agar proses pembacaan lokasi menghasilkan data yang lebih
akurat dan konstan ketika berada pada 1 tempat.
2. Pada pengembangan berikutnya, bisa menggunakan module GPS yang lebih
mampu untuk membaca lokasi ketika berada di dalam ruangan.
3. Untuk penelitian selanjutnya dapat menerapkan metode selain State
Machine pada sistem keamanan motor.

32
DAFTAR PUSTAKA

Adarsh, & Divya, B. D. (2014). Design of 6LoWPAN enabled Real Time Water
Quality Monitoring System using CoAP. APAN - Network Research
Workshop, 38(Proceedings of the Asia-Pacific Advanced Network), 42-54.
Ahmad, F., Santo, T., Mohammad, A., & Mirza, T. (2014). Sistem Keamanan
Motor Melalui Short Message Service Menggunakan AVR Mikrokontroler
ATMega8. STIMIK Raharja.
Alfadoni, P. (2016). Tunneling 6LoWPAN Protocol Stack in IPv6 Network (ICST-
2015 ed.). Yogyakarta: Gajah Mada University.
Al-Fedaghi, S., & Alazmi, A. (2014). A New Approach to Specification of The
Behaviour of Embedded System. Kuwait: Kuwait University.
Al-Fedaghi, S., & Alazmi, A. R. (2014). A New Approach to Spesification of the
Behaviour of Embedded System. International Journal of Multimedia and
Ubiquitous Engineering, 289-304.
Al-Fuqaha et al, A. (2015). Internet of things: A survey on enabling technologies,
protocols, and applications. IEEE Communications Surveys & Tutorials,
17(4), 2347-2376.
Amani, F., & Prawiroredjo, K. (2016). Alat Ukur Kualitas Air Minum Dengan
Parameter PH, Suhu, Tingkat Kekeruhan, dan Jumlah Padatan Terlarut.
JETri, 14(kualitas air, Arduino, kekeruhan, pH), 49-62.
Ankith, S., S, A., N, S. M., & Mallela, P. (2015). Design of Ipv6 Network Enabled
Smart Water Flow. Kuala Lumpur, Malaysia: APAN.
Anwari, H. (2016). Pengembangan IoT Middleware Sebagai Gateway Untuk
Protokol CoAP, MQTT dan Websocket. Malang: Fakultas Ilmu Komputer,
Universitas Brawijaya.
Arduino. (2017). Arduino Uno Rev3. Retrieved from Arduino:
https://store.arduino.cc/usa/arduino-uno-rev3
Ashton, K. (2009). That 'Internet of Things' Thing. In the real world, things matter
more than ideas. RFID Journal, 22(IT/Infrastructure, Operations), 97-114.
Baradja, M. A. (2016). Rancang Bangun Sistem Keamanan Kendaraan Bermotor
Berbasis GPS. Universitas Airlangga.
Beman, S., Steven, F., & Liawatimena, S. (2011). Perancangan Sistem Keamanan
Sepeda Motor Dengan Sistem Sidik Jari. Universitas Binus.
Binanto, I. (2015). Analisa Metode Classic Life Cycle (Waterfall) Untuk
Pengembangan Perangkat Lunak Multimedia. Yogyakarta: Universitas
Sanata Dharma.

33
Bintaro, I. (2015). Analisa Metode Classic Life Cycle (Waterfall) Untuk
Pengembangan Perangkat Lunak Multimedia. Yogyakarta: Universitas
Sanata Dharma.
BPPT, B. P. (2012). Online Monitoring Kualitas Air - ONLIMO. Retrieved
September 19, 2016, from http://onlimo.bppt.go.id/
Brownlee, J. (2010). Finite State Machine (FSM). Retrieved from AI-depot:
http://ai-depot.com/FiniteStateMachines/FSM.html
Chen, J. (2011). Using the IoT to Construct Ubiquitos Learning Environment
(10.1109/MACE.2011.5988881 ed.). Hong Kong: Mechanic Automation
and Control Engineering (MACE).
Cocon S.Pi, M. (2017, July 24). Nilai Strategis Perikanan Budidaya dalam
Menopang Ketahanan Pangan. Retrieved August 29, 2018, from
https://ekonomi.kompas.com/read/2017/07/24/161733226/nilai-
strategis-perikanan-budidaya-dalam-menopang-ketahanan-pangan
Desai et al, P. (2015). Semantic Gateway as a Service Architecture for IoT
Interoperability. IEEE International Conference on Mobile
Services(doi:10.1109/MobServ.2015.51), 313-319.
Hart, B. T., Lake, P. S., Webb, J. A., & Grace, M. R. (2003). Ecological risk to
aquatic systems from salinity increases. Australian Journal of Botany, 51,
689-702.
IERC. (2015). IoT Semantic Interoperability: Research Challenges, Best Practices,
Recommendations and Next Steps (European Research Cluster on the
Internet of Things - IERC ed.). Oslo, Norway: European Commission.
IETF. (2009). RFC 4919 - IPv6 over Low-Power Wireless Personal Area Networks
(6LoWPANs). Retrieved from https://tools.ietf.org/html/rfc4919
IETF. (2014). RFC 7252 - The Constrained Application Protocol (CoAP). Retrieved
March 14, 2017, from https://tools.ietf.org/html/rfc7252
Kesehatan, K. (2002). Standarisasi Kualitas Air Bersih dan Air Minum. Jakarta:
Keputusan Menteri Kesehatan RI Nomor 907/MENKES/SK/VII.
Kodavati, B., Raju, V., Rao, S. S., Prabu, A., Rao, T. A., & Narayana, D. Y. (2012).
GSM AND GPS BASE VEHICLE LOCATION AND TRACKING SYSTEM.
International Journal of Engineering Research and Applications, 616-625.
Kushalnagar, e. a. (2007). IPv6 over Low-Power Wireless Personal Area Networks
(6LoWPANs): Overview, Assumptions, Problem Statement, and Goals.
IETF RFC - Informational(RFC 4919).
Lopez, R. (2013). An Introduction to the Internet of Things (IoT). San Francisco:
cisco.com.
Madhu, R. (2016). GSM/GPS based Device Switching with Fingerprint Module
Integration using Arduino. International Journal of Computer Applications,
28-32.
34
Microchip. (2008). MRF24J40MA Data Sheet. Retrieved July 19, 2016, from
http://ww1.microchip.com/downloads/en/devicedoc/70329b.pdf
Microchip. (2010). MRF24J40 Data Sheet RF Transceiver. Retrieved May 28, 2016,
from http://ww1.microchip.com/downloads/en/DeviceDoc/39776C.pdf
Nurul Halimatul Asmak Ismail, R. H. (2012). A Study on Protocol Stack In 6lowpan
Model. Journal of Theoretical and Applied Information Technology,
2(SCOPUS, ISI), 41.
Potaroo. (2017). IPv4 Address Report. Retrieved July 19, 2017, from
https://ipv4.potaroo.net/
Rahadian, M. F. (2016). Penerapan Metode Finite State Machine Pada Game
"The Relationship". Jurnal Informatika Mulawarman, 14-22.
RFC4919. (2007). 6LoWPAN Problems and Goals (RFC - Informational ed.). IETF
(Internet Engineering Task Force).
RFC7252. (2016). RFC 7252 - The Constrained Application Protocol (CoAP).
Retrieved October 28, 2017, from
https://datatracker.ietf.org/doc/rfc7252/
Salim, P., & salim, Y. (2002). Kamus Bahasa Indonesia Kontemporer. Jakarta:
Modern English Press.
Schmidt, S. (2016). 6LoWPAN: An Open IoT Networking Protocol. San Diego:
Samsung Open Source Group.
Setiawan, I. (2006). Perancangan Software Embedded System Berbasis FSM.
Diponegoro: Universitas Diponegoro.
Shelby, Z., & Bormann, C. (2011). 6LoWPAN: The Wireless Embedded Internet
(Wiley Series In Communications Networiking & Distributed Systems ed.).
Torquay, UK: WILEY.
Shelby, Z., ARM, Hartke, K., & Bormann, C. (2014). The Constrained Application
Protocol (CoAP) (IETF ed.). Bremen: Universitaet Bremen TZI.
Singh, P., Sethi, T., Biswal, B., & Pattanayak, S. (2015). A Smart Anti-Thef System
for Vehicle Security. National Institute of Technology Rourkela.
Skvorc, D., Horvat, M., & Srbljic, S. (2014). Performance evaluation of Websocket
protocol for implementation of full-duplex web streams. Opatija, Croatia:
IEEE.
Sommerville, I. (2011). Software Engineering. Scotland: Pearson.
Sommerville, I. (2011). Software Engineering 9th Edition (Addison-Wesley ed.).
Scotland: Pearson.
Sovani, K. (2017, 1 23). Which is the best protocol to use for IOT implementation-
MQTT, CoAP, XMPP, SOAP, UPnP? Retrieved December 28, 2017, from
Quora: https://www.quora.com/Which-is-the-best-protocol-to-use-for-
IOTimplementation-MQTT-CoAP-XMPP-SOAP-UPnP
35
Statistik, B. P. (2014). Statistik Kriminal 2014. Retrieved September 11, 2017,
from
https://www.bappenas.go.id/files/data/Politik_Hukum_Pertahanan_dan_
Keamanan/Statistik%20Kriminal%202014.pdf>
Tan, J. (2014). A Survey of Technologies in Internet of Things (IEEE International
Conference on Distributed Computing in Sensor Systems ed.). Santa
Clara: University Santa Clara.
Texas Instruments, T. . (2014). CC2538DK CC2538 Development Kit | TI.com.
Retrieved 11 21, 2016, from http://www.ti.com/tool/CC2538DK
Tuwanut, P. (2015). A survey on IoT architectures, protocols, applications,
security, privacy, real-world implementation and future trends (IEEE
Electronic ISBN ed.). Shanghai: 11th International Conference on Wireless
Communications, Networking and Mobile Computing (WiCOM 2015).
Vigneshwaran, K., Sumithra, S., & Janani, R. (2015). An Intelligent Tracking
System Based on GSM and GPS Using Smartphones. International Journal
of Engineering Research and Applications, 3897-3903.
Wibowo, R. (2018). Implementasi Wireless Sensor Node Sebagai Pendukung
Pertanian Modern Berbasis Pemograman State Machine. Jurnal
Pengembangan Teknologi Informasi dan Ilmu Komputer, 2268-2277.
Wiguna, P. (2018). Rancang Bangun Filter Air Berbasis Arduino Pada
Penampungan Air Menggunakan Metode Fuzzy. Malang: Fakultas Ilmu
Komputer, Universitas Brawijaya.
Yi, J. (2017). An Introduction to the Telegram Bot API. Retrieved October 28,
2017, from https://towardsdatascience.com/introduction-to-the-
telegram-api-b0cd220dbed2
Zhang, L., & Shen, X. (2013). Research and development of real-time monitoring
system based on WebSocket technology. IEEE, 10(Proceedings 2013
International Conference on Mechatronic Sciences, Electric Engineering
and Computer (MEC)), 1109.

36
LAMPIRAN A Source Code Program

A.1 Program Utama


Main Program
1 #include <Adafruit_Fingerprint.h>
2 #include <LiquidCrystal.h>
3 #include <SoftwareSerial.h>
4 #define DEBUG true
5 #include <TinyGPS.h>
6 #include <SoftwareSerial.h>
7 #include "Fsm.h"
8 #define CONDITION 0
9 SoftwareSerial Finger(2, 3);
10 LiquidCrystal lcd(12, 11, A3, A2, A1, A0);
11 SoftwareSerial GPS(4,5);
12 SoftwareSerial SIM900A(9,10);
13 TinyGPS GPS;
14 long lat, lon;
15 float LAT, LON;
16
17 String strTemp,strTemp1,Lat_sebelumnya,Lon_sebelumnya;
18 char buf[16],buff[16];
19 int notconect=1;
20 int latitude,longtitude,limit;
21 char a;
22 int kondisi=0,id=80;
23 Adafruit_Fingerprint finger =
24 Adafruit_Fingerprint(&Finger);
25 //////////////////////////////////////////////////////////
26 /
27 void getGPS();
28 bool feedGPS();
29 void skm53();
30 void SendMessage();
31 void message_GPS();
32 void RecieveMessage();
33 void delete_mesage();
34 uint8_t getFingerprintID();
35 int getFingerprintIDez();
36 void StateMachine();
37 void Motor_ON();
38 void Motor_OFF();
39 //////////////////Inisialisasi State
40 Machine////////////////
41 State State_A(&Motor_OFF, NULL, NULL);
42 State State_B1(&skm53, NULL, NULL);
43 State State_C1(&SendMessage, NULL, NULL);
44 State State_B2(&skm53, NULL, NULL);
45 State State_C2(&SendMessage, NULL, NULL);

37
46 State State_D(&getFingerprintIDez, NULL, NULL);
47 State State_E(&Motor_ON, NULL, NULL);
48 State State_B3(&skm53, NULL, NULL);
49 State State_C3(&SendMessage, NULL, NULL);
50
51 Fsm fsm_A1(&State_A);
52 Fsm fsm_A2(&State_A);
53 Fsm fsm_A3(&State_A);
54 Fsm fsm_A4(&State_A);
55 Fsm fsm_B1(&State_B1);
56 Fsm fsm_B2(&State_B2);
57 Fsm fsm_C2(&State_C2);
58 Fsm fsm_D1(&State_D);
59 Fsm fsm_D2(&State_D);
60 Fsm fsm_E1(&State_E);
61 Fsm fsm_E2(&State_E);
62 Fsm fsm_B3(&State_B3);
63 void setup()
64 {
65 Serial.begin(9600);
66 lcd.begin(16,4);
67 pinMode(8,OUTPUT);
68 fsm_A1.add_transition(&State_A, &State_B1, NULL, NULL);
69 fsm_A2.add_timed_transition(&State_A, &State_B2, 30000,
70 NULL);
71 fsm_A3.add_transition(&State_A, &State_D, NULL, NULL);
72 fsm_A4.add_transition(&State_A, &State_E, NULL, NULL);
73 fsm_B1.add_timed_transition(&State_B1, &State_C1, 1000,
74 NULL);
75 fsm_B2.add_timed_transition(&State_B2, &State_C2, 1000,
76 NULL);
77 fsm_C2.add_timed_transition(&State_C2, &State_B2, 30000,
78 NULL);
79 fsm_D1.add_transition(&State_D, &State_E, NULL, NULL);
80 fsm_D2.add_transition(&State_D, &State_A, NULL, NULL);
81 fsm_E1.add_timed_transition(&State_E, &State_B3, 1000,
82 NULL);
83 fsm_E2.add_timed_transition(&State_E, &State_A, 1000,
84 NULL);
85 fsm_B3.add_timed_transition(&State_B3, &State_C3, 1000,
86 NULL);
87 while (!Serial); // For Yun/Leo/Micro/Zero/...
88 delay(100);
89 Serial.println("\n\nAdafruit finger detect test");
90 // set the data rate for the sensor serial port
91 finger.begin(57600);
92
93 if (finger.verifyPassword()) {
94 Serial.println("Found fingerprint sensor!");
95 } else {
96 Serial.println("Did not find fingerprint sensor :(");

38
97 while (1) { delay(1); }
98 }
99 SIM900A.begin(19200);
100 SIM900A.println("AT+CMGF=1");
101 delay(1000);
102 SIM900A.println("AT+CNMI=2,2,0,0,0"); // AT Command to
103 receive a live SMS
104 delay(1000);
105 pinMode(8,OUTPUT);
106 if (notconect==1) {
107 GPS.begin(9600);
108 skm53();
109 }
110 finger.getTemplateCount();
111 Serial.print("Sensor contains ");
112 Serial.print(finger.templateCount); Serial.println("
113 templates");
114 Serial.println("Waiting for valid finger...");
115 }
116
117 void loop() // run over and over again
118 {
119 StateMachine();
120 delay(50); //don't ned to run this at full
121 speed.
122 }

A.2 Program Aktuator


Program Aktuator
1 void Motor_ON(){
2 digitalWrite(8,HIGH);
3 }
4 void Motor_OFF(){
5 digitalWrite(8,LOW);
6 }

A.3 Program GPS


Program GPS
1 void getGPS(){
2 bool newdata = false;
3 unsigned long start = millis();
4 // Every 1 seconds we print an update
5 while (millis() - start < 1000)
6 {
7 if (feedGPS ()){
8 newdata = true;
9 }

39
10 }
11 if (newdata)
12 {
13 GPSdump(GPS);
14 }
15 }
16
17 bool feedGPS(){
18 while (GPS.available())
19 {
20 if (GPS.encode(GPS.read()))
21 return true;
22 }
23 return 0;
24 }
25
26 void GPSdump(TinyGPS &GPS)
27 {
28 //byte month, day, hour, minute, second, hundredths;
29 GPS.get_position(&lat, &lon);
30 LAT = lat;
31 LON = lon;
32 {
33 feedGPS(); // If we don't feed the GPS during this
34 long routine, we may drop characters and get checksum
35 errors
36 }
37 }
38 void skm53(){
39 GPS.listen();
40 long lat, lon;
41 unsigned long fix_age, time, date, speed, course;
42 unsigned long chars;
43 unsigned short sentences, failed_checksum;
44
45 // retrieves +/- lat/long in 100000ths of a degree
46 GPS.get_position(&lat, &lon, &fix_age);
47
48 getGPS();
49 strTemp = dtostrf(LAT/1000000, 4, 4, buf);
50 strTemp1 = dtostrf(LON/1000000, 4, 4, buff);
51 latitude=atoi(buf);
52 longtitude=atoi(buff);
53 lcd.setCursor(0, 0);
54 lcd.print("Location");
55 //Serial.print("Location (in degrees, works with Google
56 Maps): ");
57 lcd.setCursor(0, 1);
58 lcd.print(strTemp);
59 lcd.print(",");
60 lcd.print(strTemp1);

40
61 //Serial.print(strTemp);
62 //Serial.print(", ");
63 //Serial.println(strTemp1);
}

A.4 Program State Machine


Program State Machine
1 void StateMachine(){
2 getFingerprintIDez();
3 RecieveMessage();
4 skm53();
5 fsm_A2.run_machine();
6
7 if(strTemp!=Lat_sebelumnya||strTemp1!=Lon_sebelumnya){fsm_
8 B2.run_machine();fsm_C2.run_machine();}
9 if(finger.fingerID==id){kondisi=1;}
10
11 if(SIM900A.available()=='A'){fsm_A1.run_machine();fsm_B1.r
12 un_machine();}
13
14 if(SIM900A.available()=='B'){fsm_A4.run_machine();kondisi=
15 1;}
16 if(kondisi==0){fsm_D2.run_machine();}
17 while(kondisi==1){
18 fsm_A3.run_machine();
19 fsm_D1.run_machine();
20 RecieveMessage();
21 if(SIM900A.available()=='A'){
22 fsm_E1.run_machine();
23 fsm_B3.run_machine();
24 }
25 if(SIM900A.available()=='C'){
26 fsm_E2.run_machine();
27 kondisi=0;
28 return;
29 }
30 }
31
32 Lat_sebelumnya=strTemp;
33 Lon_sebelumnya=strTemp1;
34
35 }

A.5 Program Sim900A


Program SIM900A
1 void SendMessage()
2 {

41
3 lcd.clear();
4 delay(250);
5 lcd.setCursor(0, 0);
6 lcd.print ("Mengirim SMS");
7 SIM900A.println("AT+CMGF=1"); //Sets the GSM Module
8 in Text Mode
9 delay(1000); // Delay of 1000 milli seconds or 1 second
10 //Serial.println ("Set SMS Number");
11 SIM900A.println("AT+CMGS=\"+6281333021364\"\r"); //
12 Replace with your mobile number
13 delay(1000);
14
15 }
16 void message_GPS(){
17 //Serial.println ("Set SMS Content");
18 SIM900A.println("Lokasi Motor");// The SMS text you want
19 to send
20 SIM900A.println(strTemp);
21 SIM900A.print(",");// The SMS text you want to send
22 SIM900A.println(strTemp1);
23
24 delay(100);
25 lcd.setCursor(0, 1);
26 lcd.println ("Finish");
27 SIM900A.println((char)26);// ASCII code of CTRL+Z
28 delay(1000);
29 //Serial.println (" ->SMS Selesai dikirim");
30 }
31 void RecieveMessage()
32 {
33 //Serial.println ("SIM900A Membaca SMS");
34 delay (1000);
35 SIM900A.println("AT+CNMI=2,2,0,0,0"); // AT Command to
36 receive a live SMS
37 delay(1000);
38 //Serial.write (" ->Unread SMS Selesai dibaca");
39 }
40 void delete_mesage(){
41 delay(1000);
42 //Did not help
43 SIM900A.print("AT+CMGDA=");
44 SIM900A.println("DEL ALL");
45 delay(500);
46 }

A.6 Program Fingerprint


Main Program
1 uint8_t getFingerprintID() {
2 uint8_t p = finger.getImage();

42
3 switch (p) {
4 case FINGERPRINT_OK:
5 Serial.println("Image taken");
6 break;
7 case FINGERPRINT_NOFINGER:
8 Serial.println("No finger detected");
9 return p;
10 case FINGERPRINT_PACKETRECIEVEERR:
11 Serial.println("Communication error");
12 return p;
13 case FINGERPRINT_IMAGEFAIL:
14 Serial.println("Imaging error");
15 return p;
16 default:
17 Serial.println("Unknown error");
18 return p;
19 }
20
21 // OK success!
22
23 p = finger.image2Tz();
24 switch (p) {
25 case FINGERPRINT_OK:
26 Serial.println("Image converted");
27 break;
28 case FINGERPRINT_IMAGEMESS:
29 Serial.println("Image too messy");
30 return p;
31 case FINGERPRINT_PACKETRECIEVEERR:
32 Serial.println("Communication error");
33 return p;
34 case FINGERPRINT_FEATUREFAIL:
35 Serial.println("Could not find fingerprint
36 features");
37 return p;
38 case FINGERPRINT_INVALIDIMAGE:
39 Serial.println("Could not find fingerprint
40 features");
41 return p;
42 default:
43 Serial.println("Unknown error");
44 return p;
45 }
46
47 // OK converted!
48 p = finger.fingerFastSearch();
49 if (p == FINGERPRINT_OK) {
50 Serial.println("Found a print match!");
51 } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
52 Serial.println("Communication error");
53 return p;

43
54 } else if (p == FINGERPRINT_NOTFOUND) {
55 Serial.println("Did not find a match");
56 return p;
57 } else {
58 Serial.println("Unknown error");
59 return p;
60 }
61
62 // found a match!
63 Serial.print("Found ID #");
64 Serial.print(finger.fingerID);
65 Serial.print(" with confidence of ");
66 Serial.println(finger.confidence);
67
68 return finger.fingerID;
69 }
70
71 // returns -1 if failed, otherwise returns ID #
72 int getFingerprintIDez() {
73 uint8_t p = finger.getImage();
74 if (p != FINGERPRINT_OK) return -1;
75
76 p = finger.image2Tz();
77 if (p != FINGERPRINT_OK) return -1;
78
79 p = finger.fingerFastSearch();
80 if (p != FINGERPRINT_OK) return -1;
81
82 // found a match!
83 Serial.print("Found ID #");
84 Serial.print(finger.fingerID);
85 Serial.print(" with confidence of ");
86 Serial.println(finger.confidence);
87 return finger.fingerID;
88 }

44

Anda mungkin juga menyukai