Anda di halaman 1dari 106

SISTEM MONITORING DAN CONTROLLING

KUALITAS AIR TAMBAK UDANG VANNAMEI DENGAN


METODE FUZZY SUGENO

SKRIPSI
Digunakan Sebagai Syarat Maju Ujian Diploma IV
Politeknik Negeri Malang

Oleh:
MUH. MARSUDIARTO NIM. 1641720166

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNOLOGI INFORMASI
POLITEKNIK NEGERI MALANG
JULI 2020
HALAMAN PENGESAHAN

SISTEM MONITORING DAN CONTROLLING


KUALITAS AIR TAMBAK UDANG VANNAMEI DENGAN
METODE FUZZY SUGENO

Disusun oleh:
MUH. MARSUDIARTO NIM. 1641720166

Laporan Akhir ini telah diuji pada tanggal 30 Juni 2020

Disetujui oleh:

1. Penguji I : Luqman Affandi, S.Kom., MMSI


NIP. 19821130 201404 1 001 ...........................

2. Penguji II : Arief Prasetyo, S.Kom., M.Kom.


NIP. 19790313 200812 1 002 ...........................

3. Pembimbing I : Yuri Ariyanto, S.Kom., M.Kom.


NIP. 19800716 201012 1 002 ...........................

4. Pembimbing II : Sofyan Noor Arief, S.ST., M.Kom.


NIP. 19890813 201903 1 017 ...........................

Mengetahui,

Ketua Jurusan Ketua Program Studi


Teknologi Informasi Teknik Informatika

Rudy Ariyanto, S.T., M.Cs. Imam Fahrur Rozi, S.T., M.T.


NIP. 19711110 199903 1 002 NIP. 19840610 200812 1 004

ii
PERNYATAAN

Dengan ini saya menyatakan bahwa pada Skripsi ini tidak terdapat karya, baik
seluruh maupun sebagian, yang sudah pernah diajukan untuk memperoleh gelar
akademik di Perguruan Tinggi manapun, dan sepanjang pengetahuan saya juga
tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang
lain, kecuali yang secara tertulis disitasi dalam naskah ini serta disebutkan dalam
daftar sitasi/pustaka.

Malang, ………………..

Muh. Marsudiarto

iii
ABSTRAK

Marsudiarto, Muhammad. “Sistem Monitoring dan Controlling Kualitas Air


Tambak Udang Vannamei dengan Metode Fuzzy Sugeno”. Pembimbing: (1) Yuri
Ariyanto, S.Kom., M.Kom., (2) Sofyan Noor Arief, S.ST., M.Kom.

Skripsi, Program Studi Teknik Informatika, Jurusan Teknologi Informasi,


Politeknik Negeri Malang, 2020.

Pengelolaan kualitas air merupakan suatu cara untuk menjaga parameter


kualitas air sesuai dengan baku mutu bagi kultivan. Namun proses pengukuran
kualitas air pada tambak saat ini hanya dilakukan pengecekan secara manual
kondisi kualitas tambak udang diperiode jam tertentu pada siang hari akan tetapi,
pada saat malam hari masih jarang dilakukan. Sehingga jika malam hari
kemungkinan bisa terjadi adanya penurunan parameter kualitas air yang signifikan.
Maka dari itu dibutuhkan sistem untuk monitoring dan controlling kualitas air
tambak udang berbasi internet of things (IoT). Penelitian ini menggunakan sensor
DS18B20 untuk temperatur dan sensor pH sebagai input data. Perangkat NodeMCU
ESP8266 sebagai pembaca dan pengelola data yang akan menghasilkan output
kontrol logika untuk relay pompa dan kincir air. Metode yang digunakan untuk
mengolah data adalah metode Fuzzy Sugeno dengan dua parameter utama yaitu
temperatur dan pH. Pada 9 kali pengujian menunjukkan tingkat keberhasilan
perhitungan metode Fuzzy Sugeno adalah 100%. Sistem ini berhasil melakukan
monitoring dan controlling pada kualitas air tambak berbasis IoT yang bisa
memantau dari jarak jauh dan secara otomatis mengelola kualitas air agar tetap
stabil, sehingga mempermudah pengelola tambak untuk memantau kondisi kualitas
air meskipun berada jauh dari tempat budidaya tambak selama alat dan pengelola
tambak terhubung ke jaringan internet.

Kata Kunci : Tambak Udang, Udang Vannamei, NodeMCU, Fuzzy Sugeno,


Internet of Things (IoT), Temperatur, pH

iv
ABSTRACT

Marsudiarto, Muhammad. “Vannamei Shrimp Pond Water Quality Monitoring


and Controlling System with Fuzzy Sugeno Method”. Counseling Lecturer: : (1)
Yuri Ariyanto, S.Kom., M.Kom., (2) Sofyan Noor Arief, S.ST., M.Kom.

Thesis, Informatics Management Study Program, Department of Information


Technology, State Polytechnic of Malang, 2020.

Water quality management is a way to maintain water quality parameters in


accordance with quality standards for cultivation. However, the process of
measuring water quality on ponds at this case is only done manually checking the
condition of pond water quality at certain hours during the day but, at night is still
rarely done. So that at night it is possible that there could be a significant decrease
in water quality parameters. Therefore a system for monitoring and controlling the
quality of shrimp pond water based on internet of things (IoT) is needed. This
research uses DS18B20 sensor for temperature and pH sensor as input data. The
NodeMCU ESP8266 device as a reader and data manager will produce logic
control outputs for pump relays and waterwheels. The method used to process data
is the Fuzzy Sugeno method with two main parameters, temperature and pH. 9 times
the test showed the success rate of the Fuzzy Sugeno method calculation was 100%
valid. This system has successfully monitored and controlled IoT-based pond water
quality that can monitor remotely and automatically manage water quality so that
it remains stable, making it easier for pond managers to monitor water quality
conditions even if they are far from the pond's aquaculture site during the pond's
equipment and managers connected to the internet network.

Keywords : Shrimp Ponds, Vannamei Shrimp, NodeMCU, Fuzzy Sugeno, Internet


of Things (IoT), Temperature, pH

v
KATA PENGANTAR

Puji Syukur kami panjatkan kehadirat Allah Subhanahu Wa Ta’ala atas segala
rahmat dan hidayah-Nya penulis dapat menyelesaikan skripsi dengan judul
“SISTEM MONITORING DAN CONTROLLING KUALITAS AIR TAMBAK
UDANG VANNAMEI DENGAN METODE FUZZY SUGENO”. Skripsi ini
penulis susun sebagai persyaratan untuk menyelesaikan studi program Diploma IV
Program Studi Teknik Informatika, Jurusan Teknologi Informasi, Politeknik Negeri
Malang.
Kami menyadari bahwasannya dengan tanpa adanya dukungan dan kerja
sama dari berbagai pihak, kegiatan laporan akhir ini tidak akan dapat berjalan baik.
Untuk itu, kami ingin menyampaikan rasa terima kasih kepada:
1. Allah Subhanahu Wa Ta’ala karena atas kehendak dan ridho-Nya sehingga
penelitian ini bisa terselesaikan.
2. Orang tua penulis, Pak Suyadi dan Almarhumah Ibu Shofiyah yang telah
memberikan dukungan serta doa sehingga menjadi alasan utama penulis
untuk selalu bersemangat menyelesaikan tugas akhir ini.
3. Bapak Rudy Ariyanto, ST., M.Cs., selaku ketua jurusan Teknologi Informasi.
4. Bapak Imam Fahrur Rozi, ST., MT., selaku ketua program studi Manajemen
Informatika.
5. Bapak Yuri Ariyanto, S.Kom., M.Kom. dan Bapak Sofyan Noor Arief, S.ST.,
M.Kom. selaku dosen pembimbing yang selalu memberi arahan, semangat
dan saran hingga penulis dapat menyelesaikan peneltian ini.
6. Para dosen pengajar Jurusan Teknologi Informasi Politeknik Negeri Malang
yang telah sabar dan ikhlas menularkan ilmu dan pengetahuannya yang
mengajarkan nilai - nilai kebaikan selama penulis menempuh bangku
perkuliahan.
7. Dan seluruh pihak yang telah membantu dan mendukung lancarnya
pembuatan Laporan Akhir dari awal hingga akhir yang tidak dapat kami
sebutkan satu persatu.
Penulis menyadari bahwa dalam penyusunan laporan akhir ini, masih banyak
terdapat kekurangan dan kelemahan yang dimiliki penulis baik itu sistematika

vi
penulisan maupun penggunaan bahasa. Untuk itu penulis mengharapkan saran dan
kritik dari berbagai pihak yang bersifat membangun demi penyempurnaan laporan
ini. Semoga laporan ini berguna bagi pembaca secara umum dan penulis secara
khusus. Akhir kata, penulis ucapkan banyak terima kasih.

Malang, ……………..

Muh. Marsudiarto

vii
DAFTAR ISI

Halaman
HALAMAN PENGESAHAN .............................................................................. ii
PERNYATAAN ................................................................................................. iii
ABSTRAK ......................................................................................................... iv
ABSTRACT .......................................................................................................... v
KATA PENGANTAR ........................................................................................ vi
DAFTAR ISI .................................................................................................... viii
DAFTAR GAMBAR .......................................................................................... xi
DAFTAR TABEL ............................................................................................ xiii
BAB I. PENDAHULUAN ............................................................................... 1
Latar Belakang ..................................................................................... 1
Rumusan Masalah ................................................................................ 2
Batasan Masalah .................................................................................. 2
Tujuan ................................................................................................. 3
Sistematika Penulisan .......................................................................... 3
BAB II. LANDASAN TEORI ........................................................................... 5
Tambak Udang .................................................................................... 5
Internet of Things (IoT) ........................................................................ 5
NodeMCU ESP8266 ................................................................... 6
ThingSpeak ................................................................................. 6
Sensor Temperatur ...................................................................... 7
Sensor pH ................................................................................... 7
MySQL ................................................................................................ 8
Logika Fuzzy ....................................................................................... 9
Kajian Pustaka ................................................................................... 12
BAB III. METODOLOGI PENELITIAN ......................................................... 14
Data Penelitian ................................................................................... 14
Metode Pengambilan Data ................................................................. 14
Metode Pengolahan Data ................................................................... 15
Metode Pengembangan Perangkat Lunak ........................................... 16
Analisis Kebutuhan ................................................................... 16
3.4.2 Perancangan .............................................................................. 17
3.4.3 Implementasi ............................................................................. 18
Pengujian .................................................................................. 18
3.4.5 Pemeliharaan............................................................................. 19
BAB IV. ANALISIS DAN PERANCANGAN SISTEM ................................... 20
Analisis Kebutuhan ............................................................................ 20

viii
Perangkat Lunak ....................................................................... 20
Perangkat Keras ........................................................................ 20
4.2 Perancangan Sistem ............................................................................ 22
4.2.1 Data Flow Diagram (DFD) Level 0 ........................................... 22
4.2.2 Data Flow Diagram (DFD) Level 1 ........................................... 23
4.2.3 Flowchart Sistem Monitoring ................................................... 24
4.2.4 Flowchart Sistem Automasi ...................................................... 24
4.2.5 Diagram Blok sistem................................................................. 32
4.2.6 Desain Sistem ........................................................................... 32
4.2.7 Desain Prototype ...................................................................... 33
BAB V. IMPLEMENTASI DAN PENGUJIAN .............................................. 35
Implementasi ..................................................................................... 35
Implementasi Prototype ............................................................ 35
Implementasi Perancangan Hardware ....................................... 36
5.1.2.1 Rangkaian Input NodeMCU1 dengan Sensor................. 36
5.1.2.2 Rangkaian Output NodeMCU2 dengan Aktuator ........... 37
5.1.2.3 Rangkaian Motor Driver dengan Motor DC................... 38
Implementasi Database ............................................................. 38
Implementasi User Interface ..................................................... 39
5.1.4.1 Menu Dashboard........................................................... 40
5.1.4.2 Menu Temperatur .......................................................... 40
5.1.4.3 Menu pH ....................................................................... 41
5.1.4.4 Menu Laporan ............................................................... 41
Implementasi Thingspeak .......................................................... 42
Implementasi Kode Program ..................................................... 43
5.1.6.1 Kode Program Pembacaan Sensor ................................. 44
5.1.6.2 Kode Program Perhitungan Metode Fuzzy .................... 45
5.1.6.3 Kode Program Send to Thingspeak ................................ 47
5.1.6.4 Kode Program Model .................................................... 48
5.1.6.5 Kode Program Controller .............................................. 50
5.1.6.6 Kode Program Insert Database ..................................... 56
Implementasi Metode Fuzzy Sugeno ......................................... 57
Pengujian ........................................................................................... 64
Pengujian Sensor Temperatur.................................................... 64
Pengujian Sensor pH ................................................................. 65
Pengujian Input Data ................................................................ 66
Pengujian Website Monitoring .................................................. 67
Pengujian Metode Fuzzy Sugeno ............................................... 68
Pengujian Aktuator ................................................................... 69
Pengujian Fungsional ................................................................ 71
BAB VI. HASIL DAN PEMBAHASAN .......................................................... 72
Hasil .................................................................................................. 72
Hasil Pengujian Sensor Temperatur .......................................... 72
Hasil Pengujian Sensor pH ........................................................ 73
Hasil Pengujian Input Data ....................................................... 74
Hasil Pengujian Website Monitoring ......................................... 74

ix
Hasil Pengujian Metode Fuzzy Sugeno ...................................... 76
Hasil Pengujian Aktuator .......................................................... 77
6.1.6.1 Kondisi Dingin dan Rendah .......................................... 77
6.1.6.2 Kondisi Dingin dan Netral............................................. 77
6.1.6.3 Kondisi Dingin dan Tinggi ............................................ 78
6.1.6.4 Kondisi Hangat dan Rendah .......................................... 78
6.1.6.5 Kondisi Hangat dan Netral ............................................ 79
6.1.6.6 Kondisi Hangat dan Tinggi............................................ 79
6.1.6.7 Kondisi Panas dan Rendah ............................................ 80
6.1.6.8 Kondisi Panas dan Netral .............................................. 80
6.1.6.9 Kondisi Panas dan Tinggi .............................................. 81
Hasil Pengujian Fungsional ....................................................... 81
Pembahasan ....................................................................................... 83
Pembahasan Hasil Pengujian Sensor Temperatur ...................... 84
Pembahasan Hasil Pengujian Sensor pH ................................... 84
Pembahasan Hasil Pengujian Input Data ................................... 85
Pembahasan Hasil Pengujian Website Monitoring ..................... 86
Pembahasan Hasil Pengujian Metode Fuzzy Sugeno .................. 87
Pembahasan Hasil Pengujian Aktuator ...................................... 88
Pembahasan Hasil Pengujian Fungsional................................... 88
Pembahasan Hasil Pengujian User ............................................ 89
BAB VII. KESIMPULAN DAN SARAN .......................................................... 90
Kesimpulan ........................................................................................ 90
Saran.................................................................................................. 91
DAFTAR PUSTAKA ........................................................................................ 92

x
DAFTAR GAMBAR

Halaman
Gambar 2.1 Tambak udang .................................................................................. 5
Gambar 2.2 NodeMCU ESP8266 Amica.............................................................. 6
Gambar 2.3 Sensor temperatur DS18B20 ............................................................. 7
Gambar 2.4 Sensor pH ......................................................................................... 8
Gambar 2.5 Representasi linear naik .................................................................. 10
Gambar 2.6 Representasi linear turun ................................................................. 10
Gambar 2.7 Representasi kurva segitiga ............................................................. 11
Gambar 2.8 Representasi kurva trapesium .......................................................... 11
Gambar 3.1 Alur waterfall ................................................................................. 16
Gambar 3.2 Black Box Testing ........................................................................... 18
Gambar 4.1 DFD Level 0 ................................................................................... 23
Gambar 4.2 DFD Level 1 ................................................................................... 23
Gambar 4.3 Flowchart Sistem Monitoring ......................................................... 24
Gambar 4.4 Flowchart Sistem Automasi ............................................................ 25
Gambar 4.5 Flowchart perhitungan fuzzy sugeno proses fuzzifikasi 1 ................ 26
Gambar 4.6 Flowchart perhitungan fuzzy sugeno proses fuzzifikasi 2 ................ 27
Gambar 4.7 Flowchart perhitungan fuzzy sugeno proses fungsi implikasi ........... 28
Gambar 4.8 Flowchart perhitungan fuzzy sugeno proses inferensi (max) ............ 29
Gambar 4.9 Flowchart perhitungan fuzzy sugeno proses defuzzifikasi ................ 30
Gambar 4.10 Flowchart perhitungan hasil bobot nilai fuzzy ............................... 31
Gambar 4.11 Diagram Blok Sistem .................................................................... 32
Gambar 4.12 Desain Sistem ............................................................................... 33
Gambar 4.13 Desain prototype sistem tampak atas ............................................. 33
Gambar 4.14 Desain prototype tampak samping................................................. 34
Gambar 5.1 Tampak depan dan belakang prototype ........................................... 35
Gambar 5.2 Tampak samping prototype ............................................................. 35
Gambar 5.3 NodeMCU input terletak di samping kanan prototype ..................... 36
Gambar 5.4 Rangkaian pin sensor dan NodeMCU ............................................. 37
Gambar 5.5 NodeMCU output terletak di atas prototype .................................... 37
Gambar 5.6 Rangkaian pin relay dan motor driver ............................................. 38
Gambar 5.7 Rangkaian motor driver dengan motor dc ....................................... 38
Gambar 5.8 Tabel monitoring ............................................................................ 39
Gambar 5.9 Tabel user ....................................................................................... 39
Gambar 5.10 User interface menu dashboard .................................................... 40
Gambar 5.11 User interface menu temperatur.................................................... 40
Gambar 5.12 User interface menu pH ................................................................ 41
Gambar 5.13 User interface menu laporan ......................................................... 41
Gambar 5.14 Thingspeak API key ...................................................................... 42
Gambar 5.15 Live widget yang disediakan thingspeak ........................................ 43
Gambar 5.16 Himpunan keanggotaan temperatur ............................................... 58
Gambar 5.17 Himpunan keanggotaan pH ........................................................... 59
Gambar 5.18 Himpunan kondisi implikasi ......................................................... 61
Gambar 5.19 Perhitungan metode fuzzy sugeno excel ......................................... 63
Gambar 6.1 Insert data ke database ................................................................... 74

xi
Gambar 6.2 Website diakses melalui internet ..................................................... 75
Gambar 6.3 Kondisi dingin dan rendah .............................................................. 77
Gambar 6.4 Kondisi dingin dan netral ................................................................ 78
Gambar 6.5 Kondisi dingin dan tinggi ................................................................ 78
Gambar 6.6 Kondisi hangat dan rendah .............................................................. 79
Gambar 6.7 Kondisi hangat dan netral ............................................................... 79
Gambar 6.8 Kondisi hangat dan tinggi ............................................................... 80
Gambar 6.9 Kondisi panas dan rendah ............................................................... 80
Gambar 6.10 Kondisi panas dan netral ............................................................... 81
Gambar 6.11 Kondisi panas dan tinggi ............................................................... 81
Gambar 6.12 Data sensor dari serial monitor NodeMCU .................................... 81
Gambar 6.13 Data sensor realtime pada website monitoring............................... 82
Gambar 6.14 Status aktuator realtime pada website monitoring .......................... 82
Gambar 6.15 Data yang tersimpan dalam database ............................................ 82
Gambar 6.16 Live chart dan live status dari thingspeak ...................................... 83
Gambar 6.17 Hosting website menggunakan FTP .............................................. 83
Gambar 6.18 Grafik pengujian sensor temperatur ............................................... 84
Gambar 6.19 Grafik pengujian sensor pH........................................................... 85
Gambar 6.20 Data masuk dalam database .......................................................... 86

xii
DAFTAR TABEL

Halaman
Tabel 2.1 Penulis terdahulu ................................................................................ 13
Tabel 4.1 Spesifikasi kebutuhan perangkat lunak ............................................... 20
Tabel 4.2 Spesifikasi kebutuhan perangkat keras ................................................ 21
Tabel 5.1 Kode program pembacaan sensor ....................................................... 44
Tabel 5.2 Kode program perhitungan metode fuzzy sugeno ................................ 45
Tabel 5.3 Kode program send to thingspeak ....................................................... 47
Tabel 5.4 Kode program file Login_model.php .................................................. 48
Tabel 5.5 Kode program file Data_Model.php ................................................... 48
Tabel 5.6 Kode program file Login.php ............................................................. 50
Tabel 5.7 Kode program file Dashboard.php ...................................................... 52
Tabel 5.8 Kode program file Sensor.php ............................................................ 53
Tabel 5.9 Kode program file Report.php ............................................................ 55
Tabel 5.10 Kode program file insertdb.php ........................................................ 56
Tabel 5.11 Himpunan keanggotaan temperatur ................................................... 58
Tabel 5.12 Himpunan keanggotaan pH............................................................... 59
Tabel 5.13 Fungsi implikasi inferensi ................................................................. 60
Tabel 5.14 Variabel kondisi ............................................................................... 60
Tabel 5.15 Pengujian sensor temperatur DS18B20 ............................................. 64
Tabel 5.16 Pengujian sensor pH ......................................................................... 65
Tabel 5.17 Pengujian input data ke database ..................................................... 66
Tabel 5.18 Pengujian website monitoring ........................................................... 67
Tabel 5.19 Pengujian metode fuzzy sugeno ......................................................... 68
Tabel 5.20 Pengujian aktuator ............................................................................ 69
Tabel 5.21 Pengujian fungsional ........................................................................ 71
Tabel 6.1 Hasil pembacaan sensor temperatur .................................................... 72
Tabel 6.2 Hasil pembacaan sensor pH ................................................................ 73
Tabel 6.3 Hasil pengujian respon sistem............................................................. 76
Tabel 6.4 Rentang nilai temperatur tertinggi dan terendah .................................. 84
Tabel 6.5 Rentang nilai bubuk kalibrasi pH ........................................................ 85
Tabel 6.6 Nilai akurasi pada website monitoring ................................................ 86
Tabel 6.7 Nilai akurasi perhitungan metode fuzzy sugeno ................................... 87
Tabel 6.8 Perbandingan nilai hasil deffuzifikasi ................................................. 87
Tabel 6.9 Perbandingan output kondisi............................................................... 88

xiii
BAB I. PENDAHULUAN

Latar Belakang
Kegiatan perikanan di Kabupaten Sidoarjo yang terbesar adalah budidaya
perikanan tambak dengan hasil total mencapai 74.897 ton pada tahun 2016 yang
menjadikan Sidoarjo sebagai penghasil terbesar budidaya tambak di Provinsi Jawa
Timur (BPS Provinsi Jawa Timur, 2018). Budidaya perikanan tambak merupakan
kegiatan potensial yang mampu mendukung perekonomian masyarakat pesisir
Kabupaten Sidoarjo. Dalam hal ini, kualitas air menjadi hal yang sangat
diperhatikan dimana perubahan kualitas air tambak yang sangat berpengaruh
terhadap potensi perikanan tambak udang vannamei.
Pada 2006 terjadi semburan Lumpur Lapindo yang dimana pembuangan
Lumpur Lapindo melalui Kali Porong ditakutkan berdampak pada ancaman
kelangsungan usaha perikanan budidaya tambak udang karena air sungai dan atau
air laut merupakan sirkulasi air pada tambak. Pengelolaan kualitas air merupakan
suatu cara untuk menjaga parameter kualitas air sesuai dengan baku mutu bagi
kultivan. Parameter-parameter itu merupakan suatu indikator untuk melihat kulitas
air, seperti oksigen terlarut (DO), karbondioksida (CO2) bebas, pH, temperatur,
kecerahan, salinitas, amonia, dan nitrit (M. Faiz Fuady, 2013).
Tambak udang vannamei yang menjadi objek penelitian berada di Desa
Kedung Peluk Kecamatan Candi Kabupaten Sidoarjo. Proses pengukuran kualitas
air pada tambak saat ini hanya dilakukan pengecekan secara manual kondisi
kualitas air tambak udang diperiode jam tertentu pada siang hari akan tetapi, pada
saat malam hari masih jarang dilakukan. Sehingga jika malam hari kemungkinan
bisa terjadi adanya penurunan parameter kualitas air yang signifikan. Faktor-faktor
yang bisa memicu terjadinya perubahan parameter kualitas air antara lain, panas
yang terik pada siang hari, terjadinya hujan, penurunan temperatur pada malam hari
dan masuknya material asing ke dalam tambak.
Berdasarkan permasalahan tersebut maka dalam penelitian ini dirancang
perangkat sistem monitoring dan controlling kualitas air tambak udang vannamei
yang memanfaatkan teknologi internet of things yang diharapkan bisa memantau
dan mengontrol kondisi kualitas air dari jarak jauh. Dalam hal ini penelitian yang

1
dilakukan menggunakan dua parameter kualitas air yaitu temperatur dan kadar pH
dalam aktivitas monitoring dan controlling. Adapun untuk pengontrolan dua
parameter kualitas air tersebut menggunakan dua aktuator, yaitu kincir air yang
berguna untuk menurunkan temperatur temperatur air aquarium dan pompa air
untuk penambahan air ke dalam prototype aquarium dengan tujuan untuk
menaikkan atau menurunkan kadar pH menggunakan metode fuzzy sugeno.
Microcontroller NodeMCU ESP8266 sebagai pengolah data dari input sensor yang
kemudian diproses untuk menentukan output berupa menyalakan kincir air dan
pompa air. Diharapkan dengan adanya sistem ini dapat membantu pengelola
tambak dan pemilik tambak dalam melakukan pengelolaan ataupun pemantauan
kualitas air tambak dari jarak jauh yang dimana akan berdampak langsung pada
kelangsungan hidup udang vannamei dan hasil panen.

Rumusan Masalah
Berdasarkan latar belakang di atas, maka rumusan masalah yang dapat
diambil adalah sebagai berikut:
1. Bagaimana merancang bangun perangkat sistem monitoring dan controlling
temperatur dan kadar pH?
2. Bagaimana penerapan Internet of Things (IoT) untuk monitoring dan
controlling?
3. Bagaimana menggunakan metode Fuzzy Sugeno pada sistem controlling
(automasi) menggunakan parameter temperatur dan kadar pH?

Batasan Masalah
Agar penulisan skripsi ini berjalan sesuai rencana dan tujuan awal, maka
penulis memberikan batasan-batasan sebagai berikut :
1. Sistem ini memantau dua parameter kualitas air secara real-time menggunakan
sensor, parameter tersebut adalah temperatur air dan kadar pH.
2. Sistem ini menggunakan skala prototype tambak dengan ukuran 45x25x28cm.
3. Proses pengontrolan kualitas air menggunakan aktuator kincir air dan pompa
air.
4. Sistem terkoneksi dengan internet.

2
Tujuan
Dalam pembuatan alat pengontrol kualitas air tambak ini tentunya ada
beberapa tujuan yang menjadi tolok ukur keberhasilan alat ukur ini, adalah sebagai
berikut:
1. Dapat membuat rancang bangun sistem monitoring dan controlling temperatur
dan kadar pH.
2. Menerapkan Internet of Things (IoT) untuk monitoring dan controlling.
3. Menggunakan metode Fuzzy Sugeno pada sistem controlling (automasi)
menggunakan parameter temperatur dan kadar pH.

Sistematika Penulisan
Dalam menyusun skripsi ini, pembahasan penulis sajikan dalam tujuh bab
pokok bahasan, diantaranya adalah :
BAB I PENDAHULUAN
Berisi tentang latar belakang, perumusan masalah, batasan
masalah, tujuan dan sistematika penulisan.
BAB II LANDASAN TEORI
Bagian ini berisi mengenai teori dan penjelasan lainnya yang
relevan mengenai Internet of Things dan permasalahan lain yang
akan dibahas dalam penulisan skripsi ini diantaranya tambak
udang, konsep Internet of Things, NodeMCU, Thingspeak,
Sensor Temperatur, Sensor pH, MySQL, Logika Fuzzy dan
Kajian pustaka.
BAB III METODOLOGI PENELITIAN
Beberapa uraian pada bab ini antara lain data penelitian, metode
pengambilan data, metode pengolahan data dan fase-fase
pengembangan perangkat lunak yang menggunakan metode
waterfall.
BAB IV ANALISIS DAN PERANCANGAN SISTEM
Bagian ini berisikan tentang analisis kebutuhan yang meliputi
kebutuhan perangkat lunak dan perangkat keras serta
memaparkan data-data yang dibutuhkan dalam perancangan

3
suatu sistem yang terdiridari DFD, Flowchart, Diagram Blok
Sistem, Desain Sistem dan Desain Prototype.
BAB V IMPLEMENTASI DAN PENGUJIAN
Berisi pembahasan mengenai implementasi sistem serta fitur
yang ada dalam sistem mulai dari implementasi prototype,
implementasi perancangan hardware, implementasi database,
implementasi user interface, implementasi thingspeak,
implementasi kode program dan implementasi metode fuzzy
sugeno. Kemudian menjelaskan tentang pengujian yang
dilakukan dari perangkat lunak, fitur dan hardware sehingga
sistem dapat dianalisa.
BAB VI HASIL DAN PEMBAHASAN
Bab ini berisi pemaparan hasil penelitian berupa hasil uji sensor,
pengiriman data, website dashboard monitoring, metode fuzzy
sugeno, aktuator dan fungsional.
BAB VII KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran hasil dari penelitian yang
sudah dilakukan berdasarkan analisa, implementasi dan
pengujian terhadap sistem.

4
BAB II. LANDASAN TEORI

Tambak Udang
Tambak merupakan salah satu jenis habitat yang dipergunakan sebagai
tempat untuk kegiatan budidaya air payau yang berlokasi di daerah pesisir.
Kegiatan budidaya tambak yang terus menerus menyebabkan terjadinya degradasi
lingkungan, yang ditandai dengan menurunnya kualitas air. Kendala lingkungan
yang dihadapi dalam kegiatan budidaya diantaranya penataan wilayah atau
penataan ruang pengembangan budidaya yang tidak memperhatikan daya dukung
lingkungan akibat pengelolaan yang tidak tepat, sehingga menimbulkan
permasalahan lingkungan dengan segala aspek komplikasinya dalam kurun waktu
yang panjang (Andrian Kristanto, Iwan Setiawan, & Sumardi, 2013).
Keberhasilan dalam budidaya udang temperatur berkisar antara 25-32°C,
sedangkan pH untuk standar budidaya udang vannamei berkisar 7,5-8,5 (Andi
Sahrijanna & Sahabuddin, 2014). Tambak udang dengan kincir air ditunjukkan
pada gambar 2.1.

Gambar 2.1 Tambak udang

Internet of Things (IoT)


Internet of Things (IoT) merupakan segala aktifitas yang pelakunya saling
berinteraksi dan dilakukan dengan memanfaatkan internet. Dalam penggunaan nya
Internet of Things banyak ditemui dalam berbagai aktifitas, contohnya : banyaknya
transportasi online, e-commerce, pemesanan tiket secara online, live streaming, e-
learning dan lain-lain bahkan sampai alat-alat untuk membantu dibidang tertentu

5
seperti remote temperature sensor, GPS tracking, dan sebagainya yang
menggunakan internet atau jaringan sebagai media untuk melakukannya (Oris
Krianto Sulaiman & Adi Widarma, 2017).

NodeMCU ESP8266
NodeMCU merupakan sebuah open source platform IoT dan pengembangan
kit yang menggunakan bahasa pemrograman Lua untuk membantu pembuat dalam
membuat produk IoT atau bisa dengan memakai sketch dengan arduino IDE.
NodeMCU juga memiliki board yang berukuran sangat kecil yaitu panjang 4.83cm,
lebar 2.54 cm, dan dengan berat 7 gram, selain itu NodeMCU juga memiliki harga
yang relatif terjangkau, tapi walaupun ukurannya yang kecil dan harganya yang
terjangkau board ini sudah dilengkapi dengan fitur wifi dan firmwarenya yang
bersifat opensource (Muchammad Cholilulloh, 2018). NodeMCU ditunjukkan pada
gambar 2.2.

Gambar 2.2 NodeMCU ESP8266 Amica


Penggunaan NodeMCU dalam studi kasus ini sangat cocok untuk digunakan
karena dengan hanya ukuran yang sangat kecil dengan panjang tidak sampai 5cm
sudah tertanam wifi yang berguna untuk pengiriman data.

ThingSpeak
ThingSpeak merupakan sebuah layanan internet yang menyediakan layanan
untuk pengaplikasian "Internet of Things". ThingSpeak merupakan layanan yang
berisi aplikasi dan API yang bersifat open source untuk menyimpan dan mengambil
data dari berbagai perangkat yang menggunakan HTTP (Hypertext Transfer
Protocol) melalui internet atau melalui LAN (Local Area Network). Dengan
menggunakan ThingSpeak, seseorang dapat membuat aplikasi logging sensor,

6
aplikasi pelacakan lokasi, dan jaringan sosial dari segala sesuatu yang terhubung ke
internet dengan pembaruan status (Chwalisz, 2016).
Pengiriman dan penyimpanan data menjadi hal yang sangat penting dalam
studi kasus ini. Maka dari itu penulis menggunakan thingspeak yang berguna untuk
memudahkan menampilkan data yang dilakukan secara realtime karena data bisa
diakses dengan hanya menggunakan url atau widget yang sudah disediakan oleh
thingspeak.
Sensor Temperatur
Sensor yang digunakan pada peneilitian ini adalah DS18B20. Sensor ini
memiliki rentang daya 3.0V hingga 5.5V. Keluaran dari sensor DS18B20 akan
dikonversikan menjadi data digital oleh data ADC internal 10-bit pada
microcontroller. Sensor temperatur ditunjukan pada gambar 2.3.

Gambar 2.3 Sensor temperatur DS18B20


Pada studi kasus yang penulis lakukan, digunakan sensor temperatur
DS18B20 karena tersedianya selongsong yang terbuat dari stainless steel yang
membuat sensor ini anti air yang digunakan untuk keperluan mengukur temperatur
dalam air dan nilainya dijadikan sebagai input dari proses perhitungan metode.
Sensor pH
Sensor pH digunakan untuk mengubah derajat keasaman menjadi tegangan,
dalam hal ini adalah ion H+ dan OH+. Jika dalam suatu larutan ion H+ lebih besar
dibanding ion OH+ maka larutan tersebut bersifat asam dan apabila sebaliknya
maka larutan tersebut bersifat basa.

7
Gambar 2.4 Sensor pH
Sensor ini menggunakan pH probe yang dengan kabel yang cukup pajang,
terdapat dua potensio meter yang berguna untuk kalibrasi. Terdapat 6 pin yang ada
dalam pcb, yang digunakan pin ground, v+ dan pin po sebagai pin data. Pin data
terhubung dengan pin analog dalam microcontroller NodeMCU yang sesuai
dengan keperluan rangkaian. Penggunaan sensor pH ini berguna sebagai input data
untuk perhitungan metode.

MySQL
MySQL merupakan sebuah perangkat lunak yang berfungsi sebagai server
database dengan kemampuan dapat mengelola database secara cepat dan dengan
kemampuan menampung data dalam jumlah besar, serta memiliki kehandalan dapat
diakses oleh banyak pengguna (multiuser). MySQL untuk saat ini sudah banyak
digunakan diberbagai bidang perusahaan untuk melakukan penyimpanan dan
pengelolaan data dengan jumlah besar mulai dari bidang akademis, industri kecil ,
menengah, hingga industri besar. Dalam hal lisensi, MySQL memiliki dua jenis
yaitu produk berbayar dan produk open source dibawah General Public License
sehingga memiliki akses gratis. Beberapa keunggulan dari MySQL sehingga
menjadi database server populer sampai saat ini adalah fleksibel, performa tinggi,
lintas platform, gratis, proteksi data yang handal, serta memiliki jangkauan
komunitas pengembangan yang luas (Raharjo, 2011).
Selain menggunakan thingspeak sebagai penyimpanan data, penulis
menggunakan MySQL untuk kebutuhan data yang ada pada fitur laporan.

8
Kemudahan pengiriman data dan pengolahan data menjadi alasan utama untuk
menggunakan MySQL sebagai perangkat lunak penyimpanan database.

Logika Fuzzy
Logika fuzzy merupakan sebuah metode “berhitung” dengan variable kata
(Variabel Linguistik), sebagai pengganti berhitung dengan bilangan. Memang kata-
kata yang digunakan dalam fuzzy tidak setepat bilangan, namun kata yang
digunakan dalam fuzzy lebih dengan intuisi manusia, seperti kata ”merasakan”,
“kira-kira”, “lebih kurang” dan sebagainya. Sesuai dengan perkembangan daya
fikir manusia, maka logika fuzzy ini menjadi popular untuk digunakan dalam riset
karena kemampuannya dalam menjembatani Bahasa mesin yang serba tepat
(Setiawan et al., 2018).
Logika fuzzy memiliki sebuah nilai yang dinyatakan dalam sebuah himpunan
derajat suatu keanggotaan, berbeda dengan logika komputer yang memiliki nilai
pasti yaitu 0 dan 1. Logika fuzzy memiliki nilai yang berada di antara sepenuhnya
salah sampai sepenuhnya benar dan merupakan nilai yang memiliki keambiguan,
dengan artian logika fuzzy memiliki nilai tidak pasti atau samar – samar
(Meimaharani & Listyorini., 2014).
Menurut Cox (1994), ada beberapa alasan mengapa harus menggunakan logika
fuzzy, antara lain (Mulyanto & Haris., 2016) :
1. Konsep dari logika fuzzy sangat mudah dimengerti, karena pada dasarnya mirip
dengan dasar ilmu matematis teori himpunan.
2. Sangat fleksibel, yang mana mampu beradaptasi dengan perubahan,
ketidakpastian yang menyertai sebuah permasalahan.
3. Memiliki toleransi terhadap data yang tidak tepat, jika ada sekelompok data
yang cukup homogen atau memiliki banyak kemiripan maka logika fuzzy bisa
menanganinya.
4. Mampu memodelkan fungsi – fungsi nonlinear yang sangat kompleks.
5. Logika fuzzy dapat melakukan pengaplikasian pengalaman para pakar secara
langsung tanpa harus melakukan proses pelatihan sistem. Biasa dikenal dengan
Fuzzy Expert System.

9
6. Memiliki kemampuan untuk melakukan kolaborasi dengan teknik kendali
secara konvensional. Biasanya terjadi pada aplikasi dibidang teknik mesin
maupun elektro.
7. Logika fuzzy didasarkan pada bahasa alamiah, sehingga dapat dimengerti
dengan bahasa sehari – hari.
a. Representasi Kurva Linear
Pada proses pemetaan input kedalam derajat keanggotaan direpresentasikan
sebagai suatu garis lurus atau linear. Himpunan fuzzy memiliki dua keadaan linear,
yang pertama adalah representasi linear naik yaitu kenaikan himpunan dimulai pada
nilai domain yang memiliki derajat keanggotaan nol (0) bergerak ke atas atau ke
kanan menuju nilai keanggotaan yang memiliki derajat keanggotaan yang lebih
tinggi.

0, 𝑥 ≤𝑎
𝑥−𝑎
µ[x] = {𝑏 − 𝑎 𝑎 ≤ 𝑥 ≤ 𝑏
1 𝑥 ≥𝑏

Gambar 2.5 Representasi linear naik


Kedua, merupakan kebalikan dari linear naik. Pada representasi linear ini
dimulai dari nilai domain dengan derajat keanggotaan tertinggi bernilai satu (1)
pada sisi kiri, kemudian bergerak turun ke kanan menuju nilai domain yang
memiliki derajat keanggotaan yang lebih rendah.

1, 𝑥 ≤𝑎
𝑥−𝑎
µ[x] = {𝑏−𝑎 10 ≤ 𝑥 ≤ 𝑏
0 𝑥 ≥𝑎

Gambar 2.6 Representasi linear turun


b. Representasi Kurva Segitiga

10
Pada dasarnya kurva segitiga merupakan gabungan dari garis linear naik dan
turun.

0,
𝑥−𝑎 𝑥 ≤ 𝑎 𝑎𝑡𝑎𝑢 𝑥 ≥ 𝑐
µ[x] = {𝑏 − 𝑎 𝑎≤𝑥≤𝑏
𝑐−𝑥
𝑏 ≤𝑥≤𝑐
𝑐−𝑏

Gambar 2.7 Representasi kurva segitiga

c. Representasi Kurva Trapesium


Pada dasarnya kurva trapesium sama seperti kurva segitiga, hanya saja ada
beberapa titik yang memiliki nilai keanggotaan satu (1).

0,
𝑥−𝑎 𝑥 ≤ 𝑎 𝑎𝑡𝑎𝑢 𝑥 ≥ 𝑑
𝑏 −𝑎 𝑎≤𝑥≤𝑏
µ[x] =
1 𝑏 ≤𝑥≤𝑐
𝑑−𝑥
𝑥≤𝑑
{𝑑 − 𝑐

Gambar 2.8 Representasi kurva trapesium


d. Inferensi Fuzzy Sugeno
Inferensi Fuzzy Sugeno hampir sama dengan penalaran Mamdani, hanya saja
Fuzzy Sugeno ini mempunyai output (konsekuen) sistem tidak berupa himpunan
fuzzy, melainkan berupa konstanta atau persamaan linier. Metode Fuzzy Sugeno
memiliki dua (2) jenis, yaitu :
1. Model Fuzzy Sugeno Orde Nol
IF (X1 is A1).(X2 is A2).(X3 is A3).(X4 is A4) ..... ( Xn is An) THEN z =k
Dengan An adalah himpunan Fuzzy ke-n sebagai anteseden, dan k adalah suatu
konstanta (tegas) sebagai konsekuen.
2. Model Fuzzy Sugeno Orde Satu
IF (X1 is A1) .... (Xn is An) THEN z = P1* X1 + …+ Pn* Xn + q
Dengan An adalah himpunan Fuzzy ke-n sebagai anteseden dan Pn adalah suatu
konstanta (tegas) ke-n dan q juga merupakan konstanta dalam konsekuen.

11
Pada proses perhitungan dan langkah dari metode Fuzzy Inference System
(FIS) Mamdani, FIS Sugeno dan FIS Tsukamoto hampir tidak ada perbedaan hanya
saja berbeda pada konsekuen output. Berikut adalah tahapan - tahapan dari proses
metode Fuzzy Sugeno, yaitu :
1. Fuzzifikasi
Fuzzifikasi merupakan proses pengelompokan data yang bersifat tegas (Crips)
kedalam himpunan Fuzzy. Kemudian menyusun domain himpunan Fuzzy dari
rentang jangkauan variabel suatu himpunan.
2. Aplikasi fungsi implikasi
Tiap-tiap aturan (proposisi) pada basis pengetahuan Fuzzy akan berhubungan
dengan suatu relasi Fuzzy. Bentuk umum dari fungsi implikasi adalah IF x
adalah A THEN y adalah B.
3. Komposisi aturan
Pada komposisi aturan digunakan fungsi maksimal (MAX) untuk memperoleh
solusi himpunan dengan cara mengambil nilai tertinggi dari setiap proposisi
yang telah di evaluasi. Apabila semua proposisi telah di evaluasi, maka akan
menghasilkan output yang berisi kesimpulan dari tiap – tiap proposisi.
4. Defuzzifikasi
Dalam melakukan penegasan untuk menghasilkan nilai tegas, digunakan
rumus dengan cara mencari rata – rata terbobot (Weight Average) sebagai
berikut :
𝑎1 𝑧 1 + 𝑎2 𝑧 2 + 𝑎3 𝑧 3 + … 𝑎𝑖 𝑧 𝑖
𝑊𝐴 =
𝑎1 + 𝑎2 + 𝑎3 + … 𝑖

Kajian Pustaka
Berikut merupakan penelitian terdahulu yang disajikan dalam tabel agar dapat
mempermudah pembaca.

12
Tabel 2.1 Penulis terdahulu

No. Judul Penulis Hasil

1. Sistem Ari Fiyanti Telah direalisasikan sistem


Otomasi kendali otomatis kincir air
Kincir Air menggunakan sensor dissolved
Untuk oxygen (DO) berbasis
Respirasi mikrokontroler Arduino Uno.
Udang Sistem otomasi kincir air
Tambak berbasis nilai kadar DO berhasil
Menggunakan direalisasikan dengan range
Sensor nilai acuan kadar.
Dissolved
Oxygen (DO)
2. Pengendalian Iswahyudi Nur Sebuah alat pengendalian
Sirkulasi dan sirkulasi dan pengukuran pH air
Pengukuran pada tambak udang berbasis
pH Air pada arduino, memberi kemudahan
Tambak kepada petani tambak udang
Udang tradisional dalam mengontrol
Berbasis kadar pH air yang ada pada
Arduino tambak serta memudahkan
dalam sistem sirkulasi tambak.

13
BAB III. METODOLOGI PENELITIAN

Dalam metodologi penelitian ini akan menjelaskan langkah - langkah yang


akan dilakukan untuk membuat dan menyelesaikan “Sistem Monitoring dan
Controlling Kualitas Air Tambak Udang Vannamei dengan Metode Fuzzy
Sugeno”, dengan menerapkan langkah - langkah metode pengembangan perangkat
lunak model waterfall.

Data Penelitian
Kelangsungan hidup udang vannamei bergantung pada beberapa parameter
kualitas air yang diantaranya adalah temperatur air dan kadar pH yang ada pada
tambak budidaya udang sehingga data yang akan diolah didalam sistem diperoleh
dari data input sensor temperatur dan pH.
Metode Pengambilan Data
Metode yang dilakukan dalam pengambilan data yang dilakukan terdiri
sebagai berikut :
1. Observasi
Studi lapangan (observasi) merupakan teknik pengumpulan data dengan
langsung terjun ke lapangan untuk mengamati permasalahan yang terjadi. Dalam
penelitian ini, peneliti melakukan pengamatan langsung ke lokasi budidaya tambak
udang di Desa Kedung Peluk Kecamatan Candi Kabupaten Sidoarjo.
2. Wawancara
Wawancara merupakan teknik pengumpulan data yang dilakukan melalui
tatap muka dan tanya jawab langsung antara pengumpul data terhadap narasumber
/ sumber data. Adapun sumber data peneliti yaitu pemilik dan pengelola tambak
udang, Bapak Alimun di Desa Kedungpeluk, Kecamatan Candi, Kabupaten
Sidoarjo.
3. Studi Literatur
Studi Literatur adalah salah satu metode pengumpulan data dengan cara
membaca buku-buku dan jurnal sesuai dengan data yang dibutuhkan. Pada
penelitian ini penulis memilih studi literatur untuk mengumpulkan referensi dari
jurnal yang membahas tentang kualitas air pada tambak dan cara pengelolaan
tambak udang.

14
Metode Pengolahan Data
Metode fuzzy sugeno memiliki kelebihan yaitu memberikan output yang
bersifat lebih intuitif dan lebih sesuai dengan pola pikir manusia. Untuk beberapa
permasalahan yang mengandung ketidakpastian, metode ini dapat digunakan dalam
pemecahan masalah seperti optimasi dan kontrol otomatis (Suyanto, 2014). Dalam
proses perhitungan menggunkan metode fuzzy sugeno ini terdapat 2 input, yaitu
data temperatur air dan kadar pH yang diperoleh dari pembacaan sensor yang telah
terkirim ke microcontroller NodeMCU.
Temperatur, kadar pH, kontrol status nyala mati pompa dan motor DC kincir
disebut sebagai variabel lingustik. Input data akan memasuki proses fuzzifikasi
digunakan untuk merubah informasi input-an dari data ke dalam himpunan fuzzy
linguistik. Pada tahapan akhir metode yang disebut deffuzifikasi akan diperoleh
output berupa kontrol nyala mati kincir air dan pompa air.
Berikut merupakan alur dari metode fuzzy sugeno yang akan digunakan untuk
pengolahan data.
1. Fuzzifikasi
Fuzzifikasi merupakan proses pengelompokan data yang bersifat tegas
(Crips) kedalam himpunan fuzzy. Kemudian menyusun himpunan fuzzy dari rentang
jangkauan variabel suatu himpunan. Pada penelitian ini proses fuzzifikasi memiliki
himpunan keanggotaan dari dua masukan yaitu temperatur dan pH. Nilai dari
temperatur yang akan diperoleh dari sensor temperatur DS18B20 dan nilai dari pH
yang diperoleh dari sensor pH kit.
2. Implikasi
Implikasi adalah tiap-tiap aturan (proposisi) pada basis pengetahuan Fuzzy
akan berhubungan dengan suatu relasi Fuzzy. Bentuk umum dari fungsi implikasi
adalah IF x adalah A THEN y adalah B.
3. Komposisi Aturan
Komposisi aturan digunakan fungsi maksimal (MAX) untuk memperoleh
solusi himpunan dengan cara mengambil nilai tertinggi dari setiap proposisi yang
telah dievaluasi. Apabila semua proposisi telah di evaluasi, maka akan
menghasilkan output yang berisi kesimpulan dari tiap – tiap proposisi.
Usf [Xi] = MAX (Usf [Xi], Ukf [Xi])
Keterangan :

15
Usf [Xi] : nilai dari solusi fuzzy urutan ke – i.
Ukf [Xi] : nilai dari solusi fuzzy urutan ke – i.
4. Defuzzyfikasi

Dalam melakukan penegasan untuk menghasilkan nilai tegas, digunakan


rumus dengan cara mencari rata – rata terbobot (Weight Average) :

ai : adalah α – predikat ke – i.
zi : adalah konsekuensi ke – i.
Metode Pengembangan Perangkat Lunak
Pada penelitian ini, metode perancangan aplikasi yang digunakan adalah
waterfall. Metode waterfall adalah suatu proses pengembangan perangkat lunak
berurutan, dimana kemajuan dipandang sebagai terus mengalir ke bawah (seperti
air terjun) melewati fase-fase analisis kebutuhan, perancangan, implementasi
(konstruksi), pengujian dan pemeliharaan.
Metode waterfall memiliki beberapa tahapan yang runtut yang ditunjukkan
pada gambar 3.1.

Gambar 3.1 Alur waterfall

Analisis Kebutuhan
Analisis kebutuhan sistem ini ditujukan untuk menguraikan kebutuhan-
kebutuhan yang harus disediakan oleh sistem agar dapat memenuhi kebutuhan
pengguna dan sesuai dengan tujuan penelitian. Rancangan sistem ini menjelaskan
kebutuhan antarmuka, kebutuhan data masukan dan data keluaran yang
menunjukkan spesifikasi sistem yang dijalankan.

16
1. Kebutuhan Fungsional
 Dapat me-monitoring kualitas air pada prototype tambak aquarium.
 Dapat memberikan tindakan yang harus dilakukan terhadap air pada
aquarium secara otomatis.
 Dapat melakukan monitoring menggunakan dashboard website.
2. Kebutuhan Non Fungsional
A. Security
Keamanan software pada aplikasi, sistem tidak mengizikan pengoperasian
perangkat aplikasi kecuali dapat menginput username dan password dengan
benar serta sistem menjamin ketika dijalankan tidak menggagu sistem lain.
B. Usability
Usability adalah kebutuhan non-fungsional terkait dengan kemudahan
pengguna sistem atau perangkat lunak oleh user. User interface pada sistem
dibuat dengan sederhana untuk memudahkan pengguna (User Friendly).

3.4.2 Perancangan
Pada tahap perancangan dilakukan setelah melakukan tahap analisis
kebutuhan sistem, sehingga kebutuhan yang akan gunakan sesuai dengan
fungsinya. Perancangan bertujuan memberikan gambaran hubungan antar
komponen dan sebuah proses dengan yang lainnya. Terdapat dua perancangan yang
dilakukan yaitu perancangan perangkat keras dan perangkat lunak. Pada
perancangan perangkat keras akan menjelaskan fungsi dan memaparkan alur kerja
perangkat sehingga dapat terhubung dengan komponen lainya. Perancangan
perangkat keras meliputi rancangan prototype tambak (aquarium), rancangan
arsitektur dari perangkat keras, rancangan setiap sensor, serta rancangan komponen
pendukung lainnya seperti kincir air dan relay pompa.
Sedangkan perancangan perangkat lunak membahas perancangan yang
berhubungan dengan jalannya sebuah program pada sistem. Perancangan perangkat
lunak meliputi antara lain perancangan kebutuhan database, perancangan
kebutuhan tabel untuk menyimpan data, proses pembacaan sensor, proses
perhitungan pada metode Fuzzy Sugeno serta semua proses yang berhubungan
dengan pengolahan pada sistem.

17
3.4.3 Implementasi
Tahap implementasi sistem mengacu pada perancangan Aplikasi serta
implementasinya terhadap prototype yang telah dibangun. Implementasi aplikasi
sistem dilakukan dengan menggunakan bahasa pemrograman PHP dengan
framework Codeigniter dan memanfaatkan store data cloud dengan Thingspeak.
Implementasi prototype menggunakan aquarium berukuran 40x25x28cm.
Implementasi sistem meliputi:
1. Pembuatan User Interface sistem.
2. Penerapan metode fuzzy sugeno untuk perhitungan kontrol nyala mati kincir air
dan pompa air.
3. Penerapan Sistem terhadap prototype aquarium.

Pengujian
Pengujian sistem ini akan dilakukan dengan menggunakan metode pengujian
Black Box. Black Box Testing atau yang sering dikenal dengan sebutan pengujian
fungsional merupakan metode pengujian perangkat lunak yang digunakan untuk
menguji perangkat lunak tanpa mengetahui struktur internal kode atau Program.
Dalam pengujian ini, tester menyadari apa yang harus dilakukan oleh program tetapi
tidak memiliki pengetahuan tentang bagaimana melakukannya. (Peni Kurniawati, 2018)

Gambar 3.2 Black Box Testing

Adapun hal yang dilakukan dalam pengujian dari sistem ini meliputi beberapa
tahapan, yaitu:
1. Pengujian perangkat keras dan perangkat lunak, pengujian ini dilakukan dengan
menjalankan sistem monitoring kualitas air pada sebuah sistem prototype
dengan miniatur tambak berupa aquarium untuk mengetahui kerja dari sensor-
sensor dan perangkat lainnya sehingga data sensor bisa diolah dengan baik.
2. Pengujian dari implementasi metode fuzzy sugeno, pengujian ini bertujuan
untuk membandingkan validitas metode fuzzy sugeno perhitungan manual

18
dengan fuzzy sugeno yang sudah diimplementasikan dalam bentuk sebuah
sistem sehingga output yang dihasilkan sesuai perhitungan.

3.4.5 Pemeliharaan
Tahap terakhir adalah maintenance keseluruhan sistem dari hasil pengujian.
Apabila terdapat proses sistem yang tidak berjalan sesuai fungsinya berdasarkan
pengujian dengan metode black box akan dilakukan pembenahan sehingga bisa
menghasilkan sistem yang berjalan sesuai rencana.

19
BAB IV. ANALISIS DAN PERANCANGAN SISTEM

Pada bab analisis dan perancangan sistem berisi pembahasan analisis dan
perancangan prototype dan sistem website monitoring. Pembahasan ditujukan
untuk menguraikan kebutuhan - kebutuhan dalam pengembangan aplikasi.

Analisis Kebutuhan
Analisa kebutuhan merupakan langkah yang harus dilakukan untuk
merumuskan dan merencanakan komponen - komponen penyusun dari sebuah
sistem, baik kebutuhan perangkat keras maupun perangkat lunak. Langkah analisa
kebutuhan dilakukan dengan proses observasi sesuai bidang penelitian ini sehingga
sesuai dengan kebutuhan yang diperlukan.

Perangkat Lunak
Perangkat lunak yang dibutuhkan dan digunakan dalam penelitian sistem ini
ditunjukkan pada tabel 4.1 :
Tabel 4.1 Spesifikasi kebutuhan perangkat lunak

No. Perangkat Keterangan

Browser yang digunakan untuk menjalankan


1. Google Chrome
aplikasi website.

Microsoft Visual Teks editor ringan yang dibuat


2. Studio Code oleh Microsoft untuk sistem operasi multiplatform.

Aplikasi untuk menulis dan compiling kode program


3. Arduino IDE
ke NodeMCU.

Perangkat Keras
Perangkat keras yang dibutuhkan dan digunakan dalam penelitian sistem ini
ditunjukkan pada tabel 4.2 :

20
Tabel 4.2 Spesifikasi kebutuhan perangkat keras

No. Nama Perangkat Keras Gambar

1. NodeMCU ESP8266

2. Sensor Temperatur (DS18B20)

3. Sensor pH Kit

4. Motor DC

5. Kincir Air

6. Pompa Air

7. Aquarium berukuran 40x25x28cm

8. Kabel Jumper

9. Relay 5V

21
10. Breadboard

11. Kabel USB

12. Case Box

4.2 Perancangan Sistem


Perancangan sistem merupakan tahap untuk menggambarkan desain dan alur
berjalannya sebuah sistem, yang terdiri dari langkah - langkah operasi dalam sebuah
sistem. Desain yang sudah dirancang akan menggambarkan semua aktifitas user,
proses sistem mulai awal sampai akhir, serta menjelaskan desain arsitektur sistem.

4.2.1 Data Flow Diagram (DFD) Level 0


Dalam pembuatan DFD pada aplikasi ini terdapat struktur dasar dari sistem
sistem monitoring dan controlling kualitas air tambak udang vannamei dengan
metode fuzzy sugeno. Sistem ini melibatkan 2 (dua) external entity, yaitu User dan
Microcontroller NodeMCU. DFD Level 0 ditunjukkan pada gambar 4.1.

22
Gambar 4.1 DFD Level 0

4.2.2 Data Flow Diagram (DFD) Level 1


DFD level 1 merupakan pengembangan dari DFD level 0. Didalam DFD level
1 terdapat dua entitas yaitu entitas user dan Microcontroller NodeMCU dimana
sentitas memiliki aliran data masing-masingNodeMCU. DFD level 1 ini juga
memiliki tiga proses yaitu proses Login, Monitoring, dan Automasi dengan proses
layanan user dimana setiap proses memiliki aliran data input, output maupun
proses. DFD Level 1 ditunjukkan pada gambar 4.2.

Gambar 4.2 DFD Level 1

23
4.2.3 Flowchart Sistem Monitoring
Flowchart merupakan urutan dari sebuah proses yang memiliki hubungan
antar proses satu dengan yang lainnya dalam sebuah program atau sistem. Berikut
merupakan flowchart dari sistem untuk melakukan monitoring kualitas air.
Data kadar pH dan temperatur yang dibaca oleh Sensor DS18B20 dan Sensor
kadar pH akan diproses dalam NodeMCU, kemudian data akan dikirim ke
Thingspeak. dashboard sistem akan melakukan request data dari Thingspeak,
setelah data diterima data akan ditampilkan pada dashboard dan user bisa
melakukan monitoring kualitas air. Flowchart sistem monitoring ditunjukkan pada
gambar 4.3.

Gambar 4.3 Flowchart Sistem Monitoring

4.2.4 Flowchart Sistem Automasi


Data kadar pH dan temperatur yang dibaca oleh sensor DS18B20 dan sensor
kadar pH akan diproses dalam NodeMCU dengan metode fuzzy sugeno. Kemudian
data output dari perhitungan akan disesuaikan dengan rule fuzzy yang sudah
ditentukan. Jika parameter kualitas air belum sesuai maka aktuator sebagai output
akan aktif sesuai rules yang sudah ditentukan, lalu sistem akan secara terus menerus

24
memantau kondisi kualitas air secara realtime dan melakukan controlling kualitas
air. Flowchart Sistem Automasi ditunjukkan pada gambar 4.4.

Gambar 4.4 Flowchart Sistem Automasi

Pada flowchart sistem automasi ini dimulai dari input dari data sensor
temperatur dan pH kemudian dilakukan perhitungan menggunakan metode fuzzy
sugeno yang dimana akan dijelaskan dalam flowchart predefined process
(perhitungan metode fuzzy sugeno) dan hasilnya akan dikirim ke thingspeak dan
database lalu data dari hasil perhitungan atau status dari automasi aktuator
ditampilkan dalam website dashboard monitoring. Tahapan-tahapan proses dari
perhitungan menggunakan metode fuzzy sugeno ditunjukkan pada gambar 4.5.

25
Gambar 4.5 Flowchart perhitungan fuzzy sugeno proses fuzzifikasi 1

26
Gambar 4.6 Flowchart perhitungan fuzzy sugeno proses fuzzifikasi 2

27
Proses perhitungan metode fuzzy sugeno terdapat 4 tahap, pertama
menentukan membership function (fungsi keanggotaan) dari nilai sensor yang
diterima dan dihitung dengan representasi kurva yang sesuai dan tiap perhitungan
akan disimpan dalam variabel kondisi.

Gambar 4.7 Flowchart perhitungan fuzzy sugeno proses fungsi implikasi

Kedua, mencari nilai MIN dari dua hasil perhitungan fuzzifikasi. Dari dua
variabel kondisi yang sudah didapatkan sebelumnya, dalam proses fungsi implikasi
ini menghitung nilai MIN dalam setiap kondisi yang di mana data yang didapat akan
disimpan ke dalam variabel “alphaPredikat” masing-masing dari setiap kondisi.
“alphaPredikatDR” untuk kondisi temperatur dingin dan pH rendah,
“alphaPredikatDN” untuk kondisi temperatur dingin dan pH netral,
“alphaPredikatDT” untuk kondisi temperatur dingin dan pH tinggi,

28
“alphaPredikatHR” untuk kondisi temperatur hangat dan pH rendah,
“alphaPredikatHN” untuk kondisi temperatur hangat dan pH netral,
“alphaPredikatHT” untuk kondisi temperatur hangat dan pH tinggi,
“alphaPredikatPR” untuk kondisi temperatur panas dan pH rendah,
“alphaPredikatPN” untuk kondisi temperatur panas dan pH netral dan
“alphaPredikatPT” untuk kondisi temperatur panas pH dan tinggi.

Gambar 4.8 Flowchart perhitungan fuzzy sugeno proses inferensi (max)


Ketiga, mencari nilai MAX dari hasil fungsi implikasi. Dari variabel
“alphaPredikat” yang didapat sebelumnya akan dihitung nilai MAX yang
dicocokkan dengan masing-masing rules yang sudah ditentukan. Data kemudian
tersimpan dalam variabel max yang akan digunakan dalam proses fuzzifikasi.

29
Gambar 4.9 Flowchart perhitungan fuzzy sugeno proses defuzzifikasi
Keempat, dalam defuzzifikasi ini dilakukan proses mencari rata-rata terbobot
(weight average), dari nilai max yang sudah didapatkan akan dihitung dengan nilai
dari output yang terdiri dari “nilai0”, “nilai1” dan “nilai2”. Kemudian
perhitungan yang kedua adalah menjumlahkan dari predikat. Kemudian yang
terakhir adalah menghitung bobot rata (weight average) dengan cara
“predikatKonsekuen” dibagi dengan “jumlahPredikat” yang akan
menghasilkan output “bobotRata”.

30
Gambar 4.10 Flowchart perhitungan hasil bobot nilai fuzzy
Proses yang terakhir adalah mencari nilai output aktuator yang cocok dengan
nilai keluaran dari perhitungan fuzzy atau “bobotRata”. Ada tiga kondisi yang
pertama jika nilai “bobotRata” berada pada nilai 0 sampai 1, kincir air dan pompa

31
air akan menyala. Kedua, jika nilai “bobotRata” berada pada nilai > 1 sampai
dengan 2, kincir air menyala dan pompa air mati. Dan yang terakhir jika nilai dari
“bobotRata” berada pada nilai 2 sampai dengan 3 maka kincir air dan pompa air
akan mati.

4.2.5 Diagram Blok sistem


Secara keseluruhan sistem terbagi menjadi dua yakni sistem automasi
controlling parameter kualitas air yang menggunkan metode fuzzy, dan sistem
monitoring.

Gambar 4.11 Diagram Blok Sistem

4.2.6 Desain Sistem


Pada sistem ini, proses awal yang dilakukan adalah pengumpulan data input
dari dua sensor. Data tersebut berawal dari temperatur air dan kadar pH yang dibaca
oleh sensor DS18B20 dan pH sensor kit di dalam prototype aquarium yang datanya
akan dikirim Thingspeak lalu dashboard sistem akan melakukan request data
sensor untuk disimpan dalam database. Proses selanjutnya adalah melakukan
perhitungan terhadap data input dari sensor yang masuk kedalam database
menggunakkan metode fuzzy sugeno, dengan hasil output berupa kondisi kualitas
air dalam prototype aquarium. Apabila kualitas air tidak sesuai maka sistem akan
menyalakan pompa dan kincir air sesuai nilai input yang sudah diproses.
User bisa melakukan monitoring kondisi kualitas air yang datanya dikirim
melalui thingspeak ke dalam dashboard sistem.

32
Gambar 4.12 Desain Sistem

4.2.7 Desain Prototype


Desain prototype untuk sistem ini diasumsikan sebagai sebuah kolam tambak.
Menggunakan aquarium yang memiliki dimensi panjang 40cm, lebar 25cm dan
tinggi 28cm. Penempatan sensor dan NodeMCU ESP8266 (box warna hitam)
berada di samping aquarium, sedangkan kincir air ditempatkan di tengah aquarium.
Berikut adalah layout dan desain prototype dari rancangan tambak udang dengan
aquarium.

Gambar 4.13 Desain prototype sistem tampak atas

33
Gambar 4.14 Desain prototype tampak samping

Karena prototype tidak terlalu luas maka sensor temperatur dan sensor pH
diletakkan bersebelahan. Kedua sensor diletakkan di samping kanan yang
tersambung dengan NodeMCU input sebagai pengirim data.

34
BAB V. IMPLEMENTASI DAN PENGUJIAN

Implementasi
Implementasi bertujuan untuk melakukan realisasi penerapan terhadap
perancangan yang sudah di rencanakan sebelumnya. Pada perangkat keras tahap
implementasi berupa membuat rangkaian komponen-komponen sensor, prototype,
dan modul lainnya yang saling terhubung sehingga dapat berjalan sebagaimana
mestinya sedangkan pada perngkat lunak tahap implementasi berupa pengkodean
website dashboard dan NodeMCU selain itu juga penerapan database dan data dari
thingspeak. Sedangkan pada perangkat lunak tahap implementasi berupa penerapan
serangkaian program dan kode program sehingga dapat menjalankan perangkat
keras yang telah dirangkai dan melakukan proses sesuai perencanaan.

Implementasi Prototype
Implementasi prototype yang digunakan untuk simulasi tambak adalah
aquarium berukuran 40x25x28cm yang terbuat dari kaca akrilik. Model dan bentuk
dibuat semirip mungkin dengan desain yang telah direncanakan sebelumnya.
Implementasi prototype dengan aquarium ditunjukkan pada gambar 5.1 dab 5.2.

Gambar 5.1 Tampak depan dan belakang prototype

Gambar 5.2 Tampak samping prototype

35
Peletakan komponen box input (sensor), output dan kontrol aktuator
disesuaikan berdasarkan desain sehingga semua perangkat bisa tersambung dan
berkomunikasi dengan baik.

Implementasi Perancangan Hardware


Implementasi pada perancangan hardware meliputi rangkaian-rangkaian
microcontroller, sensor, relay, motor driver dan perangkat lainnya yang saling
terhubung sehingga dapat berjalan sesuai rencana. Rangkaian perangkat terbagi
menjadi 3 box. Box pertama berisi nodemcu dengan dua sensor sebagai input data
untuk sistem, box kedua berisi nodemcu dengan relay yang berfungsi untuk
menyala matikan pompa air sebagai aktuator dan power supply MB102 (output)
untuk memberi tegangan pada pompa air kemudian box yang ketiga berisi aktuator
(motor driver dan motor dc). Motor driver berfungsi untuk menggerakan motor dc
sebagai aktuator kincir air.
5.1.2.1 Rangkaian Input NodeMCU1 dengan Sensor
Sistem yang dibuat menggunakan dua mikrokontroller NodeMCU.
NodeMCU pertama berfungsi untuk membaca data dari sensor temperatur dan pH
yang kemudian nilai dari dua sensor tersebut dikirim ke NodeMCU kedua
menggunakan ESPNOW. NodeMCU kedua berfungsi sebagai pengolah data dan
kontrol logika dari aktuator.

Gambar 5.3 NodeMCU input terletak di samping kanan prototype


Rangkaian NodeMCU yang pertama terhubung dengan sensor temperatur
DS18B20 dan sensor pH menggunakan kabel jumper. NodeMCU membutuhkan
daya sebesar 5V dari micro usb untuk berjalan secara optimal. Sensor DS18B20
terhubung dengan pin GPIO 4, pin ground dan pin daya 3.3V di nodemcu,

36
sedangkan sensor pH terhubung dengan pin A0 (analog), pin ground dan pin daya
vin yang bertegangan 5V.

Gambar 5.4 Rangkaian pin sensor dan NodeMCU

5.1.2.2 Rangkaian Output NodeMCU2 dengan Aktuator


Rangkaian NodeMCU yang kedua terhubung dengan relay dengan Motor
Driver. Relay dual channel 5V memiliki 4 pin yaitu pin ground, pin vcc, pin IN1
dan pin IN2. Relay terhubung ke NodeMCU dengan pin ground ke ground, pin vcc
ke vin, IN1 ke GPIO 16 dan IN2 ke GPIO 5. Dua slot relay terhubung dengan dua
pompa air 5V yang mendapat daya dari power supply MB102.

Gambar 5.5 NodeMCU output terletak di atas prototype


Motor driver untuk motor dc kincir air berada dalam box aktuator namun
kabel jumper tetap terhubung dengan NodeMCU2 dalam box output sebagai kontrol
logika. Motor driver memiliki 6 pin, pin Enable A, Enable B, pin IN1, pin IN2, pin
IN3 dan pin IN4. Semua pin motor driver terhubung dengan rangkaian pin Enable
A ke GPIO 0, Pin Enable B ke GPIO 15, pin IN1 ke GPIO 2, pin IN2 ke GPIO 14,
pin IN3 ke GPIO 12 dan pin IN4 ke GPIO 13.

37
Gambar 5.6 Rangkaian pin relay dan motor driver

5.1.2.3 Rangkaian Motor Driver dengan Motor DC


Motor driver berfungsi sebagai pengatur kecepatan atau mati nyala motor dc.
Motor driver memiliki tujuh terminal pcb blok, dua di samping kiri, dua di samping
kanan dan tiga bagian bawah.

Gambar 5.7 Rangkaian motor driver dengan motor dc


Empat output (dua samping kiri dan kanan) terhubung dengan motor dc. Tiga
terminal terhubung dengan 12V power supply, ground dari power supply dan
ground dari nodemcu yang digabung menjadi satu.

Implementasi Database
Pada database yang sudah dirancang sebelumnya maka dibuat database
dengan nama ‘skripsi’ dan memiliki dua tabel, tabel ‘monitoring’ dan table ‘user.
Database ini dibuat untuk menyimpan data hasil pembacaan sensor, status actuator
dan waktu dibuat. Pada implementasi ini menggunakan MySQL sebagai database
dan PhpMyAdmin sebagai aplikasi untuk mengelola database MySQL dalam
localserver.

38
Gambar 5.8 Tabel monitoring
Pada Gambar 5.8 adalah struktur tabel ‘monitoring’ yang memiliki field ‘id’
sebagai primary key dengan tipe data int(11) AUTO INCREMENT, field ‘field1’
untuk menyimpan data temperatur bertipe data float, field ‘field2’ untuk
menyimpan data pH bertipe data float, field ‘field3’ untuk menyimpan data status
kincir air bertipe data int(1), field ‘field4’ untuk menyimpan data status pompa air
bertipe data int(1) dan field ‘created_at’ untuk menyimpan data waktu record dibuat
bertipe data timestamp.

Gambar 5.9 Tabel user

Pada table user terdapat 4 field, field id bertipe data int(11) AUTO
INCREMENT, field username, password dan name bertipe data varchar(50).

Implementasi User Interface


Implementasi dari tampilan antar muka atau user interface menggunakan
bahasa pemrograman PHP (Framework Codeigniter) dan dikombinasikan dengan
HTML, CSS, Javascript dan Bootstrap 4 untuk mendukung tampilan dari antar
muka. Antar muka website monitoring dapat diakses melalui web browser.

39
5.1.4.1 Menu Dashboard

Gambar 5.10 User interface menu dashboard


Pada menu home/dashboard terdapat beberapa informasi yang tersedia.
Informasi dari sensor temperatur dan ph yang berbentuk chart yang menampilkan
20 data terakhir, output dari aktuator yang diolah dengan metode fuzzy sugeno.
Terdapat juga riwayat output perpindahan status nyala mati aktuator yang terbaru.
5.1.4.2 Menu Temperatur

Gambar 5.11 User interface menu temperatur

40
Pada menu temperatur terdapat live chart dan live status dari thingspeak.
Selain itu juga terdapat tabel yang menampilkan data dari temperatur dan status
kincir air yang terbaru dengan pengurutan data descending.
5.1.4.3 Menu pH

Gambar 5.12 User interface menu pH

Pada menu pH terdapat live chart dan live status dari thingspeak. Selain itu
juga terdapat tabel yang menampilkan data dari pH dan status pompa air yang
terbaru dengan pengurutan data descending.
5.1.4.4 Menu Laporan

Gambar 5.13 User interface menu laporan

41
Pada menu laporan terdapat tabel yang berisi data temperatur, ph, status kincir
air, status pompa air dan waktu data sensor dibuat. Terdapat fitur untuk export file
dengan beberapa jenis format diantaranya CSV, PDF, JSON dan Print. Terdapat
juga datepicker range untuk filter data yang tampil dan yang di-export sesuai
tanggal yang pilih.

Implementasi Thingspeak
Thingspeak adalah sistem Internet of Things yang bisa menjadi sarana
penyimpan data hasil sensor dan pengolahan data dari microcontroller. Thingspeak
menyediakan API Key untuk membaca data dan mengirim data yang bisa
mengakses channel atau tiap field yang diperlukan.

Gambar 5.14 Thingspeak API key


Data dari thingspeak bisa diakses langsung dengan httprequest POST dan
GET dengan menggunakan Write Read API keys dan Read API keys yang
disediakan oleh thingspeak. Fitur ini memudahkan untuk memasukkan data ke
dalam database MySQL menggunakan php karena data yang tersedia berupa data
JSON.

42
Gambar 5.15 Live widget yang disediakan thingspeak

Fitur live widget dari thingspeak yang digunakan adalah chart dan status
indikator nyala mati dari data aktuator. Indikator menyala hijau jika nilai dari status
aktuator bernilai 1, dan jika bernilai 0 lampu indikator akan berwarna abu-abu
redup.

Implementasi Kode Program


Pada bagian implementasi kode program berisi sourcecode dari beberapa
perangkat sensor, relay, dan proses pengolahan data sehingga hasil pembacaan
dapat di analisa.

43
5.1.6.1 Kode Program Pembacaan Sensor
Kode program pada sensor berisi fungsi untuk pembacaan sensor temperatur,
dan pH. Sensor temperatur menggunakan library dari OneWire dan
DallasTemperature dan untuk sensor pH data berupa satuan ADC (Analog to
Digital Converter).
Tabel 5.1 Kode program pembacaan sensor

const int oneWireBus = 4; //temperature data pin


float calibration = 31.00; //kalibrasi pH sensor
const int analogInPin = A0; //pH data pin
int sensorValue = 0;
unsigned long int avgValue;
float b;
int buf[10], temp;

//inisiasi value ourwire


OneWire oneWire(oneWireBus);
//pass our oneWire reference to Dallas Temperature sensor
DallasTemperature sensortemp(&oneWire);

//sensors things
sensortemp.requestTemperatures();
float temperature = sensortemp.getTempCByIndex(0);
//ph calculation start
for (int i = 0; i < 10; i++) {
buf[i] = analogRead(analogInPin);
delay(30);
}
for (int i = 0; i < 9; i++) {
for (int j = i + 1; j < 10; j++) {
if (buf[i] > buf[j]) {
temp = buf[i];
buf[i] = buf[j];
buf[j] = temp;
}
}
}
avgValue = 0;
for (int i = 2; i < 8; i++)
avgValue += buf[i];
float pHVol = (float) avgValue * 5.0 / 1024 / 6;
float phValue = -5.70 * pHVol + calibration; //final value of pH
//ph calculation end
//sensor end.

44
5.1.6.2 Kode Program Perhitungan Metode Fuzzy
Kode program perhitungan metode fuzzy sugeno berisi fungsi untuk
pemrosesan atau perhitungan data menggunakan metode fuzzy sugeno untuk
kontrol logika aktuator.
Tabel 5.2 Kode program perhitungan metode fuzzy sugeno

float nilai0 = 0;
float nilai1 = 1;
float nilai2 = 2;

//1. Fuzzifikasi Temperature


//a. Temperatur Dingin
float dinginTemperature;
if (temperature >= 27) {
dinginTemperature = 0;
} else if (temperature >= 23 && temperature <= 27) {
dinginTemperature = (27 - temperature) / (27 - 23);
} else if (temperature <= 23) {
dinginTemperature = 1;
}
//b. Temperatur Hangat
float hangatTemperature;
if (temperature <= 26 || temperature >= 32) {
hangatTemperature = 0;
} else if (temperature >= 26 && temperature <= 29) {
hangatTemperature = (temperature - 26) / (29 - 26);
} else if (temperature >= 29 && temperature <= 32) {
hangatTemperature = (32 - temperature) / (32 - 29);
}
//c. Temperatur Panas
float panasTemperature;
if (temperature >= 35) {
panasTemperature = 1;
} else if (temperature >= 31 && temperature <= 35) {
panasTemperature = (temperature - 31) / (35 - 31);
} else if (temperature <= 31) {
panasTemperature = 0;
}
//2. Fuzzifikasi pH
//a. Rendah pH
float rendahPh;
if (phValue >= 6) {
rendahPh = 0;
} else if (phValue >= 5 && phValue <= 6) {
rendahPh = (6 - phValue) / (6 - 5);

45
} else if (phValue <= 5) {
rendahPh = 1;
}
//b. Netral pH
float netralPh;
if (phValue <= 6 || phValue >= 8) {
netralPh = 0;
} else if (phValue >= 6 && phValue <= 7) {
netralPh = (phValue - 6) / (7 - 6);
} else if (phValue >= 7 && phValue <= 8) {
netralPh = (8 - phValue) / (8 - 7);
}
//c. Tinggi pH
float tinggiPh;
if (phValue >= 9) {
tinggiPh = 1;
} else if (phValue >= 8 && phValue <= 9) {
tinggiPh = (phValue - 8) / (9 - 8);
} else if (phValue <= 8) {
tinggiPh = 0;
}
//3. Implikasi Rule Base
float alphaPredikatDR = min (dinginTemperature, rendahPh);
float alphaPredikatDN = min (dinginTemperature, netralPh);
float alphaPredikatDT = min (dinginTemperature, tinggiPh);
float alphaPredikatHR = min (hangatTemperature, rendahPh);
float alphaPredikatHN = min (hangatTemperature, netralPh);
float alphaPredikatHT = min (hangatTemperature, tinggiPh);
float alphaPredikatPR = min (panasTemperature, rendahPh);
float alphaPredikatPN = min (panasTemperature, netralPh);
float alphaPredikatPT = min (panasTemperature, tinggiPh);

//4. Mencari Nilai Max


float max0array[] = {alphaPredikatDR, alphaPredikatDT, alphaPr
edikatHR, alphaPredikatHT, alphaPredikatPR, alphaPredikatPT};
float max0 = from_array(max0array)
>> max();
float max1 = max (alphaPredikatDN, alphaPredikatPN);
float max2 = alphaPredikatHN;

//5. Predikat Konsekuen


float predikatKonsekuen = (max0 * nilai0) + (max1 * nilai1) +
(max2 * nilai2);

//6. Hasil Jumlah Predikat


float jumlahPredikat = max0 + max1 + max2;

46
//7. Deffuzifikasi
float bobotRata = predikatKonsekuen / jumlahPredikat;

Serial.println("//Fuzzy Calculation Results");


Serial.print("- Weighted Average: ");
Serial.println(bobotRata);

if (bobotRata < 1) {
Serial.println("- Kincir Air Menyala AND Pompa Air Menyala")
;
} else if (bobotRata >= 1 && bobotRata < 2) {
Serial.println("- Kincir Air Menyala AND Pompa Air Mati");
} else if (bobotRata >= 2 && bobotRata < 3) {
Serial.println("- Kincir Air Mati AND Pompa Air Mati");
}
5.1.6.3 Kode Program Send to Thingspeak
Kode program perhitungan send to thingspeak berisi fungsi untuk pengiriman
data ke thingspeak. Pengiriman data ke thingspeak membutuhkan channel number
dan API KEY number agar data bisa terkirim ke channel yang dituju. Terdapat 4
setfield untuk tiap field yang akan dikirim. Field 1 untuk sensor temperature, field
2 untuk sensor pH, field 3 untuk status kincir dan field 4 untuk status pompa.
Tabel 5.3 Kode program send to thingspeak

//thingspeak
//-----------------------------------------------------------//
Serial.println("//Send status to thingspeak");
//set the fields with the values
ThingSpeak.setField(1, temperature);
ThingSpeak.setField(2, phValue);
ThingSpeak.setField(3, field3);
ThingSpeak.setField(4, field4);
//write to the thingspeak channel
int x = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if (x == 200) {
Serial.println("- Channel update success.");
}
else {
Serial.println("- Problem updating channel. HTTP error code " +
St
ring(x));
}
Serial.println("------------------------------------");
//-----------------------------------------------------------//
}

47
5.1.6.4 Kode Program Model
Kode program pada file Login_model berfungsi untuk pengambilan data
login username dan password dari database.
Tabel 5.4 Kode program file Login_model.php

Login_model.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Login_model extends CI_Model {

var $table = "user";


public function authentication($username,$password)
{
$this->db->where('username',$username);
$this->db->where('password',md5($password));
$query = $this->db->get($this->table);
if($query->num_rows() == 1){
$data = $query->row(0);
$ret_data = [
'id' => $data->id,
'data' => $data,
'auth' => true,
];
return $ret_data;
}else{
$ret_data = [
'auth' => false,
];
return $ret_data;
}
}
}
?>

Kode program pada file Data_model merupakan kumpulan fungsi untuk


pengambilan data website monitoring. Data yang diambil diperlukan untuk
menampilkan chart, data sensor, status aktuator dan history untuk laporan.
Tabel 5.5 Kode program file Data_Model.php

Data_model.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

48
class Data_model extends CI_Model {

var $dbtable = "monitoring";

public function get_data()


{
$this->db->select('*');
$this->db->from($this->dbtable);
$query = $this->db->get();
return $query->result();
}

public function get_data_id($id)


{
$this->db->select('*');
$this->db->from($this->dbtable);;
$this->db->where('id', $id);
$query =$this->db->get();
return $query->row_array();
}

//chart
public function chart_one()
{
$this->db->select('*');
$this->db->from($this->dbtable);
$this->db->order_by('id', 'DESC');
$this->db->limit(20); //limit data
$query = $this->db->get();
return $query->result_array();
}

//status aktuator last one


public function last_one()
{
$this->db->select('*');
$this->db->from($this->dbtable);
$this->db->order_by('id', 'DESC');
$this->db->limit(1); //limit data
$query = $this->db->get();
return $query->result_array();
}

//status aktuator
public function stat_one()
{
$this->db->select('*');

49
$this->db->from($this->dbtable);
$this->db->order_by('id', 'DESC');
$this->db->limit(10); //limit data
$query = $this->db->get();
return $query->result_array();
}

//riwayat aktuator
public function history_output()
{
$this->db->select('*');
$this->db->select_max("created_at");
$this->db->from($this->dbtable);
$this->db->order_by('created_at', 'ASC');
$this->db->limit(5); //limit data
$this->db->group_by(array("field3", "field4"));

$query = $this->db->get();
return $query->result_array();
}
}
?>
5.1.6.5 Kode Program Controller
Kode program pada file Login.php merupakan fungsi untuk autentikasi user
login yang mengambil data username dan password dari model login. Terdapat juga
limitasi yang berfungsi untuk ketika user belum login, user tidak bisa masuk ke
website monitoring.
Tabel 5.6 Kode program file Login.php

Login.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Login extends CI_Controller {

function __construct(){
parent::__construct();
$this->load->library('form_validation');
}

public function index()


{
if ($this->session->userdata('is_login') == true) {
redirect('Dashboard');

50
} else {
$data = [
'title' => "Dashboard",
'data' => array(),
];

$this->form_validation-
>set_rules('username',"Username","trim|required");
$this->form_validation-
>set_rules('password',"Password","trim|required|callback_authent
ication");

if($this->form_validation->run() == false){
$this->load->view('pages/login_view',$data);
}else{
$is_login = $this->session-
>userdata('is_login');
if($is_login == true){
redirect('Dashboard');
}else{
redirect('Login/logout');
}
}
}
}

public function authentication($username)


{
$this->load->model('Login_model');
$password = $this->input->post('password');
$aut = $this->Login_model-
>authentication($username,$password);
if($aut['auth']){
$sess_data = $aut['data'];
$this->session->set_userdata('is_login',true);
$this->session->set_userdata('lg_id',$aut['id']);
$this->session-
>set_userdata('lg_username',$username);
$this->session->set_userdata('lg_name',$sess_data-
>name);
}else{
$this->form_validation-
>set_message('authentication','Failed');
}
return $aut['auth'];
}

51
public function logout()
{
$this->session->unset_userdata('is_login');
$this->session->sess_destroy();
redirect('Login');
}
}

Kode program pada file Dashboard.php merupakan kumpulan fungsi untuk


handle view dari tampilan dashboard dan handle data yang diambil dari
Data_model untuk dipassing ke dalam tampilan dashboard.
Tabel 5.7 Kode program file Dashboard.php

Dashboard.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Dashboard extends CI_Controller {

function __construct(){
parent::__construct();
$this->load->model('Data_model');

must_login();
}

var $ctrlname = 'Dashboard';

public function index()


{
$data=[
'title'=>"Dashboard",
'ctrlname' => $this->ctrlname,
'header' => "layouts/header_view",
'mainmenu' => "layouts/main-menu_view",
'content' => "pages/dashboard_view",
'data' => array()
];

$data['charty'] = $this->Data_model->chart_one();
$data['lasts'] = $this->Data_model->last_one();
$data['stats'] = $this->Data_model->stat_one();
$data['history'] = $this->Data_model->history_output();
$this->load->view('layouts/frame_view',$data);
}

52
}
?>

Kode program pada file Sensor.php merupakan kumpulan fungsi untuk


handle view dari tampilan menu temperatur dan pH, dan juga handle data yang
diambil dari Data_model untuk dipassing ke dalam tampilan temperatur dan pH.
Tabel 5.8 Kode program file Sensor.php

Sensor.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Sensor extends CI_Controller {

function __construct(){
parent::__construct();
$this->load->model('Data_model');

must_login();
}

var $ctrlname = 'Sensor';

//temperature section
public function temperature()
{
$data=[
'title'=>"Temperature Sensor",
'ctrlname' => $this->ctrlname,
'header' => "layouts/header_view",
'mainmenu' => "layouts/main-menu_view",
'content' => "pages/temperature_view",
'data' => array()
];

$this->load->view('layouts/frame_view',$data);
}

public function get_list_data()


{
$this->db->order_by('id', 'DESC');
$query = $this->db->get("monitoring");

$data = [];

53
$no=1;
foreach($query->result() as $r) {
$data[] = array(
$no++,
$r->field1,
$r->field3 == 1 ? "Menyala" : "Mati",
$r->created_at
);
}

$result = array(
"recordsTotal" => $query->num_rows(),
"recordsFiltered" => $query->num_rows(),
"data" => $data
);

echo json_encode($result);
exit();
}

//ph section
public function ph()
{
$data=[
'title'=>"pH Sensor",
'ctrlname' => $this->ctrlname,
'header' => "layouts/header_view",
'mainmenu' => "layouts/main-menu_view",
'content' => "pages/ph_view",
'data' => array()
];

$this->load->view('layouts/frame_view',$data);
}

public function get_list_data2()


{
$this->db->order_by('id', 'DESC');
$query = $this->db->get("monitoring");

$data = [];

$no=1;
foreach($query->result() as $r) {
$data[] = array(
$no++,
$r->field2,

54
$r->field4 == 1 ? "Menyala" : "Mati",
$r->created_at
);
}

$result = array(
"recordsTotal" => $query->num_rows(),
"recordsFiltered" => $query->num_rows(),
"data" => $data
);

echo json_encode($result);
exit();
}
}
?>

Kode program pada file Report.php merupakan kumpulan fungsi untuk


handle view dari tampilan laporan, dan juga handle data yang diambil dari
Data_model untuk dipassing ke dalam tampilan laporan.
Tabel 5.9 Kode program file Report.php

Report.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Report extends CI_Controller {

function __construct(){
parent::__construct();
$this->load->model('Data_model');

must_login();
}

var $ctrlname = 'Report';

public function index()


{
$data=[
'title'=>"Laporan",
'ctrlname' => $this->ctrlname,
'header' => "layouts/header_view",
'mainmenu' => "layouts/main-menu_view",
'content' => "pages/report_view",

55
'data' => array()
];

$this->load->view('layouts/frame_view',$data);
}

public function get_list_data()


{
$query = $this->db->get("monitoring");

$data = [];

$no=1;
foreach($query->result() as $r) {
$data[] = array(
$no++,
$r->field1,
$r->field2,
$r->field3 == 1 ? "Menyala" : "Mati",
$r->field4 == 1 ? "Menyala" : "Mati",
$r->created_at
);
}

$result = array(
"recordsTotal" => $query->num_rows(),
"recordsFiltered" => $query->num_rows(),
"data" => $data
);

echo json_encode($result);
exit();
}
}
?>
5.1.6.6 Kode Program Insert Database
Kode program file insertdb.php berfungsi untuk memasukkan data ke dalam
database. File ini dijalankan oleh NodeMCU kedua untuk store data dari sensor
dan status dari aktuator setiap satu menit ke dalam database.
Tabel 5.10 Kode program file insertdb.php

insertdb.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

56
class Dashboard extends CI_Controller {

function __construct(){
parent::__construct();
$this->load->model('Data_model');

must_login();
}

var $ctrlname = 'Dashboard';

public function index()


{
$data=[
'title'=>"Dashboard",
'ctrlname' => $this->ctrlname,
'header' => "layouts/header_view",
'mainmenu' => "layouts/main-menu_view",
'content' => "pages/dashboard_view",
'data' => array()
];

$data['charty'] = $this->Data_model->chart_one();
$data['lasts'] = $this->Data_model->last_one();
$data['stats'] = $this->Data_model->stat_one();
$data['history'] = $this->Data_model->history_output();
$this->load->view('layouts/frame_view',$data);
}
}
?>

Implementasi Metode Fuzzy Sugeno


Proses perhitungan menggunakan metode Fuzzy Sugeno dijalankan di
NodeMCU kedua yang juga menjadi kontrol logika aktuator , berikut adalah contoh
penguraian alur perhitungan menggunakan Metode Fuzzy Sugeno Orde Nol dengan
asumsi data temperatur yang diterima dari sensor temperatur adalah 29.4o C, data
dari sensor pH adalah 6.1.

1. Proses Fuzzifikasi
Proses ini bertujuan untuk melakukan pengelompokan nilai Crisp kedalam sebuah
derajat keanggotaan pada himpunan Fuzzy. Berikut adalah pengelompokan
himpunan fuzzy dari variabel temperatur dan pH.
a. Himpunan keanggotaan temperatur

57
Himpunan keanggotaan temperatur memiliki tiga himpunan yang dapat dilihat pada
tabel berikut.
Tabel 5.11 Himpunan keanggotaan temperatur

Himpunan Keanggotaan Fuzzy Range Nilai


Dingin 23o - 27oC
Hangat 26o - 32oC
Panas 31o - 35oC

Representasi dari himpunan keanggotaan Fuzzy dengan variabel temperatur dapat


dilihat pada gambar 5.16.

Gambar 5.16 Himpunan keanggotaan temperatur

Diketahui bahwa nilai temperatur 29.4o C termasuk kedalam himpunan temperatur


hangat sehingga diperoleh sebagai berikut :
1, 𝑥 ≤ 23
27 − 𝑥
 µDingin ={ 23 ≤ 𝑥 ≤ 27
27 −23
0 𝑥 ≥ 27
0,
𝑥 − 26 𝑥 ≤ 26 𝑎𝑡𝑎𝑢 𝑥 ≥ 32
 µHangat = {29 − 26 26 ≤ 𝑥 ≤ 29
32 − 𝑥 29 ≤ 𝑥 ≤ 32
32 − 29
0, 𝑥 ≤ 35
𝑥 − 35
 µPanas ={ 35 ≤ 𝑥 ≤ 37
37 − 35
1 𝑥 ≥ 37
Maka diperoleh hasil sebagai Fuzzifikasi Temperatur berikut :
 µDingin [30] = 0
 µHangat [30] = 0.87
 µPanas [30] = 0

58
b. Himpunan keanggotaan pH
Himpunan keanggotaan pH memiliki tiga himpunan yang dapat dilihat pada tabel
5.12.
Tabel 5.12 Himpunan keanggotaan pH

Himpunan Keanggotaan Fuzzy Range Nilai


Rendah 5-6
Netral 6-8
Tinggi 8-9

Representasi dari himpunan keanggotaan Fuzzy dengan variabel pH dapat dilihat


pada gambar berikut.

Gambar 5.17 Himpunan keanggotaan pH

Diketahui bahwa nilai pH 6.1 termasuk kedalam himpunan pH netral sehingga


diperoleh sebagai berikut :
1, 𝑥 ≤5
6−𝑥
 µRendah ={ 5 ≤𝑥≤6
6−5
0 𝑥 ≥6
0,
𝑥−6 𝑥 ≤ 6 𝑎𝑡𝑎𝑢 𝑥 ≥ 8
 µNetral = { 7− 6 6≤𝑥≤7
8−𝑥 7 ≤𝑥≤8
8−7

0, 𝑥 ≤8
𝑥–8
 µTinggi ={ 8 ≤𝑥≤9
9–8
1 𝑥 ≥9
Maka diperoleh hasil sebagai Fuzzifikasi pH berikut :
 µRendah [6.9] = 0
 µNetral [6.9] = 0.10
 µTinggi [6.9] = 0

59
2. Proses Fungsi Implikasi Inferensi
Berdasarkan hasil variabel linguistik dalam penentuan himpunan Fuzzy, maka
diperoleh aturan implikasi sebagai berikut.
Tabel 5.13 Fungsi implikasi inferensi

No. Temperatur pH Kincir Pompa


1 Dingin Rendah Menyala Menyala
2 Dingin Netral Menyala Mati
3 Dingin Tinggi Menyala Menyala
4 Hangat Rendah Menyala Menyala
5 Hangat Netral Mati Mati
6 Hangat Tinggi Menyala Menyala
7 Panas Rendah Menyala Menyala
8 Panas Netral Menyala Mati
9 Panas Tinggi Menyala Menyala

Fungsi implikasi menggunakan perhitungan minimum (MIN), yaitu dengan


mengambil nilai terkecil dari nilai variabel himpunan Fuzzy temperatur dan pH
sebagai outputnya.
αi = µ A1 (X) ∩ µ B1 (X) = MIN { µ A1 (X), µ B1 (X)}
Dalam penentuan output status ini menggunakan Metode Fuzzy Sugeno Orde Nol :
IF (X1 is A1).(X2 is A2).(X3 is A3).(X4 is A4) ..... ( Xn is An) THEN z =k
Keterangan :
 Xn : adalah variabel input.
 An : adalah himpunan keanggotaan.
Variabel kondisi digunakan untuk menentukan nilai kondisi dari aturan
implikasi yang terdiri dari Kincir Air Menyala AND Pompa Air Menyala, Kincir
Air Menyala AND Pompa Air Mati dan Kincir Air mati AND Pompa Air Mati.
Range variabel kondisi dapat dilihat pada tabel berikut.
Tabel 5.14 Variabel kondisi

Variabel Kondisi Range Nilai


Kincir Air Menyala AND Pompa Air Menyala 0
Kincir Air Menyala AND Pompa Air Mati 1

60
Kincir Air mati AND Pompa Air Mati 2

Representasi dari variabel kondisi implikasi Fuzzy dapat dilihat pada gambar
berikut.

Gambar 5.18 Himpunan kondisi implikasi


Rentang nilai pada variabel Kincir Air Menyala AND Pompa Air Menyala
dimulai dari nilai deffuzifikasi 0 sampai ≤ 1, variabel Kincir Air Menyala AND
Pompa Air Mati dari nilai defuzzifikasi > 1 sampai ≤ 2, variabel Kincir Air Mati
AND Pompa Air mati dari nilai defuzzifikasi > 2 sampai ≤ 3.
Berikut adalah rule base untuk menentukan output-nya.

Status 1 = Kincir Air Menyala AND Pompa Air Menyala


Status 2 = Kincir Air Menyala AND Pompa Air Mati
Status 3 = Kincir Air Mati AND Pompa Air Mati
[R1] IF Temperatur Dingin AND pH Rendah THEN Status 1
α – predikat1 = µTemperatur Dingin ∩ µpH Rendah
= MIN (0; 0)
=0
[R2] IF Temperatur Dingin AND pH Netral THEN Status 2
α – predikat2 = µTemperatur Dingin ∩ µpH Netral
= MIN (0; 0.1)
=0
[R3] IF Temperatur Dingin AND pH Tinggi THEN Status 1
α – predikat3 = µTemperatur Dingin ∩ µpH Tinggi
= MIN (0; 0)
=0
[R4] IF Temperatur Hangat AND pH Rendah THEN Status 1

61
α – predikat4 = µTemperatur Hangat ∩ µpH Rendah
= MIN (0.87; 0)
=0
[R5] IF Temperatur Hangat AND pH Netral THEN Status 3
α – predikat5 = µTemperatur Hangat ∩ µpH Netral
= MIN (0.87; 0.1)
= 0.1
[R6] IF Temperatur Hangat AND pH Tinggi THEN Status 1
α – predikat6 = µTemperatur Hangat ∩ µpH Tinggi
= MIN (0.87; 0)
=0
[R7] IF Temperatur Panas AND pH Rendah THEN Status 1
α – predikat7 = µTemperatur Panas ∩ µpH Rendah
= MIN (0; 0)
=0
[R8] IF Temperatur Panas AND pH Netral THEN Status 2
α – predikat8 = µTemperatur Panas ∩ µpH Netral
= MIN (0; 0.1)
=0
[R9] IF Temperatur Panas AND pH Tinggi THEN Status 1
α – predikat9 = µTemperatur Panas ∩ µpH Tinggi
= MIN (0; 0)
=0
Berdasarkan 9α – predikat yang sudah dibuat diatas, hanya ada 1 α – predikat yang
memiliki nilai bukan nol, yaitu : [R5].

3. Komposisi Aturan
Untuk memberikan kesimpulan secara keseluruhan dengan mengambil nilai
keanggotaan menggunakan fungsi maksimum (MAX) dari tiap konsekuensi fungsi
implikasi dan menggabungkan dari semua kesimpulan aturan sehingga
menghasilkan nilai solusi.
Usf [Xi] = MAX (Usf [Xi], Ukf [Xi])
Keterangan :

62
 Usf [Xi] : nilai keanggotaan dari solusi fuzzy sampai urutan ke –i.
 Ukf [Xi] : nilai keanggotaan dari solusi fuzzy sampai urutan ke –i.

Sehingga diperoleh nilai komposisi maksimal sebagai berikut :


Status 1 = MAX (0) =0
Status 2 = MAX (0) =0
Status 3 = MAX (0.1) = 0.1

4. Defuzzifikasi
Dalam melakukan penegasan untuk menghasilkan nilai tegas, digunakan rumus
dengan cara mencari rata - rata terbobot (Weight Average) sebagai berikut :

𝑎1 𝑧 1 + 𝑎2 𝑧 2 + 𝑎3 𝑧 3 + … 𝑎𝑖 𝑧 𝑖
𝑊𝐴 =
𝑎1 + 𝑎2 + 𝑎3 + … 𝑖
Keterangan :
 ai : adalah α – predikat ke – i.
 zi : adalah konsekuensi ke – i.

Sehingga hasil rata – ratanya adalah :

(0 𝑥 0) + (0 𝑥 1) + (0.1 𝑥 2) 0.2
𝑊𝐴 = = = 2.0
0 + 0 + 0.1 0.1

Berdasarkan hasil perhitungan menggunakan Metode Fuzzy Sugeno dengan input


temperatur yang diterima adalah 29.4o C dan pH 6.1 menghasilkan nilai tegas 2.0
atau nilai linguistik dengan Status 3 yang berarti Kincir Air Mati AND Pompa Air
Mati. Hasil perhitungan manual dalam bentuk excel adalah sebagai berikut :

Gambar 5.19 Perhitungan metode fuzzy sugeno excel

63
Pengujian
Pada tahap pengujian bertujuan untuk mengetahui sistem sudah berjalan
sesuai yang direncanakan atau masih belum tercapai. Pada pengujian terdapat dua
tahap yaitu pengujian yang meliputi fungsi hardware dan software serta pengujian
metode Fuzzy Sugeno. Pengujian sistem ini bertujuan mengetahui fungsi - fungsi
utama dari hardware dan software, hal ini dilakukan dengan mencoba segala
kemungkinan yang terjadi sehingga bisa mengetahui fungsi yang perlu diperbaiki
dan dievaluasi.
Sedangkan pengujian metode Fuzzy Sugeno bertujuan untuk mengetahui hasil
perhitungan yang dilakukan secara manual ataupun perhitungan sistem sesuai
dengan landasan teori metode Fuzzy Sugeno, kesesuaian hasil perhitungan sistem
dan perhitungan manual sangat diperlukan sebagai tolok ukur berhasilnya
implementasi metode Fuzzy Sugeno kedalam sistem.

Pengujian Sensor Temperatur


Pengujian sensor temperatur DS18B20 melalui dua tahap yaitu pengujian
fungsionalitas dan pengujian nilai temperatur dengan termometer. Pengujian
fungsionalitas dapat dilihat pada skenario pengujian sebagai berikut :
Tabel 5.15 Pengujian sensor temperatur DS18B20

Case Pengujian Sensor Temperatur DS18B20


Skenario pengujian Pembacaan data temperatur pada sensor DS18B20
Hasil yang diharapkan Sensor dapat membaca dan menampilkan data
temperatur
Hasil pengujian Sensor berhasil membaca dan menampilkan data
temperatur

64
Gambar 1

Keterangan [] Sesuai [ ] Tidak Sesuai


Pengujian yang dilakukan adalah dengan mencelupkan probe dari sensor
temperatur DS18B20 ke dalam 3 jenis kondi yaitu, air es, temperatur ruangan dan
air panas.

Pengujian Sensor pH
Pengujian fungsional sensor pH dilakukan agar perangkat dapat membaca
kandungan atau kadar keasamaan cairan. Skenario pengujian sensor pH adalah
sebagai berikut :
Tabel 5.16 Pengujian sensor pH

Case Pengujian Sensor pH


Skenario pengujian Pembacaan data kadar keasaman pada sensor pH
Hasil yang diharapkan Sensor dapat membaca dan menampilkan data pH
Hasil pengujian Sensor berhasil membaca dan menampilkan data pH

65
Gambar 1

Keterangan [] Sesuai [ ] Tidak Sesuai


Pengujian sensor pH yang dilakukan adalah menggunakan tiga jenis bubuk
kalibrasi yang bernilai 4.00, 6.86 dan 9.18 ke dalam botol kemudian mencelupkan
probe sensor satu persatu ke dalam botol secara bergantian.

Pengujian Input Data


Pengujian ini bertujuan untuk melakukan input data sensor ke database dari
NodeMCU kedua dan juga data dari hasil perhitungan metode Fuzzy Sugeno. Hasil
pengujian input dapat dilihat pada tabel berikut :
Tabel 5.17 Pengujian input data ke database

Case Pengujian Input Data


Skenario pengujian Melakukan input data sensor ke database dari
NodeMCU
Hasil yang diharapkan Data sensor dapat di input-kan ke database dari
NodeMCU
Hasil pengujian Data sensor berhasil di input-kan ke database dari
NodeMCU

66
Gambar 1

Gambar 2

Keterangan [] Sesuai [ ] Tidak Sesuai


Pengujian input data ke dalam database dilakukan dalam microcontroller.
Data yang dikirim adalah nilai dari sensor dan nilai dari hasil perhitungan metode
fuzzy sugeno.

Pengujian Website Monitoring


Tahap ini bertujuan untuk mengujian fungsi website monitoring agar dapat
melakukan penyajian data dan proses perhitungan Fuzzy Sugeno secara realtime.
Skenario pengujian ini dapat dilihat pada tabel berikut :
Tabel 5.18 Pengujian website monitoring

Case Pengujian Website Monitoring


Skenario pengujian Website monitoring menyajikan informasi data sensor
dan status aktuator secara realtime
Hasil yang diharapkan Website monitoring dapat menyajikan informasi dan
status aktuator secara realtime
Hasil pengujian Website monitoring berhasil menyajikan informasi
dan status aktuator secara realtime

67
Gambar 1

Gambar 2

Keterangan [] Sesuai [ ] Tidak Sesuai


Pengujian website monitoring dilakukan dengan menampilkan nilai dari
sensor dan aktuator. Kemudian dilakukan komparasi dengan nilai dari keluaran
microcontroller.

Pengujian Metode Fuzzy Sugeno


Pada pengujian terhadap metode Fuzzy Sugeno dilakakun dengan cara
perhitungan manual melalui excel dan perhitungan oleh sistem pada website
monitoring yang sudah terimplementasi metode Fuzzy Sugeno. Pengujian ini
betujuan membandingkan hasil perhitungan manual dengan perhitungan sistem
sehingga dapat dijadikan tolok ukur keberhasilan dalam implementasi metode
Fuzzy Sugeno. Skenario pengujian metode Fuzzy Sugeno adalah sebagai berikut :
Tabel 5.19 Pengujian metode fuzzy sugeno

Case Pengujian Metode Fuzzy Sugeno


Skenario pengujian Melakukan perhitungan terhadap data sensor
mengunakan metode Fuzzy Sugeno secara manual dan
menggunakan sistem
Hasil yang diharapkan Nilai perhitungan antara metode Fuzzy Sugeno secara
manual dan menggunakan sistem adalah sama
Hasil pengujian Nilai perhitungan menggunakan metode Fuzzy
Sugeno secara manual dan menggunakan sistem
menghasilkan nilai yang sama

68
Gambar 1

Gambar 2

Keterangan [] Sesuai [ ] Tidak Sesuai


Pengujian metode fuzzy sugeno dilakukan dengan mengkomparasi hasil
perhitungan secara manual menggunakan excel dengan hasil perhitungan dari
sistem.

Pengujian Aktuator
Pengujian ini dilakukan bertujuan untuk mengetahui apakah rangkaian dari
sistem dari mulai sensor sampai aktuator yang ada mampu berjalan sesuai yang
diharapkan. Rangkaian sangat berfungsi penting karena setiap data yang masuk ke
database ataupun data yang dibaca dari database akan diolah pada rangkaian.
Pengujian aktuator ini meliputi 2 output yang ada seperti kincir air dan pompa air.
Tabel 5.20 Pengujian aktuator

Case Pengujian Aktuator


Skenario pengujian Menjalankan rangkaian program sesuai rules yang
ditentukan
Hasil yang diharapkan Mampu menjalankan rangkaian program sesuai rules
yang ditentukan

Hasil pengujian Menjalankan rangkaian program sesuai rules yang


ditentukan

69
Gambar 1
(Motor Driver)

Gambar 2
(Relay)

Gambar 3
(Outoput Aktuator)

Keterangan [] Sesuai [ ] Tidak Sesuai


Alur dari pengujian aktuator dimulai dari menghubungkan sumber tegangan
NodeMCU input, NodeMCU output dan output aktuator. Kemudian pembacaan
temperatur dan pH mulai dilakukan oleh kedua sensor.. Setelah itu data temperatur
akan diolah menggunakan metode Fuzzy Sugeno. Setelah hasil perhitungan sudah
diketahui maka otomatis data akan dikirim ke motor driver agar output teraliri oleh
tegangan listrik. Apabila LED merah pada motor driver menyala maka berarti
motor driver ON dan mengaliri tegangan listrik ke motor dc. Jika LED pada relay
tidak menyala maka berarti motor driver OFF dan memutus aliran tegangan listrik
ke output. Sedangkan untuk relay apabila LED merah pada relay menyala maka
berarti relay ON dan mengaliri tegangan listrik ke output. Jika LED pada relay tidak
menyala maka berarti relay OFF dan memutus aliran tegangan listrik ke output.

70
Pengujian Fungsional
Pengujian fungsional bertujuan untuk mengetahui sistem berjalan sesuai
dengan tahap yang sudah direncanakan atau belum. Pengujian dilakukan
menggunakan metode Black Box untuk mengetahui hasil dari pengujian sistem.
Hasil pengujian fungsional dapat dilihat pada tabel berikut :
Tabel 5.21 Pengujian fungsional

Hasil Pengujian
No. Pengujian Fungsional Tidak
Sesuai
Sesuai
1. Menampilkan data sensor temperatur dan pH 
Menampilkan data sensor temperatur dan pH pada
2. 
website monitoring secara realtime
Menampilkan kondisi status aktuator pada website
3. 
monitoring secara realtime
4. Melakukan insert data ke dalam database 
5. Melakukan implementasi thingspeak 
6. Menyalakan aktuator sesuai kondisi (automasi) 
7. Melakukan hosting website agar bisa diakses jarak jauh 
Pengujian fungsional dilakukan dengan mencoba satu persatu fitur dan fungsi
dari sistem yang telah selesai dibuat. Adapun pengujian yang telah dilakukan
addalah menampilkan data sensor, menampilkan data sensor pada website
monitoring secara realtime, menampilakan status dari aktuator pada website
monitoring, melakukan insert data ke dalam database, melakukan implementasi
thingspeak, menyalakan aktuator sesuai dengan kondisi yang ditentukan dan
melakukan hosting website agar bisa diakses jarak jauh menggunakan internet.

71
BAB VI. HASIL DAN PEMBAHASAN

Hasil
Pada bagian hasil bertujuan untuk memaparkan hasil dari pengujian sistem
yang telah dilakukan yaitu meliputi hasil pengujian hardware maupun software
serta hasil pengujian terhadap metode fuzzy sugeno yang sudah diterapkan pada
sistem.

Hasil Pengujian Sensor Temperatur


Hasil pengujian pada sensor temperatur DS18B20 dibandingkan dengan nilai
temperatur hasil pengukuran menggunakan termometer digital sehingga didapatkan
nilai perbandingan antara dua alat tersebut. Pengujian dilakukan setiap lima menit
sekali dan dilakukan sebanyak 15 kali serta dengan menggunakan air es dan air
hangat untuk mendapatkan intensitas temperatur, sehingga menghasilkan
perbandingan sebagai berikut :
Tabel 6.1 Hasil pembacaan sensor temperatur DS18B20 dan termometer digital

Pembacaan Pembacaan Hasil


Kondisi
No. Sensor Termometer Perhitungan
Temperatur
DS18B20 (oC) (oC) MAPE (%)
1. 5.70 6.10 6.56
2. Kondisi 10.00 10.60 5.66
3. temperatur dingin 9.30 10.10 7.92
4. dengan es 7.10 7.80 8.97
5. 7.40 7.60 2.63
6. 27.30 27.80 1.80
7. Kondisi hangat 27.40 28.00 2.14
8. temperatur 27.30 27.90 2.15
9. ruangan 32.40 32.40 0.00
10. 31.70 32.20 1.55
11. Kondisi 38.70 39.00 0.77
12. temperatur panas 40.00 40.00 0.00
13. dengan air hangat 46.70 47.40 1.48

72
14. 44.30 44.50 0.45
15. 51.20 51.50 0.58
Rata – rata 3

Perbandingan hasil dari pengujian tabel diatas dilakukan untuk melihat


akuisisi data sensor temperatur DS18B20 sehingga dapat mengetahui persentase
error dari sensor apabila dibandingkan dengan hasil pengukuran termometer digital.
Nilai error didapatkan dengan menggunakan perhitungan MAPE (Mean Absolute
Percentage Error) dengan rumus sebagai berikut :

𝑋𝑡 − 𝐹𝑡
( | × 100%)
𝑀𝐴𝑃𝐸 = 𝑋𝑡
𝑛
Keterangan :
 MAPE : Rata – rata persentase kesalahan atau error.
 Xt : Data aktual pada periode t
 Ft : Data forcasting pada periode t
 n : Jumlah data

Rumus MAPE diperoleh nilai rata – rata error antara pengukuran akuisisi
sensor temperatur DHT22 dan termometer digital adalah 3% dari 15 kali pengujian.
Hasil dari pengukuran termometer digital menunjukkan selisih data temperatur
lebih besar dibandingkan hasil pengukuran sensor DS18B20.

Hasil Pengujian Sensor pH


Hasil pengujian pada sensor pH dibandingkan dengan nilai 3 bubuk kalibrasi
pH. 3 bubuk pH yang dipakai bernilai 4.00, 6.86 dan 9.18. Pengujian dilakukan
dengan mencelupkan sensor ke setiap wadah berisi air yang sudah campur dengan
bubuk pH secara berurutan, sehingga menghasilkan perbandingan sebagai berikut :
Tabel 6.2 Hasil pembacaan sensor pH

No. Bubuk Kalibrasi pH Output Sensor


1. 4.00 4.24
2. 6.86 6.91
3. 9.18 9.23

73
Hasil Pengujian Input Data
Pada pengujian sistem berhasil melakukan input data sensor dari NodeMCU
kedua ke dalam database. Hal ini menjadi fungsi dasar yang harus berjalan sesuai
rencana karena data sensor dari NodeMCU menjadi sumber utama pada website
yang digunakan untuk monitoring. Beberapa tahap input data sensor kedalam
database adalah pembacaan data sensor oleh DS18B20 dansensor pH. Kemudian
diolah NodeMCU dengan menggunakan metode Fuzzy Sugeno untuk menentukan
output yang sesuai untuk kondisi tersebut.
Kemudian hasil yang telah diolah lalu dikirim ke database.

Gambar 6.1 Insert data ke database


Field ‘id’ sebagai primary key dengan tipe data int (11) AUTO INCREMENT,
field ‘field1 untuk menyimpan record data temperatur dengan tipe data float dan
field ‘field2 juga bertipe float untuk menyimpan record pH. Kemudian field ‘field3’
dan ‘field4’ untuk menyimpan data status kondisi dari setiap output dengan tipe
data int (1). Sedangkan field ‘created_at’ digunakan untuk menyimpan setiap waktu
dari data yang masuk ke dalam database.

Hasil Pengujian Website Monitoring


Berdasarkan perencanaan dan pengujian yang sudah dilakukan, fungsi utama
dari sistem website adalah untuk menampilkan informasi semua data yang telah
diolah oleh NodeMCU. Data tersebut meliputi data sensor dan status kondisi output.
Selain menampilkan output pada website diharapkan dapat melakukan kontrol dari
aktuator sistem seperti menyalakan kincir air dan menyalakan pompa. Hasilnya
berjalan sesuai rencana sehingga penyajian informasi dapat ditampilkan secara
akurat dan tepat.

74
Gambar 6.2 Website diakses melalui internet
Akses pada website dapat dibuka dengan alamat website http://simco.rf.gd/
dan harus terkoneksi dengan internet. Berikut merupakan gambar dan tabel
perbandingan data temperatur dan pH yang dibaca oleh sensor dengan data
temperatur dan pH yang ditampilkan pada website monitoring.

Gambar 6. 2 Perbandingan data dari NodeMCU dan website monitoring


NodeMCU mengambil data sensor temperatur dan pH yang datanya dikirim
secara realtime setiap satu menit ke dalam database lalu website monitoring
mengambil data dari dalam database.

75
Tabel 6. 1 Perbandingan NodeMCU dan website monitoring

NodeMCU Website Sesuai

No.
Ya Tidak

1. 29.4 6.1 29.4 6.1 


2. 29.4 6.1 29.4 6.1 
3. 29.5 6.2 29.5 6.2 
4. 29.5 6.2 29.5 6.2 
5. 29.5 6.1 29.5 6.1 
6. 29.5 6.3 29.5 6.3 
7. 25.4 6.3 25.3 6.3 
8. 25.4 6.3 25.3 6.3 
9. 29.5 6.1 25.3 6.1 
10. 29.5 6.1 25.3 6.1 

Hasil Pengujian Metode Fuzzy Sugeno


Berdasarkan hasil pengujian metode fuzzy sugeno, penerapan perhitungan
metode fuzzy sugeno secara manual maupun sistem telah sesuai dengan landasan
teori yang dipakai. Pengujian menghasilkan nilai yang sama sehingga menjadi tolok
ukur berhasilnya tahap implementasi metode fuzzy sugeno kedalam sistem. Pada
pengujian respon sistem dibuat beberapa simulasi kondisi sesuai rules yang dibuat
dengan mengubah nilai variabel yang ada pada NodeMCU. Hasil pengujian respon
sistem fuzzy sugeno disajikan dalam tabel berikut :
Tabel 6.3 Hasil pengujian respon sistem

Deffuzifikasi Output
Temperatur

Pompa Air
Kincir Air
pH

No. Kondisi
Manual

Sistem

1. 25.65 5.90 0 0 Dingin AND Rendah  

76
2. 24.95 6.34 1 1 Dingin AND Netral 
3. 25.30 8.45 0 0 Dingin AND Tinggi  
4. 29.86 5.10 0 0 Hangat AND Rendah  
5. 30.13 7.41 2 2 Hangat AND Netral
6. 30.24 9.13 0 0 Hangat AND Tinggi  
7. 32.05 5.63 0 0 Panas AND Rendah  
8. 33.35 7.54 1 1 Panas AND Netral 
9. 32.27 8.90 0 0 Panas AND Tinggi  

Hasil Pengujian Aktuator


Berdasarkan pengujian aktuator, penerapan rangkaian telah sesuai dengan
perencanaan dan implementasi. Pengujian menghasilkan rangkaian yang dapat
berkomunikasi tanpa adanya suatu error dan sesuai dengan rules yang ditentukan.
Selanjutnya adalah pembahasan respon rangkaian terhadap setiap kondisi protoype
jamur. Pada pengujian respon sistem dibuat beberapa simulasi kondisi rules dengan
mengubah nilai variabel yang ada pada NodeMCU. Hasil pengujian respon
rangkaian disajikan dalam bentuk gambar dan tabel pada beberapa bahasan berikut.
6.1.6.1 Kondisi Dingin dan Rendah
Pada kondisi ini merupakan kondisi dimana temperatur bernilai dingin di
bawah 27oC dan pH bernilai rendah di bawah 6. Ketika kondisi bernilai dingin dan
rendah, kincir air menyala dan pompa air menyala. Berikut merupakan gambar
rangkaian ketika status dengan kondisi dingin dan rendah :

Gambar 6.3 Kondisi dingin dan rendah

6.1.6.2 Kondisi Dingin dan Netral


Kondisi dingin dan netral merupakan kondisi dimana temperatur bernilai
dingin di bawah 27oC dan pH bernilai netral diantara 6 dan 8. Ketika kondisi

77
bernilai dingin dan netral, kincir air menyala dan pompa air mati. Berikut
merupakan gambar rangkaian ketika status dengan kondisi dingin dan netral :

Gambar 6.4 Kondisi dingin dan netral

6.1.6.3 Kondisi Dingin dan Tinggi


Kondisi dingin dan tinggi merupakan kondisi dimana temperatur bernilai
dingin di bawah 26oC dan pH bernilai tinggi di atas 8. Ketika kondisi bernilai dingin
dan tinggi, kincir air menyala dan pompa air menyala. Berikut merupakan gambar
rangkaian ketika status dengan kondisi dingin dan netral :

Gambar 6.5 Kondisi dingin dan tinggi

6.1.6.4 Kondisi Hangat dan Rendah


Kondisi hangat dan rendah merupakan kondisi dimana temperatur bernilai
hangat diantara 27 oC dan 31oC dan pH bernilai rendah di bawah 6. Ketika kondisi
bernilai hangat dan rendah, kincir air menyala dan pompa air menyala. Berikut
merupakan gambar rangkaian ketika status dengan kondisi hangat dan rendah :

78
Gambar 6.6 Kondisi hangat dan rendah

6.1.6.5 Kondisi Hangat dan Netral


Pada kondisi ini merupakan kondisi dimana temperatur bernilai hangat
bernilai diantara 27 oC dan 31oC dan pH bernilai diantara 6 dan 8. Ketika kondisi
bernilai hangat dan netral, kincir air mati dan pompa air mati. Berikut merupakan
gambar rangkaian ketika status dengan kondisi dingin dan rendah :

Gambar 6.7 Kondisi hangat dan netral

6.1.6.6 Kondisi Hangat dan Tinggi


Kondisi hangat dan tinggi merupakan kondisi dimana temperatur bernilai
hangat diantara 27oC dan 31oC dan pH bernilai tinggi di atas 8. Ketika kondisi
bernilai hangat dan tinggi, kincir air menyala dan pompa air menyala. Berikut
merupakan gambar rangkaian ketika status dengan kondisi hangat dan rendah :

79
Gambar 6.8 Kondisi hangat dan tinggi

6.1.6.7 Kondisi Panas dan Rendah


Kondisi panas dan rendah merupakan kondisi dimana temperatur bernilai
hangat di atas 31oC dan pH bernilai rendah di bawah 6. Ketika kondisi bernilai
panas dan rendah, kincir air menyala dan pompa air menyala. Berikut merupakan
gambar rangkaian ketika status dengan kondisi panas dan rendah :

Gambar 6.9 Kondisi panas dan rendah

6.1.6.8 Kondisi Panas dan Netral


Kondisi panas dan netral merupakan kondisi dimana temperatur bernilai
hangat di atas 31oC dan pH bernilai netral diantara 6 dan 8. Ketika kondisi bernilai
panas dan netral, kincir air menyala dan pompa air menyala. Berikut merupakan
gambar rangkaian ketika status dengan kondisi panas dan netral:

80
Gambar 6.10 Kondisi panas dan netral

6.1.6.9 Kondisi Panas dan Tinggi


Pada kondisi ini merupakan kondisi dimana temperatur bernilai panas bernilai
di atas 31oC dan pH bernilai di atas 8. Ketika kondisi bernilai panas dan tinggi,
kincir air mati dan pompa air mati. Berikut merupakan gambar rangkaian ketika
status dengan kondisi panas dan tinggi :

Gambar 6.11 Kondisi panas dan tinggi

Hasil Pengujian Fungsional


Hasil pengujian fungsional bertujuan untuk menjelaskan lebih detail dari
proses pengujian pada fungsional dan mengetahui jika sistem berjalan sesuai yang
sudah direncanakan sebelumnya. Berikut merupakan hasil pengujian fungsional
dipaparkan dalam bentuk gambar.
1. Menampilkan data sensor temperatur dan pH

Gambar 6.12 Data sensor dari serial monitor NodeMCU

81
2. Menampilkan data sensor temperatur dan pH pada website monitoring secara
realtime

Gambar 6.13 Data sensor realtime pada website monitoring


3. Menampilkan kondisi status aktuator pada website monitoring secara realtime

Gambar 6.14 Status aktuator realtime pada website monitoring


4. Melakukan insert ke dalam database

Gambar 6.15 Data yang tersimpan dalam database

82
5. Melakukan implementasi thingspeak

Gambar 6.16 Live chart dan live status dari thingspeak


6. Menyalakan aktuator sesuai kondisi (automasi)
7. Melakukan hosting website agar bisa diakses jarak jauh

Gambar 6.17 Hosting website menggunakan FTP

Pembahasan
Pada bagian pembahasan bertujuan memaparkan hasil pengujian lebih rinci.
Pembahasan ini yaitu meliputi pembahasan pengujian hardware dan software serta
hasil pengujian terhadap metode fuzzy sugeno.

83
Pembahasan Hasil Pengujian Sensor Temperatur
Sensor temperatur DS18B20 digunakan untuk memonitoring temperatur air
dari prototype aquarium telah berfungsi dengan baik, terbukti dari hasil pengujian
pada sensor temperatur DS18B20 didapatkan tinggkat rata-rata eror sebesar 0,99oC
yang berarti tingkat akurasi pengukuran sensor ketika dibandingkan dengan
termometer digital sensor temperatur DS18B20 memiliki akurasi yang baik.
Hasil pengujian ditampilkan pada grafik berikut untuk memudahkan analisa.

PENGUJIAN SENSOR DS18B20


60

50

40

30

20

10

0
Kondisi Suhu Dingin Kondisi Suhu Hangat Kondisi Suhu Panas

Sensor DS18B20 Termometer Digital

Gambar 6.18 Grafik pengujian sensor temperatur DS18B20 dan termometer


digital
Dari perbandingan nilai temperatur menggunakan sensor temperatur
DS18B20 dan termometer digital dihasilkan rentang nilai paling rendah dan paling
tinggi dari 15 kali pengukuran yaitu sebagai berikut :
Tabel 6.4 Rentang nilai temperatur tertinggi dan terendah

Pengukuran Nilai Terendah (oC) Nilai Tertinggi (oC)


Sensor temperatur
5.70 51.20
DS18B20
Termometer Digital 6.10 51.50

Pembahasan Hasil Pengujian Sensor pH

Berlandaskan hasil pengujian pembacaan sensor menunjukkan bahwa kadar


pH pada sensor dengan bubuk kalibrasi pH memiliki perbedaan yang tidak tentu

84
karena pembacaan dari sensor pH mengambil nilai analog dari 6 nilai terkecil yang
terbaca. Grafik perbandingan hasil pengukuran berasarkan bubuk kalibrasi dan
sensor disajikan dalam diagram batang sebagai berikut :

PENGUJIAN SENSOR pH

4.00 6.86 9.18

Bubuk Kalibrasi Sensor pH

Gambar 6.19 Grafik pengujian sensor pH


Bersumber pada pembacaan sensor pH dihasilkan rentang nilai paling rendah
dan paling tinggi dari 3 pengukuran yang dilakukan. Hasil pengukuran rentang nilai
adalah sebagai berikut :

Tabel 6.5 Rentang nilai bubuk kalibrasi pH

Pengukuran sensor pH Nilai Terendah Nilai Tertinggi


Bubuk kalibrasi pH 4.00 9.18
Sensor pH 4.24 9.23

Pembahasan Hasil Pengujian Input Data


Hasil pengujian input data ke database telah berhasil dilakukan tanpa ada
error ataupun data yang tidak masuk ke database. Insert data ke dalam database
dilakukan setelah perhitungan fuzzy sugeno.

85
Gambar 6.20 Data masuk dalam database
Data perintah dari setiap output yang dibaca oleh NodeMCU merupakan nilai
(0 atau 1) yang diterjemahkan 0 sebagai kondisi status mati dan 1 sebagai kondisi
status menyala agar lebih mudah untuk pembacaan dalam website monitoring.

Pembahasan Hasil Pengujian Website Monitoring


Hasil pengujian website yang telah dilakukan menunjukkan bahwa 10 kali
percobaan membandingkan antara pembacaan temperatur dan pH oleh sensor dan
data yang ditampilankan pada website menunjukkan value yang sama. Hasil dari
pengujian nilai akurasi adalah sebagai berikut :
Tabel 6.6 Nilai akurasi pada website monitoring

Jumlah Pengujian 10
Nilai Data Sesuai 10
Nilai Deffuzifikasi Tidak Sesuai 0
Tingkat Akurasi Perhitungan 100 %

86
Pembahasan Hasil Pengujian Metode Fuzzy Sugeno
Pengujian yang dilakukan dengan simulasi beberapa kondisi dengan
mengubah nilai variabel yang ada pada NodeMCU. Berdasarkan dari 9 kali
pengujian menghasilkan nilai respon sistem yang sesuai dengan kondisi pada
metode Fuzzy Sugeno. Nilai proses deffuzifikasi dari perhitungan metode Fuzzy
Sugeno secara manual maupun perhitungan sistem menghasilkan nilai yang sama
tanpa selisih. Hasil dari pengujian nilai akurasi metode Fuzzy Sugeno adalah
sebagai berikut :
Tabel 6.7 Nilai akurasi perhitungan metode fuzzy sugeno
Jumlah Pengujian 9
Nilai Deffuzifikasi Sesuai 9
Nilai Deffuzifikasi Tidak Sesuai 0
Tingkat Akurasi Perhitungan 100 %
Perhitungan dari deffuzifikasi menghasilkan beberapa nilai output yang sama
namun memiliki kondisi temperatur dan pH yang berbeda karena nilai kondisi
tersebut masih dalam rentang nilai himpunan yang telah ditentukan.
Tabel perbandingan hasil defuzzifikasi manual dan sistem adalah sebagai
berikut :
Tabel 6.8 Perbandingan nilai hasil deffuzifikasi
Defuzzifikasi
No. Kondisi
Manual Sistem
1. Dingin AND Rendah 0 0
2. Dingin AND Netral 1 1
3. Dingin AND Tinggi 0 0
4. Hangat AND Rendah 0 0
5. Hangat AND Netral 2 2
6. Hangat AND Tinggi 0 0
7. Panas AND Rendah 0 0
8. Panas AND netral 1 1
9. Panas AND Tinggi 0 0
Berdasarkan hasil pengujian terhadap respon sistem metode Fuzzy Sugeno
diatas menunjukkan nilai dari berbagai kondisi yang timbul r entang nilai pada
variabel Kincir Air Menyala AND Pompa Air Menyala dimulai dari nilai
deffuzifikasi 0 sampai ≤ 1, variabel Kincir Air Menyala AND Pompa Air Mati dari
nilai defuzzifikasi > 1 sampai ≤ 2, variabel Kincir Air Mati AND Pompa Air mati
dari nilai defuzzifikasi > 2 sampai ≤ 3.

87
Pembahasan Hasil Pengujian Aktuator
Hasil pengujian aktuator menunjukkan bahwa rangkaian mampu
berkomunikasi dengan baik tanpa adanya korsleting dan sudah sesuai dengan rules
yang berlaku. Hal ini telah dibuktikan dengan pengujian setiap kondisi yang sudah
diimplementasikan pada sistem. Kondisi tersebut meliputi kondisi kincir air dan
pompa air menyala, kincir air dan pompa air mati dan kincir air mati dan pompa air
mati. Selain itu status yang ada pada rangkaian juga berhasil ditampilkan pada
website monitoring sesuai dengan kondisi yang terjadi. Hasil pengujian respon
sistem disajikan dalam tabel berikut :
Tabel 6.9 Perbandingan output kondisi

Output yang Diharapkan Output Sistem


No. Kondisi
Kincir Pompa Kincir Pompa

1. Dingin dan Rendah ON ON ON ON

2. Dingin dan Netral ON OFF ON OFF

3. Dingin dan Tinggi ON ON ON ON

4. Hangat dan Rendah ON ON ON ON

5. Hangat dan Netral OFF OFF OFF OFF

6. Hangat dan Tinggi ON ON ON ON

7. Panas dan Rendah ON ON ON ON

8. Panas dan Netral ON OFF ON OFF

9. Panas dan Tinggi ON ON ON ON

Berdasarkan tabel diatas bisa disimpulkan bahwa setiap output dari sistem
sudah sesuai dengan output yang diharapkan.

Pembahasan Hasil Pengujian Fungsional


Seperti menampilkan data sensor dalam serial monitor, insert data ke dalam
database dan menampilkannya ke website monitoring secara realtime. Selain itu
website monitoring juga sudah bisa untuk melihat kondisi status dari aktuator secara
realtime.

88
Fungsi dasar lainnya yang juga sudah terpenuhi adalah menyalakan atau
mematikan aktuator secara otomatis sesuai dengan kondisi yang ada dalam
prototype aquarium. Kemudian implementasi untuk storing data ke thingspeak
sudah berhasil dilakukan dan live chart sudah bisa ditampilkan dalam website
monitoring. Selain itu dilakukannya hosting website sehingga bisa memantau
kondisi kualitas air pada prototype aquarium.

Pembahasan Hasil Pengujian User


Berdasarkan hasil pengujian, fungsi-fungsi dasar dari sistem yang
digunakan seperti monitoring mampu dipahami oleh petani tambak atau pemilik
tambak tanpa ada kendala, dikarenakan petani tambak dan pemilik tambak sudah
terbiasa menggunakan smartphone yang digunakan untuk membuka website
monitoring melalui browser dari smartphone. Selain itu juga mampu menggunakan
website tersebut tanpa ada kendala. Setelah mencoba sistem monitoring dan
controlling kualitas air ini, pemilik berpendapat bahwa sistem tersebut mampu
mempermudah pemilik dalam proses pembudidayaan jika sistem tersebut
dibutuhkan untuk diimplementasikan pada budidaya udang vannamei miliknya.

89
BAB VII. KESIMPULAN DAN SARAN

Kesimpulan
Dari keseluruhan hasil penelitian yang telah dilakukan, maka dapat ditarik
beberapa kesimpulan sebagai berikut:
1. Rancang bangun sistem monitoring dan controlling temperatur dan kadar pH
berhasil dilakukan.
a. Sistem menggunakan prototype berskala aquarium yang digunakan sebagai
objek monitoring temperatur dan kadar pH.
b. Sistem melakukan input data temperatur, pH, dan hasil dari perhitungan
metode fuzzy sugeno ke dalam database dan mengirim ke thingspeak setiap
satu menit.
2. Konsep Internet of Things (IoT) berhasil diterapkan untuk melakukan
monitoring dan controlling berdasarkan temperatur dan pH.
a. Sistem dapat diakses menggunakan website secara realtime dengan koneksi
internet.
b. Sistem dapat menerima hasil dari respon atau output dari kondisi yang
terjadi.
3. Metode Fuzzy Sugeno berhasil diterapkan pada sistem controlling (automasi)
untuk mengatur temperatur dan kadar pH pada prototype.
a. Sistem dapat melakukan pendeteksian terhadap beberapa kondisi yang
sudah ditentukan sesuai dengan rules fuzzy.
b. Sistem dapat memberikan respon sesuai dengan kondisi yang terjadi.
c. Berdasarkan hasil perhitungan metode fuzzy sugeno dengan cara manual
ataupun menggunakan sistem menunjukkan hasil yang sama sehingga
menjadi tolok ukur berhasilnya implementasi metode fuzzy sugeno.
d. Hasil pengujian respon sistem dari 9 kali percobaan dengan nilai data sensor
yang berbeda menunjukkan hasil 100% sesuai dengan kondisi pada metode
fuzzy sugeno serta tanpa adanya output yang tidak sesuai.

90
Saran
Saran yang dapat diberikan untuk melakukan penelitian dan pengembangan
selanjutnya untuk sistem ini antara lain yaitu:
1. Diharapkan ada penambahan parameter kualitas air lain untuk dipakai sebagai
variabel input selain temperatur dan pH, misalnya penambahan variabel
salinitias dan oksigen terlarut (DO).
2. Diharapkan ada penambahan modul untuk simcard digunakan untuk backup
apabila koneksi internet mati.
3. Dalam penerapan rangkaian, untuk instalasi yang dilakukan harus benar-benar
cermat agar tidak terjadi short circuit (korsleting), karena resikonya dapat
membuat hardware terbakar dan tidak bisa dipakai lagi.

91
DAFTAR PUSTAKA

Andi Sahrijanna, & Sahabuddin. (2014). KAJIAN KUALITAS AIR PADA BUDIDAYA
UDANG VANAME (Litopenaeus vannamei) DENGAN SISTEM PERGILIRAN
PAKAN DI TAMBAK INTENSIF. Prosiding Forum Inovasi Teknologi Akuakultur.
Andrian Kristanto, Iwan Setiawan, & Sumardi. (2013). PENGENDALIAN pH AIR DENGAN
METODE PID PADA MODEL TAMBAK UDANG. Transmisi.
doi:https://doi.org/10.12777/transmisi.14.4.119-126
Ari Fiyanti. (2017). Sistem Otomasi Kincir Air untuk Respirasi Udang Tambak Menggunkan
Sensor Dissolved Oxygen (DO). Universitas Lampung.
Arief Prasetyo, Usman Nurhasan, & Gilang Lazuardi. (2018). Implementasi IoT pada Sistem
Monitoring dan Pengendali Sirkulasi Air Tanaman Hidroponik . Jurnal Informatika
Polinema .
BPS Provinsi Jawa Timur. (2018). Produksi Perikanan Budidaya Tambak Menurut
Kabupaten/Kota di Jawa Timur. Retrieved November 27, 2019, from
https://jatim.bps.go.id/statictable/2018/11/14/1411/produksi-perikanan-budidaya-
tambak-menurut-kabupaten-kota-di-jawa-timur-ton-2010-2017.html
Chwalisz, M. (2016). Thingspeak Documentation.
M. Faiz Fuady. (2013). Pengaruh Pengelolaan Kualitas Air Terhadap Tingkat Kelulushidupan
Dan Laju Pertumbuhan Udang Vaname (Litopenaeus vannamei) DI PT. INDOKOR
BANGUN DESA. Diponegoro Journal of Maquares.
Marwa Mudrikatussalamah, & Candra Dewi. (2018). Optimasi Fungsi Keanggotaan Fuzzy
Menggunakan Algoritma Genetika. Jurnal Pengembangan Teknologi Informasi dan
Ilmu Komputer.
Muchammad Cholilulloh. (2018). Implementasi Metode Fuzzy Pada Kualitas.
Oris Krianto Sulaiman, & Adi Widarma. (2017). Sistem Internet Of things (IoT) Berbasis Cloud
Computing Dalam Campus Area Network. INA-Rxiv.
Peni Kurniawati. (2018). Pengujian Sistem - SkyshiDigital - Medium. Retrieved from Medium:
https://medium.com/skyshidigital/pengujian-sistem-52940ee98c77
Qirom, Bahrun Niam, & Much Sobri Sungkar. (2019). SISTEM MONITORING PENGAIRAN
OTOMATIS DENGAN METODE. Jurnal Infoteknikmesin, 10.
Suyanto. (2014). Artificial Intelligence. Informatika: Bandung.

92
BIODATA PENULIS

DATA PRIBADI
Nama Lengkap : Muh. Marsudiarto
Nomor Induk : 1641720166
Tempat / Tanggal Lahir : Sidoarjo, 08 Maret 1998
Jenis Kelamin : Laki-Laki
Agama : Islam
Alamat : Desa Kedungpeluk RT02/04, Kec. Candi, Kab. Sidoarjo
Nomor Telepon : 085655544578
Email : marsudiar98@gmail.com

RIWAYAT PENDIDIKAN
 2004 - 2010 : MI Islamiyah Kedungpeluk
 2010 - 2013 : SMP Negeri 2 Candi
 2013 - 2016 : SMK Negeri 2 Buduran
 2016 - 2020 : Politeknik Negeri Malang

93

Anda mungkin juga menyukai