TUGAS AKHIR SISTEM KENDALI HIDROPONIK DALAM RUANGAN ... · The system of nutrient mixing and...
Transcript of TUGAS AKHIR SISTEM KENDALI HIDROPONIK DALAM RUANGAN ... · The system of nutrient mixing and...
TUGAS AKHIR
SISTEM KENDALI HIDROPONIK DALAM
RUANGAN BERBASIS RASPBERRY PI
Diajukan untuk memenuhi salah satu syarat
Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh :
ANDRIAN BUDIAWAN LIM
NIM : 155114048
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
CONTROL SYSTEM FOR INDOOR HYDROPONIC
USING RASPBERRY PI
In partial fulfilment of the requirements
for the degree of Sarjana Teknik
Electrical Engineering Study Program
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
ANDRIAN BUDIAWAN LIM
NIM : 155114048
ELECTRICAL ENGINEERING STUDY PROGRAM
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO:
“KESUSAHAN SEHARI CUKUPLAH UNTUK SEHARI,
JANGAN MENUNDA SESUATU UNTUK
DIKERJAKAN”
Skripsi ini saya persembahkan untuk :
Tuhan Yang Maha Kuasa
Keluarga yang selalu memberi dukungan baik moral
maupun materi
Teman – teman elektro USD angkatan 2015 yang selalu
membantu dan sama – sama berjuang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Berkebun dengan sistem hidroponik secara tradisional belum menggunakan
teknologi otomatisasi, seluruh proses meliputi pemberian nutrisi dan pengukuran variabel
seluruhnya masih dilakukan oleh manusia. Penyinaran juga masih mengandalkan sinar
matahari yang tidak menentu. Sistem pengukuran, otomatisasi sistem pemberian nutrisi
dan otomatisasi sistem penyinaran dapat direalisasikan menggunakan Arduino dan
Raspbery Pi.
Otomatisasi pengukuran dan pengendalian sistem hidroponik dapat digunakan
untuk membuat semua proses hidroponik menjadi lebih efisien. Sensor TDS dan sensor
pH yang disambungkan pada Arduino serta sensor LDR yang disambungkan pada
Raspberry Pi digunakan secara permanen untuk pengukuran data. Data hasil pengukuran
tersebut akan digunakan untuk mengendalikan aktuator berupa Motor DC, Diaphragm
Pump dan Lampu LED dengan menggunakan Raspbery Pi sebagai mikrokontroler
pengendalian dan pemantauan proses. Selain untuk pengendalian, data tersebut juga akan
ditampilkan pada GUI, disimpan pada data logger dan dikirim ke aplikasi berbasis IoT (
Internet of Things ).
Sistem pemberian dan pencampuran nutrisi pada air dapat berjalan dengan baik,
nilai rata – rata kebenaran relatif sistem adalah 98.77%, proses tersebut berjalan dengan
waktu rata – rata 125 detik. Sistem pengendalian lampu juga dapat berjalan dengan baik,
nilai rata – rata kebenaran relatif sistem adalah 100%. Sistem pengukuran modul sensor
TDS dan pH dapat mengukur dengan baik, nilai rata – rata kebenaran relatif hasil
pengukuran modul sensor TDS adalah 97.16% dan nilai rata – rata kebenaran relatif hasil
pengukuran modul sensor pH adalah 99.96%. Data hasil pengukuran serta pengendalian
proses dapat ditampilkan dengan baik pada GUI secara real time, data tersebut juga
disimpan pada data logger dan dapat dipantau dari jarak jauh menggunakan aplikasi
berbasis IoT yaitu Cayenne myDevice dengan waktu pengiriman data rata – rata 3 detik.
Kata Kunci : Hidroponik, Raspberry pi , pengendalian, Otomatisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Gardening with a hydroponic system traditionally has not used automation
technology, the whole process including the provision of nutrition and measurement of
variables is all done by humans. The irradiation that plants needed also still relies on
sunlight, meanwhile the sunlight is uncertain. Measurement system, provision of nutrition
system automation and radiation system automation can be implemented using Arduino
and Raspbery Pi.
Automation of measuring and controlling hydroponic systems can be used to make
all hydroponic processes more efficient. The TDS sensor and the pH sensor connected to
the Arduino and the LDR sensor connected to the Raspberry Pi are used permanently for
data measurement. The measurement data will be used to control the actuator in the form
of a DC Motor, Diaphragm Pumps and LED lights using Raspbery Pi as microcontroller
for controling and monitoring process. In addition, besides for controling the process, the
data will also be displayed in the GUI, stored in a data logger and sent to an IoT (Internet
of Things) based application.
The system of nutrient mixing and stirring in water can work well, the average
relative value of the system is 98.77%, the process runs with an average time of 125
seconds. The light control system can also work well, the relative average value of the
system is 100%. TDS and pH sensor module can also measure well, the average value of
the relative value of the measurement by the TDS sensor module is 97.16% and the
average value of the relative value of the measurement by the pH sensor module is
99.96%. Measurement data and process control can be displayed properly in the GUI in
real time, the data is also stored in the data logger and can be monitored remotely using
an IoT-based application, Cayenne myDevice with an average data transfer time of 3
seconds.
Keywords: Hydroponics, Raspberry pi, Controlling, Automation
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur dihaturkan kepada Tuhan Yang Maha Esa karena anugerah-Nya,
tugas akhir ini dapat diselesaikan dengan baik. Tugas akhir merupakan salah syarat kelulusan
di Jurusan Teknik Elektro Universitas Sanata Dharma Yogyakarta untuk memperoleh gelar
Sarjana Teknik.
Laporan tugas akhir ini dibuat dalam rangka menyelesaikan tugas akhir. Namun pada
proses penulisan tugas akhir ini juga tidak lepas dari bantuan berbagai pihak yang telah
memberikan petunjuk, bimbingan, saran dan pengalaman bagi penulis, sehingga penulis
ingin mengucapkan terima kasih kepada :
1. Tuhan yang Maha Esa karena anugerah dan penyertaan-Nya pada penulis dari
awal memulai proses pengerjaan tugas akhir hingga akhirnya bisa menyelesaikan
tugas akhir.
2. Bapak Petrus Setyo Prabowo, S.T., M.T. selaku ketua Jurusan Teknik Elektro,
Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta yang telah
memberikan kesempatan kepada penulis untuk menyelesaikan tugas akhir
3. Bapak Martanto, S.T., M.T. selaku dosen pembimbing penulis, yang telah
memberikan petunjuk, bimbingan, dan saran dalam pengerjaan tugas akhir.
4. Bapak Ir. Tjendro, M.Kom. dan Ibu Ir.Th. Prima Ari Setiyani, M.T. selaku dosen
penguji penulis, yang telah memberikan petunjuk, bimbingan, dan saran dalam
pengerjaan tugas akhir.
5. Seluruh dosen dan laboran Teknik Elektro yang telah memberikan ilmu dan
pengalaman yang bermanfaat bagi penulis.
6. Teman-teman penulis yang telah bersama-sama berjuang mengerjakan tugas
akhir baik yang ada di yogyakarta maupun yang ada di luar yogyakarta.
7. Keluarga penulis yang telah mendukung dan memberikan semangat selama
pengerjaan tugas akhir, memberikan berbagai inspirasi yang sangat bermanfaat
bagi penulis..
8. Pihak yang ahli dalam bidang hidroponik karena penulis sudah diberi kesempatan
untuk ikut belajar dan mendapat berbagai pengalaman dalam dunia hidroponik.
9. Semua pihak yang belum disebutkan yang sudah membantu dan mendukung
pengerjaan tugas akhir.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
HALAMAN JUDUL ( Bahasa Indonesia ) ............................................................................ i
HALAMAN JUDUL ( Bahasa Inggris ) ............................................................................... ii
LEMBAR PERSETUJUAN ................................................................................................. iii
LEMBAR PENGESAHAN .................................................................................................. iv
PERNYATAAN KEASLIAN KARYA ................................................................................ v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ..................................................... vi
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS ........................................................................................... vii
INTISARI ........................................................................................................................... viii
ABSTRACT ......................................................................................................................... ix
KATA PENGANTAR ........................................................................................................... x
DAFTAR ISI ....................................................................................................................... xii
DAFTAR GAMBAR ......................................................................................................... xvv
DAFTAR TABEL ............................................................................................................ xviii
BAB I PENDAHULUAN ..................................................................................................... 1
1.1. Latar Belakang ............................................................................................................ 1
1.2. Tujuan dan Manfaat .................................................................................................... 4
1.3. Batasan Masalah ......................................................................................................... 4
1.4. Metodologi Penelitian ................................................................................................. 5
BAB II DASAR TEORI ........................................................................................................ 7
2.1. Kondisi Hidup Selada Grand Rapid ............................................................................ 7
2.2. Nutrisi Untuk Hidroponik ........................................................................................... 9
2.3. Nutrient Film Technique ............................................................................................. 9
2.4.Motor DC Gearbox 1:48 L ........................................................................................ 11
2.5. Diaphragm Water Pump Motor DC .......................................................................... 12
2.6. RTC ........................................................................................................................... 13
2.7. Modul Sensor Cahaya LDR ...................................................................................... 15
2.8. Modul Relay.............................................................................................................. 16
2.9. Lampu LED Biru dan Merah .................................................................................... 17
2.10. Sensor TDS ............................................................................................................. 19
2.11. Sensor pH ................................................................................................................ 21
2.12. Arduino Mega 2560 ................................................................................................ 22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.13. Raspberry Pi 3 ......................................................................................................... 23
2.14. Cayenne myDevice ................................................................................................. 25
2.15. Hukum Ohm dan Daya ........................................................................................... 27
BAB III RANCANGAN PENELITIAN ............................................................................. 28
3.1. Model Sistem ............................................................................................................ 28
3.2. Perancangan Perangkat Keras ................................................................................... 29
3.2.1. Plant Hidroponik sistem NFT ............................................................................ 29
3.2.2. Perancangan Rangkaian Utama .......................................................................... 32
3.2.3. Perancangan Rangkaian Modul Sensor Total Dissolved Solids ......................... 33
3.2.4. Perancangan Rangkaian Modul Sensor pH ........................................................ 34
3.2.5. Perancangan Rangkaian Modul Sensor Light Dependent Resistor .................... 35
3.2.6. Perancangan Rangkaian Motor Pengaduk.......................................................... 36
3.2.7. Perancangan Rangkaian Lampu LED ................................................................ 37
3.2.8. Perancangan Rangkaian Diaphragm Pump........................................................ 38
3.2.9. Raspberry Pi 3 .................................................................................................... 39
3.2.10. Komunikasi Arduino dan Raspberry Pi ........................................................... 40
3.3. Perancangan Perangkat Lunak .................................................................................. 40
3.3.1. Diagram Alir Proses Kerja Sistem ..................................................................... 41
3.3.2. Diagram Alir Sub-routine Pengukuran pH, TDS dan Pengendalian Proses
Pemberian Nutrisi ......................................................................................................... 42
3.3.3. Diagram Alir Sub-routine Pengendalian Lampu LED ....................................... 44
3.3.4. Perancangan Pemantauan Jarak Jauh ................................................................. 45
3.3.5. Perancangan Graphical User Interface ( GUI ) ................................................. 46
BAB IV HASIL PENGAMATAN DAN PEMBAHASAN ................................................ 49
4.1. Sistem Monitoring dan Pengendali Alat ................................................................... 49
4.1.1. GUI Alat ............................................................................................................. 51
4.1.2. Sistem Pengukuran nilai TDS dan pH................................................................ 51
4.1.3. Sistem Pengukuran Cahaya ................................................................................ 52
4.1.4. Sistem Pengendalian Proses Pemberian Nutrisi ................................................. 53
4.1.5. Pengendalian Lampu .......................................................................................... 58
4.1.6. Pengujian Pengukuran TDS dan pH dan Pengendalian Proses Pemberian Nutrisi
61
4.1.7. Pengujian Pengukuran Cahaya dan Pengendalian Lampu ................................. 64
4.1.8. Desain motor pengaduk ...................................................................................... 65
4.2. Implementasi Perangkat Keras ................................................................................. 65
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
4.3. Implementasi Perangkat Lunak................................................................................. 71
4.3.1. Bagian – Bagian GUI ....................................................................................... 721
4.3.2. Manual Penggunaan GUI ................................................................................... 72
4.3.3. Program Pembacaan dan Pemrosesan Data dari Arduino .................................. 73
4.3.4. Program Penerimaan Data pada Raspberry Pi ................................................... 74
4.3.5. Program Pengukuran Cahaya ............................................................................. 75
4.3.6. Program Proses Pengendalian Pemberian Nutrisi .............................................. 76
4.3.7. Program Proses Pengendalian Rangakaian Lampu LED ................................... 78
4.3.8. Program Penyimpanan Data ............................................................................... 78
4.3.9. Pengaturan Cayenne ........................................................................................... 80
4.3.10. Sistem Pemantauan Jarak Jauh ......................................................................... 82
4.3.11. Kalibrasi Modul Sensor TDS ........................................................................... 83
4.3.12. Kalibrasi Modul Sensor pH .............................................................................. 86
4.3.13. Kalibrasi Modul Sensor LDR ........................................................................... 88
4.3.14. Perubahan Pada Software ................................................................................. 90
4.3.15. Implementasi Lampu LED ............................................................................... 90
BAB V KESIMPULAN DAN SARAN .............................................................................. 91
5.1. Kesimpulan ............................................................................................................... 91
5.2. Saran ......................................................................................................................... 91
DAFTAR PUSTAKA .......................................................................................................... 92
LAMPIRAN ........................................................................................................................ 95
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR GAMBAR
Gambar 1.1. Diagram Blok Sistem ............................................................................................... 5
Gambar 2.1. Tanaman Selada Grand Rapids ....................................................................... 7
Gambar 2.2. Pencahayaan Pada Bagian – Bagian Ruangan .................................................. 8
Gambar 2.3. Gambar ilustrasi sistem Nutrient Film Technique .......................................... 10
Gambar 2.4. Dimensi Gearbox ............................................................................................ 12
Gambar 2.5. Pergerakan Diaphragm Pump ......................................................................... 12
Gambar 2.6. Pin RTC DS3231 ............................................................................................ 13
Gambar 2.7. Siklus perhitungan RTC ................................................................................. 14
Gambar 2.8. Light Dependent Resistor ............................................................................... 15
Gambar 2.9. Modul Relay 2 Channel .................................................................................. 16
Gambar 2.10. Rangkaian Lampu ......................................................................................... 17
Gambar 2.11. SMD LED ..................................................................................................... 18
Gambar 2.12. Skematik Total Dissolved Solid Dfrobot ...................................................... 19
Gambar 2.13. Skematik Total Dissolved Solid Dfrobot ...................................................... 20
Gambar 2.14. Gambar Sensor pH ........................................................................................ 21
Gambar 2.15. Gambar Arduino Mega 2560 ........................................................................ 22
Gambar 2.16. Gambar Pin Arduino Mega 2560 .................................................................. 23
Gambar 2.17. Fitur pada Raspberry Pi 3 ............................................................................. 23
Gambar 2.18. Pin pada Raspberry Pi 3 ................................................................................ 24
Gambar 2.19. Dashboard Cayenne myDevices .................................................................. 25
Gambar 2.20. Fitur Bring Your Own Thing ......................................................................... 26
Gambar 2.21. Kondisi Raspberry Pi .................................................................................... 27
Gambar 3.1. Rancangan Plant Hidroponik Sistem NFT ..................................................... 29
Gambar 3.2. Rancangan Plant Hidroponik Sistem NFT ..................................................... 30
Gambar 3.3. Dimensi Bak Penampungan Air dan Nutrisi .................................................. 31
Gambar 3.4. Dimensi dan Isi Bak Penampungan ................................................................ 32
Gambar 3.5. Rangkaian Keseluruhan .................................................................................. 33
Gambar 3.6. Rangkaian Arduino dan modul sensor TDS ................................................... 34
Gambar 3.7. Rangkaian Arduino dan modul sensor pH ...................................................... 35
Gambar 3.8. Rangkaian Modul Sensor LDR dan Raspberry Pi .......................................... 36
Gambar 3.9. Gambar Rangkaian Motor Pengaduk.............................................................. 36
Gambar 3.10. Gambar Rangkaian Lampu ........................................................................... 37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Gambar 3.11. Rangkaian LED line strip MSD .................................................................... 38
Gambar 3.12. Gambar Rangkaian Pompa Nutrisi ............................................................... 38
Gambar 3.13. Penghubungan Raspberry Pi dan Arduino .................................................... 40
Gambar 3.14. Diagram Alir Utama ..................................................................................... 41
Gambar 3.15. Proses Pengukuran pH,TDS dan Pengendalian Proses Pemberian Nutrisi .. 43
Gambar 3.16. Proses Pengendalian Lampu LED ................................................................ 44
Gambar 3.17. Diagram Pemantauan Jarak Jauh .................................................................. 46
Gambar 3.18. Tampilan GUI ............................................................................................... 47
Gambar 4.1. Bentuk Alat ..................................................................................................... 49
Gambar 4.2. Bentuk Alat Lanjutan ...................................................................................... 50
Gambar 4.3. GUI Alat ......................................................................................................... 51
Gambar 4.4. Kondisi GUI setelah batas TDS dimasukan ................................................... 53
Gambar 4.5. Kondisi GUI pada saat Pompa Nutrisi Hidup ................................................. 54
Gambar 4.6. Tampilan Cayenne Pompa Aktif .................................................................... 54
Gambar 4.7. Kondisi Relay dan Pompa Nutrisi .................................................................. 55
Gambar 4.8. Kondisi GUI pada saat Motor Pengaduk Hidup ............................................. 56
Gambar 4.9. Tampilan Cayenne Motor Aktif ...................................................................... 56
Gambar 4.10. Kondisi Relay dan Motor Pengaduk ............................................................. 57
Gambar 4.11. Kondisi GUI Pengendalian Lampu ............................................................... 58
Gambar 4.12. Tampilan Cayenne Lampu Aktif .................................................................. 59
Gambar 4.13. Kondisi Relay dan Lampu ............................................................................ 59
Gambar 4.14. Lampu Aktif.................................................................................................. 60
Gambar 4.15. Kondisi GUI pada saat Cahaya Cukup dan Lampu Mati ............................. 60
Gambar 4.16. Tampilan Cayenne Lampu Tidak Aktif ........................................................ 61
Gambar 4.17. Data Hasil Pengukuran ................................................................................. 63
Gambar 4.18. Data Hasil Pengukuran ................................................................................. 64
Gambar 4.19. Data Hasil Pengukuran ................................................................................. 64
Gambar 4.20. Motor Pengaduk............................................................................................ 65
Gambar 4.21. Plant Hidroponik .......................................................................................... 65
Gambar 4.22. Bak Penampung Air dan Rangkaian Pengendali .......................................... 66
Gambar 4.23. Bak Penampung Air Tampak Atas ............................................................... 67
Gambar 4.24. Bagian Dalam Bak Penampung Air .............................................................. 68
Gambar 4.25. Rangkaian Pengendali .................................................................................. 69
Gambar 4.26. Bagian Bak Penampung Nutrisi dan Pompa Nutrisi ..................................... 70
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Gambar 4.27. Adaptor dan sumber tegangan ...................................................................... 70
Gambar 4.28. Bagian – Bagian GUI.................................................................................... 71
Gambar 4.29. Program Pengukuran Data TDS dan pH ....................................................... 74
Gambar 4.30. Program Pembacaan Data dari Arduino ke Raspberry Pi ............................. 74
Gambar 4.31. Fungsi Pengukuran Cahaya .......................................................................... 75
Gambar 4.32. Proses Pengendalian Nutrisi ......................................................................... 76
Gambar 4.33. Proses Pengendalian Pemberian Nutrisi ....................................................... 77
Gambar 4.34. Proses Pengendalian Rangkaian Lampu LED .............................................. 78
Gambar 4.35. Program Penyimpanan Data ......................................................................... 79
Gambar 4.36. Pembuatan Device Baru ................................................................................ 80
Gambar 4.37. Fitur Bring Your Own Thing ......................................................................... 80
Gambar 4.38. Pengaturan Custom Widget ........................................................................... 81
Gambar 4.39. Tampilan Dashboard yang berisi Widget-Widget ........................................ 81
Gambar 4.40. Sistem Pemantauan Jarak Jauh ..................................................................... 82
Gambar 4.41. Sensor dan Alat ukur di udara ...................................................................... 84
Gambar 4.42. Sensor dan Alat ukur di udara ...................................................................... 84
Gambar 4.43. Sensor dan Alat Ukur di air keran. ............................................................... 85
Gambar 4.44. Sensor dan Alat Ukur di air aquades ............................................................ 85
Gambar 4.45. Sensor dan Alat ukur di aquades dan 2.51 gram gula................................... 86
Gambar 4.46. Pengukuran Larutan Buffer dengan pH 7.00 ................................................ 87
Gambar 4.47. Pengukuran Larutan Buffer dengan pH 4.00 ................................................ 87
Gambar 4.48. Pengukuran Larutan Buffer dengan pH 10.1 ................................................ 88
Gambar 4.49. Kalibrasi Modul Sensor LDR Mati............................................................... 89
Gambar 4.50. Kalibrasi Modul Sensor LDR Hidup ............................................................ 89
Gambar 4.51. Spektrum Warna Lampu ............................................................................... 90
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
DAFTAR TABEL
Tabel 2.1. Spesifikasi Signal Transmitter Board ................................................................ 20
Tabel 2.2. Spesifikasi Signal Transmitter Probe ................................................................. 20
Tabel 2.3. Spesifikasi Modul Sensor pH ............................................................................. 22
Tabel 3.1. Rancangan Pin modul sensor TDS dengan Arduino .......................................... 34
Tabel 3.1. Penggunaan Pin GPIO pada Raspberry Pi.......................................................... 39
Tabel 3.2. Format Data yang akan dikirim ke Cayenne ...................................................... 45
Tabel 4.1. Bagian – bagian alat ........................................................................................... 50
Tabel 4.2. Data Hasil Pengujian dan Pengendalian Proses Pemberian Nutrisi .................. 61
Tabel 4.3. Fungsi Bagian – Bagian GUI ............................................................................. 71
Tabel 4.4. Penentu Durasi Hidup Pompa ............................................................................ 76
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PEDAHULUAN
1.1. Latar Belakang
Berkebun dengan sistem hidroponik tidak memerlukan banyak ruang dan
menggunakan media yang relatif lebih bersih dibanding tanah yaitu air [1]. Begitu juga
dengan penggunaan pupuk dan senyawa kimia, penggunaan pestisida yang lebih sedikit
dapat membantu melestarikan lebah yang bertugas untuk penyerbukan dan menghasilkan
sayuran yang lebih sehat supaya aman untuk dikonsumsi. Penggunaan pupuk sintetis juga
dapat mengurangi polusi, pupuk sintetis yang digunakan pada tanah cenderung terbuang ke
saluran pembuangan dan akhirnya menuju ke laut yang akan membahayakan ekosistem laut
[2]. Berbeda dengan sistem hidroponik, hampir seluruh nutrisi akan diserap oleh tanaman
karena nutrisinya akan berada terus dalam aliran air yang mengalir secara terus menerus
dalam sistem tertutup. Berkebun dengan cara konvensional yang masih memerlukan banyak
sumber daya manusia dan lahan yang lebih luas untuk mendapatkan hasil yang optimal.
Sementara setiap tahun lahan pertanian contohnya di DKI Jakarta pada tahun 2012
sampai tahun 2016 semakin menurun [3] begitu juga dengan lahan pemukiman yang
semakin sempit dan padat penduduk maka luas lahan terbuka hijau menjadi semakin sempit
namun sudah ada solusinya yaitu hunian vertikal [4]. Namun hunian vertikal juga memiliki
masalah yaitu lahan terbatas yang sulit untuk diperluas sehingga tidak ada tempat untuk
menanam secara konvensional maka bertanam secara hidroponik bisa menjadi solusinya
karena dapat dilakukan didalam ruangan [5], dengan beberapa peralatan pendukung seperti
lampu sebagai pengganti matahari dan piranti lain untuk memantau kondisi kebun
hidroponik. Berkebun dengan sistem hidroponik di dalam ruangan juga dapat dilakukan
secara vertical farming sehingga dapat menghemat tempat dan air, serta tanaman dapat
tumbuh lebih cepat. Selain itu, berkebun di dalam ruangan juga lebih aman karena resiko
kebun terkontaminasi zat yang tidak diinginkan ( seperti dari air hujan ) menjadi lebih kecil.
Ruangan dapat di isolasi dan segala variabel seperti lama penyinaran, intensitas
cahaya, kondisi air serta nutrisi dapat dikontrol, begitu juga dengan kondisi air dan nutrisi
tidak seperti pada kebun di luar ruangan yang rawan terkontaminasi air hujan atau pada saat
musim kemarau suhu meningkat sehingga membuat penguapan air meningkat [6]. Setiap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
tanaman memiliki ketentuan jumlah nutrisi, lama penyinaran, intensitas cahaya yang
berbeda. Pada setiap fase pertumbuhan dari usia tanaman masih muda, kemudian remaja lalu
selanjutnya berbunga atau berbuah juga memiliki kebutuhan yang berbeda – beda [2]. Ketika
menggunakan teknologi maka semua hal tersebut dapat dikontrol, terlebih bila menggunakan
sistem hidroponik di dalam ruangan yang semakin mempermudah pengontrolan karena area
yang dikontrol menjadi lebih tertutup, sehingga dengan perawatan yang tepat maka tanaman
akan tumbuh lebih cepat dan optimal [6].
Kemudian yang menjadi masalah adalah kesulitan memantau kondisi parameter –
parameter kebun hidroponik secara kasat mata seperti total dissolved solids pada air dan pH
air, tanpa menggunakan sensor atau alat ukur lain. Penggunaan alat ukur manual
membutuhkan waktu pada saat proses pengukuran, bila menggunakan sensor yang dipasang
secara terus menerus pada parameter yang akan diukur maka akan menjadi lebih mudah
karena data hasil pengukuran parameter akan langsung otomatis tertampil tanpa proses
campur tangan manusia secara manual seperti mencelup alat ukur ke air. Manusia tidak bisa
melihat secara seluruh informasi yang ada pada kebun dan tanaman seperti kadar nutrisi
dalam air, ph air dan intensitas cahaya matahari yang ada, sehingga manusia memerlukan
bantuan teknologi seperti komputer, kamera, artificial intelligence, sensor serta aktuator
yang dapat menunjukan nilai yang lebih tepat serta menunjukan kondisi tanaman [2]. Tanpa
menggunakan alat ukur dan pewaktuan yang tepat, semua parameter yang menunjang
kebutuhan kebun hidroponik hanya dilakukan dengan perkiraan, seperti pada jadwal dan
dosis pemberian nutrisi yang tidak dapat dilakukan secara tepat terlebih bila jumlah kebun
banyak dan lokasi sulit dicapai karena semua harus dilakukan secara manual, mulai dari
pencampuran nutrisi secara langsung sampai pemberian nutrisi yang berarti memerlukan
campur tangan manusia. Padahal dengan jumlah kebun yang luas dan banyak akan memakan
banyak waktu. Selain itu, ketika ingin berkebun sendiri akan sulit dilakukan karena aktifitas
manusia yang padat, cenderung sibuk dengan berbagai hal dan waktu termakan habis di jalan
misalkan ketika macet, terutama untuk yang hidup di kota besar, terlebih pada zaman
sekarang yang semakin maju, manusia lebih menginginkan sesuatu yang praktis. Sementara
aktivitas berkebun membutuhkan waktu, tenaga dan perhatian yang cukup banyak bila
dilakukan secara manual. Sehingga ada alternatif lain yaitu dengan menggunakan aplikasi
dari sistem pengendali menggunakan mikrokontroler yang dapat bekerja secara otomatis
tanpa memerlukan banyak campur tangan manusia serta dapat memperlihatkan nilai dari
parameter – parameter yang tidak kasat mata dengan bantuan sensor-sensor atau alat ukur.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
Mikrokontroler, sensor serta aktuator yang digunakan juga dapat membantu mempercepat
proses pemberian nutrisi serta pengelolaan kebun hidroponik sehinga waktu yang digunakan
juga dapat menjadi lebih efisien terutama bila kebun hidroponik yang berukurang cukup
besar.
Pengembangan sistem kontrol hidroponik menggunakan mikrokontroler sudah pernah
dibuat, salah satunya oleh Maria Angela Kartika (2017) dengan judul skripsi “Otomatisasi
sistem irigasi dan pemberian kadar nutrisi berdasarkan nilai Total Dissolve Solid (TDS) pada
hidroponik Nutrient Film Technique”, namun masih dilakukan di luar ruangan sehingga
pengembangan yang akan dilakukan adalah kebun hidroponik di dalam ruangan. Pada kebun
hidroponik di dalam ruangan dibutuhkan pencahayaan buatan karena tidak sepenuhnya
terpapar cahaya matahari langsung. Sebenarnya bila plant kebun hidroponik terus menerus
terpapar langsung sinar matahari dapat memicu pertumbuhan lumut yang sangat cepat dan
membuat plant menjadi harus tersumbat serta kotor sehingga harus lebih sering dibersihkan.
Namun bila tidak terlalu sering terpapar sinar matahari maka akan memudahkan
perawatannya, hal tersebut dapat dilakukan dengan cara membuat kebun hidroponik di
dalam ruangan. Untuk menggantikan pencahayaan matahari maka akan di gunakan lampu
LED khusus untuk pertumbuhan tanaman supaya intensitas cahaya serta lama penyinaran
bisa di kendalikan. Pemantauan kondisi lingkungan hidup hidroponik juga tidak boleh
terlupakan, maka akan digunakan Sensor TDS serta sensor pH untuk memantau kondisi air.
Untuk pencampuran nutrisi dan pemberian nutrisi, alat yang akan digunakan adalah motor
pengaduk serta pompa motor dc sehingga pencampuran dan pemberian nutrisi dapat
dilakukan secara otomatis. Bahkan bila dilakukan didalam ruangan, pengendalian parameter
– parameter dapat menjadi lebih mudah karena berbeda dari lahan terbuka yang terpapar
berbagai faktor dari luar yang sulit dikendalikan, area yang harus dipantau juga menjadi
tidak terlalu luas. Pemantauan seluruh parameter tersebut juga menjadi hal yang akan
dikembangkan yaitu pemantauan plant dapat dilakukan dari jarak jauh. Pemantauan dari
jarak jauh merupakan hal yang perlu dikembangkan untuk mengikuti perkembangan jaman.
Internet dijadikan sarana pemantauan jarak jauh karena jaman sekarang penggunaan internet
sangat mudah dan cukup cepat sehingga menjadi sangat dapat diandalkan dapat disebut
sebagai konsep Internet of Things (IoT). Pengembangan juga akan dibuat berdasarkan
konsep Internet of Things. Informasi dari plant akan dapat dipantau melalui jarak jauh dan
sangat mempermudah proses pemantauan dan pengambilan data, pemantauan tersebut juga
dapat dilakukan dengan cukup mudah dan hanya membutuhkan koneksi internet.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.2. Tujuan dan Manfaat
Tujuan dari penelitian ini adalah untuk membuat suatu sistem pengendali kadar Total
Dissolved Solids pada air, sistem pemberian nutrisi dan sistem pencahayaan kebun
hidroponik di dalam ruangan menggunakan mikrokontroler Raspberry Pi dan Arduino.
Semua nilai – nilai dari sensor serta keadaan aktuator sistem juga menjadi data digital yang
ditampilkan pada Graphical User Interface.
Manfaat penelitian ini bagi dunia pertanian adalah menyediakan sebuah sistem
pengendali yang dapat digunakan untuk otomatisasi proses berkebun sehingga tidak
memerlukan banyak campur tangan manusia serta dapat memperoleh nilai parameter –
parameter yang ada pada lingkungan tempat tanaman hidup dengan jelas dan aktual supaya
dapat memberikan nutrisi yang tepat dan pencahayaan yang cukup sehingga tanaman dapat
bertumbuh dengan cepat dan berkembang secara optimal.
1.3. Batasan Masalah
Pada tugas akhir ini akan dibuat sistem pengendali kebun hidroponik berbasis
Raspberry Pi. Batasan masalah pada alat yang akan dibuat adalah sebagai berikut :
1. Jenis tanaman yang ditanam adalah Selada Grand Rapid.
2. Jumlah tanaman yang ditanam adalah 16 tanaman.
3. Modul Sensor TDS untuk mengukur kondisi air terkait Total Dissolved Solids
dalam air dengan rentang pengukuran dari 0 sampai 1000 ppm.
4. Modul Sensor pH untuk mengukur Kondisi air terkait pH dalam air dengan rentang
pengukuran dari 0 sampai 14.
5. Modul RTC sebagai sumber pewaktuan untuk penjadwalan penyinaran.
6. Penyinaran menggunakan lampu LED berwarna merah dan biru .
7. Pencampuran nutrisi menggunakan pengaduk yang digerakan oleh motor dc.
8. Pemberian nutrisi menggunakan diaphragm pump motor dc untuk mengalirkan
nutrisi ke bak air utama.
9. Mikrokontroler Raspberry Pi 3 untuk pembuatan GUI, sistem kontrol, pengolah
data dan mengirimkan data melalui internet.
10. Mikrokontroler Arduino Mega 2560 untuk pembacaan nilai sensor analog dan
pengiriman data ke Raspberry Pi 3.
11. Informasi dapat dipantau dari jarak jauh melalui aplikasi android Cayenne
myDevice.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
1.4. Metodologi Penelitian
Metode penelitian yang digunakan dalam penyusunan tugas akhir ini adalah :
1. Studi Pustaka
Studi pustaka menggunakan sumber berupa buku cetak maupun elektronik,
video, website, jurnal penelitian dan wawancara mengenai sistem hidroponik,
kondisi hidup dan nutrisi untuk selada grand rapid, piranti pendukung seperti
lampu, mikrokontroler dan berbagai sensor-sensor yang akan digunakan seperti
sensor pH dan Total Dissolved Solids.
2. Percobaan
Percobaan penggunaan sensor-sensor dan penanaman tanaman yang akan
digunakan supaya dapat lebih mengenal karakteristik dari masing-masing aspek.
Informasi yang didapat akan digunakan saat melakukan perancangan dan
pembuatan alat supaya dapat disesuaikan dengan kemampuan aspek yang ada.
3. Perancangan dan pembuatan alat
Sensor pH
Arduino Mega 2560
Raspberry Pi 3
RTC
Sensor
Analog TDS
Pompa motor dc
Nutrisi A
Pompa motor dc
Nutrisi B
Lampu Merah &
Biru
Motor Pengaduk
Internet
GUI
Relay 1
Relay 2Sensor LDR
Gambar 1.1. Diagram Blok Sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Penentuan hardware yang akan digunakan, meliputi jenis sensor-sensor yang
akan digunakan untuk perkembangan tanaman hidroponik, begitu juga dengan
software yang akan digunakan meliputi untuk pemrograman, pemantauan jarak
jauh serta melakukan pengiriman data dari sensor-sensor menuju mikrokontroler.
Lalu akan diolah di mikrokontroler untuk dapat mengirimkan perintah untuk
melakukan sesuatu sebagai tindak lanjut dari data yang didapat serta pembuatan
GUI untuk mempermudah pengamatan. Setelah menentukan semuanya maka
dilanjut dengan pembuatan plant , seperti gambar 1.1, sensor yang akan digunakan
adalah sensor pH dan sensor TDS kemudian data dari sensor-sensor akan dibaca
oleh Arduino dan dikirim ke Raspberry Pi untuk pengolahan data, sistem kontrol
dan pengiriman data jarak jauh maupun ditampilkan pada GUI. Alat yang akan
dikontrol adalah solenoid valve, lampu dan motor sementara RTC akan digunakan
untuk sumber pewaktuan dalam penjadwalan.
4. Pengamatan dan Pengambilan Data
Pengambilan data berupa total dissolved solids dan pH di air, kesesuaian
jadwal penyinaran, pemberian nutrisi serta urutan pelaksanaan pemberian serta
pencampuran nutrisi dengan pengaturan yang sudah dibuat. Pengamatan dari data-
data yang telah didapat seperti kesesuaian jadwal penyinaran yang telah dibuat,
urutan pelaksanaan pemberian nutrisi berkaitan dengan data TDS di air selanjutnya
proses pengadukan sampai pengukuran nilai TDS kembali. Data – data tersebut
diambil untuk kebutuhan pembahasan dan pembuatan kesimpulan.
5. Pembahasan dan Kesimpulan
Pembahasan dan kesimpulan diambil berdasarkan pengamatan dari
percobaan yang telah dilakukan lalu dibandingkan dengan teori serta perancangan.
Pembahasan mengenai data yang didapat setelah dilakukan percobaan
dibandingkan dengan perancangan, bila sesuai atau tidak sesuai maka akan
dianalisis pada bagian pembahasan. Setelah beberapa pembahasan dilakukan
maka ditarik kesimpulan akhir dari pelaksanaan perancangan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
BAB II
DASAR TEORI
2.1. Kondisi Hidup Selada Grand Rapid
Gambar 2.1. Tanaman Selada Grand Rapid
Selada grand rapid biasa ditanam di dataran tinggi, namun bisa juga ditanam di dataran
rendah-menengah, penanaman selada grand rapid tidak hanya bisa dilakukan dengan media
tanam berupa tanah tapi dapat dilakukan juga dengan cara hidroponik. Selada grand rapids
termasuk sayuran yang tumbuh cukup cepat sehingga menguntungkan secara ekonomi,
benih selada grand rapids membutuhkan waktu tanam 25 hingga 30 hari untuk dapat siap
digunakan menjadi bibit, setelah menjadi bibit selada grand rapid dapat ditanam langsung
pada media tanam dan biasanya dapat dipanen 20 hingga 30 hari setelah penanaman,
sehingga total penanamannya dari benih sampai bisa dipanen adalah 40 hingga 60 hari [7].
Selada grand rapids seperti pada gambar 2.1, termasuk jenis sayuran daun atau selada daun
yang dikonsumsi adalah bagian daun. Berkebun dengan teknik hidroponik sangat baik untuk
jenis sayuran daun dan sayuran buah sehingga selada Grand Rapids sangat cocok untuk
ditanam dengan teknik hidroponik. Aspek terpenting dari berkebun secara hidroponik adalah
air itu sendiri. Selada Grand Rapids membutuhkan air dengan pH antara 6.0 – 7.0 dan total
dissolved solids sebesar 560 – 840 ppm [8].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Untuk kondisi udara, selada air harus mendapatkan CO2 yang cukup sehingga harus
ada ventilasi yang cukup untuk sirkulasi udara, namun tidak boleh terkena cahaya matahari
langsung untuk mencegah pertumbuhan alga dan lumut pada plant, suhu udara yang optimal
adalah lebih dari 13 derajat celcius pada malam hari dan kurang dari 24 derajat celcius pada
siang hari [9]. Ketika tanaman atau bibit terpapar suhu udara yang terlalu panas ( lebih dari
26 derajat celcius ) selama waktu yang cukup lama maka tanaman akan mengalami bolting,
yaitu keadaan ketika tanaman masih muda tetapi sudah mulai menghasilkan biji sehingga
membuat tanaman tersebut tidak dapat dipanen hasil daun atau buah dan tidak dapat
digunakan. Penggunaan sistem berkebun hidroponik dalam ruangan membuat suhu ruangan
dapat diatur dan relatif lebih rendah daripada diluar ruangan. Berkebun dalam ruangan juga
dapat dibantu menggunakan air conditioner untuk semakin menurunkan suhu ruangan
sehingga selada dapat tumbuh lebih optimal. Berkebun dalam ruangan dapat dilakukan untuk
tumbuhan selada karena tumbuhan sayuran seperti selada, bayam, dan arugula dapat tumbuh
dengan baik pada kebun yang teduh. Sayuran daun membutuhkan setidaknya dua jam
penyinaran matahari dalam sehari, untuk dapat tumbuh dengan baik. Sedangkan sayuran
buah yang tanamannya harus berbunga terlebih dahulu seperti tomat, timun, cabai, waluh
dan terong tidak cocok untuk ditanam pada kebun yang teduh [10]. Jenis tanaman
berdasarkan kebutuhan cahaya dibagi menjadi 4 jenis yaitu tanaman dengan pencahayaan
rendah ( 500 – 2500 lux ) , tanaman dengan pencahayaan sedang ( 2500 – 10000 ), tanaman
dengan pencahayaan terang ( 10000 – 20000 ) dan tanaman dengan pencahayaan sangat
terang ( 20000 – 50000). Pencahayaan 500 lux setara dengan ruangan kantor pada umumnya
atau ruangan dengan jendela, sedangkan pencahayaan 10000 – 25000 lux setara dengan
pencahayaan di luar ruangan tanpa terkena sinar matahari langsung, dan untuk pencahayaan
32000 – 100000 lux setara dengan pencahayaan di luar ruangan dengan terkena sinar
matahari langsung seperti pada gambar 2.2. Selada termasuk jenis tanaman dengan
kebutuhan pencahayaan rendah sehingga cocok ditanam pada kebun di dalam ruangan
dengan jendela [11].
Gambar 2.2. Pencahayaan Pada Bagian – Bagian Ruangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
2.2. Nutrisi Untuk Hidroponik
Air pada umumnya tidak mengandung mineral dan vitamin yang cukup untuk tanaman
dapat tumbuh secara optimal, tidak seperti tanah. Terlebih air sumur atau air distilasi yang
memiliki ppm hampir mendekati 0 ppm, namun air dengan kandungan tds mendekati 0 ppm
bagus untuk tanaman hidroponik karena dianggap steril dan bersih dari berbagi unsur dan
partikel yang tidak diinginkan. Sehingga untuk dapat memenuhi kebutuhan nutrisi tanaman
maka dibutuhkan nutrisi tambahan. Nutrisi tambahan yang akan digunakan adalah nutrisi ab
mix, yaitu nutrisi a dan b . Nutrisi ab mix terdiri dari berbagai mineral dengan takaran yang
berbeda – beda untuk memenuhi kebutuhan setiap jenis sayuran, nutrisi A berisi unsur –
unsur makro yang dibutuhkan untuk pertumbuhan tanaman seperti N ( Nitrogen ), Ca (
Kalsium ), K ( Kalium ), Mg ( Magnesium ), S ( Sulfur ) dan P ( Fosfor ) sedangkan nutrisi
B berisi unsur – unsur mikro yang dibutuhkan untuk pertumbuhan tanaman seperti Fe ( Besi
), Mn ( Mangan ), Cu ( Tembaga ), B ( Boron ), Zn ( Zink ), Mo ( Molibdenum ). Untuk jenis
sayuran daun seperti selada, nutrisi ab mix yang digunakan dengan kandungan sekitar 1000
– 1300 ppm. Nutrisi a dan nutrisi b tidak boleh dicampur pada saat belum akan digunakan
pada bak penampung air utama sehingga tempat penyimpanan nutrisi harus dipisah, nutrisi
dalam bentuk serbuk memiliki pH yang sangat tinggi karena dalam bentuk padat sehingga
masing – masing nutrisi harus dilarutkan terlebih dahulu dengan volume air yang
dicampurkan adalah untuk nutrisi dengan ukuran 500 ml maka air yang dibutuhkan adalah
500 ml. Pada setiap tahapan pertumbuhan tanaman membutuhkan nutrisi yang berbeda –
beda. Pada saat tanaman masih berupa biji, nutrisi yang dibutuhkan adalah sekitar 1 ml,
selanjutnya setelah tanaman sudah mulai berkecambah nutrisi yang dibutuhkan naik menjadi
2 ml, kemudian setelah tanaman sudah mulai tumbuh menjadi benih nutrisi yang dibutuhkan
naik menjadi 3 ml. Setelah tanaman tumbuh dan berdaun 4 maka tanaman sudah dapat
dipindahkan ke talang utama dan nutrisi yang dibutuhkan adalah 5 ml. Ketika tumbuhan
sudah mulai dalam fase pendewasaan maka nutrisi yang diberikan sekitar 560 sampai 840
ppm. Batas volume air yang dicampurkan dengan nutrisi adalah setiap 990 ml air maka
nutrisi a yang digunakan adalah 5 ml dan nutrisi b yang digunakan adalah 5 ml sehingga
total menjadi 1 liter campuran air dan nutrisi, dan berlaku berkelipatan.
2.3. Nutrient Film Technique
Nutrient Film Technique adalah salah satu sistem hidroponik yang cocok untuk
tanaman sayuran daun, Selada Grand Rapid termasuk tanaman sayuran daun yang berarti
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
bagian tanaman yang dimanfaatkan adalah bagian daun. Pada sistem NFT, tanaman yang
masih berupa benih ditanam terlebih dahulu pada media tanam rockwool yang dibasahi air
namun tidak sampai menggenang, baru kemudian setelah benih sudah menjadi bibit dan siap
untuk ditanam dari mulai proses peremajaan sampai tanaman siap untuk dipanen, bibit
tersebut dapat dipindahkan ke media tanam sistem hidroponik yaitu talang pipa dengan air
yang mengalir ( pada sistem NFT ) seperti pada gambar 2.2.
Gambar 2.3. Gambar ilustrasi sistem Nutrient Film Technique
Konsep sistem Nutrient Film Technique adalah mengalirkan air berisi nutrisi ke akar
tanaman dengan ketinggian dan aliran air yang rendah, air yang dialirkan dipenuhi oleh
oksigen dan nutrisi yang cukup untuk kebutuhan hidup tanaman. Air berisi nutrisi tersebut
dialirkan melalui saluran berupa talang dengan kemiringan 5-10 derajat supaya air dapat
mengalir, untuk posisi akar tanaman atau media tanam diatur ketinggiannya supaya dapat
menyentuh aliran air dari talang [12], namun bisa juga ditambahkan media seperti kain flanel
untu membantu air dapat diserap oleh rockwool yang berisi akar tanaman bila akar tidak
dapat mencapai air langsung karena pada dasarnya sistem NFT menggunakan air ang
mengalir bukan menggenang. Hidroponik dengan sistem Nutrient Film Technique ini
memiliki keunggulan daripada sistem lain yaitu air nutrisi dialirkan terus menerus dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
ketinggian rendah sehingga tidak ada genangan air yang terlalu tinggi pada talang dan tidak
akan merendam akar tanaman secara terus menerus, hal ini menjadi pembeda dengan sistem
hidroponik lainnya, namun pompa air harus hidup terus menerus untuk mengalirkan air
dengan kata lain sistem ini cukup bergantung pada listrik. Kondisi nutrisi yang terus menerus
dapat disalurkan ke akar tanaman menjadikan sistem ini memiliki beberapa kelebihan.
Kelebihan pertama adalah pertumbuhan tanaman lebih cepat dibandingkan sistem lain
karena kebutuhan akar tanaman untuk air, nutrisi dan oksigennya dapat tercukupi dengan
baik. Kondisi tersebut dapat dicapai dengan adanya aliran air pada talang yang dapat
disentuh oleh akar tanaman sehingga langsung terkena aliran nutrisi seperti pada gambar 2.3.
Selanjutnya, nutrisi untuk tanaman ditampung terlebih dahulu pada bak penampungan,
sehingga lebih mudah untuk melakukan kontrol komposisi atau nilai nutrisi yang diinginkan,
setelah nilai komposisi yang diinginkan dapat terpenuhi maka campuran nutrisi dan air
tersebut bisa dialirkan ke seluruh talang. Nutrisi tersebut terus - menerus mengalir, sehingga
kotoran atau residu nutrisi yang mengendap pada talang dapat diminimalisir dan dapat
tertampung pada bagian akhir dari talang karena air yang mengalir terus menerus dan dibantu
oleh posisi talang yang miring. Kelebihan selanjutnya adalah pada saat listrik mati dan air
tidak mengalir, karena media tanam pada masa pembenihan yaitu rockwool masih ikut
ditanam pada talang, maka air yang tersimpan pada rockwool masih cukup untuk tumbuhan
dapat bertahan ketika aliran airnya berhenti, tidak seperti sistem tanam lain yang biasanya
langsung memberikan air pada akar tanaman seperti pada sistem aeroponik.
Pemberian nutrisi yang dialirkan pada satu talang yang sama memungkinkan nutrisi
yang didapatkan tiap tanaman seragam, sehingga pertumbuhannya pun bisa seragam dan
optimal, kebutuhan oksigen akar pun dapat terpenuhi karena air yang terus mengalir
sehingga akar akan memiliki waktu yang cukup untuk mendapatkan oksigen. Tidak seperti
pada sistem DFT, air pada sistem DFT dibiarkan menggenang dan baru mengisi kembali
ketika air pada talang terlalu sedikit.
2.4. Motor DC Gearbox 1:48 L
Motor Direct Current atau Motor DC adalah jenis motor yang mendapat sumber
tegangan DC dan mengkonversi energi listrik tersebut menjadi rotasi mekanik. Rotasi dapat
terjadi karena medan magnet yang terbentuk ketika arus mengalir dan memicu rotor yang
terpasang pada poros untuk berputar. Terdapat beberapa jenis motor DC yaitu motor DC
dengan brush dan tanpa brush.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Gambar 2.4. Dimensi Gearbox
Motor DC yang akan digunakan adalah motor DC yang sudah tertanam dalam gearbox
untuk memperbesar torsi dan mengurangi kecepatan sehingga mengasilkan tenaga putar
yang lebih besar. Penggunaan gearbox menjadikan ukuran motor DC dapat menjadi lebih
kecil tetapi tetap memproduksi tenaga yang besar [13]. Tegangan kerja dan arus motor DC
yang digunakan adalah 3V dengan arus kurang lebih 160 mA dan 6V dengan arus kurang
lebih 240 mA. Pada saat tegangan 3V kecepatan putar motor DC 130 ± 10% rpm, untuk
tegangan 6V kecepatan putar motor DC 290 ± 10% rpm. Motor DC Gearbox yang akan
digunakan adalah yang berbentuk L dengan 1 shaft seperti gambar 2.4.
2.5. Diaphragm Water Pump Motor DC
Gambar 2.5. Pergerakan Diaphragm Pump
Diaphragm Water Pump Motor DC adalah sebuah pompa dengan pergerakan yang
menggunakan kombinasi dari gerakan katup karet yang saling berlawanan, sehingga
terbentuk ruang sementara untuk air terkumpul, kedua gerakan katup karet ini saling menarik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
dan mengeluarkan cairan dari lubang masukan dan keluaran. Dua lapisan (diaphragm) yang
dihubungkan oleh saluran melalui bagian tengah tempat ruang sementara. Fungsi ruang
sementara adalah untuk mengarahkan udara tekan ke bagian belakang lapisan diafragma
nomor satu yang menyebabkannya air keluar dari ruang sementara. Lapisan diafragma
nomor satu menyebabkan air bergerak keluar dari pompa. Pada saat yang sama diafragma
nomor dua menghisap air. Air di lapisan diafragma nomor dua didorong keluar
menyebabkan tekanan mendorong air ke sisi penghisap. Katup bola penghisap terdorong
keluar dari tempatnya sehingga cairan dapat mengalir melewati katup bola ke dalam ruang
cairan.
Ketika diafragma nomor satu mendapat tekanan dan telah mencapai ujung saluran,
pergerakan air berubah dari lapisan diafragma nomor satu ke diafragma nomor dua melalui
katup air. Air terkompresi mendorong diafragma nomor dua menjauhi ruang sementara
sehingga diafragma nomor satu tertarik ke arah ruang sementara. Pada bilik pompa nomor
dua, katup bola pelepasan terdorong dari tempatnya, sedangkan pada bilik pompa nomor
satu terjadi sebaliknya. Setelah menyelesaikan stroke, katup udara mengarahkan udara lagi
ke bagian belakang diafragma nomor satu dan memulai kembali siklus seperti pada gambar
2.5. [14]. Diaphragm Pump terdiri dari beberapa jenis berdasarkan penggeraknya, untuk
diaphragm pump motor dc, pergerakan lapisan diafragma dan katup digerakan oleh motor
dc secara elektro-mekanikal.
2.6. RTC
Gambar 2.6. Pin RTC DS3231
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Real-time clock ( RTC ) adalah integrated circuit yang berfungsi menunjukan waktu
sebenarnya ( current time ) secara terus menerus. Informasi tersebut dapat dibaca oleh
mikroprosesor, biasanya melalui interface untuk memfasilitasi software yang bergantung
pada waktu, supaya dapat bekerja dengan baik. RTC seperti pada gambar 2.6. tidak
membutuhkan banyak daya, sehingga RTC dapat terus bekerja meskipun sistem utamanya
berhenti bekerja dan dapat menunjukan waktu sebenarnya. RTC biasa digunakan hampir
pada semua instrumentasi, bidang otomasi hingga house metering. RTC biasanya
dihubungkan dengan peralatan lain, seperti IC untuk komunikasi broadband yang digunakan
pada radio mobil [15].
Gambar 2.7. Siklus perhitungan RTC
Siklus perhitungan dari oscillator seperti pada gambar 2.7, dapat dipertahankan oleh
RTC, biasanya clock eksternal sebesar 32.768kHz, kapasitor internal berbasis oscilator, atau
embedded quartz crystal. RTC dapat mendeteksi ripple 50/60Hz pada power supply utama
atau mendeteksi dan mengakumulasi transisi yang muncul dari epoch unit dari GPS. RTC
yang dapat melakukan operasi seperti phase locked loop (PLL), menggeser referensi clock
internal dari RTC menjadi “lock” ke external signal. Jika RTC kehilangan referensi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
eksternal, RTC dapat mendeteksi hal tersebut (karena PLLnya tidak terkunci) dan free run
dari osilator internal. Beberapa jenis RTC dapat mempertahankan pengaturan oscilator pada
titik terakhir yang diketahui sebelum terkunci dengan input.
Sebuah RTC yang dijalankan dari referensi internalnya sendiri akan menyebabkan
error yang berkaitan dengan akurasi absolut dari referensi crystal, RTC juga dipengaruhi
oleh sejumlah kondisi termasuk suhu. Crystal dapat beroprasi pada rentang suhu yang telah
ditentukan, biasanya sekitar -10 ° C ~ 60 ° C - dan akurasinya berkurang jika diluar rentang
suhu yang telah ditentukan.
Daya yang dibutuhkan oleh RTC harus berkelanjutan dan sangat rendah. Daya yang
digunakan RTC berasal dari sirkuit digital ketika perangkat aktif, tetapi beralih ke sumber
daya yang terhubung terus-menerus ketika sirkuit dimatikan. Sumber daya ini dapat berupa
baterai khusus, superkapasitor yang terisi daya, atau catu daya terpisah dari listrik.
Banyak RTC dapat mendeteksi perubahan ini dan masuk ke kondisi daya sangat
rendah ketika daya semua sirkuit dimatikan kecuali sirkuit yang penting untuk menjaga
clock agar menghemat baterai. RTC juga dapat menjalankan fungsi alarm, ketika waktu yang
telah ditentukan tercapai sehingga memicu RTC untuk mengeluarkan output yang dapat
membangunkan prosesor.
2.7. Modul Sensor Cahaya LDR
Gambar 2.8. Light Dependent Resistor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
LDR (Light Dependent Resistor) adalah salah satu jenis resistor yang nilai
resistansinya akan berubah-ubah sesuai dengan intensitas cahaya yang mengenai sensor.
LDR seperti pada gambar 2.8, dapat digunakan sebagai sensor cahaya. Nilai resistansi dari
sensor ini sangat bergantung pada intensitas cahaya. Semakin banyak cahaya yang
mengenainya, maka akan semakin menurun nilai resistansinya. Sebaliknya jika semakin
sedikit cahaya yang mengenai sensor (gelap), maka nilai hambatannya akan menjadi
semakin besar sehingga arus listrik yang mengalir akan terhambat [16]. Sensor LDR ini akan
digunakan untuk mengendalikan lampu sebagai pengganti matahari, ketika sensor LDR
mendeteksi adanya sinar matahari maka lampu akan mati dan ketika sensor LDR tidak
mendeteksi adanya sinar matahari maka lampu akan menyala.
2.8. Modul Relay
Gambar 2.9. Modul Relay 2 Channel
Relay pada dasarnya adalah saklar yang dioperasikan secara elektrik atau
elektromekanis. Relay adalah sakelar elektromagnetik yang dioperasikan oleh arus listrik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
yang relatif kecil yang dapat menghidupkan atau mematikan arus listrik yang jauh lebih
besar. Inti dari sebuah relay adalah sebuah elektromagnet berupa gulungan kawat yang
menjadi magnet sementara ketika dialiri listrik. Relay dapat mengendalikan sebuah
rangkaian elektronik dengan membuka dan menutup kontak di rangkaian lain. Relay pada
dasarnya memiliki dua kondisi, normally open dan normally closed. Pada relay normally
open (NO), kontak dalam kondisi terbuka ketika tidak dialiri arus, dan ketika dialiri arus
maka kontak tertutup. Pada relay normally closed (NC), kontak dalam kondisi tertutup ketika
tidak dialiri arus, dan ketika dialiri arus maka kontak terbuka [17]. Beberapa relay juga bisa
digabungkan menjadi sebuah modul seperti pada gambar 2.9 yaitu modul relay 2 channel
yang terdiri dari 2 buah relay.
Relay biasa digunakan untuk mengalihkan arus yang lebih kecil pada rangkaian
kontrol dan tidak digunakan untuk mengendalikan alat yang membutuhkan daya besar
kecuali motor kecil dan solenoid yang membutuhkan arus kecil. Relay juga banyak
digunakan untuk mengganti koil start, elemen pemanas, lampu pilot, dan alarm suara.
2.9. Lampu LED Biru dan Merah
Gambar 2.10. Rangkaian Lampu
LED atau Light Emitting Diode adalah suatu semikonduktor yang memancarkan
cahaya monokromatik yang tidak koheren ketika diberi tegangan. Lampu LED yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
digunakan akan dihubungkan menggunakan relay untuk menghubungkannya ke sumber
tegangan karena raspberry tidak bisa memberi tegangan yang cukup untuk menghidupkan
lampu LED seperti pada gambar 2.10. Lampu LED digunakan untuk hidroponik
berhubungan dengan panjang gelombangnya yang cocok untuk proses fotosintesis tanaman.
Lampu LED dapat meningkatkan proses pertumbuhan tanaman sehingga dapat menjadi
lebih optimal [18].
Lampu LED yang cocok untuk digunakan pada hidroponik khususnya tanaman selada
dan lobak adalah lampu berwarna merah, biru dan sedikit warna hijau akan membantu proses
pertumbuhan dan perkembangan tanaman. LED merah memiliki panjang gelombang sekitar
625 - 660 nm dan LED biru memiliki panjang gelombang sekitar 450 - 465 nm. Penggunaan
kombinasi antara lampu LED berwarna merah dan biru akan meningkatkan pertumbuhan
tanaman menjadi lebih baik [19]. Lampu LED akan digunakan sebagai pengganti sinar
matahari, sensor LDR akan digunakan sebagai acuan untuk lampu LED. Ketika cahaya
matahari dideteksi oleh sensor LDR sudah cukup maka lampu akan mati tetapi ketika sensor
LDR tidak mendeteksi adanya cahaya matahari yang cukup seperti pada saat mendung atau
berawan, maka lampu akan hidup. Jarak antara lampu dengan tanaman setiap masa
pertumbuhan berbeda, namun kebutuhan cahaya yang dibutuhkan tanaman harus memenuhi
jumlah lux yang dibutuhkan, hal tersebut dapat diatur melalui jarak antara lampu dengan
tanaman sesuai dengan kebutuhan.
LED yang akan digunakan Surface Mount Device LED yaitu metode untuk membuat
sirkuit elektromagnetik dengan komponen – komponen dibentuk langsung dalam PCB.
Teknologi SMD LED lebih efektif dan lebih terang dari LED biasa [20]. Ukuran SMD LED
lebih kecil dan ringan, konsumsi daya pun lebih rendah yaitu berkisar antara 2 sampai 6 volt,
dengan arus 0.02 A sampai 0.03 A. Satu strip SMD LED terdiri atas 3 LED dan 2 resistor
seperti pada gambar 2.11.
Gambar 2.11. SMD LED
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
2.10. Sensor TDS
Gambar 2.12. Skematik Total Dissolved Solid Dfrobot
Sensor analog TDS pada gambar 2.12, adalah sebuah sensor untuk mengukur bahan
padat yang terlarut dalam satu liter air dengan satuan parts-per million. Semakin tinggi nilai
TDS maka semakin banyak bahan padat yang terlarut dalam air, dan sebaliknya semakin
rendah nilai TDS maka semakin sedikit bahan padat yang terlarut dalam air [21]. Moul
sensor TDS mendapat nilai pengkuran dari bagian probe yang dicelupkan ke dalam air yang
terhubung dengan modul probe, kemudian nilai pengukuran tersebut akan diolah pada
Arduino, pada penggunaan pertama kali modul sensor harus dikalibrasi. Sensor analog TDS
mendapat tegangan masukan dari Arduino yang akan digunakan sebagai tegangan referensi
untuk menentukan nilai ADC, sedangkan nilai analog didapat dari probe yang dicelupkan
dalam cairan. Listrik dialirkan pada probe dengan dua elektroda berbeda yang dicelupkan
dalam cairan, kemudian arus yang timbul karena perpindahan ion-ion akan digunakan untuk
mengukur konduktivitas cairan, semakin banyak jumlah ion yang ada maka semakin tinggi
konduktivitas cairan, semakin sedikit jumlah ion ada maka semakin rendah konduktivitas
cairan. Pada pengukuran total dissolved solids, semakin banyak partikel terlarut maka
semakin tinggi jumlah ion sehingga semakin tinggi konduktivitas air dan sebaliknya.
Pengukuran konduktivitas tersebut juga bergantung suhu referensi yaitu 25 derajat celcius.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Gambar 2.13. Skematik Total Dissolved Solid Dfrobot
Sensor Analog TDS ini terdiri dari dua bagian, yaitu Signal Transmitter Board dengan
spesifikasi pada tabel 2.1. dan Signal Transmitter Probe dengan spesifikasi pada tabel 2.2,
kedua bagian tersebut terdapat pada gambar 2.13.
Tabel 2.1. Spesifikasi Signal Transmitter Board
No Variabel Keterangan
1 Tegangan Masukkan 3,3 volt sampai 5,5 volt
2 Tegangan Keluaran 0 volt sampai 2,3 volt
3 Arus 3 sampai 6 mili Ampere
4 Range pengukuran TDS 0 sampai 1000 part per million
5 Akurasi pengukuran ± 10 %
6 Koneksi elektroda XH2.54-2P
7 Koneksi modul PH2.0-3P
Tabel 2.2. Spesifikasi Signal Transmitter Probe
No Variabel Keterangan
1 Jumlah Jarum 2 buah
2 Panjang 83 cm
3 Koneksi XH2.54-2P
4 Jenis probe Tahan air
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
2.11. Sensor pH
Gambar 2.14. Gambar Sensor pH
PH meter adalah alat ukur untuk mengukur derajat keasaman atau kebasaan suatu
cairan, pada Ph meter digital terdapat elektroda khusus yang berfungsi untuk mengukur pH
bahan-bahan semi padat [22]. PH meter ini terdiri dari dua bagian yaitu elektroda (probe
pengukur), penghubung probe dan rangkaian seperti pada gambar 2.14. Probe atau Elektroda
berbentuk batang seperti struktur biasanya terbuat dari kaca. Pada bagian bawah elektroda
ada bohlam, bohlam merupakan bagian sensitif dari probe yang berisi sensor. Dalam probe
terdapat dua elektroda, masing – masing elektroda terpisah, elektroda tersebut tidak seperti
elektroda normal (potongan sederhana dari kawat logam); masing-masing memiliki mini
chemical set. Pada elektroda pertama yaitu elektroda kaca terdapat kawat listrik perak dalam
larutan kalium klorida yang terletak di dalam membran tipis yang terbuat dari kaca khusus
yang mengandung garam logam (biasanya senyawa natrium dan kalsium). Elektroda kedua
disebut elektroda referensi yang memiliki kawat kalium klorida dalam larutan kalium
klorida.
Kalium klorida di dalam elektroda kaca adalah larutan netral dengan pH 7, sehingga
mengandung sejumlah ion hidrogen (H +). Perdaann pH larutan diukur pada Elektroda gelas
dengan mengukur perbedaan voltase yang dihasilkan oleh ion hidrogen masing – masing
larutan. Ion hidrogen yang bergerak ke arah permukaan luar dari elektroda kaca
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
menggantikan beberapa ion logam di dalamnya, sementara beberapa ion logam bergerak dari
elektroda kaca ke larutan, proses ini disebut pertukaran ion. Penukar ion juga terjadi pada
permukaan bagian dalam elektroda gelas dari larutan. Kedua larutan di masing - masing sisi
kaca memiliki keasaman yang berbeda, sehingga jumlah pertukaran ion yang berbeda terjadi
di kedua sisi gelas. Ini menciptakan tingkat aktivitas hidrogen-ion yang berbeda pada dua
permukaan kaca, yang berarti jumlah muatan listrik yang berbeda menumpuk di atasnya.
Beda potensial atau tegangan kecil yang terjadi karena perbedaan muatan muncul di antara
kedua sisi kaca, yang menghasilkan perbedaan tegangan antara elektroda perak dan
elektroda referensi yang muncul sebagai hasil pengukuran.
Pada PH Meter terdapat sebuah LED sebagai indikator, konektor BNC dan interface
sensor PH2.0 yang akan digunakan untuk menghubungkan analog input Arduino dengan
sensor. Spesifikasi Modul sensor pH terdapat pada tabel 2.3.
Tabel 2.3. Spesifikasi Modul Sensor pH
No Variabel Keterangan
1 Tegangan Masukkan 5 0.2V (AC DC)
2 Arus Kerja 5 sampai 10 mili Ampere
3 Range pengukuran pH 0 - 14
4 Range Suhu -10 sampai 50 derajat celcius
5 Response Time 5 detik
6 Settling Time 60 detik
7 Output Analog
2.12. Arduino Mega 2560
Gambar 2.15. Gambar Arduino Mega 2560
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Arduino Mega 2560 adalah mikrokontroler berbasis Atmega2560. Kelebihan Arduino
Mega adalah memiliki memory dan pin I/O yang lebih banyak daripada mikrokontroler pada
umumnya yaitu 54 pin I/O digital ( 15 pin digunakan untuk PWM ) dan 16 pin analog seperti
pada gambar 2.16. Arduino Mega ini menggunakan clock dengan frekuensi 16MHz. Pada
Arduino Mega 2560 tersedia dua buah pin untuk tegangan masukkan yaitu 5 volt dan 3.3
volt [23].
Gambar 2.16. Gambar Pin Arduino Mega 2560
2.13. Raspberry Pi 3
Gambar 2.17. Fitur pada Raspberry Pi 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Raspberry Pi 3 adalah sebuah keping komputer kecil dengan CPU, GPU, port USB
dan pin masukan keluaran yang dapat melakukan beberapa fungsi seperti komputer.
Raspberry Pi 3 yang akan digunakan adalah model b, Raspberry Pi 3 memiliki perubahan
fitur yang signifikan yaitu Network Boot, USB Boot, dan wifi seperti pada gambar 2.17.
Raspberry Pi 3 memiliki 40 pin GPIO [24]. Raspberry Pi 3 juga memiliki fitur untuk
Graphical User Interface (GUI). Raspberry Pi 3 akan digunakan sebagai sistem kontrol untuk
alat, data dari sensor yang dihubungkan ke Arduino akan dikirim ke Raspberry Pi untuk
diproses sehingga dapat digunakan untuk sistem kontrol, selain itu data tersebut akan
ditampilkan pada GUI yang dapat dibuat pada Raspberry Pi serta data tersebut akan dikirim
melalui internet. Fitur wifi pada Raspberry Pi 3 ini akan digunakan untuk mengirimkan data
melalui internet ke aplikasi cayenne myDevice [25].
Seperti pada gambar 2.18. pada Raspberry Pi tersedia berbagai macam pin seperti pin
sumber tegangan, pin sistem komunikasi, ground, serta pin GPIO atau General-Purpose
Input Output. Pin GPIO dapat digunakan untuk menghubungkan Raspberry Pi dengan
perangkat – perangkat lain seperti sensor dan akuator. Data dapat dikirim dan diterima
melalui pin tersebut, data dari sensor dapat dikirim ke Raspberry Pi dan Raspberry Pi pun
dapat mengirimkan data atau perintah ke aktuator. GPIO memungkinkan Raspberry Pi untuk
mengirim dan menerima perintah serta data dari alat lain seperti Arduino.
Gambar 2.18. Pin pada Raspberry Pi 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
2.14. Cayenne myDevice
Gambar 2.19. Dashboard Cayenne myDevices
Cayenne adalah sebuah aplikasi yang dipublikasikan oleh myDevices. Cayenne adalah
sebuah dashboard berbasis web dan aplikasi android yang memungkinkan untuk mengatur
banyak device dalam sebuah panel kontrol dari jarak jauh seperti pada gambar 2.19. ( sampai
saat ini hanya Arduino dan Raspberry Pi yang dapat terhubung ) [26]. Cayenne dapat
digunakan untuk mewujudkan kebutuhan jaman sekarang untuk Internet of Things dan
kesulitan dalam menghubungkan peralatan elektronik dengan sangat mudah, dan sampai saat
ini masih dapat digunakan secara gratis.
Cayenne dapat digunakan secara gratis, hanya dengan mengunduh aplikasi cayenne
pada smartphone , cayenne dapat digunakan langsung untuk terhubung dengan
mikrokontroler yang akan digunakan melalui sambungan wifi. Setelah tersambung dan
melakukan beberapa pengaturan, cayenne dapat digunakan untuk menambahkan pengaturan
untuk alat tambahan seperti sensor, lampu, motor, valve, relay dan aktuator lainnya, dapat
juga ditambahkan pengaturan untuk tambahan analog, digital dan PWM. Melalui cayenne
juga dapat dilakukan pengaturan GPIO Interface via dashboard cayenne. Tampilan pada
dashboard cayenne dapat diatur sesuai dengan kebutuhan. Cayenne memiliki data berbagai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
jenis sensor atau perangkat yang dapat digunakan untuk sebagai widget yang akan
ditampilkan pada dashboard, namun tidak semua sensor sudah ada dalam data cayenne.
Ketika sensor yang diinginkan untuk digunakan pada dashboard belum ada pada cayenne
maka fitur Bring Your Own Thing bisa digunakan untuk menambahkan custom widget atau
tampilan secara manual dengan mengisi informasi sensor yang digunakan seperti nama
sensor, jenis sensor, bentuk data tampilan yang diingikan seperti data analog atau data
digital, icon widget seperti pada gambar 2.20.
Gambar 2.20. Fitur Bring Your Own Thing
Data yang tertampil pada widget dihubungkan dengan protokol jaringan MQTT yang
menggunakan TCP / IP, penggunaan MQTT memungkinkan untuk terjadinya koneksi dua
arah seperti memberikan perintah untuk mematikan perangkat dengan menekan tombol
shutdown. Kondisi penggunaan RAM, suhu dari mikrokontroler serta informasi lain terkait
mikrokontroler juga dapat dipantau seperti pada gambar 2.21. Sehingga cayenne dapat
digunakan untuk memantau informasi yang dibutuhkan dari jarak jauh, seperti untuk
mengetahui nilai yang dibaca sensor TDS, sensor pH, kondisi motor, kondisi lampu dan
kondisi diaphragm pump.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Gambar 2.21. Kondisi Raspberry Pi
2.15. Hukum Ohm dan Daya
Hukum Ohm adalah hubungan antara arus, tegangan dan hambatan. Arus diartikan
sebagai aliran positif dari sumber menuju negatif sumber dengan satuan Ampere (A).
Tegangan diartikan sebagai jumlah yang dibutuhkan untuk mengalirkan arus dengan satuan
Volt (V). Hambatan adalah lawan dari aliran arus, aliran arus dihalangi oleh hambatan [27].
𝑉 = 𝐼 𝑥 𝑅 (2.1)
Keterangan :
V = Tegangan ( Volt )
I = Arus ( Ampere )
R = Hambatan ( Ohm )
Selain 3 variabel diatas ada satu varibel lain yaitu daya. Daya diartikan sebagai besar
energi yang dikonsumsi atau dihasilkan dalam sebuah rangkaian dengan satuan Watt ( W ).
𝑃 = 𝑉 𝑥 𝐼 (2.2)
Keterangan :
P = Daya ( Watt )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
BAB III
RANCANGAN PENELITIAN
3.1. Model Sistem
Proses sistem seperti terdapat pada gambar 1.1., dimulai pada saat tombol start ditekan
lalu nilai – nilai awal pada sensor serta kondisi awal motor, lampu, diaphragm pump nutrisi
a dan diaphragm pump nutrisi b akan diatur dan dimunculkan pada GUI, selanjutnya sensor
TDS dan pH akan langsung melakukan pengukuran terhadap nilai total dissolved solids
dalam air dengan satuan ppm. Data yang diperoleh merupakan data analog yang diambil
oleh Arduino untuk dikonversi ke dalam bentuk data digital melalui pengolahan dan
perhitungan yang dilakukan dalam program Arduino untuk masing – masing pH dan TDS.
Setelah itu data pH dan TDS yang sudah diolah dikirimkan ke Raspberry Pi 3 melalui
komunikasi serial untuk ditampilkan pada GUI dan dikirim ke aplikasi Cayenne melalui
jaringan internet yang sama. Selain ditampilkan, data TDS juga akan digunakan untuk
menentukan perintah apa yang akan dilakukan pada proses selanjutnya, sedangkan untuk
data pH hanya akan ditampilkan karena tidak ada proses lebih lanjut karena nilai pH tidak
berubah terlalu drastis dan aman untuk tanaman seperti yang sudah dijelaskan pada sub bab
2.1. Bila nilai ppm yang terbaca oleh sensor belum memenuhi batas nilai yang diinginkan
maka diaphragm pump yang dikendalikan oleh Raspberry Pi 3 akan bekerja untuk memulai
proses pemberian nutrisi. Diaphragm pump akan aktif sehingga cairan nutrisi bisa dialirkan
ke dalam bak penampung air utama selanjutnya bercampur ke dalam air supaya dapat
meningkatkan nilai TDS dalam air supaya dapat memenuhi keadaan TDS yang diinginkan
dengan cara mengatur durasi hidup diaphragm pump supaya dapat mengeluarkan cairan
nutrisi sesuai dengan jumlah yang sesuai, setelah diaphragm pump mati maka motor
pengaduk air yang dikendalikan oleh Raspberry Pi akan aktif untuk mengaduk air selama 10
detik supaya nutrisi dapat tercampur secara merata dengan air dan pembacaan sensor TDS
akan menjadi lebih akurat, setelah itu kondisi ppm air akan kembali diukur oleh Sensor TDS,
bila nilai ppm air sudah memenuhi maka akan ada waktu delay proses pemberian nutrisi
berikutnya. Semua nilai atau keadaan setiap alat seperti diaphragm pump, motor dan sensor
– sensor dapat diketahui melalui GUI dan juga dikirim melalui jaringan internet yang sama
supaya dapat dipantau melalui jarak jauh yaitu menggunakan aplikasi Cayenne. Untuk
menghentikan keseluruhan proses terdapat tombol berhenti. Ketika tombol berhenti ditekan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
maka semua proses akan berhenti, namun bila proses sedang berjalan maka proses akan
diselesaikan terlebih dahulu baru kemudian semuanya mati.
3.2. Perancangan Perangkat Keras
Perancangan perangkat keras pada penelitian ini terdiri dari Arduino dan sensor -
sensor yang ada akan dipasang pada plant utama yaitu talang dan bak penampung air, lalu
Arduino akan dihubungkan ke Raspberry Pi, selanjutnya Raspberry Pi akan dihubungkan ke
perangkat keras yang akan dikontrol seperti relay – relay, motor, diaphragm pump dan
lampu.
3.2.1. Plant Hidroponik sistem NFT
Gambar 3.1. Rancangan Plant Hidroponik Sistem NFT
Pada plant hidroponik yang akan dibuat menggunakan sistem NFT berbahan dasar
pipa dan akan dilubangi serta dihubungkan dengan urutan berundak-undak, selain itu akan
dibuat juga bak penampungan air secara terpisah untuk tempat penampungan air dan
pencampuran nutrisi yang dihubungkan dengan pipa kecil dari pompa air yang berada di
dalam bak penampungan air menuju baris pipa paling atas dan pada bagian baris pipa paling
bawah terdapat sebuah pipa kecil yang kembali mengalir ke bak penampungan untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
menampung air yang dipompa ke pipa paling atas. Sementara bak penampungan nutrisi a
dan b terletak diatas bak penampungan yang dihubungkan dengan pipa serta dibatasi oleh
diaphragm pump untuk pemberian nutrisi seperti pada gambar 3.1. Selain pompa air, sensor
TDS, sensor pH dan motor pengaduk akan berada di dalam bak penampungan air. Untuk
mikrokontroler akan ditempatkan diatas bak penampungan dan dibawah bak nutrisi.
Gambar 3.2. Rancangan Plant Hidroponik Sistem NFT
Pada plant hidroponik akan terdapat 4 baris pipa berdiameter 6.3 cm dengan panjang
1 meter seperti pada gambar 3.2 , pada pipa talang paling atas terdapat 2 lubang, lubang
pertama yang terletak di ujung kanan terhubung dengan pipa berukuran 0.5” yang mendapat
masukan air dari pompa air dari bak penampungan air, lubang kedua yang terletak di ujung
kiri terhubung dengan pipa talang dibawahnya dengan pipa berukuran 0.5”, kemudian pipa
ke dua dan ke tiga juga dihubungkan dengan pipa 0.5” dengan posisi yang sama. Untuk pipa
talang ke empat terdapa dua lubang yaitu yang terhubung dengan lubang pipa ketiga dan
lubang yang terletak di kanan pipa untuk mengalirkan air kembali ke bak penampung air.
Masing – masing pipa palang akan dilubangi sebanyak 4 buah lubang besar dengan ukuran
lubang berdiameter 5 cm, pada penanaman tanaman menggunakan hidroponik tidak boleh
terlalu dekat sehingga dibutuhkan jarak antar tanaman, jarak antara lubang yang dibuat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
adalah 15 cm. Setiap talang diposisikan miring sekitar 5 derajat supaya air dapat mengalir ,
bila talang diposisikan lurus maka air tidak dapat mengalir dengan lancar ke bawah dan
malah menggenang, hal tersebut harus dihindari karena ketika akar tanaman terendam dalam
waktu yang lama maka akan meningkatkan resiko menjadi busuk seperti yang sudah
dijelaskan pada sub bab 2.3. Kemiringan talang dapat diatur sesuai dengan kebutuhan
mengacu pada ketinggian air yang mengalir di dalam talang yaitu berkisar antara 1 sampai
2 centimeter.
Gambar 3.3. Dimensi Bak Penampungan Air dan Nutrisi
Nutrisi yang digunakan ada dua yaitu nutrisi a dan b, sehingga tempat nutrisi a dan b
harus dipisah, begitu juga dengan diaphragm pump yang digunakan. Bak nutrisi a dan b
memiliki dimensi yang sama yaitu 27 cm x 24 cm x 20 cm, sedangkan untuk bak
penampungan air nutrisi memiliki dimensi 50 cm x 50 cm x 40 cm seperti pada gambar 3.3.
Nutrisi a dan b memiliki jumlah tertentu untuk dimasukkan ke dalam air sehingga dipisah
dan memang nutrisi a dan b tidak boleh dicampur sebelum dimasukan ke dalam air. Tempat
diaphragm pump dan bak nutrisi terletak di sebelah bak penampung air. Diaphragm pump
terletak diatas penutup bak nutrisi yang ditempatkan di kotak berbeda untuk menghindari
resiko alat – alat terkena air bila terjadi kebocoran pada pompa nurisi. Pompa air, sensor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
TDS dan sensor pH berada di dalam bak penampung, begitu juga dengan motor pengaduk
yang akan digunakan untuk mengaduk air serta nutrisi sebelum kembali dialirkan dan
diambil nilainya dan pompa air yang digunakan untuk mengalirkan air. Motor pengaduk
beserta kabel – kabel ditempatkan di dalam pipa pada bagian atas bak penampung yang
digunakan sebagai penyangga motor pengaduk.
Gambar 3.4. Dimensi dan Isi Bak Penampungan
Bagian dalam dari bak penampungan berisi motor, pengaduk, sensor TDS dan pompa
air dengan posisi seperti pada gambar 3.4. Sensor TDS akan selalu berada didalam air untuk
mengukur kandungan TDS pada air. Setelah nilai nutrisi yang dibaca oleh TDS tidak
memenuhi ketentuan maka solenoid valve diatas akan bekerja dan cairan nutrisi akan masuk,
kemudian pengaduk akan mengaduk cairan supaya tercampur merata sehingga air yang
dipompa oleh pompa air tidak sepenuhnya berisi cairan nutrisi.
3.2.2. Perancangan Rangkaian Utama
Rangkaian Utama secara keseluruhan seperti gambar 3.5, terdiri dari Modul Sensor
TDS, Modul Sensor pH yang terhubung dengan Arduino untuk mendapatkan nilai
analognya, kemudian di dalam Arduino nilai pengukuran tersebut diolah supaya datanya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
menjadi digital dan kemudian di kirim ke Raspbery Pi melalui komunikasi serial. Selain
Arduino, Modul Sensor LDR juga dihubungkan ke Raspberry Pi untuk mengambil hasil
pegukuran cahaya, kemudian data tersebut akan digunakan untuk menentukan kondisi hidup
atau mati rangkaian lampu LED. Selanjutnya data tersebut akan digunakan oleh Raspberry
Pi untuk mengontrol 2 buah Modul Relay 2 Channel, Modul Relay 2 Channel tersebut
mendapat masukan dan tegangan dari Raspberry Pi. Relay Pertama digunakan mengontrol
Rangkaian Lampu LED dan Motor Pengaduk yang mendapat sumber tegangan dari Adaptor
DC 12V, sementara Relay Kedua digunakan untuk mengontrol Diaphragm Pump A dan
Diaphragm Pump B yang mendapat sumber tegangan dari Adaptor DC 24V.
Gambar 3.5. Rangkaian Keseluruhan
3.2.3. Perancangan Rangkaian Modul Sensor Total Dissolved Solids
Pada pengukuran total dissolved solids, modul sensor akan terhubung langsung dengan
Arduino sebagai sumber listrik dan pembaca sensor seperti pada gambar 3.6. Masing –
masing pin modul sensor akan terhubung dengan port pada Arduino Mega seperti pada tabel
3.1. Posisi Arduino Mega dan modul dari sensor TDS akan selalu berada di luar bak
penampungan air supaya dapat terlindung dari air karena modulnya tidak tahan air,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
sementara probe dari sensor untuk mengukur memiliki kabel yang cukup panjang sehingga
dapat terus berada di dalam air. Posisi Sensor TDS dengan selang nutrisi harus diberi jarak
supaya nilai yang terbaca oleh sensor tidak langsung nilai dari larutan nutrisi tetapi sudah
hasil pencampuran nutrisi dengan air untuk mendapatkan hasil pegukuran yang lebih akurat,
sebaliknya posisi motor pengaduk dan selang nutrisi harus berdekatan sehingga ketika nutrisi
masuk maka motor pengaduk dapat langsung mengaduk nutrisi supaya dapat lebih tercampur
secara merata dengan air dan pengukuran yang dilakukan modul sensor TDS akan menjadi
lebih akurat lagi.
Tabel 3.1. Rancangan Pin modul sensor TDS dengan Arduino
Gambar 3.6. Rangkaian Arduino dan modul sensor TDS
3.2.4. Perancangan Rangkaian Modul Sensor pH
Pada pengukuran pH, modul sensor akan terhubung langsung dengan Arduino sebagai
sumber listrik dan pembaca sensor seperti pada gambar 3.6. Posisi Arduino Mega dan modul
TDS
Meter
Ardunio
Mega 2560
A A0
+ 5V
- GND
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
dari sensor pH akan selalu berada di luar bak penampungan air supaya dapat terlindung dari
air karena modulnya tidak tahan air, sementara probe dari sensor sudah memiliki tabung
kaca sendiri untuk menampung air untuk pengukuran pH. Pada rancangan rangkaian sensor
pH dengan Arduino, ada 3 pin pada Arduino yang digunakan yaitu pin 5V sebagai sumber
yang digunakan sensor, pin GND dan pin A1 untuk masukan analog dari sensor karena
keluaran sensor berupa data analog baru kemudian diolah pada Arduino dan menjadi data
digital. Rancangan rangkaian sensor pH dengan Arduino seperti pada gambar 3.7.
Gambar 3.7. Rangkaian Arduino dan modul sensor pH
3.2.5. Perancangan Rangkaian Modul Sensor Light Dependent Resistor
Pada pengukuran cahaya, modul sensor akan terhubung langsung dengan Raspberry
Pi sebagai sumber listrik dan pembaca sensor seperti pada gambar 3.6. Posisi modul sensor
LDR akan selalu berada di tempat yang disesuaikan dari arah cahaya masuk sesuai dengan
pengukuran jarak yang akan dilakukan menggunakan Lux Meter. Posisi modul sensor
diletakkan seperti itu supaya dapat mengukur cahaya yang masuk dan akan menyinari
tanaman, namun posisi modul sensor juga tidak boleh terlalu jauh dari tanaman supaya hsail
pengukurannya kurang lebih sama dengan cahaya yang diterima oleh tanaman. Pada
rancangan rangkaian modul sensor LDR dengan Raspberry Pi, ada 3 pin pada Raspberry Pi
yang digunakan yaitu pin 3.3V sebagai sumber yang digunakan sensor, pin GND dan GPIO
25 ( pin 37 ) untuk masukan digital dari sensor, data dari sensor tersebut akan digunakan
untuk mengatur keadaan rangkaian LED. Rancangan rangkaian modul sensor LDR dengan
Raspberry Pi seperti pada gambar 3.8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Gambar 3.8. Rangkaian Modul Sensor LDR dan Raspberry Pi
3.2.6. Perancangan Rangkaian Motor Pengaduk
Pada motor pengaduk, motor yang digunakan adalah motor gearbox dc 3 sampai 6 volt
yang mendapat supply tegangan dari adaptor AC-DC 12V seperti pada gambar 3.9. Pada saat
motor diberi tegangan masukan 3V maka arus bernilai kurang lebih 160 mA, namun pada
saat motor diberi tegangan masukan 6V maka arus bernilai kurang lebih 240 mA. Supply
tegangan dari adaptor tidak langsung dihubungkan dengan motor gearbox dc tetapi motor
dan supply tegangan dihubungkan pada relay 2 channel untuk motor - lampu. Sementara
sumber tegangan 5V dan ground relay akan disupply oleh Raspberry Pi 2, begitu juga dengan
input untuk relay 2 channel dihubungkan dengan Raspberry Pi sebagai masukan untuk
mengontrol motor dc melalui relay.
Gambar 3.9. Gambar Rangkaian Motor Pengaduk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
3.2.7. Perancangan Rangkaian Lampu LED
Gambar 3.10. Gambar Rangkaian Lampu
Pada lampu LED, lampu LED yang digunakan adalah LED line strip SMD 5370
dengan tegangan kerja 12V yang mendapat supply tegangan dari adaptor AC-DC 12V 1 A
seperti pada gambar 3.8. LED line strip SMD merupakan rangkaian LED strip berisi 3 mata
LED yang dirangkai secara pararel sebanyak 12 buah LED strip ( 36 mata LED ) yang sudah
terpasang pada papan alumunium dengan panjang 0.5 meter seperti pada gambar 3.11 .
Supply tegangan dari adaptor tidak langsung dihubungkan dengan LED tetapi LED dan
supply tegangan dihubungkan pada relay 2 channel untuk motor - lampu. Sementara sumber
tegangan 5V dan ground relay akan disupply oleh Raspberry Pi , begitu juga dengan input
untuk relay 2 channel dihubungkan dengan Raspberry Pi sebagai masukan untuk mengontrol
lampu LED melalui relay. Input dari Raspberry Pi akan berubah sesuai dengan input dari
sensor LDR yang akan mendeteksi cahaya, bila tidak terdeteksi maka lampu akan hidup, dan
bila terdeteksi adanya cahaya maka lampu akan mati.
Untuk menghitung sumber tegangan yang dibutuhkan utuk menghidupkan lampu
maka dapat menggunakan rumus 2.1 dan 2.2, sumber tegangan untuk lampu LED merupakan
sumber tegangan yang sama yang digunakan oleh motor pengaduk sehigga arusnya harus
dihitung supaya dapat menggunakan sumber tegangan yang cukup untuk dapat
menghidupkan kedua perangkat secara bersamaan atau pun ketika tidak bersamaan.
Sehingga hasil dari penggunaan rumus tersebut, dapat ditentukan nilai arus serta daya yang
akan dipakai untuk menghidupkan LED yaitu :
P = V x I = 12 x 0.5935 = 7.119 W
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Tegangan 12 V dan arus 0.5935 diperboleh dari sumber tegangan berupa adaptor 12V
DC 1 A, dengan arus adaptor 1 A maka akan bisa menghidupkan LED yang hanya
membutuhkan 0.5935 A.
Gambar 3.11. Rangkaian LED line strip MSD
3.2.8. Perancangan Rangkaian Diaphragm Pump
Gambar 3.12. Gambar Rangkaian Pompa Nutrisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Pada Diaphragm Pump, jenis Diaphragm Pump yang digunakan adalah Diaphragm
Pump Motor DC 12V dengan tegangan kerja 12V yang mendapat supply tegangan dari
adaptor AC-DC 24V seperti pada gambar 3.12. Supply tegangan dari adaptor tidak langsung
dihubungkan dengan kedua diaphragm pump tetapi kedua diaphragm pump dan supply
tegangan dihubungkan pada relay 2 channel untuk diaphragm pump. Sementara sumber
tegangan 5V dan ground relay akan disupply oleh Raspberry Pi 2, begitu juga dengan input
untuk relay 2 channel dihubungkan dengan Raspberry Pi sebagai masukan untuk mengontrol
diaphragm pump melalui relay. Input dari Raspberry Pi akan berubah sesuai dengan input
dari sensor TDS yang akan mendeteksi nilai TDS dalam air, bila nilai ppm belum memenuhi
maka diaphragm pump akan aktif sehingga nutrisi dapat tersalurkan, sebaliknya bila nilai
sudah terpenuhi maka diaphragm pump akan mati.
3.2.9. Raspberry Pi 3
Pada Raspberry Pi, terdapat pin yang dapat diatur kondisinya menjadi input atau output
yang disebut dengan GPIO seperti yang sudah dijelaskan pada sub bab 2.13. Sensor dan
aktuator tersebut masing – masing terhubung pada GPIO yang berbeda seperti Pada Tabel
3.1 diperlihatkan koneksi Raspberry Pi 3 dengan sensor dan aktuator yang terhubung.
Tabel 3.1. Penggunaan Pin GPIO pada Raspberry Pi
No. Nama Kaki yang Digunakan Keterangan
Diaphragm Pump A dan B
1. Diaphragm Pump A GPIO 23 (pin 16) Keluaran
2. Diaphragm Pump B GPIO 24 (pin 18) Keluaran
3. Supply Modul Relay 2 channel
Diaphragm Pump 5 V (pin 4) Supply 5 V
4. Ground Modul Relay 2 channel
Diaphragm Pump Ground (pin 6) Ground
Motor Pengaduk
1. Data Motor Pengaduk GPIO 17 (pin 11) Keluaran
2. Supply Modul Relay 2 Channel
Motor/Lampu 5 V (Pin 2) Supply 5 V
3. Ground Modul Relay 2 Channel
Motor/Lampu Ground (pin 9) Ground
Lampu
1. Data Lampu GPIO 27 (pin 13) Keluaran
2. Supply Modul Relay 2 Channel
Motor/Lampu 5 V (Pin 2) Supply 5 V
3. Ground Modul Relay 2 Channel
Motor/Lampu Ground (pin 9) Ground
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Tabel 3.1. ( Lanjutan ) Penggunaan Pin GPIO pada Raspberry Pi
No. Nama Kaki yang Digunakan Keterangan
Sensor LDR
1. Data Modul Sensor LDR GPIO 25 ( pin 37 ) Masukan
2. Supply Modul Sensor LDR 3.3 V ( pin 17 ) Supply 3.3 V
3. Ground Modul Sensor LDR Ground ( pin 39 ) Ground
3.2.10. Komunikasi Arduino dan Raspberry Pi
Sensor analog tidak dapat dihubungkan langsung dengan Raspberry Pi, sehingga data
dari sensor diambil oleh Arduino dan dikirimkan ke Raspberry Pi. Media yang digunakan
untuk menghubungkan Arduino dan Raspberry Pi adalah komunikasi serial. Raspberry Pi
dan Arduino Mega 2560 dihubungkan menggunakan kabel USB yang terhubung ke Port
USB Masing – masing perangkat seperti pada gambar 3.13. Pada Raspberry Pi, penggunaan
port USB harus diatur sehingga dalam kondisi enable, dengan kondisi port enable maka
perangkat dapat dihubungkan. Pengaturan selanjutnya terdapat pada program, terdapat
syntax khusus untuk membaca masukan dari port USB Raspbery Pi.
Gambar 3.13. Penghubungan Raspberry Pi dan Arduino
3.3. Perancangan Perangkat Lunak
Perancangan perangkat lunak pada penelitian ini terdiri dari beberapa proses yaitu
diagram alir proses kerja sistem secara keseluruhan, sub-routine pengukuran pH,TDS dan
pengendali proses pemberian nutrisi, sub-routine pengendalian lampu LED, sub-routine
pemantauan jarak jauh dan GUI.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
3.3.1. Diagram Alir Proses Kerja Sistem
Mulai
Inisialisasi Port,
Inisialisasi Nilai TDS,
Inisialisasi Kondisi
awal Piranti yang ada
Tombol Mulai
Ditekan?
Ya
Tidak
Pengukuran pH,TDS
dan pengendalian
pompa nutrisi
Pengendalian Lampu
LED
Pengambilan Data
Waktu
Pemantauan Jarak
Jauh
Tombol Berhenti
Ditekan?
Berhenti
Ya
Gambar 3.14. Diagram Alir Utama
Diagram alir proses kerja sistem seperti pada gambar 3.14, berisi mengenai penjelasan
proses secara keseluruhan dari awal alat bekerja dan GUI berjalan hingga akhir proses. Pada
saat tombol start ditekan maka alat akan mulai bekerja, pada awal alat bekerja terdapat
beberapa hal yang harus diberi nilai awal atau di inisialisasi termasuk penjadwalan. Setelah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
semua selesai di inisialisasi, nilai TDS dan pH akan mulai dibaca oleh sensor, lalu data
analog hasil pengukuran langsung diambil oleh Arduino untuk kemudian diproses nilainya
sehingga dapat menjadi data digital, data digital tersebut kemudian dikirim ke Raspberry Pi
untuk diolah dan digunakan untuk menentukan proses yang akan dikerjakan selanjutnya,
data tersebut juga akan ditampilkan pada GUI dan dikirim melalui internet supaya dapat
diakses dari jarak jauh. Setelah data diterima oleh Raspberry Pi, proses selanjutnya adalah
pengisian nutrisi. Ketika nilai TDS tidak memenuhi nilai batas yang sudah ditentukan, maka
diaphragm pump akan diaktifkan oleh Raspberry Pi sehingga nutrisi bisa dapat dialirkan
selama waktu yang telah ditentukan. Setelah diaphragm pump tidak aktif maka motor
pengaduk akan aktif selama beberapa saat, setelah motor pengaduk tidak aktif, maka sensor
TDS akan kembali mengambil nilai TDS pada air dan dikirim ke Raspberry Pi melalui
Arduino, setelah itu bila nilai TDS sudah memenuhi maka motor pengaduk akan langsung
menyala dan menunggu jadwal pemberian nutrisi berikutnya. Pada saat yang bersamaan
modul sensor LDR yang terhubung langsung dengan Raspberry Pi akan melakukan
pengukuran nilai, ketika nilai yang didapatkan oleh sensor LDR tidak mencukupi nilai batas
yang sudah ditentukan maka relay akan aktif dan lampu LED akan menyala. Tetapi ketika
nilai yang didapatkan oleh sensor LDR mencukupi nilai batas yang sudah ditentukan maka
relay tidak akan aktif dan proses berulang.
3.3.2. Diagram Alir Sub-routine Pengukuran pH, TDS dan Pengendalian Proses
Pemberian Nutrisi
Pada bagian sub-routine pengukuran pH, TDS dan Pengendalian Proses Pemberian
Nutrisi seperti pada gambar 3.15. Setelah tombol mulai ditekan maka proses inisialisasi nilai
– nilai serta kondisi awal piranti yang ada akan diberikan. Arduino yang terhubung dengan
sensor pH dan TDS akan melakukan pengambilan data hasil pengukuran dan mengirimkan
data tersebut ke Raspberry Pi. Data yang dikirimkan tersebut berupa nilai TDS dan pH, nilai
pH akan ditampilkan pada GUI dan dikirimkan ke internet, sedangkan nilai TDS akan
digunakan untuk menentukan proses selanjutnya yang akan dikerjakan. Bila nilai TDS
belum memenuhi nilai batas yang sudah ditentukan maka relay 1 yang mendapat masukan
dari Raspberry Pi akan aktif untuk mengendalikan diaphragm pump a dan b selama waktu
yang telah ditentukan sehingga cairan nutrisi akan masuk ke bak penampungan air utama,
kemudian relay 2 yang mendapat masukan dari Raspberry Pi akan aktif untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
mengendalikan motor pengaduk selama 10 detik supaya cairan nutrisi dan air dapat
tercampur secara merata supaya pembacaan sensor dapat menjadi lebih optimal. Setelah
motor pengaduk mati, maka sensor TDS akan kembali mengukur kadar TDS dalam air, bila
nilai TDS dalam air sudah memenuhi nilai batas maka proses telah selesai dan akan
menunggu sampai periode pengukuran berikutnya atau sampai nilai TDS telah kurang dari
nilai batas yang telah ditentukan, bila nilai TDS dalam air belum memenuhi nilai batas, maka
proses akan kembali berulang dari relay 1 aktif. Namun bila sejak awal nilai TDS sudah
memenuhi nilai batas maka Raspberry Pi akan mengirim masukan supaya relay untuk
mengendalikan pompa nutrisi dan motor pengaduk tidak akan aktif dan menunggu periode
pengukuran berikutnya.
Mulai
Inisialisasi Port,
Inisialisasi Nilai TDS,
Inisialisasi Kondisi
awal Piranti yang ada
Sensor pH dan
TDS melakukan
pengukuran
Apakah nilai
TDS Mencukupi?
Menunggu
waktu
pengukuran
selanjutnya
Relay Aktif,
Pompa Nutrisi
Aktif Selama
Beberapa Saat
Hasil pengukuran
ditampilkan pada
GUI dan dikirim
melalui internet
Ya
Tidak
Relay Aktif,
Motor
Pengaduk
Hidup 10 detik
Gambar 3.15. Proses Pengukuran pH,TDS dan Pengendalian Proses Pemberian Nutrisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
3.3.3. Diagram Alir Sub-routine Pengendalian Lampu LED
Pada bagian sub-routine Pengendali Lampu LED seperti pada gambar 3.16. Setelah
tombol mulai ditekan maka proses inisialisasi nilai – nilai serta kondisi awal piranti yang
ada akan diberikan. Raspberry Pi yang terhubung dengan sensor LDR akan melakukan
pengambilan data hasil pengukuran. Data tersebut berupa nilai untuk menentukan kondisi
cahaya, nilai tersebut menunjukan kondisi pencahayaan yang sudah cukup atau belum, nilai
tersebut juga akan digunakan untuk menentukan proses yang akan dikerjakan selanjutnya.
Bila nilai dari sensor LDR tidak memenuhi nilai batas yang sudah ditentukan maka relay 2
yang mendapat masukan dari Raspberry Pi akan aktif untuk mengendalikan lampu LED.
Lampu LED akan langsung aktif ketika nilai dari sensor LDR tidak memenuhi nilai yang
sudah ditentukan atau dapat dikatakan kurang cahaya ( gelap ). Nilai dari sensor LDR akan
terus diambil sehingga ketika nilai sensor LDR sudah memenuhi nilai batas atau kondisi
pencahayaan sudah cukup, maka relay 2 yang mendapat masukan dari Raspberry Pi akan
mati dan lampu LED akan mati. Proses pengambilan data dari sensor akan terus berjalan
supaya dapat menghidupkan atau mematikan LED dengan cepat sesuai dengan kondisi
pencahayaan.
Mulai
Inisialisasi Port,
Inisialisasi Nilai TDS,
Inisialisasi Kondisi
awal Piranti yang ada
LDR
Mendeteksi
Cahaya
Apakah ada
cahaya?
Relay Tidak
aktif, Lampu
Tidak Menyala
Relay Aktif,
Lampu Menyala
Hasil pengukuran
dan kondisi lampu
ditampilkan pada
GUI
Ya
Tidak
Gambar 3.16. Proses Pengendalian Lampu LED
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
3.3.4. Perancangan Pemantauan Jarak Jauh
Hasil pengukuran dan data mengenai plant serta Raspberry Pi dapat dipantau dari jarak
jauh. Pemantauan jarak jauh melalui internet dapat dilakukan dengan memanfaatkan fitur
wifi pada Raspberry Pi 3. Aplikasi yang digunakan untuk pemantauan melibatkan aplikasi
pihak ketiga yaitu cayenne myDevice. Aplikasi cayenne myDevice ini adalah aplikasi
berbasis Internet of Things yang dapat diakses melalui smartphone melalui jaringan internet.
Namun Raspberry Pi dan cayenne myDevice harus dihubungkan melalui jaringan internet
yang sama supaya kedua perangkat dapat bertemu karena perangkat dihubungkan dengan
media ip address. Pada Raspberry Pi, pengaturan yang dibutuhkan adalah Secure Shell
(SSH), SSH harus diaktifkan terlebih dahulu supaya Raspberry Pi dapat diakses oleh
perangkat lain dalam jaringan yang sama, pada SSH terdapat username dan password yang
dapat digunakan untuk mengakses Raspberry Pi, username dan password pada SSH
digunakan untuk keamanan supaya tidak sembarang piranti lain dapat mengakses Raspberry
Pi. Username dan password SSH raspbery pi akan digunakan pada aplikasi cayenne
myDevice yang memiliki pengaturan untuk memasukkan ip address, username dan password
dari SSH Raspberry Pi. Aplikasi cayenne myDevice akan memindai perangkat yang tersedia,
setelah ip address dimasukkan maka perangkat Raspberry Pi akan muncul sehingga bisa
dihubungkan. Setelah terhubung, kondisi Raspberry Pi seperti penggunaan ram, suhu
perangkat, dan kondisi pin gpio dari Raspberry Pi bisa dipantau, nilai yang terbaca dari
sensor pH dan TDS juga dapat dikirimkan dan dimunculkan pada cayenne. Untuk diagram
alir proses pemantauan jarak jauh dapat dilihat pada gambar 3.17.
Tabel 3.2. Format Data yang akan dikirim ke Cayenne
Jenis Data Format Data
Pengukuran TDS Int
Pengukuran pH Float
Diaphragm Pump A Int
Diaphragm Pump B Int
Motor Pengaduk Int
Data hasil pengukuran seperti pada tabel 3.2, dapat dipantau melalui cayenne
myDevice, namun data tersebut tidak bisa disimpan karena aplikasi cayenne myDevice tidak
memiliki fitur penyimpanan data karena keterbatasan penyimpanan pada tempat cayenne
diakses yaitu pada smartphone.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Mulai
Inisialisasi Port,
Inisialisasi Nilai TDS,
Inisialisasi Kondisi awal
Piranti yang ada
Penghubungan cayenne dan
raspberry pi melalui ip address
Pengukuran sensor melalui
arduino dan dikirim ke
raspberry pi
Pengaturan format data
pengukuran
Pengambilan data dari raspberry
pi ke cayenne.
Data ditampilkan pada
raspberry pi
Kembali
Gambar 3.17. Diagram Pemantauan Jarak Jauh
3.3.5. Perancangan Graphical User Interface ( GUI )
Graphical User Interface yang akan dibuat untuk menampilkan hasil pengukuran serta
kondisi piranti – piranti yang digunakan. GUI dibuat untuk memudahkan pemantauan, GUI
dapat dibuat langsung pada pada Raspberry Pi dengan memanfaatkan Tkinter. Rancangan
GUI yang akan dibuat ada pada gambar 3.18. Setiap bagian pada GUI memiliki fungsi
masing – masing.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Gambar 3.18. Tampilan GUI
Penjelasan beberapa bagian pada tampilan GUI :
1. Tombol Mulai untuk menjalankan keseluruhan fungsi GUI.
2. Tampilan waktu berupa tanggal, jam dan menit.
3. Tombol Berhenti untuk menghentikan proses yang sedang berjalan pada GUI
seperti proses pemberian nutrisi dan pengiriman data pada cayenne.
4. Tombol Keluar untuk keluar dari GUI.
1
2 3 4
5 6
7
8
9
10
11
12
13
14
15
16
18
19
20
21
17
23
24
22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
5. Tampilan untuk masukan data dan batas nilai yang diharapkan yang didapat
melalui entry.
6. Tampilan nilai masukan yang telah diberikan.
7. Tampilan data hasil pengukuran sensor.
8. Tampilan kondisi aktuator yaitu lampu, motor, dan pompa nutrisi
9. Entry untuk memasukan jenis tanaman yang ditanam
10. Entry untuk masukan batas TDS yang diharapkan
11. Entry untuk masukan batas pH yang diharapkan
12. Tampilan jenis tanaman yang sudah dimasukan.
13. Tampilan batas TDS yang sudah dimasukan.
14. Tampilan batas pH yang sudah dimasukan.
15. Tampilan data hasil pengukuran modul sensor TDS.
16. Tampilan data hasil pengukuran modul sensor pH.
17. Tampilan data hasil pengukuran modul sensor LDR, ketika hasil pengukuran LDR
mendeteksi adanya cahaya yang cukup, maka akan tertampil kata “Cukup” dan
ketika tidak mendeteksi adanya cahaya yang cukup maka akan tertampil kata
“Kurang”
18. Indikator lampu, indikator ini akan menampilkan kata “Mati” ketika lampu dalam
kondisi mati dan akan menampilkan kata “Hidup” ketika lampu dalam kondisi
hidup.
19. Indikator motor pengaduk, pada indikator ini akan tertampil kata “Mati” ketika
motor pengaduk dalam kondisi mati dan akan tertampil kata “Hidup” ketika motor
pengaduk dalam kondisi hidup.
20. Indikator pompa nutrisi a dan b, pada indikator ini akan tertampil kata “Mati”
ketika pompa nutrisi a dan b dalam kondisi mati dan akan tertampil kata “Hidup”
ketika pompa nutrisi a dan b dalam kondisi hidup.
21. Indikator cayenne, pada indikator ini akan tertampil kata “Terputus” ketika tombol
mulai cayenne belum ditekan dan akan tertampil kata “Tersambung” ketika tombol
cayenne sudah ditekan.
22. Tombol untuk mengambil masukan yang telah dituliskan pada entry supaya dapat
tertampil pada bagian nomor 7, 8 dan 9.
23. Tombol untuk memulai proses pemberian nutrisi.
24. Tombol untuk memulai proses pengiriman data ke cayenne.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
BAB IV
HASIL PENGAMATAN DAN PEMBAHASAN
Pada bab ini akan dibahas mengenai hasil pengamatan dari sistem kendali hidroponik
dalam ruangan berbasis Raspberry Pi. Hasil pengamatan berupa data dari pengujian yang
telah dilakukan. Bentuk pengujian yang dilakukan adalah pembandingan data hasil
pengukuran alat dengan alat ukur lain serta kesesuaian alat dengan manfaat, tujuan dan
batasan masalah pada bab I.
4.1. Sistem Monitoring dan Pengendali Alat
Secara garis besar bagian alat sistem kendali hidroponik dalam ruangan berbasis
Raspberry Pi terdiri dari 4 bagian utama seperti pada gambar 4.1 dan gambar 4.2. Bagian –
bagian tersebut adalah penyangga lampu, talang utama tempat tanaman, bak penampung air
utama, bak penampung nutrisi dan kotak sistem kendali, isi masing – masing bagian terdapat
pada tabel 4.1.
Gambar 4.1. Bentuk Alat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Gambar 4.2. Bentuk Alat Lanjutan
Tabel 4.1. Bagian – bagian alat
No. Bagian Komponen
4. Penyangga Lampu ( Lingkaran Biru ) - Lampu LED Merah Biru
Putih
5. Talang Tanaman ( Lingkaran Hijau ) - Tanaman Selada Grand
Rapids
- Modul Sensor LDR
6. /
10.
Bak Penampung Air Utama ( Lingkaran Kuning ) - Pompa 50 Watt
- Motor Pengaduk
- Selang Nutrisi
- Probe Sensor TDS
- Probe Sensor pH
9. Kotak Sistem Kendali ( Lingkaran Merah Muda ) - Raspberry Pi 3 B
- Arduino Mega 2560
- Modul Sensor TDS
- Modul Sensor pH
- RTC DS3231
Bak Penampung Nutrisi - Pompa Nutrisi A
- Pompa Nutrisi B
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
4.1.1. GUI Alat
Graphical User Interface ( GUI ) adalah suatu sistem berupa tampilan antar muka
melalui visualisasi grafis, fungsi GUI adalah sebagai sarana interaksi pengguna dengan
sistem komputer seperti pada gambar 4.3. Pada saat GUI digunakan, tindakan seperti
memasukan, menghapus, menghidupkan, mematikan, mengirimkan dan menerima pada
sistem dapat dilakukan oleh pengguna. Pada GUI yang dibuat, pengguna dapat memulai dan
memberhentikan proses untuk mengendalikan alat, memberikan nama jenis tanaman yang
sedang ditanam, batas nilai TDS yang diinginkan, dan batas nilai pH yang diinginkan,
memulai proses pemberian nutrisi, memulai pengiriman data untuk pemantauan jarak jauh,
melihat kondisi aktual pada sensor TDS, sensor pH, juga kondisi aktuator seperti lampu,
motor dan pompa nutrisi.
Gambar 4.3. GUI Alat
4.1.2. Sistem Pengukuran nilai TDS dan pH
Pengukuran nilai TDS menggunakan modul sensor TDS dan nilai pH menggunakan
modul sensor pH. Modul sensor TDS dan pH terhubung yaitu probe TDS dan probe pH yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
ditempatkan di dalam air pada bak penampung air utama selama proses pengukuran
berlangsung. Penempatan probe pengukuran dengan saluran nutrisi harus ditempatkan
Sebelum digunakan untuk mengukur dan digunakan pada alat, modul sensor TDS dan modul
sensor pH dikalibrasi terlebih dahulu pada awal penggunaan, kalibrasi cukup dilakukan satu
kali sehingga setelah dikalibrasi nilai sensor sudah sesuai dengan alat ukur pembanding
maka alat dapat digunakan secara terus menerus. Proses kalibrasi dapat dilakukan dalam
jangka waktu 6 bulan sekali. Proses kalibrasi dilakukan dengan cara mengukur kadar larutan
buffer menggunakan alat ukur TDS juga pH, hasil pengukuran tersebut kemudian
dibandingkan dengan hasil pengukuran modul sensor TDS serta modul sensor pH secara
bersamaan seperti yang akan dijelaskan pada sub bab 4.3.9. Data hasil pengukuran di kirim
ke Arduino lalu kemudian di kirim ke Raspberry Pi untuk di olah menjadi nilai untuk sistem
pengendalian pemberian nutrisi. Data tersebut akan diterima oleh Raspberry Pi ketika sudah
ada perintah dari Raspberry Pi, data tersebut dikirim setiap menit. Untuk memperoleh data
yang lebih akurat maka probe ditempatkan cukup jauh dengan selang nutrisi, setelah itu
motor pengaduk akan hidup untuk mencampurkan nutrisi dengan air secara merat, proses
tersebutlah yang akan semakin meningkatkan akurasi hasil pengukuran.
4.1.3. Sistem Pengukuran Cahaya
Sistem pengukuran cahaya dilakukan dengan menggunakan modul sensor LDR yang
sudah dikalibrasi terlebih dahulu pada sebelum digunakan sebanyak 1 kali, proses kalibrasi
dapat dilakukan 6 bulan sekali. Proses kalibrasi akan dijelaskan pada sub bab 4.3.11. Setelah
selesai dikalibrasi, maka modul sensor LDR dapat digunakan untuk melakukan pengukuran.
Modul sensor LDR diletakkan sesuai dengan arah dari cahaya yang akan mengenai tanaman
supaya dapat mengukur cahaya matahari dengan tepat sesuai dengan yang akan didapatkan
tanaman. Untuk mendapatkan nilai cahaya matahari yang sesuai, maka digunakan alat bantu
yaitu Lux Meter untuk mengukur cahaya matahari yang masuk sehingga posisi tanaman
dapat diatur pada posisi paling optimal, nilai tersebut juga akan digunakan untuk proses
kalibrasi modul sensor LDR. Proses kalibrasi meliputi pengaturan batas lux cahaya untuk
menentukan kondisi cahaya yaitu cukup atau kurang. Bila sensor mengirimkan data bernilai
1 berarti sensor tidak mendeteksi adanya cahaya yang cukup ( cahaya kurang ), sebaliknya
bila sensor mengirimkan data bernilai 0 berarti sensor mendeteksi adanya cahaya yang
cukup. Setelah itu data hasil pengukuran berupa data digital langsung dibaca oleh Raspberry
Pi untuk kemudian diolah menjadi nilai untuk sistem pengendalian lampu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
4.1.4. Sistem Pengendalian Proses Pemberian Nutrisi
Gambar 4.4. Kondisi GUI setelah batas TDS dimasukan
Sistem Pengendalian Proses Pemberian Nutrisi terdiri atas dua proses yang melibatkan
tiga alat yaitu relay 2 channel, motor pengaduk dan pompa nutrisi. Sebelum proses
pengukuran dilakukan, batas TDS yang diharapkan harus dimasukkan terlebih dahulu
contohnya dengan memasukan angka 100, lalu tombol ambil batas ditekan dan akan
tertampil kondisi GUI seperti pada gambar 4.4, semua indikator kata masih kosong dan
indikator gambar berwarna hitam karena sistem belum berjalan. Bila nilai batas tidak
dimasukan maka batas default yang terisi adalah 0. Setelah tombol ambil masukan ditekan,
maka selanjutnya tombol mulai untuk sistem harus ditekan terlebih dahulu, setelah tombol
mulai ditekan baru proses pemberian dan pengendalian nutrisi dapat berjalan. Data hasil
pengukuran sensor TDS yang akan menentukan proses kerja sistem. Setelah data diterima
oleh Raspberry Pi, maka data tersebut akan diolah, proses akan bekerja sesuai dengan batas
TDS yang diberikan. Data Hasil Pengukuran akan dibandingkan dengan batas TDS, bila nilai
TDS kurang dari batas TDS yang telah ditentukan, maka proses akan bekerja. Proses pertama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
dimulai dengan Raspberry Pi mengirimkan perintah ke relay 2 channel untuk mengaktifkan
pompa nutrisi selama 5 detik untuk mengalirkan nutrisi dari bak penampungan nutrisi ke
dalam bak penampungan air.
Gambar 4.5. Kondisi GUI pada saat Pompa Nutrisi Hidup
Pada saat pompa nutrisi aktif, indikator untuk pompa nutrisi pada GUI akan
menunjukan kata “Hidup” seperti pada gambar, sementara indikator Motor menunjukan kata
“Mati” karena proses pengadukan belum berjalan, seperti pada gambar 4.5. Selain itu,
indikator gambar pompa nutrisi juga berubah menjadi warna hijau karena pompa nutrisi
aktif, sedangkan indikator gambar motor pengaduk berwarna merah karena motor pengaduk
tidak aktif.
Gambar 4.6. Tampilan Cayenne Pompa Aktif
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Setelah tombol mulai cayenne ditekan maka Raspberry Pi akan terhubung dengan
cayenne, maka data hasil pengukuran dan data kondisi aktuator akan dikirim ke cayenne
untuk kemudian ditampilkan. Namun proses pengiriman tersebut tidak dapat berjalan secara
real time karena ditambahkan delay selama 3 detik untuk membatasi jumlah data yang
dikirim dalam 1 menit. Seperti pada gambar 4.6, dapat dilihat indikator untuk pompa nutrisi
aktif atau bernilai 1 dan indikator gambar berwarna biru. Ketika pompa tidak aktif maka
indikator bernilai 0 dan indikator gambar berwarna abu-abu seperti pada indikator gambar
motor pengaduk yang tidak aktif.
Gambar 4.7. Kondisi Relay dan Pompa Nutrisi
Sesuai dengan keterangan yang muncul pada GUI dan Cayenne, kondisi alat
sebenarnya menunjukan kondisi yang sama yaitu aktif seperti pada gambar 4.7. Kondisi alat
tersebut dapat dilihat dari indikator lampu pada relay pompa nutrisi (relay di kiri) yang
menyala berwarna merah yang berarti relay aktif sehingga pompa juga aktif dan mengalirkan
nutrisi, berbeda dengan relay untuk lampu dan motor (relay di kanan) yang lampu
indikatornya mati karena lampu dan motor memang tidak aktif.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 4.8. Kondisi GUI pada saat Motor Pengaduk Hidup
Setelah waktu 5 detik habis, relay 2 channel akan mematikan pompa nutrisi dan
mengaktifkan motor pengaduk yang akan mengaduk air selama 10 detik supaya air nutrisi
tersebut dapat tercampur secara merata dengan air. Pada saat motor pengaduk hidup, maka
indikator Motor pada GUI yang sebelumnya menunjukan kata “Mati” akan berubah menjadi
kata “Hidup” seperti pada gambar 4.8, sementara indikator Pompa Nutrisi yang sebelumnya
menunjukan kata “Hidup” akan berubah menjadi “Mati” karena proses untuk mengalirkan
nutrisi telah selesai. Indikator gambar pompa nutrisi juga berubah menjadi merah karena
pompa nutrisi tidak aktif, sedangkan indikator gambar motor pengaduk yang sebelumnya
berwarna merah, berubah menjadi warna hijau karena motor pengaduk aktif.
Gambar 4.9. Tampilan Cayenne Motor Aktif
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Setelah tombol mulai cayenne ditekan maka Raspberry Pi akan terhubung dengan
cayenne, maka data hasil pengukuran dan data kondisi aktuator akan dikirim ke cayenne
untuk kemudian ditampilkan. Namun proses pengiriman tersebut tidak dapat berjalan secara
real time karena ditambahkan delay selama 3 detik untuk membatasi jumlah data yang
dikirim dalam 1 menit. Seperti pada gambar 4.9, dapat dilihat indikator untuk motor
pengaduk aktif atau bernilai 1 dan indikator gambar berwarna biru. Ketika motor tidak aktif
maka indikator bernilai 0 dan indikator gambar berwarna abu-abu seperti pada indikator
gambar pompa nutrisi yang tidak aktif.
Gambar 4.10. Kondisi Relay dan Motor Pengaduk
Sesuai dengan keterangan yang muncul pada GUI dan Cayenne, kondisi alat
sebenarnya menunjukan kondisi yang sama yaitu aktif seperti pada gambar 4.10. Kondisi
alat tersebut dapat dilihat dari indikator lampu pada relay pompa nutrisi (relay di kiri) yang
tidak menyala berarti relay tidak aktif sehingga pompa tidak aktif , berbeda dengan relay
untuk lampu dan motor (relay di kanan) yang lampu indikatornya menyala berwarna merah
karena lampu (relay 1) aktif dan motor pengaduk (relay 2) aktif untuk mengaduk air.
Setelah waktu 10 detik habis relay 2 channel akan mematikan motor pengaduk, kedua
proses telah selesai lalu akan ada jeda selama 5 detik untuk memberi waktu kepada sensor
supaya dapat membaca kondisi TDS pada air dengan lebih akurat. Data dari sensor kemudian
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
dikirim kembali ke raspi, bila nilai TDS sudah memenuhi batas yang telah ditentukan maka
proses tidak akan berlangsung dan menunggu sampai kondisi TDS kurang dari batas yang
telah ditentukan, namun bila nilai TDS belum memenuhi batas maka proses akan berulang
dari Raspberry Pi mengaktifkan relay 2 channel.
4.1.5. Pengendalian Lampu
Gambar 4.11. Kondisi GUI Pengendalian Lampu
Sistem Pengendalian Lampu terdiri atas satu proses yang melibatkan dua alat yaitu
relay 2 channel dan lampu LED. Data hasil pengukuran sensor TDS yang akan menentukan
proses kerja sistem. Setelah data diterima oleh Raspberry Pi, maka data tersebut akan diolah,
proses akan bekerja sesuai program yang telah dibuat. Ketika data yang dikirim bernilai 1
yang berarti kondisi cahaya kurang maka perintah akan diberikan oleh Raspberry Pi kepada
relay 2 channel untuk mengaktifkan lampu seperti pada gambar 4.11, proses pengiriman data
tersebut berlangsung setiap detik secara terus menerus selama sistem masih aktif. Ketika
data yang diberikan berubah atau bernilai 0 yang berarti kondisi cahaya cukup maka
Raspberry Pi akan langsung memberikan perintah kepada relay 2 channel untuk mematikan
lampu. Pada saat cahaya kurang maka lampu aktif, indikator untuk lampu pada GUI akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
menunjukan kata “Hidup” seperti pada gambar 4.11. Selain itu, indikator gambar lampu juga
berubah menjadi warna hijau karena lampu aktif.
Gambar 4.12. Tampilan Cayenne Lampu Aktif
Setelah tombol mulai cayenne ditekan maka Raspberry Pi akan terhubung dengan
cayenne, maka data hasil pengukuran dan data kondisi aktuator akan dikirim ke cayenne
untuk kemudian ditampilkan. Namun proses pengiriman tersebut tidak dapat berjalan secara
real time karena ditambahkan delay selama 3 detik untuk membatasi jumlah data yang
dikirim dalam 1 menit. Seperti pada gambar 4.12, dapat dilihat indikator untuk lampu aktif
atau bernilai 1 dan indikator gambar berwarna kuning. Ketika lampu tidak aktif maka
indikator bernilai 0 dan indikator gambar berwarna abu-abu seperti pada indikator gambar
pompa nutrisi dan motor pengaduk yang tidak aktif.
Gambar 4.13. Kondisi Relay dan Lampu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Gambar 4.14. Lampu Aktif
Sesuai dengan keterangan yang muncul pada GUI dan Cayenne, kondisi alat
sebenarnya menunjukan kondisi yang sama yaitu aktif seperti pada gambar 4.13. Kondisi
alat tersebut dapat dilihat dari indikator lampu pada relay pompa nutrisi (relay di kiri) yang
tidak menyala berarti relay tidak aktif sehingga pompa tidak aktif , berbeda dengan relay
untuk lampu dan motor(relay di kanan) yang lampu indikatornya menyala berwarna merah
dan lampu (relay 1) aktif dan indikator untuk motor pengaduk (relay 2) tidak menyala dan
motor tidak aktif. Untuk keadaan lampu pada alat bisa dilihat pada gambar 4.14, dapat dilihat
lampu aktif berwarna merah muda.
Gambar 4.15. Kondisi GUI pada saat Cahaya Cukup dan Lampu Mati
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Pada saat cahaya cukup maka lampu tidak aktif, indikator untuk lampu pada GUI akan
menunjukan kata “Mati” seperti pada gambar 4.15. Selain itu, indikator gambar lampu juga
berubah menjadi warna merah karena lampu tidak aktif. Pada gambar 4.16, dapat dilihat
indikator untuk lampu tidak aktif atau bernilai 0 dan indikator gambar berwarna abu-abu
seperti indikator gambar lainnya.
Gambar 4.16. Tampilan Cayenne Lampu Tidak Aktif
4.1.6. Pengujian Pengukuran TDS dan pH dan Pengendalian Proses
Pemberian Nutrisi
Pengujian Pengukuran TDS dan pH tidak disertai dengan pengukuran menggunakan
alat ukur TDS dan pH karena sudah dilakukan kalibrasi sebelum modul sensor TDS dan pH
digunakan. Pengujian pengendalian proses pemberian nutrisi dilakukan dengan mengubah
waktu hidup pompa dan mengubah konsentrasi nutrisi yang diberikan, dengan menggunakan
cara tersebut didapatkan hasil seperti pada tabel 4.2.
Tabel. 4.2. Data Hasil Pengujian dan Pengendalian Proses Pemberian Nutrisi
Pengujian pengendalian proses pemberian nutrisi tersebut mendapatkan jumlah rata –
rata kesalahan sebesar 1.24%, sehingga jumlah rata – rata kebenaran nilai yang terukur
No. Nilai Batas (ppm) Nilai Rata-rata TDS Terukur (ppm) Waktu (s) Error (%)
1 300 308 117 2.597403
2 400 406 120 1.477833
3 500 505 129 0.990099
4 600 605 130 0.826446
5 700 708 125 1.129944
6 800 806 125 0.744417
7 900 912 120 1.315789
8 1000 1018 127 1.768173
9 1100 1105 130 0.452489
10 1200 1213 128 1.071723
Jumlah rata - rata 125.1 1.237431
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
adalah 98.76%. Pada percobaan pertama konsentrasi nutrisi yang diberikan lebih pekat dari
percobaan lainnya dan waktu hidup pompa adalah 3 detik untuk selisih nilai TDS kurang
dari 50 ppm, nilai kesalahan lebih besar dari percobaan lain, namun waktu berjalannya
proses adalah yang paling cepat. Pada percobaan kedua, konsentrasi nutrisi yang diberikan
lebih encer dan waktu hidup pompa adalah 3 detik, nilai kesalahannya lebih kecil dari
percobaan pertama, namun waktu berjalannya proses lebih lama. Meskipun perbedaan
waktunya tidak terlalu jauh, namun dapat disimpulkan bahwa nutrisi yang lebih pekat akan
mempercepat tercapainya batas TDS namun keakuratannya berkurang, sedangkan
menggunakan nutrisi yang lebih encer akan memperlambat tercapainya batas TDS namun
keakuratannya lebih tinggi. Pada percobaan ke tiga dan ke empat waktu hidup pompa
dikurangi menjadi 2 detik untuk selisih nilai TDS kurang dari 50 ppm dan menggunakan
nutrisi yang encer, nilai kesalahannya menjadi lebih kecil dari 2 percobaan sebelumnya,
namun waktu yang dibutuhkan untuk mencapai nilai TDS yang diinginkan juga 10 detik
lebih lambat, hal tersebut membuktikan bahwa waktu nyala pompa yang lebih cepat
sehingga nutrisi yang dikeluarkan tidak terlalu banyak dapat meningkatkan keakuratan
proses pengendalian namun menambah waktu yang dibutuhkan. Pada percobaan ke lima
waktu hidup pompa adalah 2 detik untuk selisih nilai TDS kurang dari 50 ppm dan
konsentrasi nutrisi yang diberikan lebih pekat dari sebelumnya, nilai kesalahan menjadi lebih
besar dari percobaan sebelumnya, namun waktu berjalannya proses menjadi 5 detik lebih
cepat. Hal tersebut membuktikan bahwa penggunaan nutrisi yang lebih pekat memang
mempercepat proses tapi memperkecil keakuratan. Pada percobaan ke enam waktu hidup
pompa adalah 2 detik untuk selisih nilai TDS kurang dari 50 ppm dan konsentrasi nutrisi
yang diberikan lebih encer dari percobaan sebelumnya, nilai kesalahan menjadi lebih kecil
dan waktu berjalannya proses sama seperti percobaan sebelumya. Hal ini membuktikan
bahwa menggunakan nutrisi yang lebih encer dapat meningkatkan keakuratan. Untuk
percobaan ke tujuh dan ke delapan, waktu hidup pompa yang digunakan adalah 4 detik
namun nutrisi yang digunakan lebih pekat, nilai kesalahan lebih besar dari percobaan
sebelumnya dan waktu proses berlangsung juga lebih lama, hal tersebut menunjukan
penggunaan waktu hidup pompa yang lebih lama atau kurang tepat dapat memperlambat
proses. Pada percobaan ke sembilan dan sepuluh, waktu hidup pompa yang digunakan
adlaah 4 detik namun nutrisi yang digunakan lebih encer, nilai kesalahan menjadi lebih kecil
dari percobaan sebelumnya, namun waktu proses berlangsung tetap sama, hal tersebut
menunjukan bahwa penggunaan nutrisi yang lebih encer dapat meningkatkan keakuratan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Pengujian pengukuran TDS pH dan Pengendalian Proses Pemberian Nutrisi dilakukan
dengan cara mengubah batas TDS seperti pada gambar 4.17. Grafik pada bagian awal
semuanya bernilai 0 karena tombol mulai belum ditekan sehingga sistem belum aktif.
Setelah sistem aktif atau bernilai 1, sensor TDS dan pH langsung menerima data, namun
memang nilai sensor TDS masih 0 karena air yang diukur merupakan air distilasi yang
memiliki nilai ppm 0. Setelah batas TDS diubah, terlihat grafik berwarna orange nilainya
berubah drastis dari 0 menuju 100. Setelah proses berjalan maka pengukuran juga
berlangsung, pada saat itu nilai TDS pada air adalah sekitar 200 ppm, sehingga sudah
memenuhi batas TDS yang ditentukan, maka proses tidak bejalan. Ketika batas TDS diubah
menjadi 300 maka proses berjalan karena nilai batas TDS blm terpenuhi. Satu detik setelah
batas data diubah maka pompa nutrisi langsung aktif untuk mengalirkan nutrisi selama 5
detik sesuai dengan pengaturan dan setelah pompa berhenti maka motor pengaduk bekerja
selama 10 detik untuk mencampurkan nutrisi dengan air secara merata, proses tersebut
berjalan sebanyak 2 kali karena selisih nilai TDS dan batas TDS berada pada range 50 – 300
ppm, setelah selisih menjadi lebih kecil yaitu dibawah 50 ppm maka pompa hanya aktif
selama 3 detik sesuai dengan pengaturan, setelah pompa berhenti maka motor pengaduk
bekerja selama 10 detik, grafik TDS menunjukan peningkatan nilai secara linear, disertai
spike di awal pemberian nutrisi melalui pompa. Hal tersebut terjadi karena sensor membaca
air yang belum tercampur secara merata dengan nutrisi, namun seiring berjalannya waktu
dan motor pengaduk aktif, pembacaan nilai TDS mulai menjadi lebih stabil. Proses tersebut
akan berjalan sampai nilai batas TDS tercapai, pada gambar 4.17 terjadi 6 kali pengulangan
proses sampai batas TDS tercapai.
Gambar 4.17. Data Hasil Pengukuran
0
1
2
0
50
100
150
200
250
300
350
16
:50
:10
16
:50
:15
16
:50
:20
16
:50
:25
16
:50
:30
16
:50
:35
16
:50
:40
16
:50
:45
16
:50
:50
16
:50
:55
16
:51
:00
16
:51
:05
16
:51
:10
16
:51
:15
16
:51
:20
16
:51
:25
16
:51
:30
16
:51
:35
16
:51
:40
16
:51
:45
16
:51
:50
16
:51
:55
16
:52
:00
16
:52
:05
16
:52
:10
16
:52
:15
16
:52
:20
16
:52
:25
16
:52
:30
16
:52
:35
16
:52
:40
16
:52
:45
16
:52
:50
16
:52
:55
16
:53
:00
16
:53
:05
16
:53
:10
16
:53
:15
16
:53
:20
16
:53
:25
16
:53
:30
16
:53
:35
16
:53
:40
16
:53
:45
16
:53
:50
16
:53
:55
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
S
Data 1
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
4.1.7. Pengujian Pengukuran Cahaya dan Pengendalian Lampu
Pengujian pengukuran cahaya dan Pengendalian Lampu dilakukan dengan cara
mengubah kondisi cahaya seperti pada gambar 4.18. Grafik pada bagian awal bernilai 1
karena tombol mulai sudah ditekan sehingga sistem dalam keadaan aktif. Sensor LDR
bernilai 0 karena tidak mendeteksi adanya cahaya yang cukup sehingga Raspberry Pi
mengirimkan perintah kepada relay sehingga relay aktif dan lampu hidup. Ketika sensor
LDR bernilai 1 atau mendeteksi adanya cahaya yang cukup maka sehingga Raspberry Pi
mengirimkan perintah kepada relay sehingga relay pun akan mati dan lampu juga mati.
Proses berjalan terus menerus karena data dikirimkan setiap detik, sehingga respon sistem
berkisar antara 1 detik atau dibawah 1 detik. Pengujian sistem dilakukan selama 1 jam, dalam
wakt 1 jam terjadi beberapa 9 kali lampu hidup dan mati, hal tersebut terjadi karena sensor
mendeteksi ada 9 kali perubahan kondisi cahaya antara cukup atau tidak cukup.
Gambar 4.18. Data Hasil Pengukuran
Pada gambar 4.19. sumbu waktu serta data yang dimasukan ke dalam grafik tidak
terlalu banyak sehingga bisa dilihat bahwa terjadi perubahan nilai sensor LDR dari 0 ke 1
yang berarti telah terdeteksi adanya cahaya yang cukup dan setelah nilai sensor berubah,
dalam waktu kurang dari 1 detik nilai lampu pun berubah dari 1 menjadi 0 yang berarti lampu
berubah kondisi dari hidup menjadi mati.
Gambar 4.19. Data Hasil Pengukuran
0
1
2
18
:35
:49
18
:37
:26
18
:39
:03
18
:40
:40
18
:42
:17
18
:43
:54
18
:45
:31
18
:47
:08
18
:48
:45
18
:50
:22
18
:51
:59
18
:53
:36
18
:55
:13
18
:56
:50
18
:58
:27
19
:00
:04
19
:01
:41
19
:03
:18
19
:04
:55
19
:06
:32
19
:08
:09
19
:09
:46
19
:11
:23
19
:13
:00
19
:14
:37
19
:16
:14
19
:17
:51
19
:19
:28
19
:21
:05
19
:22
:42
19
:24
:19
19
:25
:56
19
:27
:33
19
:29
:10
19
:30
:47
Lam
pu
dan
Cah
aya
Data 11Cahaya Lampu Keadaan Sistem
0
1
2
Nila
i TD
S
Data 11 ZoomCahaya Lampu Keadaan Sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
4.1.8. Desain motor pengaduk
Pada desain motor pengaduk terdapat perubahan pada bagian bawah pengaduk yang
sebelumnya terdapat empat kaki sekarang menjadi dua kaki supaya tidak terlalu berat dan
untuk dua kaki saja sudah cukup kuat dan berjalan dengan baik untuk membuat air
bercampur dengan nutrisi .
Gambar 4.20. Motor Pengaduk
4.2. Implementasi Perangkat Keras
Gambar 4.21. Plant Hidroponik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
Hasil dari pembuatan perangkat keras berupa plant dan bak penampungan air dapat
dilihat pada gambar 4.20. dengan dimensi tinggi 140 cm, lebar 80 cm, dan panjang 107 cm.
Pada gambar 4.21 terdapat 3 lingkaran, pada lingkaran berwarna biru ( nomor 4 ) terdapat
penyangga lampu LED yang berfungsi sebagai pencahayaan untuk plant, ketika sensor LDR
tidak mendeteksi adanya cahaya yang cukup maka lampu akan menyala berwarna merah –
biru, ketika sensor LDR mendeteksi adanya cahaya yang cukup maka lampu akan mati. Pada
lingkaran berwarna hijau ( nomor 5 ) terdapat plant aliran air serta tempat tanaman tumbuh.
Pada lingkaran merah ( nomor 6 ) terdapat bak air utama tempat pompa air, sensor pH dan
TDS, motor pengaduk dan selang nutrisi, ketika pompa nutrisi aktif maka larutan nutrisi
akan masuk ke bak air utama melalui pompa tersebut.
Pada gambar 4.22. terdapat dua lingkaran, lingkaran kuning ( nomor 9 ) terdapat bak
penampung air, sedangkan lingkaran merah muda ( nomor 10 ) terdapat rangkaian
pengendali pada bagian atas, pompa nutrisi, bak air nutrisi a, bak air nutrisi b dan supply
untuk masing – masing alat pada bagian bawah.
Gambar 4.22. Bak Penampung Air dan Rangkaian Pengendali
Bagian bak penampung air tampak atas pada gambar 4.23, terdapat 3 lingkaran,
lingkaran berwarna hijau ( nomor 13 ) merupakan pipa pompa air utama yang akan
menaikkan air dari bak penampung menuju ke atas ke talang pertama untuk kemudian
dialirkan ke seluruh plant. Lingkaran berwarna merah ( nomor 11 ) merupakan pipa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
pembuangan air dari plant, air yang dinaikkan menggunakan pompa mengalir ke seluruh
bagian plant lalu berujung ke pipa pembuangan dan masuk kembali ke dalam bak
penampung air. Lingkaran berwarna kuning ( nomor 12 ) merupakan penyangga motor
pengaduk, kabel untuk motor pengaduk berada di dalam pipa.
Gambar 4.23. Bak Penampung Air Tampak Atas
Bagian dalam bak penampung air pada gambar 4.24., terdapat 4 lingkaran. Lingkaran
berwarna merah ( nomor 14 ) merupakan pipa pembuangan air. Lingkaran kuning ( nomor
16 ) merupakan selang nutrisi a dan selang nutrisi b. Lingkaran berwarna biru muda ( nomor
17 ) merupakan motor pengaduk pompa yang berfungsi mengaduk air supaya bercampur
secara merata dengan nutrisi, ketika hasil pengukuran sensor TDS dibawah nilai batas yang
sudah ditetapkan maka pompa nutrisi akan aktif dan mengalirkan nutrisi melalui selang
masing – masing, setelah pompa nutrisi mati maka motor pengaduk akan mulai aktif selama
10 detik untuk mencampurkan air dan nutrisi, kemudian sensor TDS akan melakukan
pengukuran kembali. Bila hasil pengukuran sensor TDS sudah memenuhi nilai batas yang
sudah ditetapkan maka pompa nutrisi dan motor pengaduk tidak akan aktif, bila hasil
pengukuran sensor TDS belum memenuhi nilai batas yang sudah ditetapkan maka proses
berulang dari pompa nutrisi aktif. Lingkaran hijau ( nomor 15 ) merupakan pompa air utama
yang berfungsi menaikkan air menuju plant.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
Gambar 4.24. Bagian Dalam Bak Penampung Air
Tempat rangkaian pengendali pada gambar 4.25. terdapat enam lingkaran. Pada
lingkaran hijau muda ( nomor 20 )terdapat Raspberry Pi yang berfungsi mengontrol
keseluruhan proses. Pada lingkaran kuning ( nomor 19 ) terdapat Arduino mega yang
berfungsi mengambil data dari sensor TDS dan sensor pH, kemudian dikirim melalui kabel
USB ke Raspberry Pi. Pada lingkaran merah ( nomor 21 ) terdapat modul relay 2 channel
untuk mengendalikan lampu dan motor pengaduk yang mendapat supply dari adaptor untuk
lampu dan motor dan supply dari Raspberry Pi untuk menghidupkan relay 2 channel, pin
input 1 dan input 2 relay 2 channel dihubungkan dengan pin GPIO Raspberry Pi untuk
memberikan perintah. Ketika relay 2 channel aktif maka motor atau lampu akan hidup,
ketika relay 2 channel tidak aktif maka motor atau lampu tidak akan hidup. Pada lingkaran
ungu ( nomor 23 ) terdapat modul relay 2 channel untuk mengendalikan pompa nutrisi a dan
pompa nutrisi b, sama seperti relay 2 channel untuk lampu dan motor, relay 2 channel
mendapatkan supply dari adaptor untuk mengendalikan pompa nutrisi dan supply dari
Raspberry Pi untuk menghidupkan relay 2 channel, pin input 1 dan input 2 relay 2 channel
dihubungkan dengan pin GPIO Raspberry Pi untuk memberikan perintah. Ketika relay 2
channel aktif maka pompa nutrisi a dan pompa nutrisi b akan hidup, ketika relay 2 channel
tidak aktif maka pompa nutrisi a dan pompa nutrisi b akan hidup. Pada lingkaran coklat (
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
nomor 24 ) terdapat modul sensor pH yang terhubung dengan probe yang akan dicelupkan
ke dalam air ketika melakukan pengukuran. Pada lingkaran biru muda ( nomor 22 ) terdapat
modul sensor TDS yang terhubung dengan probe yang selalu dicelupkan ke dalam air untuk
melakukan pengukuran.
Gambar 4.25. Rangkaian Pengendali
Pompa nutrisi dan bak penampung nutrisi terdapat pada gambar 4.26, terdapat 4
lingkaran. Pada lingkaran berwarna biru ( nomor 25 ) terdapat pompa nutrisi dan pompa
nutrisi b yang akan aktif ketika nilai TDS dalam air yang diukur oleh sensor TDS tidak
memenuhi nilai batas, ketika nilai TDS dalam air memenuhi nilai batas maka pompa tidak
akan aktif. Ketika pompa aktif maka selang yang terhubung dengan lubang input pompa
akan menyedot air dari bak penampungan nutrisi masing – masing dan selang yang berada
pada lubang output pompa akan mengalirkan larutan nutrisi ke dalam bak penampung air.
Pada lingkaran merah ( nomor 28 ) terdapat bak penampung nutrisi a, sedangkan pada
lingkaran berwarna ungu ( nomor 26 ) terdapat bak penampung nutrisi b. Pada lingkaran
berwarna kuning ( nomor 27 ) terdapat selang yang terhubung dengan lubang input pompa
untuk menyedot air berisi nutrisi ketika pompa aktif.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Gambar 4.26. Bagian Bak Penampung Nutrisi dan Pompa Nutrisi
Pada gambar 42.7 dapat dilihat terdapat 1 lingkaran, pada lingkaran berwarna biru (
nomor 29 ) merupakan sumber tegangan motor pengaduk, lampu LED dan pompa nutrisi
tidak langsung berasal dari mikrokontroler tetapi berasal dari adaptor 12V DC untuk motor
pengaduk dan lampu LED, sedangkan untuk pompa nutrisi berasal dari adaptor 24V DC.
Raspberry Pi juga mendapatkan supply dari adaptor 5V 2A.
Gambar 4.27. Adaptor dan sumber tegangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
4.3. Implementasi Perangkat Lunak
Pada bagian ini hasil dari pembuatan perangkat lunak dari program Arduino dan
Python, berupa Graphical User Interface dan proses – proses sub sistem perangkat lunak
yang dibuat untuk pemantauan dan pengendalian alat.
4.3.1. Bagian – Bagian pada GUI
Gambar 4.28. Bagian – Bagian GUI
Bagian – bagian GUI seperti pada gambar 4.28 memiliki fungsi masing – masing.
Penjelasan masing – masing fungsi tersebut ada pada tabel 4.3.
Tabel 4.3. Fungsi Bagian – Bagian GUI
No. Bagian GUI Fungsi
1. Tombol Mulai Memulai program dan sistem utama
2. Tanggal dan Waktu Menampilkan waktu dan tanggal secara real time
3. Tombol Berhenti Memberhentikan program dan sistem utama
4. Tombol Keluar Menutup GUI
5. Masukan Jenis tanaman,
batas TDS dan batas pH
Entry untuk memasukan jenis tanaman, batas TDS
dan batas pH yang diinginkan.
6. Tombol Ambil Masukan Memasukan informasi batas dan jenis tanaman
yang diinginkan ke dalam sistem.
7. Tombol Proses Pemberian
Nutrisi
Memulai Proses pemberian nutrisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Tabel 4.3. (Lanjutan) Fungsi Bagian – Bagian GUI
No. Bagian GUI Fungsi
8. Tombol Mulai Cayenne Memulai proses pengiriman data jarak jauh
9. Keterangan Menampilkan keterangan warna pada indikator
pengaduk, lampu dan pompa
10. Indikator Motor Menampilkan kondisi Motor Pengaduk secara real
time menggunakan gambar
11. Indikator Lampu Menampilkan kondisi Lampu secara real time
menggunakan gambar
12. Indikator Pompa Menampilkan kondisi Pompa Nutrisi secara real
time menggunakan gambar
13. Kondisi Hasil Pengukuran
Sensor
Menampilkan hasil pengukuran sensor secara real
time
14. Kondisi Lampu, Motor
Pengaduk dan Pompa
Nutrisi
Menampilkan kondisi Lampu, Motor Pengaduk dan
Pompa nutrisi secara real time menggunakan kata
15. Kondisi Masukan yang
Diberikan
Menampilkan kondisi masukan yang telah
diberikan pada entry
16. Indikator Sistem Menampilkan kondisi sistem berjalan atau berhenti
4.3.2. Manual Penggunaan GUI
Graphical User Interface alat untuk menjalankan proses pengendalian dan
pemantauan dilakukan dengan beberapa tahap :
1. Siapkan seluruh komponen alat, pastikan tidak ada bagian yang bocor, pastikan air
pada bak penampung utama dan bak nutrisi telah cukup.
2. Hubungan semua sumber tegangan yang dibutuhkan.
3. Hubungkan Raspberry Pi 3 dengan laptop menggunakan aplikasi VNC viewer
melalui jaringan internet yang sama.
4. Mulai hubungkan Raspberry Pi 3 melalui VNC viewer, setelah berhasil di akses
maka jalankan program utama.
5. Setelah program berjalan dan GUI muncul, maka masukan nama tanaman, batas
TDS dan batas pH, lalu tekan tombol ambil masukan.
6. Setelah masukan telah diisi maka tekan tombol mulai di atas, sehingga seluruh
keterangan dan keadaan sensor serta aktuator akan muncul, sistem pengendalian
lampu juga akan otomatis berjalan.
7. Untuk memulai proses pengendalian dan pemberian nutrisi, maka tekan tombol
mulai proses pemberian nutrisi, setelah ditekan maka proses akan mulai berjalan.
8. Untuk melakukan pemantauan jarak jauh, tekan tombol mulai cayenne sehingga
program dapat terhubung dengan cayenne.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
9. Untuk menghentikan keseluruhan proses maka dapat dilakukan dengan cara
menekan tombol berhenti di kanan atas.
10. Untuk keluar dari GUI maka dapat dilakukan dengan cara menekan tombol keluar
di kanan atas.
4.3.3. Program Pembacaan dan Pemrosesan Data dari Arduino
Pada gambar 4.29, bagian awal program terdapat inisialisasi nilai – nilai pin dan nilai
penting yang digunakan dalam perhitungan data seperti nilai offset, nilai sampling interval,
nilai print interval, nilai array, nilai referensi temperatur, nilai referensi tegangan, nilai
referensi adc. Pada bagian void loop() merupakan proses looping program, untuk mengambil
nilai tds maka digunakanlah library yang sudah ditambahkan. Untuk memperoleh nilai tds
maka menggunakan fungsi “.getTdsValue()”, nilai TDS tersebut dimasukan ke dalam
variabel tdsValue. Untuk delay pengiriman data digunakan fungsi “millis()” , “millis()”
digunakan pada variabel “samplingTime” dan “printTime”, kedua variabel tersebut
selanjutnya digunakan untuk membuat fungsi untuk memperbaharui data mengunakan if, di
dalam fungsi if tersebut terdapat perbandingan serta perhitungan untuk nilai pH dan TDS.
Tegangan hasil pengukuran sensor pH dihitung dengna perhitungan adc yaitu, avergearray
dikalikan 5 (tegangan referensi) lalu hasilnya dibagi dengan 1024 ( adc 10 bit). Fungsi if
menggunakan variabel “samplingTime” berfungsi untuk mengambil data, sedangkan fungsi
if menggunakan variabel “printTIme” digunakan untuk mengirimkan data untuk dibaca oleh
Raspberry Pi. Setelah mendapatkan nilai tegangan maka nilai pH sebenarnya dapat dihitung
dengan cara konstanta 3.5 dikalikan dengan nilai tegangan hasil perhitungan lalu ditambah
offset yang telah didapatkan melalui proses kalibrasi yaitu 0.3. Selanjutnya variabel xpH
digunakan untuk membuat nilai pH bernilai ratusan sehingga senilai dengan nilai TDS yang
bernilai ratusan, untuk memungkinkan pengiriman data TDS dan pH secara bersamaan,
maka nilai TDS dan pH harus berada pada tingkatan yang sama yaitu ratusan. Untuk
mengirimkan nilai TDS dan pH secara bersamaan maka digunakan perintah print. Perintah
print tersebut kemudian akan dapat dibaca oleh raspberry pi, setiap print hanya dapat dibaca
satu kali oleh Raspberry Pi, itulah mengapa nilai TDS dan pH harus dikirim secara
bersamaan menjadi sebuah kesatuan nilai yang terdiri dari 6 digit nilai, 3 digit nilai di depan
merupakan nilai TDS dan 3 digit nilai di belakang merupakan nilai pH. Meskipun nilai TDS
dan pH tidak selalu bernilai ratusan namun akan tetap dapat dipisahkan nanti pada saat
penerimaan data di Raspberry Pi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Gambar 4.29. Program Pengukuran Data TDS dan pH
4.3.4. Program Penerimaan Data pada Raspberry Pi
Gambar 4.30. Program Pembacaan Data dari Arduino ke Raspberry Pi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Pada Raspberry Pi, untuk menerima data dari Arduino maka dibuatlah fungsi khusus
untuk menerima data. Pada gambar 4.30 dapat dilihat komunikasi serial digunakan untuk
menghubungkan Arduino dengan Raspberry Pi, data yang dikirimkan kemudian dimasukkan
ke dalam variabel. Setelah inisialisasi variabel yang akan digunakan untuk menyimpan data
TDS dan data pH. Pada variabel awal data TDS dan data pH terbagi ke dalam 6 digit angka
dalam satu kesatuan. Data tersebut dipisah menjadi dua bagian yaitu 3 digit pertama
merupakan nilai TDS dan 3 digit berikutnya merupakan nilai pH. Untuk mendapatkan nilai
TDS maka nilai pada variabel s diolah menggunakan operator “/” atau pembagian dengan
nilai bagi 1000 dan dimasukkan ke dalam variabel dataTDS, sedangkan untuk mendapat
nilai pH maka nilai pada variabel s diolah menggunakan operator “%” atau hasil sisa
pembagian dengan nilai bagi 1000 dan dimasukkan ke dalam variabel “s3bagi”. Variabel
“s3bagi” awalnya berisi nilai ratusan, sementara nilai sebenarnya yang terbaca dari sensor
pH merupakan satuan atau belasan, maka untuk mendapatkan nilai yang sebenarnya, nilai
variabel “s3bagi” akan diolah menggunakan operator “/” dengan nilai bagi 100 supaya
mendapatkan nilai yang sebenarnya.
4.3.5. Program Pengukuran Cahaya
Pada gambar 4.31 dapat dilihat proses pengukuran cahaya berjalan setelah tombol
mulai ditekan, pada saat tombol mulai ditekan maka variabel datamasuk akan bernilai 1.
Sebelum digunakan untuk melakukan pengukuran, modul sensor LDR akan dikalibrasi
terlebih dahulu, proses kalibrasi akan dijelaskan pada sub bab Kalibrasi Modul Sensor LDR.
Pada saat sensor tidak mendeteksi adanya cahaya yang cukup maka data yang terbaca dari
sensor akan bernilai 1, sedangkan pada saat sensor mendeteksi adanya cahaya yang cukup
maka data yang terbaca dari sensor akan bernilai 0. Data dari modul sensor LDR yang
disambungkan langsung ada Raspberry Pi, digunakan untuk melakukan proses
pengendalian lampu LED.
Gambar 4.31. Fungsi Pengukuran Cahaya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
4.3.6. Program Proses Pengendalian Pemberian Nutrisi
Gambar 4.32. Proses Pengendalian Nutrisi
Pada gambar 4.32 dapat dilihat proses pengendalian pemberian nutrisi dimulai dengan
deklarasi variabel – variabel yang akan digunakan dalam proses. Proses pemberian nutrisi
akan berjalan jika kondisi datamasuk bernilai 1 telah terpenuhi. Untuk dapat melakukan
proses pemberian nutrisi maka dibuatlah fungsi pengaduk_on untuk menghidupkan motor,
pengaduk_off untuk mematikan motor, pompanutrisi_on untuk menghidupkan pompa
nutrisi dan pompanutrisi_off untuk mematikan pompa nutrisi. Selanjutnya jika kondisi
datamasuk bernilai 1 telah terpenuhi, untuk menentukan jumlah nutrisi yang diberikan
bergantung pada durasi hidup pompa nutrisi, untuk menentukan durasi hidup pompa nutrisi
maka digunakan variabel banding untuk menghitung selisih nilai jumlah nutrisi yang belum
terpenuhi.
Tabel 4.4. Penentu Durasi Hidup Pompa
Kondisi Nilai Variabel “banding”
(ppm)
Durasi Hidup Pompa
(s)
Pertama banding < 50 2
Kedua 50 > banding < 300 4
Ketiga Banding > 300 6
Durasi hidup pompa dapat dilihat pada tabel 4.4. Jika selisih dataTDS lebih kecil dari
batasTDSBENAR maka proses akan berjalan. Selanjutnya selisih dari dataTDS dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
batasTDSBENAR dimasukan ke dalam variabel bernama “banding”, jika variabel “banding”
kurang dari 50 maka pompa nutrisi akan hidup selama 2 detik kemudian motor pengaduk
hidup selama 10 detik, setelah itu akan ada jeda 5 detik untuk memberi waktu sensor
mengukur kadar TDS dengan lebih akurat. Kemudian nilai variabel “banding” lebih dari 50
dan kurang dari 300 maka pompa nutrisi akan hidup selama 4 detik kemudian motor
pengaduk hidup selama 10 detik, setelah itu akan ada jeda 5 detik untuk memberi waktu
sensor mengukur kadar TDS dengan lebih akurat. Jika kedua kondisi diatas tidak terpenuhi
maka ada kondisi ketiga yaitu nilai variabel “banding” lebih dari 300 maka pompa nutrisi
akan hidup selama 6 detik kemudian motor pengaduk hidup selama 10 detik, setelah itu akan
ada jeda 5 detik untuk memberi waktu sensor mengukur kadar TDS dengan lebih akurat.
Proses akan terus berjalan sampai batasTDS terpenuhi atau kondisi datamasuk bernilai 0.
Bagian program tersebut terdapat pada gambar 4.33.
Gambar 4.33. Proses Pengendalian Pemberian Nutrisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
4.3.7. Program Proses Pengendalian Rangakaian Lampu LED
Pada gambar 4.34 dapat dilihat proses pengendalian rangkaian lampu LED dimulai
dengan deklarasi variabel yang akan digunakan pada proses. Selanjutnya ketika kondisi
datamasuk bernilai 1 terpenuhi, maka selanjutnya untuk dapat menghidupkan dan
mematikan lampu dibuatlah fungsi lampu_on untuk menghidupkan lampu dan lampu_off
untuk mematikan lampu. Kemudian kondisi hidup dan mati lampu bergantung pada
pembacaan data LDR, jika variabel dataLDR bernilai 0 maka lampu akan mati karena sensor
LDR mendeteksi adanya cahaya yang cukup, sedangkan ketika variabel dataLDR bernilai 1
maka lampu akan hidup karena sensor LDR tidak mendeteksi adanya cahaya yang cukup .
Proses pembacaan nilai variabel berjalan dengan jeda 1 detik. Ketika datamasuk bernilai 0
maka kondisi datamasuk sama dengan 1 tidak terpenuhi, sehingga proses pengendalian
lampu akan berhenti dan lampu akan mati.
Gambar 4.34. Proses Pengendalian Rangkaian Lampu LED
4.3.8. Program Penyimpanan Data
Pada gambar 4.35 dapat dilihat data hasil pengukuran modul sensor TDS, modul
sensor pH, modul sensor LDR, keadaan lampu, keadaan motor pengaduk, keadaan pompa
nutrisi dan kondisi sistem sedang berjalan atau tidak akan disimpan pada file dalam format
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
“.csv”. Fungsi data_logging(): digunakan untuk melakukan proses penyimpanan data. Untuk
memepermudah proses penyimpanan data, digunakan juga fitur untuk penyimpanan data
yang sudah ada pada python digunakan, yaitu library csv. Semua data yang ingin disimpan
di deklarasikan terlebih dahulu, kemudian proses penyimpanan data dirancang akan
langsung berjalan ketika program dijalankan. Tanggal pada hari program dijalankan
dimasukan ke dalam variabel, waktu real time juga dimasukan ke dalam 2 variabel berbeda,
yaitu waktuLOG1 dan waktuLOG2. Perintah pertama yang dilakukan adalah untuk membuat
file terlebih dahulu, dengan nama “file (tanggal)”, bila file tersebut belum ada maka akan
otomatis dibuat, namun bila file tesebut sudah ada maka proses penulisan data langsung
dapat dilakukan. File tempat data disimpan akan berganti berdasarkan pergantian hari.
Setelah file sudah dibuat, semua data dimasukan ke dalam file bertipe csv dengan perintah
file.write. Proses penyimpanan file akan dilakukan jika kondisi waktu detik berganti, jika
kondisi tersebut terpenuhi, maka fungsi file.open akan dilakukan kembali lalu fungsi
file.write untuk menuliskan data. Setelah proses tersebut selesai maka akan ada jeda 1 detik,
sehingga dapat disimpulkan proses penyimpanan data dilakukan setiap 1 detik sekali.
Gambar 4.35. Program Penyimpanan Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
4.3.9. Pengaturan Cayenne
Pada cayenne harus dibuat sebuah device custom untuk Raspberry Pi, setelah dibuat
maka terdapat MQTT Username dan MQTT Password serta Client id yang akan digunakan
untuk mengakses cayenne melalui Raspberry Pi, username dan password tiap device berbeda
– beda maka dapat digunakan untuk mengakses device secara spesifik seperti pada gambar
4.36.
Gambar 4.36. Pembuatan Device Baru
Gambar 4.37. Fitur Bring Your Own Thing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
Untuk mengirimkan data dan ditampilkan pada cayenne, tidak semua sensor ada pada
cayenne, maka dapat digunakan fitur bring your own thing seperti pada gambar 4.37. Pada
fitur bring your own thing terdapat banyak display widget yang dapat dipilih sesuai dengan
kebutuhan untuk menampilkan data. Terdapat banyak pilihan simbol, jenis tampilan data
serta jenis data yang akan ditampilkan. Melalui cayenne juga terdapat button atau control
widget yang dapat digunakan untuk mengontrol atau memberi masukan ke raspi seperti pada
gambar 4.38, terdapat berbagai macam button baik custom maupun yang sudah disediakan
oleh cayenne, fungsi button yang sudah disediakan cayenne salah satunya adalah button yang
dapat digunakan untuk mematikan raspberry pi. Namun pada alat sistem kendali hidroponik,
fitur tersebut tidak digunakan, fitur yang digunakan hanya display widget data analog dan
data digital.
Gambar 4.38. Pengaturan Custom Widget
Gambar 4.39. Tampilan Dashboard yang berisi Widget-Widget
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
Pada gambar 4.39. dapat dilihat display widget yang digunakan pada plant sistem
kendali hidroponik ada 8, yaitu display nilai analog TDS, display nilai analog pH, display
nilai digital lampu, display nilai digital motor pengaduk, display nilai digital pompa nutrisi,
display nilai analog lampu, display nilai analog motor pengaduk, display nilai analog pompa
nutrisi. Display nilai analog dan digital akan berubah, untuk nilai analog maka data angka
akan berubah sesuai data yang diterima dari Raspberry Pi namun nilai tersebut tidak berubah
setiap waktu tetapi ada jeda 3 detik sehingga tidak dapat disebut real time namun selisih
waktu 3 detik tersebut tidak terlalu signifikan karena pada perubahan data serta pengiriman
data dari Arduino ke Raspberry pi juga terdapat delay, sedangan untuk nilai digital yang
berupa nilai 0 dan 1 direpresetasikan ke dalam bentuk warna gambar, jika data yang diterima
bernilai 0 maka gambar berwarna abu-abu dan jika data yang diterima bernilai 1 maka
gambar berwarna kuning atau biru, data digital tersebut juga ditampilkan pada display nilai
analog karena terkadang display nilai digital yang berupa gambar mengalami glitch. Data
yang ditampilkan pada cayenne tidak secara real time namun ada delay selama 3 detik,
sehingga interval pengiriman data adalah 3 detik.
4.3.10. Sistem Pemantauan Jarak Jauh
Gambar 4.40. Sistem Pemantauan Jarak Jauh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
Pada gambar 4.40 dapat dilihat data hasil pengukuran modul sensor TDS, modul
sensor pH, modul sensor LDR, keadaan lampu, keadaan motor pengaduk, keadaan pompa
nutrisi dan kondisi sistem sedang berjalan atau tidak, akan dikirim melalui internet ke
Cayenne sebagai sistem pemantauan jarak jauh. Proses pengiriman dilakukan dengan
membuat fungsi proses_cayenne(): dan menggunakan library cayenne sendiri yang sudah
diimport pada awal program. Semua variabel berisi data yang akan dikirim terlebih dahulu
di deklarasikan, kemudian jika kondisi datamasuk bernilai 1 sudah terpenuhi dan jika kondisi
kirim cayenne bernilai 1 sudah terpenuhi, maka proses penghubungan langsung dilakukan.
Protokol koneksivitas yang digunakan adalah MQTT, setelah melakukan pembuatan custom
device pada cayenne myDevice maka akan didapat Username, Password dan MQTT Client
Id dari device tersebut.
Setiap data dimasukan ke channel masing – masing widget, terdapat 5 data yang
dikirim, maka terdapat 5 channel yang digunakan. Pengiriman dilakukan dengan
menggunakan perintah client.virtualWrite yang berulang terus menerus dengan jeda 3 detik.
Pada saat perulangan dilakukan, kondisi datamasuk dibaca terus menerus. Ketika datamasuk
bernilai 0 maka kirimcayenne juga akan bernilai 0, sehingga ketika kondisi datamasuk dan
kirimcayenne pada bagian awal program tidak terpenuhi, maka proses pengiriman data jarak
jauh akan berhenti dan koneksi dengan cayenne juga akan terputus. Namun ketika kondisi
datamasuk bernilai 1 dan kondisi kirimcayenne juga bernilai 1, maka cayenne dan Raspberry
Pi akan kembali terhubung dan mulai mengirimkan data.
4.3.11. Kalibrasi Modul Sensor TDS
Sensor pH dan sensor TDS merupakan modul, untuk menentukan kebenaran nilai yang
diperoleh dari hasil pengukuran sensor maka harus dilakukan kalibrasi menggunakan alat
ukur yang memang sudah terjamin kebenaran nilai yang terukur yaitu pH meter dan TDS
EC meter. Untuk melakukan hal tersebut maka dilakukan pengukuran nilai dari masing –
masing sensor bersamaan dengan alat ukur masing – masing dengan beberapa jenis cairan.
Sensor yang telah diukur pertama adalah sensor TDS menggunakan TDS EC meter sebagai
pembanding, pertama sensor dan alat ukur digunakan di udara, kedua alat ukur menunjukan
nilai yang sama yaitu 0 ppm seperti pada gambar 4.41, hal tersebut terjadi karena memang
alat ukur digunakan untuk mengukur media berupa air yaitu total zat padat yang terlarut
dalam air.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
Gambar 4.41. Sensor dan Alat ukur di udara
Tetapi terkadang ketika sensor diletakkan di udara, menunjukan nilai 2 sampai 6 ppm
yang seharus 0 ppm seperti pada gambar 4.42, berarti terkadang ketepatan sensor tidak
100%. Hal ini disebabkan karena masih ada air atau partikel lain yang tersisa pada probe
sensor.
Gambar 4.42. Sensor dan Alat ukur di udara
Kemudian sensor dan alat ukur digunakan untuk mengukur air keran seperti pada
gambar 4.43. Pada pengukuran air keran, sensor menunjukan nilai 154 ppm, sedangkan alat
ukur menunjukan nilai 149 ppm, terdapat perbedaan nilai 5 ppm karena ketepatan sensor
terkadang tidak 100%, pada pengukuran ini ketepatannya 97%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
Gambar 4.43. Sensor dan Alat Ukur di air keran.
Pengukuran selanjutnya dilakukan pada air aquades yaitu air distilasi atau
penyulingan. Aquades merupakan air murni, sehingga hasil pengukuran seharusnya
mendekati 0 ppm. Namun pada pengukuran sensor menunjukan nilai 6 ppm sedangkat alat
ukur menunjukan nilai 5 ppm seperti pada gambar 4.44 , pada pengukuran ini ketepatannya
99% yang berarti memiliki error sebesar 1%.
Gambar 4.44. Sensor dan Alat Ukur di air aquades
Pada pengukuran berikutnya, larutan yang dibuat adalah 50 ml aquades dan 2.51 gram
gula. Pada pengukuran larutan ini hasil pengukuran sensor menunjukan nilai 35 ppm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
sedangkan alat ukur menunjukan nilai 34 ppm seperti pada gambar 4.45, pada pengukuran
ini ketepatannya 99%.
Gambar 4.45. Sensor dan Alat ukur di aquades dan 2.51 gram gula
4.3.12. Kalibrasi Modul Sensor pH
Pada bagian kedua yaitu kalibrasi modul sensor pH dengan pH meter sebagai
pembanding. Pada saat pertama kali digunakan, proses pengambilan nilai offset harus
dilakukan untuk kemudian digunakan ke dalam perhitungan nilai pH supaya perhitungannya
dapat menjadi lebih akurat karena nilai offset setiap modul tidak sama. Modul sensor pH dan
pH meter digunakan untuk mengukur larutan buffer yang bernilai 7.00, pada saat pertama
kali digunakan, hasil pembacaan modul sensor pH menunjukan nilai 6.70 dan pH meter
menunjukan nilai 7.00 yang berarti selisih nilai pengukuran adalah 0.3, selisih nilai 0.3
tersebut digunakan sebagai nilai offset yang akan ditambahkan pada program pengkuran
modul sensor pH. Proses kalibrasi ini hanya perlu dilakukan satu kali setiap 6 bulan. Setelah
pengambilan nilai offset selesai dilakukan maka pengukuran nilai modul sensor dan pH
meter kembali dilakukan menggunakan larutan buffer dengan pH 7.00, 4.00, dan 10.1.
Pertama modul sensor dan pH meter digunakan untuk mengukur pH dengan larutan buffer
yang memiliki nilai pH 7.00, hasil pengukuran sensor menunjukan nilai pH 7.01 sedangkan
alat ukur menunjukan nilai 7.00 seperti pada gambar 4.9, terdapat selisih nilai 0.01 berarti
ketepatan sensor tidak 100%. Pada proses pengukuran sebenarnya alat ukur membutuhkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
waktu yang lebih lama dari sensor untuk mendapatkan hasil akhir pengukuran, pada
penggunaan alat ukur harus menunggu sekitar 10 detik untuk mencapai nilai yang stabil.
Gambar 4.46. Pengukuran Larutan Buffer dengan pH 7.00
Pada pengukuran berikutnya, larutan yang digunakan adalah larutan buffer dengan pH
4.00, penggunaan larutan ini bertujuan kalibrasi sensor supaya dapat mengukur senyawa
asam. Pada awal pengukuran, sensor perlu di kalibrasi karena nilainya tidak sesuai dengan
alat ukur, sehingga setelah kalibrasi diperoleh hasil pengukuran sensor menunjukan nilai pH
4.00 sedangkan alat ukur menunjukan nilai ph 4.00 seperti pada gambar 4.47, pada
pengukuran ini ketepatannya 100%.
Gambar 4.47. Pengukuran Larutan Buffer dengan pH 4.00
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
Pada pengukuran berikutnya, larutan yang digunakan adalah larutan buffer dengan pH
10.1, penggunaan larutan ini bertujuan kalibrasi sensor supaya dapat mengukur senyawa
basa. Pada awal pengukuran, sensor perlu di kalibrasi karena nilainya tidak sesuai dengan
alat ukur, sehingga setelah kalibrasi diperoleh hasil pengukuran sensor menunjukan nilai pH
10.10 sedangkan alat ukur menunjukan nilai ph 10.1 seperti pada gambar 4.48, pada
pengukuran ini ketepatannya 100%.
Gambar 4.48. Pengukuran Larutan Buffer dengan pH 10.1
4.3.13. Kalibrasi Modul Sensor LDR
Untuk mendapatkan nilai pengukuran pencahayaan maka sensor harus dikalibrasi
dengan menggunakan Lux Meter yaitu aplikasi Lux Light Meter pada smartphone. Plant
hidroponik akan diletakkan di sebelah jendela untuk menghemat penggunaan listrik,
sehingga ketika ada cahaya matahari yang cukup maka lampu tidak akan hidup. Data yang
harus diambil adalah pengukuran cahaya pada saat cuaca cerah dan mendung sebagai acuan.
Pada saat cuaca cerah, Lux Meter menunjukan nilai lebih dari 500 Lux dan pada saat cuaca
mendung, Lux Meter menunjukan nilai kurang dari 500 Lux. Sesuai dengan penjelasan pada
sub bab 2.1, tanaman selada termasuk tanaman low light plants, sehingga dapat ditanam di
dalam ruangan. Modul sensor LDR harus dikalibrasi terlebih dahulu sehingga dapat
menunjukan nilai yang sesuai untuk memberikan nilai 0 dan 1 pada Raspberry Pi. Proses
kalibrasi sensor dilakukan dengan menggunakan Arduino untuk membaca data analog dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
sensor, data dari sensor analog tersebut digunakan sebagai acuan untuk menentukan apakah
nilai Lux cahaya sudah cukup atau belum, sehingga hasil nilai pembacaan disesuaikan
dengan Lux yang tertampil pada Lux Light Meter seperti pada gambar 4.49. Sumber cahaya
yang digunakan adalah lampu, pengubahan nilai Lux yang diberikan dilakukan dengan cara
mengubah jarak lampu dari sensor dan smartphone.
Gambar 4.49. Kalibrasi Modul Sensor LDR Mati
Proses kalibrasi sensor disesuaikan dengan nilai Lux Meter, pada saat nilai Lux cahaya
kurang dari 500 maka indikator modul sensor LDR akan mati seperti pada gambar 3.49,
sedangkan pada saat nilai Lux cahaya lebih dari 500 maka indikator pada modul sensor LDR
akan hidup seperti pada gambar 3.50.
Gambar 4.50. Kalibrasi Modul Sensor LDR Hidup
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
4.3.14. Perubahan Pada Software
Pada perancangan terdapat modul RTC yang akan digunakan untuk penjadwalan
pemberian nutrisi namun setelah diimplementasikan hal tersebut tidak terlalu cocok karena
kurang optimal untuk sistem pemberian nutrisi, lebih optimal jika ketika nilai TDS
berkurang maka nutrisi langsung ditambahkan. Maka sistem pemberian nutrisi tersebut
diganti menjadi sistem pemberian nutrisi yang langsung bergantung pada nilai TDS dalam
air, bila nilai TDS kurang dari batas yang telah ditentukan maka sistem pemberian nutrisi
akan berjalan.
4.3.15. Implementasi Lampu LED
Pada hasil implementasi LED untuk membuktikan bahwa spektrum warna lampu yang
digunakan telah sesuai dapat ditentukan menggunakan Spektrometer yaitu aplikasi Aspectra
Mini pada smartphone dan hasilnya dapat dilihat pada gambar 4.51. Lampu diletakkan
sekitar 22 cm di atas tanaman, dengan menggunakan aplikasi Aspectra Mini, seperti pada
gambar dengan sumbu x yaitu panjang area yang terukur dan sumbu y panjang gelombang
spektrum warna. Bagian spektrum yang terukur pada bagian kiri yaitu warna biru terukur
panjang gelombang berkisar sekitar 300 nm sampai 450 nm, pada bagian tengah yaitu warna
merah terukur panjang gelombang berkisar sekitar 630 nm sampai 760 nm, sementara pada
bagian kanan ada sedikit yang terdeteksi sebagai warna merah muda menunjukan nilai
mendekati 1000 nm.
Gambar 4.51. Spektrum Warna Lampu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil pengujian serta pengambilan data, dapat diambil kesimpulan :
1. Sistem pengukuran modul sensor TDS dan pH dapat mengukur dengan baik, nilai
rata – rata kebenaran relatif hasil pengukuran modul sensor TDS adalah 97.16%
dan nilai rata – rata kebenaran relatif hasil pengukuran modul sensor pH adalah
99.96%.
2. Sistem Pencampuran Nutrisi dan Pengadukan Nutrisi dapat berjalan dengan baik,
nilai rata – rata kebenaran relatif sistem adalah 98.77%, proses tersebut berjalan
dengan waktu rata – rata 125 detik.
3. Sistem Pengendalian Lampu dapat berjalan dengan baik, nilai rata – rata
kebenaran relatif sistem adalah 100%, respon sistem berjalan dengan waktu rata
– rata 0.5 detik.
4. Graphical User Interface dapat berjalan dengan baik, data dapat ditampilkan
pada GUI secara real time, perintah – perintah dapat diberikan melalui GUI dan
dapat langsung berjalan secara real time.
5. Sistem pemantauan jarak jauh menggunakan Cayenne dapat berjalan dengan
baik, ketepatan data yang ditampilkan adalah 100%, namun respon pengiriman
data dengan waktu rata – rata 3 detik sehingga data yang ditampilkan tidak real
time karena ada penambahan delay selama 3 detik supaya jumlah data yang
dikirim tidak melebihi 60 data per menit.
5.2. Saran
Saran-saran bagi pengembang selanjutnya adalah sebagai berikut :
1. Program utama alat dapat dibuat dengan lebih efisien supaya program dapat
berjalan dengan lebih baik.
2. Perancangan perangkat keras harus lebih matang supaya alat dapat tertata secara
lebih rapih supaya alat dapat aman dari bahaya seperti air atau konslet.
3. Dapat dilakukan penambahan komponen untuk penambahan air sehingga dapat
membantu dalam proses menstabilkan sistem supaya dapat terjadi lebih cepat dan
mendapatkan hasil yang lebih akurat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
DAFTAR PUSTAKA
[1] Tribun News. 2017. Hidroponik Solusi Menanam di Tengah Ibukota.
http://www.tribunnews.com/nasional/2017/09/26/hidroponik-solusi-menanam-di-
tengah-ibukota, diakses 31 Oktober 2018.
[2] Deaton, Jeremy. 2019. Artificial intelligence is transforming the way we farm.
https://qz.com/1673837/artificial-intelligence-is-changing-the-way-we-farm/, diakses
12 April 2019.
[3] Buku Statistik Data Lahan Tahun 2012-2016
[4] Hamdani, Trio. 2017. Kota Semakin Padat, Hunian Vertikal Bisa Jadi Solusi.
https://economy.okezone.com/read/2017/04/26/470/1676750/kota-semakin-padat-
hunian-vertikal-bisa-jadi-solusi, diakses 16 November 2018.
[5] Vyas, Kashyap. 2018. 13 Vertical Farming Innovations That Could Revolutionize
Agriculture. https://interestingengineering.com/13-vertical-farming-innovations-that-
could-revolutionize-agriculture, diakses 13 April 2019.
[6] Baraniuk, Chris. 2017. How Vertical Farming Reinvents Agriculture.
https://www.bbc.com/future/article/20170405-how-vertical-farming-reinvents-
agriculture, diakses 10 April 2019.
[7] Azzamy. 2017. Tutorial Lengkap Cara Menanam Selada Hidroponik Sistem Sumbu
Sederhana. https://mitalom.com/tutorial-lengkap-cara-menanam-selada-hidroponik-
sistem-sumbu-sederhana/, diakses 11 Desember 2018.
[8] Azzamy. 2015. Tabel PPM dan pH Nutrisi Sayuran Daun. https://mitalom.com/tabel-
ppm-dan-ph-nutrisi-sayuran-daun/, diakses 11 Desember 2018.
[9] Wicaksono, Bayu D. 2018. Hidroponik Bukan Hanya Metode Menjanjikan, tapi Kini
Makin Canggih. https://www.idntimes.com/science/experiment/bayu/kecanggihan-
teknik-hidroponik/full, diakses 16 November 2018.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
[10] Pumphrey, Clint. 2017. What Veggies can you grow in a shady yard?.
https://home.howstuffworks.com/veggies-to-grow-in-shady-yard.htm, diakses 16
November 2018.
[11] Robinson, Paul. 2018. How much light do my indoor plants needs?.
https://www.plantmaid.com/how-much-light-do-my-indoor-plants-needs/, diakses 20
April 2019.
[12] Hi-Jo. 2018. Mengenal Sistem Hidroponik NFT. http://hidroponikjogja.com/sistem-
nft/ , diakses 16 November 2018.
[13] Eitel, Lisa. 2011. What are dc motors and how do definition vary? Technical summary
for engineers. https://www.motioncontroltips.com/dc-motors/ , diakses 14 Mei 2019.
[14] Verder. 2018. How Do Diaphragm Pumps Work.
https://www.verderliquids.com/gb/en/pumps-by-principle/diaphragm-pump/how-do-
diaphragm-pumps-work/ , diakses 8 Mei 2019.
[15] Aspencore. 2018. Real – Time Clocks . https://www.electronics-
tutorials.ws/connectivity/real-time-clocks.html , diakses 20 April 2019.
[16] Immersa Lab. 2018. Pengertian Sensor LDR, Fungsi dan Cara Kerja LDR.
https://www.immersa-lab.com/pengertian-sensor-ldr-fungsi-dan-cara-kerja-ldr.htm ,
diakses pada 20 April 2019.
[17] Oregon State University. 5V Two Channel Relay.
https://eecs.oregonstate.edu/tekbots/modules/2chrelay, diakses 21 April 2019.
[18] Kobayashi, K., Amore, T., & Lazaro, M. 2012. Light-Emitting Diodes (LEDs) for
Miniature Hydroponic Lettuce., vol. 3, 74-77. doi:
http://dx.doi.org/10.4236/opj.2013.31012.
https://www.researchgate.net/publication/258807915_Light-
Emitting_Diodes_LEDs_for_Miniature_Hydroponic_Lettuce , diakses 11 Desember
2018.
[19] Morrow, Robert C. 2008. LED Lightning in Horticulture., vol. 43: Issue 7, 1947-1950.
doi:https://doi.org/10.21273/HORTSCI.43.7.1947.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
https://journals.ashs.org/hortsci/view/journals/hortsci/43/7/article-p1947.xml, diakses
11 Desember 2018.
[20] McGew, Matt. - . What is the Difference Between SMD and LEDs.
https://www.dfrobot.com/wiki/index.php/Gravity:_Analog_TDS_Sensor_/_Meter_F
or_Arduino_SKU:_SEN0244#More_Documents , diakses 23 April 2019.
[21] Dfrobot. 2018. Gravity: Analog TDS Sensor / Meter For Arduino SKU: SEN0244.
https://www.dfrobot.com/wiki/index.php/Gravity:_Analog_TDS_Sensor_/_Meter_F
or_Arduino_SKU:_SEN0244#More_Documents , diakses 17 November 2018.
[22] Dfrobot. 2018. PH Meter(SKU: SEN0161).
https://www.dfrobot.com/wiki/index.php/PH_meter(SKU:_SEN0161) , diakses 12
Desember 2018.
[23] Aqeel, Adnan. 2018. Introduction to Arduino Mega 2560.
https://www.theengineeringprojects.com/2018/06/introduction-to-arduino-mega-
2560.html , diakses 30 November 2018.
[24] Osoyoo. 2017. Raspberry Pi Starter Kit Lesson 2: Introduction of Raspberry Pi GPIO.
http://osoyoo.com/2017/06/26/introduction-of-raspberry-pi-gpio/ , diakses 21 April
2019.
[25] Aqeel, Adnan. 2018. Introduction to Raspberry Pi 3.
https://www.theengineeringprojects.com/2018/04/introduction-to-raspberry-pi-3.html
, diakses 13 Desember 2018.
[26] Gibbs, Mark. 2016. Cayenne, how to manage a frustration of IoT devices.
https://www.networkworld.com/article/3093369/internet-of-things/cayenne-how-to-
manage-a-frustration-of-iot-devices.html , diakses 13 Desember 2018.
[27] Tenny, Kevin M., & Keenaghan, Michael. 23 Juni 2019. Ohm’s Law.
https://www.ncbi.nlm.nih.gov/books/NBK441875/ , diakses 30 Agustus 2019.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 1
Lising Program Raspberry Pi
#TUGAS AKHIR
#SISTEM KENDALI HIDROPONIK DALAM RUANGAN BERBASIS RASPBERRY
PI
#ANDRIAN BUDIAWAN LIM
#155114048
import Tkinter
from Tkinter import*
from time import sleep
import os, sys
import RPi.GPIO as GPIO
import time
import thread
import serial
import datetime
from datetime import datetime
import csv
import cayenne.client
global nutrisi, datamasuk, dataTDS, dataRLYLDR, dataLDR, dataPH, indimotor,
indipompa, indilampu, batasTDS, mulaiproses
global batasTDSBENAR, tanaman, batasPH,nomordata, indicayenne, kirimcayenne
dataTDS = 0
dataPH = 0
nutrisi=0
hitungmotor=0
datamasuk = 0
mentahLDR = 0
dataLDR = 0
indimotor = 0
indipompa = 0
indilampu = 0
batasTDS = 0
mulaiproses = 0
batasTDSBENAR = 0
tanaman = 0
batasPH = 0
nomordata = 1
indicayenne = 0
kirimcayenne = 0
GPIO.setwarnings(False)
LDR1=[37]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 2
RLYLDR=[13]
RLY1=[11]
RLY2=[16,18]
GPIO.setmode(GPIO.BOARD)
GPIO.setup(LDR1, GPIO.IN)
GPIO.setup(RLYLDR, GPIO.OUT)
GPIO.setup(RLY1, GPIO.OUT)
GPIO.setup(RLY2, GPIO.OUT)
GPIO.output(RLY1,GPIO.HIGH)
GPIO.output(RLY2,GPIO.HIGH)
GPIO.output(RLYLDR, GPIO.HIGH)
#dataLDR = GPIO.input(37)
def __GUI__():
global nutrisi, datamasuk, dataTDS, GUIme, dataLDR, dataPH, indimotor, indipompa,
indilampu, batasTDS, mulaiproses
global batasTDSBENAR, batasPH, tanaman, indicayenne, kirimcayenne
def jam():
waktu=time.strftime('%d / %m / %Y \n \n %H : %M : %S')
if waktu !=0:
labelWAKTU.configure(text = waktu, font="Times 12", bg="grey79", fg="black")
GUIme.after(50,jam)
def mulaiambil():
global datamasuk, dataTDS
datamasuk = 1
def UpdateDataTDS():
global dataTDS, datamasuk
if datamasuk == 1:
labelTDS.config(text = dataTDS, font="Times 12", bg='grey79', fg='black')
else:
labelTDS.config(text = " ", font="Times 12", bg='grey79', fg='black')
dataTDS = 0
batasTDS = 0
GUIme.after(50,UpdateDataTDS)
def UpdateDataLDR():
global dataLDR, datamasuk
if datamasuk == 1:
labelLDR.config(text = dataLDR, font="Times 12", bg='grey79', fg='black')
else:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 3
labelLAMPU.config(text = " ", font="Times 12", bg='grey79', fg='black')
labelCAHAYA.config(text =" ", font="Times 12", bg='grey79', fg='black')
labelPOMPA.config(text =" ", font="Times 12", bg='grey79', fg='black')
labelMOTOR.config(text =" ", font="Times 12", bg='grey79', fg='black')
labelCAYENNE.config(text =" ", font="Times 12", bg='grey79', fg='black')
dataLDR = 0
indilampu = 0
GUIme.after(50,UpdateDataLDR)
def UpdateDataPH():
global dataPH, datamasuk
if datamasuk == 1:
labelPH.config(text = dataPH, font="Times 12", bg='grey79', fg='black')
else:
labelPH.config(text = " ", font="Times 12", bg='grey79', fg='black')
dataPH = 0
batasPH = 0
GUIme.after(50,UpdateDataPH)
def ambilbatas():
global datamasuk, batasTDS, batasTDSBENAR, tanaman, batasPH
tanaman = entry1.get()
batasTDS = entry2.get()
batasPH = entry3.get()
batasTDSBENAR = int(batasTDS)
labelTANAMAN.config(text = tanaman, font="Times 12", bg='grey79', fg='black')
labelBATAS.config(text = batasTDSBENAR, font="Times 12", bg='grey79',
fg='black')
labelBATASPH.config(text = batasPH, font="Times 12", bg='grey79', fg='black')
def mulaiproses1():
global mulaiproses, datamasuk
if datamasuk == 1:
mulaiproses = 1
def indikator():
global datamasuk
if datamasuk == 1:
if indilampu == 1:
labelLAMPU.config(text ="Hidup", font="Times 12", bg='grey79', fg='black')
labelCAHAYA.config(text ="Kurang", font="Times 12", bg='grey79',
fg='black')
laANIMASI6.config(bg="green")
laANIMASI7.config(bg="green")
laANIMASI8.config(bg="green")
laANIMASI9.config(bg="green")
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 4
else:
labelLAMPU.config(text ="Mati", font="Times 12", bg='grey79', fg='black')
labelCAHAYA.config(text ="Cukup", font="Times 12", bg='grey79', fg='black')
laANIMASI6.config(bg="red")
laANIMASI7.config(bg="red")
laANIMASI8.config(bg="red")
laANIMASI9.config(bg="red")
if indipompa == 1:
labelPOMPA.config(text ="Hidup", font="Times 12", bg='grey79', fg='black')
laANIMASI10.config(bg="green")
laANIMASI11.config(bg="green")
laANIMASI12.config(bg="green")
laANIMASI13.config(bg="green")
laANIMASI14.config(bg="green")
laANIMASI15.config(bg="green")
else:
labelPOMPA.config(text ="Mati", font="Times 12", bg='grey79', fg='black')
laANIMASI10.config(bg="red")
laANIMASI11.config(bg="red")
laANIMASI12.config(bg="red")
laANIMASI13.config(bg="red")
laANIMASI14.config(bg="red")
laANIMASI15.config(bg="red")
if indimotor == 1:
labelMOTOR.config(text ="Hidup", font="Times 12", bg='grey79', fg='black')
laANIMASI1.config(bg="green")
laANIMASI1a.config(bg="green")
laANIMASI2.config(bg="green")
laANIMASI2a.config(bg="green")
laANIMASI3.config(bg="green")
laANIMASI3a.config(bg="green")
laANIMASI4.config(bg="green")
laANIMASI4a.config(bg="green")
else:
labelMOTOR.config(text ="Mati", font="Times 12", bg='grey79', fg='black')
laANIMASI1.config(bg="red")
laANIMASI1a.config(bg="red")
laANIMASI2.config(bg="red")
laANIMASI2a.config(bg="red")
laANIMASI3.config(bg="red")
laANIMASI3a.config(bg="red")
laANIMASI4.config(bg="red")
laANIMASI4a.config(bg="red")
if indicayenne == 1:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 5
labelCAYENNE.config(text ="Tersambung", font="Times 12", bg='grey79',
fg='black')
else:
labelCAYENNE.config(text ="Terputus", font="Times 12", bg='grey79',
fg='black')
if datamasuk == 1:
labelSISTEM.config(text ="Berjalan", font="Times 16", bg='green', fg='black')
else:
labelSISTEM.config(text ="Berhenti", font="Times 16", bg='red', fg='black')
GUIme.after(50,indikator)
def kirimcayenne1():
global indicayenne, kirimcayenne
kirimcayenne = 1
indicayenne = 1
def berhentisistem():
global datamasuk, mulaiproses, kirimcayenne
datamasuk = 0
mulaiproses = 0
indicayenne = 0
kirimcayenne = 0
dataTDS = 0
dataPH = 0
GPIO.output(RLYLDR, GPIO.HIGH)
labelSISTEM.config(text ="Berhenti", font="Times 16", bg='red', fg='black')
labelCAYENNE.config(text ="Terputus", font="Times 12", bg='grey79', fg='black')
laANIMASI1.config(bg="black")
laANIMASI2.config(bg="black")
laANIMASI3.config(bg="black")
laANIMASI4.config(bg="black")
laANIMASI5.config(bg="black")
laANIMASI6.config(bg="black")
laANIMASI7.config(bg="black")
laANIMASI8.config(bg="black")
laANIMASI9.config(bg="black")
laANIMASI10.config(bg="black")
laANIMASI11.config(bg="black")
laANIMASI12.config(bg="black")
laANIMASI13.config(bg="black")
laANIMASI14.config(bg="black")
laANIMASI15.config(bg="black")
laANIMASI1a.config(bg="black")
laANIMASI2a.config(bg="black")
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 6
laANIMASI3a.config(bg="black")
laANIMASI4a.config(bg="black")
def keluarsistem():
os._exit(0)
GUIme = Tk()
GUIme.geometry("1000x800")
GUIme.title('Graphic User Interface Sistem Kontrol Hidroponik')
w= Frame(GUIme,bg='gray20', bd=1 )
w.pack(side=TOP,fill=BOTH,expand=1)
judul3 = Label(w, text="", font=12)
judul3.config(height=1, width=50)
judul3.pack()
judul1 = Label(w, text="SISTEM KENDALI HIDROPONIK DALAM RUANGAN",
font=12)
judul1.config(height=1, width=50)
judul1.pack()
judul2 = Label(w, text="BERBASIS RASPBERRY PI", font=12)
judul2.config(height=1, width=50)
judul2.pack()
judul4 = Label(w, text="", font=12)
judul4.config(height=1, width=50)
judul4.pack()
labelSISTEM = Label(w, text="Berhenti",bg="grey79", fg="black", font=16)
labelSISTEM.pack()
labelSISTEM.place(x=468, y=100)
labelWAKTU = Label(w, bg="grey79", fg="black")
labelWAKTU.pack()
labelWAKTU.place(x=455, y=135)
ca1=Canvas(w,bg='brown',bd=1,width=150, height=300 )
ca1.pack(side=TOP)
ca1.place(x=250, y=120)
mulai1= Button(ca1, height=4,width=6, text="mulai", bg='green',
command=mulaiambil)
mulai1.pack(side=LEFT)
ca2=Canvas(w,bg='brown',bd=1,width=150, height=300 )
ca2.pack(side=TOP)
ca2.place(x=675, y=120)
berhenti1= Button(ca2, height=4,width=6, text="berhenti", bg='red',
command=berhentisistem)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 7
berhenti1.pack(side=RIGHT)
caEXIT=Canvas(w,bg='brown',bd=1,width=150, height=300 )
caEXIT.pack(side=TOP)
caEXIT.place(x=850, y=10)
keluar1= Button(caEXIT, height=4,width=6, text="Keluar", bg='cyan2',
command=keluarsistem)
keluar1.pack(side=RIGHT)
#TOMBOL
caBATAS=Canvas(w,bg='gold',bd=1,width=230,height=50)
caBATAS.pack(side=TOP,fill=BOTH)
caBATAS.place(x=30, y=410)
caBATAS.create_text(120,30,fill="darkblue", font="Times 12", text="TOMBOL
PROSES")
ambilBATAS1= Button(w, height=2,width=12, text=" Ambil \n Masukan", bg='white',
command=ambilbatas)
ambilBATAS1.pack(side=RIGHT)
ambilBATAS1.place(x=83, y=470)
mulaiproses11= Button(w, height=2,width=12, text="Mulai Proses \n Pemberian
Nutrisi", bg='white', command=mulaiproses1)
mulaiproses11.pack(side=RIGHT)
mulaiproses11.place(x=83, y=520)
kirimCAYENNE11= Button(w, height=2,width=12, text="Mulai Cayenne", bg='white',
command=kirimcayenne1)
kirimCAYENNE11.pack(side=RIGHT)
kirimCAYENNE11.place(x=83, y=570)
#GAMBAR PENGADUK
caAKTUATOR1=Canvas(w,bg='gold',bd=1,width=120,height=50)
caAKTUATOR1.pack(side=TOP,fill=BOTH)
caAKTUATOR1.place(x=290, y=210)
caAKTUATOR1.create_text(60,28,fill="darkblue", font="Times 12", text=" MOTOR
\n PENGADUK")
caANIMASI1=Canvas(w,bg='gray79',bd=1,width=120,height=120)
caANIMASI1.pack(side=TOP,fill=BOTH)
caANIMASI1.place(x=290, y=270)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 8
laANIMASI1 = Label(caANIMASI1, bg="black", width = 2, height = 3)
laANIMASI1.pack()
laANIMASI1.place(x=50, y=2)
laANIMASI2 = Label(caANIMASI1, bg="black", width = 2, height = 3)
laANIMASI2.pack()
laANIMASI2.place(x=50, y=75)
laANIMASI3 = Label(caANIMASI1, bg="black", width = 5, height = 1)
laANIMASI3.pack()
laANIMASI3.place(x=2, y=53)
laANIMASI4 = Label(caANIMASI1, bg="black", width = 5, height = 1)
laANIMASI4.pack()
laANIMASI4.place(x=74, y=53)
laANIMASI5 = Label(caANIMASI1, bg="black", width = 1, height = 1)
laANIMASI5.pack()
laANIMASI5.place(x=54, y=53)
laANIMASI1a = Label(caANIMASI1, bg="black", width = 2, height = 1)
laANIMASI1a.pack()
laANIMASI1a.place(x=70, y=2)
laANIMASI2a = Label(caANIMASI1, bg="black", width = 2, height = 2)
laANIMASI2a.pack()
laANIMASI2a.place(x=98, y=65)
laANIMASI3a = Label(caANIMASI1, bg="black", width = 2, height = 1)
laANIMASI3a.pack()
laANIMASI3a.place(x=30, y=103)
laANIMASI4a = Label(caANIMASI1, bg="black", width = 2, height = 2)
laANIMASI4a.pack()
laANIMASI4a.place(x=2, y=30)
#GAMBAR LAMPU
caAKTUATOR2=Canvas(w,bg='gold',bd=1,width=120,height=50)
caAKTUATOR2.pack(side=TOP,fill=BOTH)
caAKTUATOR2.place(x=440, y=210)
caAKTUATOR2.create_text(60,28,fill="darkblue", font="Times 12", text=" LAMPU")
caANIMASI3=Canvas(w,bg='gray79',bd=1,width=120,height=120)
caANIMASI3.pack(side=TOP,fill=BOTH)
caANIMASI3.place(x=440, y=270)
laANIMASI6 = Label(caANIMASI3, bg="black", width = 10, height = 1)
laANIMASI6.pack()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 9
laANIMASI6.place(x=20, y=10)
laANIMASI7 = Label(caANIMASI3, bg="black", width = 10, height = 1)
laANIMASI7.pack()
laANIMASI7.place(x=20, y=38)
laANIMASI8 = Label(caANIMASI3, bg="black", width = 10, height = 1)
laANIMASI8.pack()
laANIMASI8.place(x=20, y=68)
laANIMASI9 = Label(caANIMASI3, bg="black", width = 10, height = 1)
laANIMASI9.pack()
laANIMASI9.place(x=20, y=98)
#caANIMASI1.create_rectangle(2,64,40,44,fill='red') #kiri
#caANIMASI1.create_rectangle(62,64,100,44,fill='red') #kanan
#caANIMASI1.create_rectangle(45,48,56,59,fill='red') #tengah
#caANIMASI1.create_rectangle(41,2,61,40,fill='red') #atas
#caANIMASI1.create_rectangle(41,66,61,100,fill='red') #bawah
#GAMBAR POMPA
caAKTUATOR2=Canvas(w,bg='gold',bd=1,width=120,height=50)
caAKTUATOR2.pack(side=TOP,fill=BOTH)
caAKTUATOR2.place(x=590, y=210)
caAKTUATOR2.create_text(60,28,fill="darkblue", font="Times 12", text=" POMPA \n
NUTRISI")
caANIMASI2=Canvas(w,bg='gray79',bd=1,width=120,height=120)
caANIMASI2.pack(side=TOP,fill=BOTH)
caANIMASI2.place(x=590, y=270)
laANIMASI10 = Label(caANIMASI2, bg="black", width = 4, height = 3)
laANIMASI10.pack()
laANIMASI10.place(x=10, y=10)
laANIMASI11 = Label(caANIMASI2, bg="black", width = 4, height = 3)
laANIMASI11.pack()
laANIMASI11.place(x=10, y=68)
laANIMASI12 = Label(caANIMASI2, bg="black", width = 7, height = 1)
laANIMASI12.pack()
laANIMASI12.place(x=49, y=10)
laANIMASI13 = Label(caANIMASI2, bg="black", width = 7, height = 1)
laANIMASI13.pack()
laANIMASI13.place(x=49, y=38)
laANIMASI14 = Label(caANIMASI2, bg="black", width = 7, height = 1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 10
laANIMASI14.pack()
laANIMASI14.place(x=49, y=68)
laANIMASI15 = Label(caANIMASI2, bg="black", width = 7, height = 1)
laANIMASI15.pack()
laANIMASI15.place(x=49, y=96)
#KETERANGAN
caKETERANGANANIMASI=Canvas(w,bg='white',bd=1,width=230,height=90)
caKETERANGANANIMASI.pack(side=TOP,fill=BOTH)
caKETERANGANANIMASI.place(x=380, y=400)
caKETERANGANANIMASI.create_text(120,50,fill="darkblue", font="Times 12",
text=" KETERANGAN \n ---------- \n HITAM = SISTEM MATI \n MERAH =
MATI \n HIJAU = HIDUP")
#CANVAS INPUT#
ca3judul=Canvas(w,bg='gold',bd=1,width=230,height=50)
ca3judul.pack(side=TOP,fill=BOTH)
ca3judul.place(x=30, y=210)
ca3judul.create_text(120,30,fill="darkblue", font="Times 12", text="MASUKAN")
ca3=Canvas(w,bg='white',bd=1,width=230, height=130 )
ca3.pack(side=TOP,fill=BOTH)
ca3.place(x=30, y=270)
ca3.create_text(73,20,fill="darkblue", font="Times 12", text="Jenis Tanaman")
ca3.create_text(62,60,fill="darkblue", font="Times 12", text="Batas TDS")
ca3.create_text(58,100,fill="darkblue", font="Times 12", text="Batas pH")
entry1 = Entry(ca3,width=7, bg='gray79')
entry1.pack(side=BOTTOM,fill=BOTH)
entry1.place(x=150,y=15)
entry2 = Entry(ca3,width=7, bg='gray79')
entry2.pack(side=BOTTOM,fill=BOTH)
entry2.place(x=150,y=55)
entry3 = Entry(ca3,width=7, bg='gray79')
entry3.pack(side=BOTTOM,fill=BOTH)
entry3.place(x=150,y=95)
#CANVAS KEADAAN#
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 11
ca4judul=Canvas(w,bg='gold',bd=1,width=230,height=50)
ca4judul.pack(side=TOP,fill=BOTH)
ca4judul.place(x=735, y=210)
ca4judul.create_text(115,25,fill="darkblue", font="Times 12", text="
KEADAAN \n SENSOR DAN AKTUATOR")
ca4=Canvas(w,bg='white',bd=1,width=230, height=70 )
ca4.pack(side=TOP,fill=BOTH)
ca4.place(x=735, y=270)
ca41=Canvas(w,bg='white',bd=1,width=230, height=70 )
ca41.pack(side=TOP,fill=BOTH)
ca41.place(x=735, y=350)
ca42=Canvas(w,bg='white',bd=1,width=230, height=130 )
ca42.pack(side=TOP,fill=BOTH)
ca42.place(x=735, y=430)
ca4.create_text(60,15,fill="darkblue", font="Times 12", text="Jenis Tanaman")
ca4.create_text(48,37,fill="darkblue", font="Times 12", text="Batas TDS")
ca4.create_text(43,60,fill="darkblue", font="Times 12", text="Batas pH")
ca41.create_text(45,15,fill="darkblue", font="Times 12", text="Nilai TDS" )
ca41.create_text(49,37,fill="darkblue", font="Times 12", text="Tingkat pH")
ca41.create_text(38,60,fill="darkblue", font="Times 12", text="Cahaya")
ca42.create_text(38,19,fill="darkblue", font="Times 12", text="Lampu")
ca42.create_text(35,44,fill="darkblue", font="Times 12", text="Motor")
ca42.create_text(58,69,fill="darkblue", font="Times 12", text="Pompa Nutrisi")
ca42.create_text(42,93,fill="darkblue", font="Times 12", text="Cayenne")
labelTANAMAN = Label(ca4, text = tanaman, bg="grey79", fg="black")
labelTANAMAN.pack()
labelTANAMAN.place(x=150, y=7)
labelBATAS = Label(ca4, text = batasTDSBENAR, bg="grey79", fg="black")
labelBATAS.pack()
labelBATAS.place(x=150, y=29)
labelBATASPH = Label(ca4, text = batasPH, bg="grey79", fg="black")
labelBATASPH.pack()
labelBATASPH.place(x=150, y=51)
labelLDR = Label(ca4, bg="grey79", fg="black")
labelLDR.pack()
labelLDR.place(x=250, y=10)
labelTDS = Label(ca41, bg="grey79", fg="black")
labelTDS.pack()
labelTDS.place(x=150, y=6)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 12
labelPH = Label(ca41, bg='grey79', fg='black')
labelPH.pack()
labelPH.place(x=150, y=29)
labelCAHAYA = Label(ca41, bg='grey79', fg='black')
labelCAHAYA.pack()
labelCAHAYA.place(x=150, y=52)
labelLAMPU = Label(ca42, bg="grey79", fg="black")
labelLAMPU.pack()
labelLAMPU.place(x=150, y=10)
labelMOTOR = Label(ca42, bg="grey79", fg="black")
labelMOTOR.pack()
labelMOTOR.place(x=150, y=35)
labelPOMPA = Label(ca42, bg="grey79", fg="black")
labelPOMPA.pack()
labelPOMPA.place(x=150, y=60)
labelCAYENNE = Label(ca42, bg="grey79", fg="black")
labelCAYENNE.pack()
labelCAYENNE.place(x=150, y=85)
thread.start_new_thread(jam, ())
thread.start_new_thread(UpdateDataPH,())
thread.start_new_thread(UpdateDataTDS,())
thread.start_new_thread(UpdateDataLDR,())
thread.start_new_thread(indikator,())
GUIme.mainloop()
def data_serial_tds_ph():
ser = serial.Serial('/dev/ttyACM0',9600)
s = [0]
global dataTDS, dataTDS1, nilaiTDS, nilaiPH, datamasuk
while True:
if datamasuk == 1:
global dataTDS, dataPH, dataTDS1, nilaiTDS, nilaiPH
read_serial=ser.readline()
s[0] = int (ser.readline())
dataTDS = s[0]//1000
#print dataTDS
s3 = s[0]%1000
s3bagi = s3/100.0
dataPH = s3bagi
#dataPH = float(s3//100)
#s5 = float(s4)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 13
dataTDS1 = str(dataTDS)
textTDS=str(dataTDS)
time.sleep(1)
def data_ldr():
global dataLDR, datamasuk
while True:
if datamasuk == 1:
global GUIme,dataLDR, mentahLDR
mentahLDR = GPIO.input(37)
dataLDR=mentahLDR
if datamasuk == 0:
indilampu = 0
time.sleep(0.1)
def proses_nutrisi():
while True:
global datamasuk, dataTDS, indimotor, indipompa, batasTDS, mulaiproses,
batasTDSBENAR
while mulaiproses == 1:
def pengaduk_on(RLY1):
GPIO.output(RLY1,GPIO.LOW)
def pengaduk_off(RLY1):
GPIO.output(RLY1,GPIO.HIGH)
def pompanutrisi_on(RLY2):
GPIO.output(RLY2, GPIO.LOW)
def pompanutrisi_off(RLY2):
GPIO.output(RLY2, GPIO.HIGH)
banding1 = batasTDSBENAR - dataTDS
if datamasuk == 0:
pompanutrisi_off(RLY2)
pengaduk_off(RLY1)
#print "ya1"
#print batasTDSBENAR
#print mulaiproses
if dataTDS < batasTDSBENAR:
if banding1 < 50:
pompanutrisi_on(RLY2)
indipompa = 1
time.sleep(2)
pompanutrisi_off(RLY2)
indipompa = 0
time.sleep(1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 13
pengaduk_on(RLY1)
indimotor = 1
time.sleep(10)
pengaduk_off(RLY1)
indimotor = 0
time.sleep(5)
elif banding1> 50 and banding1 <300:
pompanutrisi_on(RLY2)
indipompa = 1
time.sleep(4)
pompanutrisi_off(RLY2)
indipompa = 0
time.sleep(1)
pengaduk_on(RLY1)
indimotor = 1
time.sleep(10)
pengaduk_off(RLY1)
indimotor = 0
time.sleep(5)
elif banding1 > 300:
pompanutrisi_on(RLY2)
indipompa = 1
time.sleep(6)
pompanutrisi_off(RLY2)
indipompa = 0
time.sleep(1)
pengaduk_on(RLY1)
indimotor = 1
time.sleep(10)
pengaduk_off(RLY1)
indimotor = 0
time.sleep(5)
#print batasTDSBENAR
#print "ya"
#pompanutrisi_on(RLY2)
#indipompa = 1
#time.sleep(5)
#pompanutrisi_off(RLY2)
#indipompa = 0
#time.sleep(1)
#pengaduk_on(RLY1)
#indimotor = 1
#time.sleep(10)
#pengaduk_off(RLY1)
#indimotor = 0
#time.sleep(5)
else:
datamasuk==0
indimotor=0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 14
time.sleep(0.5)
time.sleep(1)
def proses_lampu():
while True:
global datamasuk, dataLDR, dataRLYLDR, indilampu
while datamasuk == 1:
def lampu_on(RLYLDR):
GPIO.output(RLYLDR,GPIO.LOW)
def lampu_off(RLYLDR):
GPIO.output(RLYLDR,GPIO.HIGH)
if dataLDR == 0:
dataRLYLDR = 0
indilampu = 0
lampu_off(RLYLDR)
else:
lampu_on(RLYLDR)
indilampu = 1
time.sleep(1)
time.sleep(1)
def data_logging():
global dataTDS, dataPH, nomordata, dataLDR, indilampu, indimotor, indipompa,
datamasuk, batasTDS
while True:
tanggalLOG = time.strftime('%d | %m | %Y')
waktuLOG1 = time.strftime('%d / %m / %Y \n \n %H : %M : %S')
while True:
tanggalLOG1 = time.strftime('%d | %m | %Y')
file = open("/home/pi/data "+str(tanggalLOG)+".csv","a")
#file.write("Tanggal,Waktu,TDS,PH\n")
if os.stat("/home/pi/data "+str(tanggalLOG)+".csv").st_size == 0:
file.write("No,Tanggal,Waktu,TDS,PH,LDR,Lampu,Motor,Pompa,Sistem,Batas
TDS\n")
file.close()
#tanggalLOG = time.strftime('%d / %m / %Y')
while True:
file = open("/home/pi/data "+str(tanggalLOG)+".csv","a")
waktuLOG2 = time.strftime('%d / %m / %Y \n \n %H : %M : %S')
jamLOG = time.strftime('%H : %M : %S')
if waktuLOG1 != waktuLOG2:
waktuLOG1 = waktuLOG2
file.write(str(nomordata)+","+str(tanggalLOG)+","+str(jamLOG)+","+str(dataTDS)+
","+str(dataPH)+","+str(dataLDR)+","+str(indilampu)+","+str(indimotor)+","+str(in
dipompa)+","+str(datamasuk)+","+str(batasTDS)+"\n")
file.close()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 15
nomordata += 1
time.sleep(0.1)
time.sleep(0.1)
time.sleep(1)
def proses_cayenne():
while True:
global dataTDS, dataPH, indicayenne, indilampu, indimotor, indipompa,
kirimcayenne, datamasuk
sleep(1)
if datamasuk == 1:
while kirimcayenne == 1:
MQTT_USERNAME = "111b9760-c806-11e8-a324-1199218b6801"
MQTT_PASSWORD = "01caf45e738e2641dca2191082027419b6647a4a"
MQTT_CLIENT_ID = "72ab78f0-09f1-11ea-b49d-5f4b6757b1bf"
client = cayenne.client.CayenneMQTTClient()
client.begin(MQTT_USERNAME, MQTT_PASSWORD, MQTT_CLIENT_ID)
while True:
client.virtualWrite(1,dataTDS)
client.virtualWrite(2,dataPH)
client.virtualWrite(3,indilampu)
client.virtualWrite(4,indimotor)
client.virtualWrite(5,indipompa)
client.loop()
if datamasuk == 0:
kirimcayenne = 0
break
time.sleep(3)
time.sleep(0.1)
time.sleep(1)
thread.start_new_thread(__GUI__,())
thread.start_new_thread(data_serial_tds_ph,())
thread.start_new_thread(data_ldr, ())
thread.start_new_thread(proses_nutrisi,())
thread.start_new_thread(proses_lampu,())
thread.start_new_thread(data_logging,())
thread.start_new_thread(proses_cayenne,())
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 16
Listing Program Arduino #include <EEPROM.h>
#include "GravityTDS.h"
#define PinLDR A3
#define TdsSensorPin A1
GravityTDS gravityTds;
#define SensorPin A0
#define Offset 0.30
#define LED 13
#define samplingInterval 20
#define printInterval 800
#define ArrayLenth 40
int pHArray[ArrayLenth];
int pHArrayIndex=0;
//a=100;
float temperature = 25,tdsValue = 0;
void setup()
{
pinMode(LED,OUTPUT);
Serial.begin(9600);
gravityTds.setPin(TdsSensorPin);
gravityTds.setAref(5.0);
gravityTds.setAdcRange(1024);
gravityTds.begin();
}
void loop()
{
int nilai = analogRead(PinLDR);
float tegangan_hasil = 5.0*nilai/1024;
float nilaildr = 1024*nilai/5.0;
gravityTds.setTemperature(temperature);
gravityTds.update();
tdsValue = gravityTds.getTdsValue();
//Serial.print("ppm = ");
//Serial.println (tdsValue,0);
//delay(1000);
static unsigned long samplingTime = millis();
static unsigned long printTime = millis(); static float pHValue,voltage;
static float xpH;
if(millis()-samplingTime > samplingInterval)
{
pHArray[pHArrayIndex++]=analogRead(SensorPin);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 17
if(pHArrayIndex==ArrayLenth)pHArrayIndex=0;
voltage = avergearray(pHArray, ArrayLenth)*5.0/1024;
pHValue = 3.5*voltage+Offset;
xpH = pHValue*100;
samplingTime=millis();
}
if(millis() - printTime > printInterval)
{
//Serial.print("Voltage:");
//Serial.print(voltage,2);
//Serial.print("pH value: ");
//xpH = pHValue*1;
Serial.print (tegangan_hasil);
Serial.print("V");
Serial.println(nilai);
Serial.print(tdsValue,0);
Serial.println(xpH,0);
digitalWrite(LED,digitalRead(LED)^1);
printTime=millis();
}
}
double avergearray(int* arr, int number){
int i;
int max,min;
double avg;
long amount=0;
if(number<=0){
Serial.println("Error number for the array to avraging!/n");
return 0;
}
if(number<5){ //less than 5, calculated directly statistics
for(i=0;i<number;i++){
amount+=arr[i];
}
avg = amount/number;
return avg;
}else{
if(arr[0]<arr[1]){
min = arr[0];max=arr[1];
}
else{
min=arr[1];max=arr[0];
}
for(i=2;i<number;i++){
if(arr[i]<min){
amount+=min; //arr<min
min=arr[i];
}else {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 18
if(arr[i]>max){
amount+=max; //arr>max
max=arr[i];
}else{
amount+=arr[i]; //min<=arr<=max
}
}//if
}//for
avg = (double)amount/(number-2);
}//if
return avg;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 20
0
1
2
0
200
400
600
800
1000
1200
14001
6:5
4:2
01
6:5
4:4
81
6:5
5:1
61
6:5
5:4
41
6:5
6:1
21
6:5
6:4
01
6:5
7:0
81
6:5
7:3
61
6:5
8:0
41
6:5
8:3
21
6:5
9:0
01
6:5
9:2
81
6:5
9:5
61
7:0
0:2
41
7:0
0:5
21
7:0
1:2
01
7:0
1:4
81
7:0
2:1
61
7:0
2:4
41
7:0
3:1
21
7:0
3:4
01
7:0
4:0
81
7:0
4:3
61
7:0
5:0
41
7:0
5:3
21
7:0
6:0
01
7:0
6:2
81
7:0
6:5
61
7:0
7:2
41
7:0
7:5
21
7:0
8:2
01
7:0
8:4
81
7:0
9:1
61
7:0
9:4
41
7:1
0:1
21
7:1
0:4
01
7:1
1:0
81
7:1
1:3
61
7:1
2:0
41
7:1
2:3
21
7:1
3:0
01
7:1
3:2
81
7:1
3:5
61
7:1
4:2
41
7:1
4:5
21
7:1
5:2
01
7:1
5:4
81
7:1
6:1
61
7:1
6:4
41
7:1
7:1
21
7:1
7:4
01
7:1
8:0
81
7:1
8:3
61
7:1
9:0
41
7:1
9:3
21
7:2
0:0
01
7:2
0:2
81
7:2
0:5
61
7:2
1:2
41
7:2
1:5
21
7:2
2:2
01
7:2
2:4
81
7:2
3:1
61
7:2
3:4
41
7:2
4:1
21
7:2
4:4
01
7:2
5:0
81
7:2
5:3
61
7:2
6:0
41
7:2
6:3
21
7:2
7:0
01
7:2
7:2
81
7:2
7:5
61
7:2
8:2
41
7:2
8:5
21
7:2
9:2
01
7:2
9:4
81
7:3
0:1
61
7:3
0:4
41
7:3
1:1
21
7:3
1:4
01
7:3
2:0
81
7:3
2:3
61
7:3
3:0
41
7:3
3:3
21
7:3
4:0
01
7:3
4:2
81
7:3
4:5
61
7:3
5:2
41
7:3
5:5
21
7:3
6:2
01
7:3
6:4
81
7:3
7:1
61
7:3
7:4
41
7:3
8:1
21
7:3
8:4
01
7:3
9:0
81
7:3
9:3
61
7:4
0:0
41
7:4
0:3
21
7:4
1:0
0
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
SData Overall
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
0
1
2
050
100150200250300350400450
16
:54
:20
16
:54
:25
16
:54
:30
16
:54
:35
16
:54
:40
16
:54
:45
16
:54
:50
16
:54
:55
16
:55
:00
16
:55
:05
16
:55
:10
16
:55
:15
16
:55
:20
16
:55
:25
16
:55
:30
16
:55
:35
16
:55
:40
16
:55
:45
16
:55
:50
16
:55
:55
16
:56
:00
16
:56
:05
16
:56
:10
16
:56
:15
16
:56
:20
16
:56
:25
16
:56
:30
16
:56
:35
16
:56
:40
16
:56
:45
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
S
Data 2
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 21
0
1
2
0
100
200
300
400
500
600
16
:58
:28
16
:58
:33
16
:58
:38
16
:58
:43
16
:58
:48
16
:58
:53
16
:58
:58
16
:59
:03
16
:59
:08
16
:59
:13
16
:59
:18
16
:59
:23
16
:59
:28
16
:59
:33
16
:59
:38
16
:59
:43
16
:59
:48
16
:59
:53
16
:59
:58
17
:00
:03
17
:00
:08
17
:00
:13
17
:00
:18
17
:00
:23
17
:00
:28
17
:00
:33
17
:00
:38
17
:00
:43
17
:00
:48
17
:00
:53
17
:00
:58
17
:01
:03
17
:01
:08
17
:01
:13
17
:01
:18
17
:01
:23
17
:01
:28
17
:01
:33
17
:01
:38
17
:01
:43
17
:01
:48
17
:01
:53
17
:01
:58
17
:02
:03
17
:02
:08
17
:02
:13
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
SData 3
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
0
1
2
0
100
200
300
400
500
600
700
17
:03
:08
17
:03
:13
17
:03
:18
17
:03
:23
17
:03
:28
17
:03
:33
17
:03
:38
17
:03
:43
17
:03
:48
17
:03
:53
17
:03
:58
17
:04
:03
17
:04
:08
17
:04
:13
17
:04
:18
17
:04
:23
17
:04
:28
17
:04
:33
17
:04
:38
17
:04
:43
17
:04
:48
17
:04
:53
17
:04
:58
17
:05
:03
17
:05
:08
17
:05
:13
17
:05
:18
17
:05
:23
17
:05
:28
17
:05
:33
17
:05
:38
17
:05
:43
17
:05
:48
17
:05
:53
17
:05
:58
17
:06
:03
17
:06
:08
17
:06
:13
17
:06
:18
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
S
Data 4
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
0
1
2
0
100
200
300
400
500
600
700
800
17
:09
:23
17
:09
:28
17
:09
:33
17
:09
:38
17
:09
:43
17
:09
:48
17
:09
:53
17
:09
:58
17
:10
:03
17
:10
:08
17
:10
:13
17
:10
:18
17
:10
:23
17
:10
:28
17
:10
:33
17
:10
:38
17
:10
:43
17
:10
:48
17
:10
:53
17
:10
:58
17
:11
:03
17
:11
:08
17
:11
:13
17
:11
:18
17
:11
:23
17
:11
:28
17
:11
:33
17
:11
:38
17
:11
:43
17
:11
:48
17
:11
:53
17
:11
:58
17
:12
:03
17
:12
:08
17
:12
:13
17
:12
:18
17
:12
:23
17
:12
:28
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
S
Data 5
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 22
0
1
2
0100200300400500600700800900
17
:13
:16
17
:13
:21
17
:13
:26
17
:13
:31
17
:13
:36
17
:13
:41
17
:13
:46
17
:13
:51
17
:13
:56
17
:14
:01
17
:14
:06
17
:14
:11
17
:14
:16
17
:14
:21
17
:14
:26
17
:14
:31
17
:14
:36
17
:14
:41
17
:14
:46
17
:14
:51
17
:14
:56
17
:15
:01
17
:15
:06
17
:15
:11
17
:15
:16
17
:15
:21
17
:15
:26
17
:15
:31
17
:15
:36
17
:15
:41
17
:15
:46
17
:15
:51
17
:15
:56
17
:16
:01
17
:16
:06
17
:16
:11
17
:16
:16
17
:16
:21
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
SData 6
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
0
1
2
0100200300400500600700800900
10001100
17
:19
:19
17
:19
:24
17
:19
:29
17
:19
:34
17
:19
:39
17
:19
:44
17
:19
:49
17
:19
:54
17
:19
:59
17
:20
:04
17
:20
:09
17
:20
:14
17
:20
:19
17
:20
:24
17
:20
:29
17
:20
:34
17
:20
:39
17
:20
:44
17
:20
:49
17
:20
:54
17
:20
:59
17
:21
:04
17
:21
:09
17
:21
:14
17
:21
:19
17
:21
:24
17
:21
:29
17
:21
:34
17
:21
:39
17
:21
:44
17
:21
:49
17
:21
:54
17
:21
:59
17
:22
:04
17
:22
:09
17
:22
:14
17
:22
:19
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
S
Data 7
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
0
1
2
0100200300400500600700800900
100011001200
17
:23
:17
17
:23
:22
17
:23
:27
17
:23
:32
17
:23
:37
17
:23
:42
17
:23
:47
17
:23
:52
17
:23
:57
17
:24
:02
17
:24
:07
17
:24
:12
17
:24
:17
17
:24
:22
17
:24
:27
17
:24
:32
17
:24
:37
17
:24
:42
17
:24
:47
17
:24
:52
17
:24
:57
17
:25
:02
17
:25
:07
17
:25
:12
17
:25
:17
17
:25
:22
17
:25
:27
17
:25
:32
17
:25
:37
17
:25
:42
17
:25
:47
17
:25
:52
17
:25
:57
17
:26
:02
17
:26
:07
17
:26
:12
17
:26
:17
17
:26
:22
17
:26
:27
17
:26
:32
17
:26
:37
17
:26
:42
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
S
Data 8
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L - 23
0
1
2
0100200300400500600700800900
100011001200
17
:27
:21
17
:27
:26
17
:27
:31
17
:27
:36
17
:27
:41
17
:27
:46
17
:27
:51
17
:27
:56
17
:28
:01
17
:28
:06
17
:28
:11
17
:28
:16
17
:28
:21
17
:28
:26
17
:28
:31
17
:28
:36
17
:28
:41
17
:28
:46
17
:28
:51
17
:28
:56
17
:29
:01
17
:29
:06
17
:29
:11
17
:29
:16
17
:29
:21
17
:29
:26
17
:29
:31
17
:29
:36
17
:29
:41
17
:29
:46
17
:29
:51
17
:29
:56
17
:30
:01
17
:30
:06
17
:30
:11
17
:30
:16
17
:30
:21
17
:30
:26
17
:30
:31
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
SData 9
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
0
1
2
0100200300400500600700800900
1000110012001300
17
:31
:06
17
:31
:11
17
:31
:16
17
:31
:21
17
:31
:26
17
:31
:31
17
:31
:36
17
:31
:41
17
:31
:46
17
:31
:51
17
:31
:56
17
:32
:01
17
:32
:06
17
:32
:11
17
:32
:16
17
:32
:21
17
:32
:26
17
:32
:31
17
:32
:36
17
:32
:41
17
:32
:46
17
:32
:51
17
:32
:56
17
:33
:01
17
:33
:06
17
:33
:11
17
:33
:16
17
:33
:21
17
:33
:26
17
:33
:31
17
:33
:36
17
:33
:41
17
:33
:46
17
:33
:51
17
:33
:56
Kea
daa
n S
iste
m d
an A
Ktu
ato
r
Nila
i TD
S
Data 10
Data TDS Batas TDS Keadaan Sistem Motor Pengaduk Pompa
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI