BAB III
ANALISA DAN PERANCANGAN APLIKASI
3.1. Analisa Kebutuhan Aplikasi
Analisa kebutuhan aplikasi ini merupakan aktivitas awal dari siklus pengembangan perangkat lunak. Tahapan ini merupakan tahapan pengumpulan kebutuhan dari seluruh elemen sistem perangkat lunak yang akan dibangun.
Kegunaan analisa aplikasi adalah untuk memodelkan permasalahan dunia nyata agar dimengerti. Permasalahan dunia nyata harus dipelajari dan dipahami supaya spesifikasi kebutuhan perangkat lunak dapat diungkapkan. Tujuan aktivitas ini adalah untuk mengetahui ruang lingkup perangkat lunak dan pemakai yang menggunakannya.
Pada penelitian ini penulis menemukan permasalahan yang terjadi, masalah yang dihadapi petani dengan sitem Akuaponik adalah sulitnya pemonitoran serta kontrol perkebunan Akuaponik dengan jumlah yang besar yang harus dilakukan secara manual. Dengan menjelaskan secara umum tentang analisis yang dibutuhkan, penulis menemukan permasalahan dan menguraikan solusi permasalahan dengan mendesain rancang bangun sebuah aplikasi sebagai solusi dari permasalahan yang ada. Software yang digunakan penulis untuk merancang sebuah aplikasi yang akan dibuat adalah Android Studio dan beberapa komponen elektronika berbasis Internet of Things (IoT).
Bahasa yang digunakan dalam perancangan ini adalah pengembangan dari bahasa pemrograman Java. Android Studio menyediakan plugin yaitu Android develover Tools (ADT) dan juga terintegrasi dengan Android Software develover
Kit (SDK) yang menyediakan berbagai alat pengembangan untuk membuat sebuah aplikasi yang berbasis Android.
3.1.1. Identifikasi Masalah
Pada identifikasi masalah ini bertujuan untuk mengetahui permasalahan apa saja yang terjadi. Menganalisis yang terjadi merupakan awal yang harus dilakukan. Permasalahannya sebagai berikut:
1. Bagaimana cara mengurangi kesalahan dalam pengawasan atau monitoring Akuaponik apabila sudah dalam jumlah yang besar atau skala bisnis.
2. Bagaimana cara melakukan pengawasan keadaan air dan pengendalian pompa air serta pakan ikan secara mobile
3.1.2. Analisa Kebutuhan Aplikasi
Berdasarkan identifikasi masalah yang telah diuraikan, penulis mencoba menganalisa dan merumuskan kebutuhan pengguna sebagai panduan dasar dalam menyelesaikan permasalahan yang ada, adapun kebutuhan-kebutuhan tersebut adalah:
1. Analisa Kebutuhan Software
a. Sistem Operasi Windows 10 64-bit b. Android Studio
c. Android SDK Manager d. Arduino IDE
e. Firebase Real Time Database
2. Analisa Kebutuhan Hardware a. PC
- Processor Intel Core i3 - RAM sebesar 4GB b. Arduino
- Wemos D1 WiFi ESP8266 - pH Sensor Module V.1.1 - pH sensor probe MSP340
- Temperature probe sensor waterproof DS18B20 - Motor Servo Micro SG90
- Relay module 3. Analisa Kebutuhan Pengguna
a. Hanya dapat digunakan di platform Android
b. Minimal dapat digunkan di Android versi 4.4 Kitkat
Hasil dari analisa kebutuhan aplikasi yang telah dirumuskan oleh penulis, menjadi dasar untuk membangun sebuah aplikasi Android menggunakan Internet of Things (IoT) untuk aplikasi monitoring dan controlling Akuaponik.
3.2. Desain
Tahapan desain ini adalah bagian dalam menterjemahkan kebutuhan- kebutuhan software yang sudah dianalisa, pada sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum melakukan pengkodean atau implementasi program.
3.2.1. Database
Perancangan basis data digunakan untuk memodelkan aplikasi yang akan dibangun berdasarkan sudut pandang struktur basis datanya (database). Pada penelitian ini, perancangan basis data dilakukan dengan menggunakan NoSQL embedded documents data modeling. Hal ini dilakukan karena Firebase real time database menyimpan data dalam bentuk single JSON document. Proses perancangan basis data ini, menghasilkan sebuah rancangan single document database model yang di tunjukan dalam gambar 3.2 berikut:
Gambar III. 1. Single Document database model
3.2.2. Software Architecture
Untuk pengembangan aplikasi yang berkualitas, dibutuhkan prosedur- prosedur perancangan yang sesuai dengan pengembangan sistem informasi SDLC.
Berikut adalah gambaran dari aplikasi yang menggunakan pemodelan Unified Modelling Language (UML). Proses dan data model pada aplikasi dimodelkan menggunakan Use case Diagram, Activity Diagram, Sequence Diagram, dan Class Diagram.
A. Use case Diagram
Use Case diagram digunakan untuk menggambarkan sistem dari sudut pandang pengguna sistem tersebut (user) sehingga pembuatan use case diagram lebih dititik beratkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian. Sebuah use case diagram mempresentasikan sebuah interaksi antara aktor dengan sistem. Kemampuan aplikasi untuk dapat berinteraksi dengan pengguna digambarkan dalam use case diagram pada gambar III.3.
Gambar III.2. Use Case Pengguna
Dari gambar III.3 dapat dilihat sistem ini terdiri dari 1 aktor dan 6 usecase.
Untuk lebih jelasnya, spesifikasi dari usecase diagram (pengaksesan melalui perangkat android) dapat dilihat pada tabel III.1 berikut.
Tabel III.1. Spesifikasi Monitor dan Control Akuaponik
Actor Use
Use Case Monitor dan Control Akuaponik
Description User membuat akun dan masuk dengan menggunakan akun tersebut sebelum memilih Fragment Monitor atau Control untuk melakukan monitoring dan controlling Akuaponik Pre Condition Sistem menampilkan menu awal
Post Condition Aktor berhasil membuat akun dan masuk ke aplikasi dengan menggunakan akun tersebut dan melakukan monitoring pH dan suhu air dan kontrol pompa air dan pakan, serta membuat jadwal pakan ikan pada Akuaponik,
B. Activity Diagram
Activity diagram merupakan alur kerja pada setiap usecase. Activity diagram pada analisa ini mencakup activity diagram setiap usecase.
1. Activity Diagram Login
Activity menu awal user memilih aplikasi, sistem memproses lalu menampilkan menu Login. User mengisi akun terdaftar, sistem memproses validasi data masuk akun lalu terjadi keputusan apakah berhasil Login atau tidak, jika tidak, interface tidak akan berpindah ke activity lain, jika berhasil, user akan di arakan ke menu utama.
Gambar III.3. Activity diagram Login
2. Activity Diagram Register
User yang belum memiliki akun dapat melakukan registrasi pada menu Register dengan mengisikan Email dan password yang kemudian data tersebut tersimpan di Firebase. Setelah berhasil, user diarahkan kembali ke menu Login dan memasukkan Email dan password yang telah dibuat, jika berhasil, sistem menampilkan menu Utama.
Gambar III.4. Activity diagram Register
3. Activity Diagram Menu Utama
Pada menu utama, terdiri dari 3 Fragment sebagai berikut:
a. Fragment Monitor, merupakan tampilan awal setelah user berhasil Login. Fragment Monitor menampilkan grafik dan angka dari pembacaan sensor pH dan suhu.
Gambar III.5. Activity diagram Fragment Monitor
b. Fragment Control, terdiri dari tombol yang dapat menghidupkan dan mematikan aliran listrik pada pompa air dan membuka pakan ikan, serta membuat jadwal untuk pemberian pakan ikan.
Gambar III.6. Activity diagram Fragment Control
c. Fragment About menampilkan deskripsi dari aplikasi yang dibuat.
Gambar III.7. Activity diagram Fragment About
4. Activity Diagram Logout
Gambar III.8. Activity diagram Logout
Activity Diagram Logout mengeluarkan user dari akses yang kemudian antarmuka menampilkan menu Login. Logout action dapat dipilih di setiap Fragment.
C. Sequence Diagram
Setiap sistem memiliki proses dan setiap proses memiliki dua kriteria yaitu proses sederhana dan kompleks. Sequence Diagram tidak menampilkan seluruh proses pada sistem melainkan hanya garis besarnya saja.
1. Sequence Diagram Login
Gambar III.9. Sequence Diagram Login
Dari gambar III.9 merupakan Sequence Diagram Login menuju menu utama atau Fragment Monitor, user menginput Email dan password akun yang sudah terdaftar pada form Login, kemudian memproses validasi akun, setelah itu user dapat mengakses menu utama aplikasi yaitu Fragment Monitor.
2. Sequence Diagram Register
Gambar III.10. Sequence Diagram Register
Gambar III.10 menunjukkan user menginput Email dan password pada form Register untuk membuat akun, kemudian akun tersebut diproses dengan menyimpan data yang diinput ke database, kemudian user diarahkan kembali ke form Login dan masuk dengan akun yang sudah dibuat.
3. Sequence Diagram Control
Fragment Control memiliki 3 fungsi yang memiliki Sequence Diagram yaitu Sequence Diagram Pompa, Sequence Diagram Pakan dan Sequence Diagram Jadwal pakan.
a. Sequence Diagram Pompa
Gambar III.11. Sequence Diagram Pompa
Gambar III.11 menunjukkan apabila user ingin mengontrol pompa, user memilih tombol pompa, kemudian pada database nilai auto_pompa diubah menjadi “ON”, dan pompa air menyala.
b. Sequence Diagram Pakan
Gambar III.12. Sequence Diagram Pakan
Pada gambar III.12 apabila user ingin menyalakan pakan ikan, user memilih tombol pakan, kemudian pada database nilai auto_pakan diubah menjadi
“ON”, dan pakan ikan terbuka.
c. Sequence Diagram Jadwal Pakan
Gambar III.13. Sequence Diagram Jadwal Pakan
Jika user ingin membuat jadwal pemberian pakan, user memilih “Buat jadwal” kemudian mengatur jam berapa pakan akan terbuka setiap harinya, kemudian sistem memasukkan data jam sudah di buat di database, dan mengubah nilai auto_pakan menjadi “ON” dan pakan terbuka setiap jam yang sudah ditentukan, seperti yang terlihat pada gambar III.13.
4. Sequence Diagram About
Gambar III.14. Sequence Diagram About
Dari gambar III.14, user dapat melihat uraian tentang deskripsi aplikasi pada halaman About dengan memilih Fragment About.
5. Sequence Diagram Logout
Gambar III.15. Sequence Diagram Logout
4. Class Diagram
Gambar III.16. Class Diagram
Class Diagram pada aplikasi ini memiliki 4 tabel yaitu User yang dapat mengakses Sensors, Schedule dan Control, dengan 1 User dapat melihat (get) nilai sensor, menyimpan (save), mengedit (update), menghapus (delete), dan melihat (get) jadwal pakan, serta dapat mengubah (update) dan melihat (get) fungsi kontrol pompa dan pakan ikan, sebagaimana terlihat pada gambar III.16.
3.2.3. User Interface
Desain antarmuka (interface) adalah desain masukan (input) yang akan diguanakan untuk memasukan data ke dalam sistem. Berikut desain interface aplikasi monitoring dan controlling Akuaponik.
A. Splash Screen
Saat pertama kali user membuka aplikasi, maka akan tampil logo dari aplikasi selama beberapa detik.
Gambar III.17. Splash Screen
B. Menu Login
Setelah splash screen tampil dalam beberapa saat, user langsung diarahkan ke menu Login agar mempermudah user yang sudah memiliki akun. Setelah user menginput Email dan password, dan mengklik Button Masuk, akan berpindah ke activity menu utama atau Fragment Monitor.
Gambar III.18. Menu Login C. Menu Register
Untuk user yang belum memiliki akun dapat mengklik TextView buat akun pada menu Login, kemudian aplikasi berpindah ke activity menu register. User menginput Email dan password, setelah validasi selesai, sistem mengarahkan kembali pada activity menu Login dan user dapat masuk dengan mengisi kembali Email dan password yang telah dibuat.
Gambar III.19. Menu Register
D. Menu Utama
Pada menu utama terdiri dari 3 Fragment yaitu:
1. Fragment Monitor
Gambar III.20. Fragment Monitor
Pada Fragment Monitor atau saat Fragment Monitor aktif, terdapat sebuah ImageView atau gambar, kemudian 5 TextView yang 2 diantaranya adalah hasil pembacaan dari sensor suhu dan sensor pH yang dapat berubah-ubah setiap kali ada perubahaan suhu atau pH pada Akuaponik. Pada Action Bar terdapat Logout untuk keluar akun. Logout dapat dilakukan di semua Fragment.
2. Fragment Control
Gambar III.21. Fragment Control
Saat Fragment Control aktif, terdapat 2 CardView untuk melakukan pengontrolan pompa air dan pakan ikan, 1 TextView, 1 TimePicker untuk mengatur waktu atau jadwal pemberian pakan dan 1 Switch untuk mengaktifkan jadwal yang telah dibuat.
Apabila CardView di klik akan mengubah nilai pada database dan membuka atau menutup pompa atau pakan pada Akuaponik. Pompa atau pakan yang aktif akan ditandain dengan berubahnya warna CardView menjadi warna hijau, sedangkan pompa atau pakan yang tidak aktif ditandai dengan CardView yang berwarna abu-abu.
3. Fragment About
Gambar III.22. Fragment About
Saat Fragment About aktif, terdapat 2 TextView yang berfungsi untuk menampilkan deskripsi singkat tentang aplikasi.
3.2.4. Desain Mikrokontroler
Desain mikrokontroler yang dibuat sebagai berikut.
A. Rangkaian Mikrokontroler
Gambar III.23. Rangkaian Alat
Desain rangkaian mikrokontroler dapat dilihat pada gambar III.23 yang dapat diuraikan sebagai berikut:
1. Mikrokontroler Wemos ESP8266 dengan Wifi shield
2. Sensor pH Module sensor pH V.1.1 dan pH Probe MSP340, dihubungkan pada port A0 yang ditandai dengan kabel berwarna hijau dan kabel merah sebagai kabel positif di tegangan 5 volt
3. Relay pada port D3 ditandai dengan kabel berwarna biru, membutuhkan tegangan listrik sebesar 3,3 volt
4. Sensor Suhu DS18B20 Waterproof dihubungkan pada port D4 ditandai dengan kabel berwarna ungu, dan tegangan listrik sebesar 5v dihubungkan melalui Breadboard
5. Motor Servo dihubungkan pada port D2 ditandai dengan kabel berwarna kuning, membutuhkan tegangan sebesar 5 volt
6. Breadboard digunakan untuk menghubungkan komponen elektronika tanpa harus melakukan penyolderan.
B. Skema Relasi Mikrokontroler dan Aplikasi
Gambar III.24. Skema Mikrokontroler dengan Aplikasi
Gambar III.24 menunjukkan bagaimana mikrokontroler dan aplikasi dapat saling terhubung melalui internet, beserta perubahan data dan aksi dari aplikasi Android yang disimpan pada basis data Firebase yang juga membutuhkan internet.
3.3. Testing
Testing atau pengujian sistem merupakan hal yang paling penting yang bertujuan untuk menemukan kesalahan-kesalahan atau kekurangan-kekurangan
pada aplikasi yang akan diuji. Pengujian ini bermaksud untuk mengetahui aplikasi maupun alat yang dibuat sesuai dengan kinerjanya dan juga sesuai dengan perancangan aplikasi dan alat.
3.3.1. Black Box Testing pada Aplikasi
Pengujian ini bermaksud untuk mengetahui setiap pilihan menu atau opsi yang berada dalam program sesuai proses yang tepat dan sesuai dengan rancangan yang telah dibuat, sehingga output yang dihasilkan sesuai dengan yang di harapkan dan mewakili setiap langkah yang telah di proses.
Berikut ini pengujian Black Box aplikasi Monitoring dan Controlling Akuaponik yang telah penulis buat:
A. Pengujian Black Box Login
Tabel III.2. Pengujian Black Box Login No Pengujian Test Case Hasil yang
diharapkan
Keterangan 1 Email dan
Password tidak diisi kemudian klik tombol Login
Email: (kosong) Password:
(kosong)
Sistem akan menolak dan menampilkan pesan “Harap isi Email dan password”
[√] Berhasil [ ] Tidak Berhasil 2 Mengetikkan
Email, dan password tidak diisi atau kosong
kemudian klik tombol Login
Email:
kaka@gmail.com Password:
(kosong)
Sistem akan menolak dan menampilkan pesan “Password belum diisi”
[√] Berhasil [ ] Tidak Berhasil
3 Mengetikkan Password, dan Email tidak diisi atau kosong
kemudian klik tombol Login
Email: (kosong) Password:
123456
Sistem akan menolak dan menampilkan pesan “Email belum diisi”
[√] Berhasil [ ] Tidak Berhasil
4 Mengetikkan Email dan/atau password tidak sesuai,
kemudian klik tombol Login
Email:
kakagmail.com Password: 123
Sistem akan menolak dan menampilkan pesan “Email atau Password yang anda masukan salah”
[√] Berhasil [ ] Tidak Berhasil
5 Mengetikkan Email dan password (diisi),
kemudian klik tombol Login
Email:
kaka@gmail.com Password:
123456
Sistem menerima akses Login dan kemudian menampilkan halaman utama
[√] Berhasil [ ] Tidak Berhasil
B. Pengujian Black Box Register
Tabel III.3. Pengujian Black Box Register No Pengujian Test Case Hasil yang
diharapkan
Keterangan 1 Email dan
Password tidak diisi kemudian klik tombol Daftar
Email: (kosong) Password:
(kosong)
Sistem akan menolak dan menampilkan pesan “Harap isi Email dan password”
[√] Berhasil [ ] Tidak Berhasil 2 Mengetikkan
Email, dan password tidak diisi atau kosong
kemudian klik tombol Daftar
Email:
nurariska@gmail.
com Password:
(kosong)
Sistem akan menolak dan menampilkan pesan “Password belum diisi”
[√] Berhasil [ ] Tidak Berhasil
3 Mengetikkan Password, dan Email tidak diisi atau kosong
kemudian klik tombol Daftar
Email: (kosong) Password: qwerty
Sistem akan menolak dan menampilkan pesan “Email belum diisi”
[√] Berhasil [ ] Tidak Berhasil
4 Mengetikkan Email dan/atau password tidak sesuai,
kemudian klik tombol Daftar
Email:
nurariskagmai Password: qwe
Sistem akan menolak dan menampilkan pesan “Email atau Password yang anda masukan salah”
[√] Berhasil [ ] Tidak Berhasil
5 Mengetikkan Email dan password (diisi),
kemudian klik tombol daftar
Email:
nurariska@gmail.
com
Password: qwerty
Sistem menerima akses Login dan kemudian menampilkan Menu Login
[√] Berhasil [ ] Tidak Berhasil
C. Pengujian Black Box Fragment Monitor
Tabel III.4. Pengujian Black Box Fragment Monitor No Pengujian Test Case Hasil yang
diharapkan
Keterangan 1 Aplikasi
menampilkan pembacaan sensor suhu secara realtime
- Derajat suhu air
tampil pada
antarmuka aplikasi dan berubah-ubah sesuai suhu air sebenarnya
[√] Berhasil [ ] Tidak Berhasil 2 Aplikasi
menampilkan pembacaan sensor pH secara realtime
- Ukuran pH air
tampil pada
antarmuka aplikasi dan berubah-ubah sesuai pH air sebenarnya
[√] Berhasil [ ] Tidak Berhasil
D. Pengujian Black Box Fragment Control
Tabel III.5. Pengujian Black Box Fragment Control No Pengujian Test Case Hasil yang
diharapkan
Keterangan 1 Menyalakan
pompa
Mengklik
CardView pompa
Pompa air menyala,
CardView berubah warna menjadi hijau, status pompa menjadi ON, dan muncul toast
“Pompa Dinyalakan”
[√] Berhasil [ ] Tidak Berhasil
2 Mematikan pompa
Mengklik
CardView pompa
Pompa air mati, CardView kembali berwarna menjadi abu-abu, status pompa menjadi
[√] Berhasil [ ] Tidak Berhasil
OFF, dan muncul toast “Pompa Dimatikan”
3 Membuka tangki pakan
Mengklik
CardView pakan
Tangki pakan terbuka dalam beberapa detik, CardView berubah warna menjadi hijau, status pakan menjadi ON, dan muncul toast
“Pakan Dihidupkan”
[√] Berhasil [ ] Tidak Berhasil
4 Mengatur waktu jadwal pemberian pakan ikan tanpa
mengaktifkan tombol switch
Menentukan waktu pada TimePicker
Muncul satuan waktu yang telah ditentukan
[√] Berhasil [ ] Tidak Berhasil
5 Mengatur waktu jadwal pemberian pakan ikan dan mengaktifkan tombol switch
Menentukan waktu pada TimePicker dan Mengklik switch button
Muncul satuan waktu yang ditentukan, tersimpan di Firebase, muncul toast “Jadwal Dihidupkan”, dan tangki pakan terbuka setiap jam yang telah
ditentukan
[√] Berhasil [ ] Tidak Berhasil
6 Mengaktifkan tombol switch tanpa
mengatur waktu jadwal
Mengklik switch button
Muncul toast
“Jadwal Belum Ditentukan”
[√] Berhasil [ ] Tidak Berhasil
E. Pengujian Black Box Fragment About
Tabel III.6. Pengujian Black Box Fragment About No Pengujian Test Case Hasil yang
diharapkan
Keterangan 1 Aplikasi
menampilkan deskripsi aplikasi
Memilih
Fragment About
Deskripsi aplikasi tampil pada antarmuka
[√] Berhasil [ ] Tidak Berhasil
F. Pengujian Black Box Logout
Tabel III.7. Pengujian Black Box Logout No Pengujian Test Case Hasil yang
diharapkan
Keterangan 1 Logout Mengklik Logout
pada Action Bar
Keluar dari akses user dan kembali ke Menu Login
[ √] Berhasil [ ] Tidak Berhasil 3.3.2. Black Box Testing pada Alat
Pengujian ini bermaksud untuk mengetahui apakah alat atau sistem mikrokontroler yang dibuat sudah sesuai dengan yang diharapkan. Berikut pengujian yang dilakukan sebanyak 10 kali dengan menggunakan server Firebase:
A. Pengujian Sensor
Tabel III.8. Pengujian Sensor
No Pengujian Hasil yang diharapkan Keterangan 1 Sensor pH Angka pH tampil pada aplikasi [ √] Berhasil
[ ] Tidak Berhasil 2 Sensor suhu Derajat suhu tampil pada aplikasi [ √] Berhasil
[ ] Tidak Berhasil
B. Pengujian Proses
Tabel III.9. Pengujian Proses
No Pengujian Hasil yang diharapkan Keterangan 1 Daya Seluruh komponen yang memerlukan
daya listrik dapat dihubungkan satu sama lain dan dapat bekerja
sebagaimana mestinya
[ √] Berhasil [ ] Tidak Berhasil 2 Pompa air Pompa air pada akuarium dapat
menyala dan mati yang dapat dikontrol pada aplikasi
[ √] Berhasil [ ] Tidak Berhasil 3 Pakan ikan Tangki pakan ikan pada akuarium
dapat membuka dan menutup yang dapat dikontrol pada aplikasi
[ √] Berhasil [ ] Tidak Berhasil 4 Jadwal Pakan Tangki pakan ikan pada akuarium
dapat membuka dan menutup sesuai jadwal yang telah ditentukan
[ √] Berhasil [ ] Tidak Berhasil
C. Pengujian pengiriman data sensor
Tabel III.10. Pengujian pengiriman data sensor dari Sistem ke Android No Jenis Sensor Jaringan
Smartphone
Waktu respon mikrokontroler
Jumlah tidak ada respon
1 Sensor pH EDGE 5-6 detik 2
3G 3-4 detik 1
4G 2-3 detik 1
2 Sensor suhu EDGE 5-6 detik 2
3G 3-4 detik 1
4G 2-3 detik 1
D. Pengujian Pengiriman Perintah
Tabel III.11. Pengiriman perintah dari Android ke Sistem No Jenis
Perintah
Jaringan Smartphone
Waktu respon mikrokontroler
Jumlah tidak ada respon 1 Buka-tutup
Pompa air
EDGE 6-7 detik 3
3G 3-4 detik 2
4G 2-3 detik 1
2 Buka-tutup Pakan Ikan
EDGE 6-10 detik 4
3G 5-6 detik 4
4G 3-4 detik 3
3 Jadwal pakan
EDGE 5-6 detik 3
3G 3-4 detik 2
4G 2-3 detik 1
Berdasarkan hasil pengujian blackbox yang telah dilakukan dapat ditarik kesimpulan bahwa pada proses masih memungkinkan terjadi kesalahan, namun secara fungsionalitas sistem sudah dapat menghasilkan output yang diharapkan.
3.4. Implementasi
Aplikasi Monitoring dan Controlling Akuaponik berbasis Internet of Things ini dibuat dengan 2 jenis implementasi, yaitu implementasi dalam segi aplikasi dan implementasi dalam segi alat atau mikrokontroler yang dipasang pada Akuaponik.
3.4.1. Aplikasi
Implementasi antarmuka dibuat berdasarkan aplikasi yang sudah dibangun, berikut adalah beberapa tampilan implementasi antarmuka.
A. Splash Screen
Gambar III.25. Antarmuka Splash screen
Splash screen menampilkan logo dari aplikasi yang dibuat, muncul ketika user memilih atau mengklik ikon aplikasi, splash screen tampil selama beberapa detik.
B. Menu Login
Gambar III.26. Antarmuka Menu Login
Menu Login menampilkan TextView nama aplikasi, 2 EditText yang harus diisi dengan form Login berupa Email dan password dengan panjang 6 karakter dan Button Masuk untuk berpindah ke menu utama atau Fragment Monitor. Bagi user yang belum memiliki akun, user dapat memilih clickable TextView “Daftar Sekarang” yang akan mengarahkan aplikasi ke Menu Register.
C. Menu Register
Gambar III.27. Antarmuka Menu Register
Menu Register memiliki tampilan yang hampir sama dengan menu Login, user mengisi form Register, dan mengklik Button Daftar, dan kembali ke menu Login.
D. Fragment Monitor
Gambar III.28. Antarmuka Fragment Monitor
Pada Fragment Monitor terdapat sebuah ImageView atau gambar, kemudian 5 TextView yang 2 diantaranya adalah hasil pembacaan dari sensor suhu dan sensor pH yang dapat berubah-ubah setiap kali ada perubahaan suhu atau pH pada Akuaponik. Pada Action Bar terdapat Logout untuk keluar akun. Logout dapat dilakukan di semua Fragment. Apabila user tidak melakukan Logout, antarmuka aplikasi akan langsung menampilkan Fragment Monitor saat user mengklik ikon aplikasi tanpa harus Login kembali.
E. Fragment Control
Gambar III.29. Antarmuka ketika Status Control OFF
Gambar III.27 menampilkan semua fungsi pada fagment Control mati termasuk jadwal pemberian pakan yang belum ditentukan.
Gambar III.30. Tampilan database awal pada Firebase
Selain hasil pembacaan sensor suhu dan sensor pH, setiap aksi pada Fragment Control akan mengubah nilai pada Firebase. Pada gambar III.32 terlihat nilai dari
“ph_value” dan “temperature_value” memiliki nilai berupa angka pH dan derajat suhu terakhir, sedangkan “feed_schedule” masih kosong karena jadwal pemberian pakan belum ditentukan. Nilai dari “feed_status” dan “pump_status” masih OFF karena tombol pompa dan pakan belum diklik.
Gambar III.31. Antarmuka Pompa dinyalakan
Ketika CardView pompa di tekan sekali, tampilan pada antarmuka aplikasi menunjukkan perubahan warna CardView Pompa yang semula berwarna abu-abu menjadi hijau, status pompa menjadi ON dan muncul toast “Pompa Dinyalakan”.
Gambar III.32. Tampilan Firebase Status Pompa ON
Pada gambar III.30 terdapat perubahan nilai “pump_status” dari OFF menjadi ON setelah tombol pompa ditekan.
Gambar III.33. Antarmuka Pompa dimatikan
Jika user menekan kembali CardView pompa, maka warna akan kembali menjadi abu-abu, status pompa kembali menjadi OFF dan muncul toast “Pompa Dimatikan” pada tampilan antarmuka aplikasi.
Gambar III.34. Antarmuka Pakan dinyalakan
Sama seperti saat menghidupkan pompa, jika CardView pakan di tekan sekali, tampilan pada antarmuka aplikasi menunjukkan perubahan warna CardView pakan yang semula berwarna abu-abu menjadi hijau, status pakan menjadi ON dan muncul toast “Pakan Dinyalakan”.
Gambar III.35. Tampilan Firebase Status Pakan ON
Gambar III.33 menunjukkan adanya perubahan nilai dari “feed_status”
menjadi ON setelah tombol pakan ditekan.
Gambar III.36. Antarmuka Mengatur Jadwal
Ketika user ingin membuat jadwal pemberian pakan ikan, yang perlu dilakukan adalah scrolling atau memilih jam, menit serta memilih am/pm pada TimePicker yang tersedia.
Gambar III.37. Antarmuka Jadwal telah dibuat
Waktu yang sudah ditetapkan belum tersimpan pada Firebase, untuk mengaktifkan jadwal, user harus menekan atau mengaktifkan Switch sehingga berubah warna dari abu-abu menjadi biru, maka jadwal telah tersimpan dan muncul toast “Alarm is Set”.
Gambar III.38. Tampilan Firebase Jadwal dihidupkan
Setelah Switch diaktifkan, otomatis waktu yang telah dipilih sebagai jadwal pakan akan tersimpan di database dan nilai “feed_status” akan menjadi ON pada jam tersebut.
Gambar III.39. Antarmuka Jadwal dimatikan
Untuk menghentikan atau mematikan jadwal, user hanya perlu menekan atau menonaktifkan Switch, maka akan muncul toast “Alarm is stop”, dan jadwal yang sebelumnya tersimpan di Firebase akan tehapus.
F. Fragment About
Gambar III.40. Antarmuka Fragment About
Saat Fragment About aktif, dapat dilihat bahwa terdapat deskripsi tentang aplikasi yang dibuat seperti pada gambar III.38.
Gambar III.41. Antarmuka Log out
Logout dapat dilakukan di Main Activity di semua Fragment dengan menekan option menu dan memilih Logout, kemudian antarmuka dikembalikan ke Menu Login.
3.4.2. Alat
Gambar III.42. Rangkaian komponen alat
Gambar III.40 menunjukkan seluruh komponen alat yang digunakan dalam aplikasi monitoring dan controlling Akuaponik berbasis IoT yang dihubungkan dengan mikrokontroler dan daya disambungkan dengan Breadboard. Wemos membutuhkan daya dari lisrik secara langsung, dapat menggunakan kabel USB atau kabel power supply.
Gambar III.43. Sambungan dengan Relay
Gambar III.41 menunjukkan Relay yang tersambung dengan pompa air yang berguna untuk memutus atau menyambungkan dengan aliran listrik, sehingga fungsi ON/OFF pompa pada aplikasi dapat diterapkan. Relay dipasang pada port D3 yang disambungkan dengan daya 3,3V dan pompa langsung dihubungkan dengan listrik.
Gambar III.44. Sambungan dengan pH module
Gambar III.42, pH module yang disambungkan dengan pH probe dipasang pada port A0, membutuhkan daya sebesar 5V melalu Breadboard.
Gambar III.45. Sambungan dengan Servo dan Sensor Suhu
Motor servo dipasang pada port D2 membutuhkan daya sebesar 5V dan Sensor suhu waterproof dipasang pada port D4 membutuhkan daya 5V yang dapat dilihat pada gambar III.43.
Gambar III.46. Akuarium tampak samping
Akuarium yang dipasang pompa air, pH probe dan sensor suhu waterproof dapat dilihat pada gambar III.44.
Gambar III.47. Akuarium tampak atas
Akuarium yang dipasang pompa air, pH probe dan sensor suhu waterproof tampak atas dapat dilihat pada gambar III.45.