PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TUGAS AKHIR
SISTEM TELEMETRI KUALITAS AIR KOLAM IKAN MENGGUNAKAN TX02-433D DAN RX01-433D SEBAGAI UNIT SENTRAL Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh :
ANTONIUS BUDI PRASETYO JATI 115114016
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TUGAS AKHIR
SISTEM TELEMETRI KUALITAS AIR KOLAM IKAN MENGGUNAKAN TX02-433D DAN RX01-433D SEBAGAI UNIT SENTRAL Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh :
ANTONIUS BUDI PRASETYO JATI 115114016
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015 i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
THE TELEMETRY SYSTEM OF FISH POND WATER QUALITY USING TX02-433D AND RX01-433D AS A CENTRAL UNIT
Presented As Partial Fulfillment Of The Requirements To Obtain The Sarjana Teknik Degree In Electrical Engineering Study Program
By: ANTONIUS BUDI PRASETYO JATI 115114016
ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2015 ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 10 November 2015
Antonius Budi Prasetyo Jati
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN DAN MOTO HIDUP
MOTTO :
Hidup itu penuh dengan tantangan Teruslah berjuang untuk menghadapi tantangan itu
Skripsi ini kupersembahkan untuk….. Yesus Kristus,Bunda Maria,Saint Antonius Pembimbingku yang setia Eyang Kakung dan Eyang Putri di surga Bapak Blasius Basuki dan Mamah Maria Goretti yang aku banggakan Mas Jati Mbak Idha dan Karina yang aku cintai Veronica Vania atas komitmen dan dukungan yang harus diperjuangkan Elektro 2011 atas bantuan candaan dan kenangan indah
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
INTISARI Kualitas air kolam ikan harus terjaga untuk menjamin kelangsungan hidup ikan. Air sungai yang masuk ke kolam menentukan kualitas air kolam. Kualitas air kolam tersebut dapat diukur dengan bantuan sensor seperti suhu, DO, pH, kekeruhan air serta konduktivitas. Permasalahan yang ada pemilik kolam perlu sering meninjau kondisi kolam untuk nilai sensor tersebut. Penelitian ini bertujuan membuat sistem telemetri antara bagian pengukur sensor serta bagian penampil untuk mempermudah pemilik kolam dalam menjaga kualitas air kolam. Sistem telemetri dilakukan dengan cara modul terminal unit melakukan pengukuran parameter kualitas air sungai serta menentukan posisi buka-tutup pintu air kolam. Informasi tersebut kemudian dikirimkan ke modul sentral unit yang bertugas sebagai penampil secara telemetri menggunakan modul RX01-433D dan TX02-433D. Mikrokontroler Atmega8535 pada modul sentral unit digunakan untuk memproses paket data dari terminal unit yang kemudian dikirim ke komputer menggunakan kabel. Visual Basic 6.0 sebagai GUI digunakan untuk parsing paket data menjadi parameter yang ada serta menyimpan dan menampilkan ke dalam bentuk grafik. Pengiriman paket data saat frequency deviation +/-90kHz hingga +/-180kHz dapat mengirim paket data dengan tingkat keberhasilan 100% hingga jarak 20 meter. Proses parsing paket data telah sesuai dengan informasi yang diberikan dan ditampilkan dalam grafik. Sentral unit juga dapat mengatur periode pengiriman paket data dari terminal unit serta batasan kendali masing-masing sensor pada terminal unit. Secara keseluruhan sistem mampu bekerja seusai dengan perencanaan namun pengiriman paket data tidak dapat mencapai jarak 100 meter atau sesuai dengan datasheet. Hal ini disebabkan pengaturan modul RX01-433D dan TX02-433D meliputi banyak faktor. Kata kunci : kualitas air, parameter, sistem telemetri, parsing.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT The fish pond water must be kept in the highest quality for the life of fish. Water is the most important thing of that. The quality can be measured with the sensor of temperature, oxygen, pH, turbidy and conductivity. The problem is the owner always checking his fish pond water for many times. This research has a goal that made the telemetry system between sensor and the display to make easier the owner for keeping the quality of his fish pond water. The telemetry system did when terminal unit will be measures the fish pond water using that sensor and control the inlet and outlet of fish pond water. Then, the information of fish pond water is sent to the central unit using RX01-433D and TX02-433D. Microcontroller Atmega8535 in central unit is used to process the package from terminal unit and will be sent to computer used a cable. Visual Basic 6.0 as the GUI will be descended the package by that parameter, saving the data and displaying into a graphic. When the package is sent using frequency deviation from +/-90kHz until +/180kHz, it can be sent 100% successful until 20 meter. The package can be parsing by that parameter and can be displayed into a graphic. Central unit can control the time of terminal unit for sending the package and the limitation of that sensor. Overall, the system works like the plan but when the package is sent, it cannot reach 100 meter or not same as the datasheet. The reason is the initialization of RX01-433D and TX02-433D has many factors. Keyword : quality of the water, parameter, telemetry system, parsing.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR Puji dan Syukur penulis panjatkan kepada Tuhan Yesus Kristus karena telah memberikan berkat-Nya sehingga penulis dapat menyelesaikan laporan akhir ini dengan baik. Laporan akhir ini disusun untuk memenuhi syarat memperoleh gelar sarjana. Penulis mengucapkan terima kasih kepada : 1. Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta. 2. Ketua Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta. 3. Martanto, S.T., M.T., dosen pembimbing yang dengan penuh pengertian dan ketulusan hati memberi bimbingan, kritik, saran, serta motivasi dalam penulisan skripsi ini. 4. Petrus Setyo Prabowo, S.T., M.T., Ir. Theresia Prima, M.T. dosen penguji yang telah memberikan masukan, bimbingan, saran dalam merevisi skripsi ini. 5. Bapak, Mamah, Mas Jati, Mbak Idha, Karina, Vanya atas dukungan, doa, cinta, perhatian, kasih sayang yang tiada henti. 6. Staff sekretariat Teknik Elektro, atas bantuan dalam melayani mahasiswa. 7. Kawan-kawan seperjuangan angkatan 2011 Teknik Elektro, dan kawan-kawan kost Buah Manggis yang mendukung saya dalam mendukung dalam menyelesaikan tugas akhir ini. 8. Epan Supaganda, atas pinjaman kamar dan fasilitas-fasilitas yang diberikan. 9. Semua pihak yang tidak dapat disebutkan satu persatu atas semua dukungan yang telah diberikan dalam penyelesaian skripsi ini. Penulis menyadari bahwa dalam penyusunan laporan akhir ini masih mengalami kesulitan dan tidak lepas dari kesalahan. Oleh karena itu, penulis mengharapkan masukan, kritik dan saran yang membangun agar skripsi ini menjadi lebih baik. Dan semoga skripsi ini dapat bermanfaat sebagaimana mestinya.
Penulis
Antonius Budi Prasetyo Jati
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI HALAMAN JUDUL ................................................................................................... i HALAMAN PERSETUJUAN ................................................................................ iii HALAMAN PENGESAHAN .................................................................................. iv PERNYATAAN KEASLIAN KARYA ................................................................ v HALAMAN PERSEMBAHAN DAN MOTTO HIDUP................................ vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ......................................... vii INTISARI ....................................................................................................................... viii ABSTRACT ................................................................................................................... ix KATA PENGANTAR ................................................................................................ x DAFTAR ISI ................................................................................................................. xi DAFTAR GAMBAR .................................................................................................. xv DAFTAR TABEL ........................................................................................................ xviii
BAB I : PENDAHULUAN 1.1.
Latar Belakang........................................................................................................ 1
1.2.
Tujuan dan Manfaat Penelitian ............................................................................... 2
1.3.
Batasan Masalah ..................................................................................................... 2
1.4.
Metodologi Penelitian ............................................................................................ 3
BAB II : DASAR TEORI 2.1.
2.2.
Kualitas Air Kolam Ikan......................................................................................... 5 2.1.1.
Temperatur Air ........................................................................................ 5
2.1.2.
Derajat Keasaman Air (pH) ..................................................................... 5
2.1.3.
Derajat Kekeruhan ................................................................................... 6
2.1.4.
Kandungan Oksigen ................................................................................ 6
2.1.5.
Konduktivitas .......................................................................................... 6
State of The Art ....................................................................................................... 6
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.3.
2.2.1.
Data Pengujian Pengendalian Suhu Air................................................... 9
2.2.2.
Data Pengujian Pengendalian pH Air ...................................................... 9
2.2.3.
Data Pengujian Pengendalian Kekeruhan Air ......................................... 10
2.2.4.
Data Pengujian Pengendalian Kandungan Oksigen (DO) ....................... 11
2.2.5.
Data Pengujian Pengendalian Konduktivitas Air .................................... 11
Regulator Tegangan ................................................................................................ 12 2.3.1.
PENGATUR TEGANGAN IC 78XX ..................................................... 12
2.4.
Module PL2303 ...................................................................................................... 14
2.5.
Mikrokontroler AVR .............................................................................................. 15 2.5.1.
Arsitektur Mikrokontroler AVR 8535 ..................................................... 15
2.6.
Port Input / Output .................................................................................................. 18
2.7.
Komunikasi Serial USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) ...................................................................................... 18
2.8.
Serial Pheripheral Interface (SPI) ......................................................................... 21
2.9.
RX01-433D ............................................................................................................ 23
2.10. TX02-433D............................................................................................................. 25 2.11. LCD 16x2 ............................................................................................................... 27 2.12. Visual Basic 6.0 ...................................................................................................... 28
BAB III : PERANCANGAN PENELITIAN 3.1.
Perancangan Regulator Tegangan .......................................................................... 31
3.2.
Perancangan Minimum Sistem dan Display LCD 16x2......................................... 32
3.3.
Perancangan Program ............................................................................................. 33
3.4.
3.3.1.
Subrutin Setting Waktu Pengiriman VB .................................................. 39
3.3.2.
Subrutin Setting Batas Suhu atau pH VB ................................................ 40
3.3.3.
Subrutin Setting Batas DO, Kekeruhan, Konduktifitas VB .................... 40
3.3.4.
Subrutin Ambil Data Sensor VB ............................................................. 41
3.3.5.
Subrutin Terima Paket Data VB .............................................................. 42
Program Utama Mikrokontroler ATMega8535 ...................................................... 44 3.4.1.
Subrutin Terima Paket Data .................................................................... 45
3.4.2.
Subrutin Setting Waktu Pengiriman ........................................................ 46
3.4.3.
Subrutin Setting Batas Suhu atau pH dan Setting DO, Kekeruhan Atau
Konduktifitas .......................................................................................................... 46 xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.4.4.
Subrutin Ambil Data Sensor .................................................................... 47
BAB IV HASIL DAN PEMBAHASAN 4.1.
Bentuk Fisik Sistem ................................................................................................ 50
4.2.
Subsistem Elektronik .............................................................................................. 52 4.2.1.
Rangkaian LCD 16x2 .............................................................................. 52
4.2.2.
Rangkaian TX02-433D dan RX01-433D ................................................ 52
4.2.3.
Rangkaian Mikrokontroler dan Catu Daya .............................................. 53
4.3.
Cara Penggunaan Alat ............................................................................................ 53
4.4.
Pengujian TX02-433D dan RX01-433D ................................................................ 54
4.5.
Pengujian Sistem .................................................................................................... 56 4.5.1.
Pengujian Terima Paket Data .................................................................. 57
4.5.2.
Pengujian Terima Paket Data GUI .......................................................... 59
4.5.3.
Pengujian Kirim Paket Data dan GUI ..................................................... 61
4.5.4.
Pengujian Kirim Paket Data Atur Periode Pengiriman Modul Terminal
Unit……. ................................................................................................................ 62 4.5.5.
Pengujian Kirim Paket Data Atur Batas Kendali Sensor Suhu dan PH
Modul Terminal Unit .............................................................................................. 64 4.5.6.
Pengujian Kirim Paket Data Atur Batas Kendali Sensor DO, Kekeruhan
dan Konduktifitas Modul Terminal Unit ................................................................ 65 4.5.7.
Pengujian Kirim Paket Data Minta Data Salah Satu Sensor Modul
Terminal Unit ......................................................................................................... 67 4.5.8. 4.6.
Pengujian Program Menampilkan Data Pada Grafik .............................. 69
Pengujian Catu Daya .............................................................................................. 71
BAB V : KESIMPULAN DAN SARAN 5.1.
Kesimpulan ............................................................................................................. 72
5.2.
Saran…… ............................................................................................................... 72
DAFTAR PUSTAKA LAMPIRAN LAMPIRAN A Perancangan Keseluruhan Elektronik Sistem Pengendali ........................ L1
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN B Listing Program Utama Mikrokontroler 8535 .......................................... L2 LAMPIRAN C Listing Program Utama Visual Basic ........................................................ L14 LAMPIRAN D Lembar Pengujian Modul Sentral Unit ..................................................... L29 LAMPIRAN E Cara Penggunaan Alat ............................................................................... L34 LAMPIRAN F Proses Pengambilan Data .......................................................................... L35
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR Hal Gambar 1.1.
Bagan Proses Pengiriman Paket Data ......................................................... 4
Gambar 2.1.
Posisi bak prototype ................................................................................... 7
Gambar 2.2.
Gambar plan pengendalian air kolam ......................................................... 7
Gambar 2.3.
Rangkaian dasar regulator 78XX ............................................................... 13
Gambar 2.4.
Module PL2303 .......................................................................................... 14
Gambar 2.5.
Blok diagram fungsional mikrokontroler ATMega8535 ............................ 16
Gambar 2.6.
Pin ATMega8535 ....................................................................................... 17
Gambar 2.7.
Blok diagram USART ................................................................................ 19
Gambar 2.8.
Rumus perhitungan nilai UBRR ................................................................. 20
Gambar 2.9.
USART data register................................................................................... 20
Gambar 2.10. Control and status register A ..................................................................... 20 Gambar 2.11. Control and status register B ..................................................................... 21 Gambar 2.12. Control and status register C ..................................................................... 21 Gambar 2.13. Koneksi master-slave dengan SPI .............................................................. 21 Gambar 2.14. SPI data register ......................................................................................... 22 Gambar 2.15. SPI control register .................................................................................... 22 Gambar 2.16. SPI status register....................................................................................... 22 Gambar 2.17. Konfigurasi Pin RX01-433D ...................................................................... 23 Gambar 2.18. Blok diagram RX01-433D.......................................................................... 23 Gambar 2.19. Skematik RX01-433D ................................................................................ 24 Gambar 2.20. Konfigurasi pin TX02-433D ...................................................................... 25 Gambar 2.21. Blok diagram TX02-433D .......................................................................... 26 Gambar 2.22. Skematik TX02-433D ................................................................................ 26 Gambar 2.23. LCD 16x2 M168535................................................................................... 27 Gambar 3.1.
Konsep perancangan ................................................................................... 29
Gambar 3.2.
Rangkaian catu daya ................................................................................... 31
Gambar 3.3.
Minimum sistem dan LCD 16x2 ................................................................ 32
Gambar 3.4.
Rancangan GUI (Graphical User Interface) .............................................. 34
Gambar 3.5.
Rancangan grafik data suhu........................................................................ 35
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.6.
Rancangan grafik data pH .......................................................................... 35
Gambar 3.7.
Rancangan grafik data DO ......................................................................... 35
Gambar 3.8.
Rancangan grafik data kekeruhan............................................................... 36
Gambar 3.9.
Rancangan grafik data konduktifitas .......................................................... 36
Gambar 3.10. Diagram alir utama GUI ............................................................................. 37 Gambar 3.11. (Lanjutan) Diagram alir utama GUI ........................................................... 38 Gambar 3.12. Diagram alir subrutin setting waktu pengiriman VB .................................. 39 Gambar 3.13. Diagram alir subrutin setting batas suhu atau pH VB ................................ 40 Gambar 3.14. Diagram alir subrutin setting DO, kekeruhan, konduktifitas VB ............... 41 Gambar 3.15. Diagram alir subrutin ambil data sensor VB .............................................. 42 Gambar 3.16. Diagram alir terima paket data VB ............................................................. 43 Gambar 3.17. Diagram alir program utama Mikrokontroler ATMega8535 ..................... 44 Gambar 3.18. Diagram alir terima paket data ................................................................... 45 Gambar 3.19. Subrutin setting waktu pengiriman ............................................................. 46 Gambar 3.20. Subrutin setting waktu pengiriman ............................................................. 47 Gambar 3.21. Diagram alir ambil data sensor ................................................................... 48 Gambar 3.22. (Lanjutan) Diagram alir ambil data sensor ................................................. 49 Gambar 4.1.
Bentuk fisik sistem tampak depan .............................................................. 50
Gambar 4.2.
Bentuk fisik sistem tampak samping kanan ............................................... 51
Gambar 4.3.
Bentuk fisik sistem tampak samping kiri ................................................... 51
Gambar 4.4.
Bentuk fisik sistem tampak belakang ......................................................... 51
Gambar 4.5.
Rangkaian LCD 16x2 ................................................................................. 52
Gambar 4.6.
Rangkaian TX02-433D dan RX01-433D ................................................... 52
Gambar 4.7.
Rangkaian mikrokontroler dan catu daya ................................................... 53
Gambar 4.8.
Tampilan LCD 16x2 kirim karakter “C” modul sentral unit ...................... 56
Gambar 4.9.
Tampilan LCD 16x2 terima karakter “C” modul terminal unit ................. 56
Gambar 4.10. Tampilan LCD 16x2 tidak terima data ....................................................... 56 Gambar 4.11. Tampilan LCD 16x2 terima paket data pertama ........................................ 58 Gambar 4.12. Tampilan LCD 16x2 terima paket data kedua ............................................ 58 Gambar 4.13. Tampilan LCD 16x2 terima paket data ...................................................... 58 Gambar 4.14. Tampilan LCD 16x2 menunggu paket data ................................................ 59 Gambar 4.15. Tampilan GUI ............................................................................................. 59 Gambar 4.16. Tampilan GUI terima paket data ................................................................ 60
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.17. Tampilan GUI pemisahan paket data ......................................................... 60 Gambar 4.18. Lokasi penyimpanan data ........................................................................... 60 Gambar 4.19. Data yang berhasil disimpan pada microsoft excel 2007 ............................ 60 Gambar 4.20. Tampilan visual basic kolom menu ............................................................ 63 Gambar 4.21. Tampilan GUI kirim setting waktu ............................................................. 63 Gambar 4.22. Tampilan LCD 16x2 kirim paket data setting waktu sentral unit............... 63 Gambar 4.23. Tampilan LCD 16x2 terima paket data setting waktu terminal unit .......... 63 Gambar 4.24. Tampilan GUI kirim setting standar suhu .................................................. 64 Gambar 4.25. Tampilan LCD 16x2 kirim setting standar suhu sentral unit...................... 64 Gambar 4.26. Tampilan LCD 16x2 kirim setting standar suhu terminal unit ................... 64 Gambar 4.27. Tampilan GUI kirim setting standar PH ..................................................... 65 Gambar 4.28. Tampilan LCD 16x2 kirim setting standar PH sentral unit ........................ 65 Gambar 4.29. Tampilan LCD 16x2 kirim setting standar PH terminal unit ..................... 65 Gambar 4.30. Tampilan GUI kirim setting standar DO .................................................... 65 Gambar 4.31. Tampilan LCD 16x2 kirim setting standar DO sentral unit ....................... 66 Gambar 4.32. Tampilan LCD 16x2 kirim setting standar DO terminal unit..................... 66 Gambar 4.33. Tampilan GUI kirim setting standar kekeruhan ......................................... 66 Gambar 4.34. Tampilan LCD 16x2 kirim setting standar kekeruhan sentral unit ............ 66 Gambar 4.35. Tampilan LCD 16x2 kirim setting standar kekeruhan terminal unit .......... 66 Gambar 4.36. Tampilan GUI kirim setting standar konduktifitas ..................................... 66 Gambar 4.37. Tampilan LCD 16x2 kirim setting standar konduktifitas sentral unit ........ 67 Gambar 4.38. Tampilan LCD 16x2 kirim setting standar konduktifitas terminal unit ..... 67 Gambar 4.39. Tampilan GUI minta data sensor suhu ....................................................... 68 Gambar 4.40. Tampilan LCD 16x2 minta data sensor suhu sentral unit .......................... 68 Gambar 4.41. Tampilan LCD 16x2 minta data sensor suhu sentral unit .......................... 68 Gambar 4.42. Tampilan LCD 16x2 terima paket data pertama sentral unit ..................... 68 Gambar 4.43. Tampilan LCD 16x2 terima paket data kedua sentral unit ......................... 68 Gambar 4.44. Tampilan LCD 16x2 terima paket data sensor suhu sentral unit ................ 69 Gambar 4.45. Tampilan GUI terima paket data sensor suhu ............................................ 69 Gambar 4.46. Tampilan grafik pada GUI sebelum bergeser ............................................. 69 Gambar 4.47. Tampilan grafik pada GUI setelah bergeser ............................................... 70 Gambar 4.48. Tampilan error pada GUI ........................................................................... 70
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL Hal Tabel.2.1. Aksi pengendalian ......................................................................................... 8 Tabel.2.2. Data pengujian pengendalian suhu naik........................................................ 9 Tabel.2.3. Data pengujian pengendalian suhu turun ...................................................... 9 Tabel.2.4. Data pengujian pH asam ............................................................................... 10 Tabel.2.5. Data pengujian pH basa ................................................................................ 10 Tabel.2.6. Data pengujian kekeruhan air ....................................................................... 10 Tabel.2.7. (Lanjutan) Data pengujian kekeruhan air...................................................... 11 Tabel.2.8. Data pengujian kandungan oksigen .............................................................. 11 Tabel.2.9. Data pengujian konduktivitas air .................................................................. 11 Tabel.2.10. (Lanjutan) Data Pengujian Konduktivitas air ............................................... 12 Tabel.2.11. Tipe IC 78XX................................................................................................ 12 Tabel.2.12. (Lanjutan) Tipe IC 78XX .............................................................................. 13 Tabel.2.13. Fungsi pin RX01-433D ................................................................................. 24 Tabel.2.14. (Lanjutan) Fungsi pin RX01-433D ............................................................... 25 Tabel.2.15. Fungsi pin TX02-433D ................................................................................. 27 Tabel.2.16. Konfigurasi pin LCD M168535 .................................................................... 28 Tabel.3.1. Fungsi port ATMega8535 ............................................................................. 33 Tabel.3.2. Rancangan format database .......................................................................... 37 Tabel.3.3. Pengaturan karakter ambil data salah satu sensor ......................................... 41 Tabel.3.4. (Lanjutan) Pengaturan karakter ambil data salah satu sensor ....................... 42 Tabel.3.5. Paket data terima ........................................................................................... 43 Tabel.3.6. Format data setting ........................................................................................ 47 Tabel.4.1. Pengujian komunikasi frekuensi 434Mhz ..................................................... 55 Tabel.4.2. Pengujian komunikasi frekuensi 435Mhz ..................................................... 55 Tabel.4.3. Pengujian terima paket data dari terminal unit ............................................. 57 Tabel.4.4. Contoh data yang dikirim .............................................................................. 58 Tabel.4.5. Pengujian kirim paket data ............................................................................ 61 Tabel.4.6. (Lanjutan) Pengujian kirim paket data .......................................................... 62 Tabel.4.7. Paket data ambil data salah satu sensor ........................................................ 67
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN 1.1.
Latar Belakang Usaha budidaya ikan air tawar semakin hari semakin menggiurkan. Menurut
laporan Badan Pangan PBB/ Food and Agriculture Organization (FAO) pada tahun 2021 konsumsi ikan perkapita penduduk dunia akan mencapai 19,6 kg per tahun. Meski saat ini konsumsi ikan lebih banyak dipasok oleh ikan laut, namun pada tahun 2018 produksi ikan air tawar akan menyalip produksi perikanan tangkap. Hal ini disebabkan karena produksi perikanan tangkap akan mengalami penurunan akibat overfishing. Ikan di laut semakin sulit didapatkan. Bahkan bila tidak ada perubahan model produksi, para peneliti meramalkan pada tahun 2048 tak ada lagi ikan untuk ditangkap[1]. Kenaikan produksi budidaya ikan dalam kolam air tawar cukup pesat yaitu berkisar 11 persen setiap tahun. Hal ini menujukkan ada gairah besar di masyarakat untuk mengembangkan usaha budidaya ikan air tawar. Tentunya pertumbuhan produksi ini mengacu pada permintaan pasar yang terus meningkat[1]. Dalam pemeliharaannya kualitas air untuk pemeliharaan ikan, tidak terlalu keruh dan tidak tercemar bahan-bahan kimia beracun, dan minyak/limbah pabrik, dan juga harus terhindar dari hama dan penyakit. Dengan ukuran kolam yang cukup besar, tentu sangat sulit menjaga kualitas air tersebut untuk menghasilkan ikan yang banyak dan memiliki kualitas yang baik. Tidak sedikit ikan yang mati karena kualitas air yang buruk, sehingga produksi ikan pun menjadi menurun dan pengusah mengalami kerugian yang besar[2]. Air merupakan faktor paling utama dalam kehidupan ikan. Faktor lingkungan seperti air, temperature, derajat keasaman (pH), kandungan oksigen (DO), dan lain-lain sangat diperlukan untuk biota air tawar (ikan, plankton, ganggang, zooplankton, dll). Kesesuaian lingkungan hidup untuk setiap ikan berbeda tergantung pada jenis ikan. Jenis ikan tertentu yang sesuai dengan kondisi lingkungannya dapat bertumbuh dan berkembang[3]. Menurut penelitian Payara, Martanto, Harini, Merucahyo, Priyantoro (2014) berhasil membuat alat untuk mengendalikan kualitas air dengan parameter yang dikendalikan adalah suhu, DO, pH, kekeruhan air serta konduktivitas air kolam. Sistem pengendalian kualitar air terdiri dari pengendalian pintu inlet, pengendalian pintu outlet,
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
pengendalian aerator, dan penjernihan air. Sistem tersebut dilengkapi dengan mikrokontroler dalam menentukan aksi yang akan dilakuan berdasarkan masukkan hasil pengukuran[4]. Berdasarkan hal tersebut penulis berusaha mengembangkan penelitian tersebut dengan membuat sistem telemetri antara sentral unit yang bertugas sebagai pengendali utama sistem tersebut dengan terminal unit yang bertugas mengumpulkan data-data dari parameter suhu, DO, pH, kekeruhan air serta konduktivitas air kolam. Data-data yang telah diterima sentral unit kemudian akan ditampilkan pada komputer berupa nilai dan grafik suhu, DO, pH, kekeruhan air serta konduktivitas air kolam sebagai user interface.
1.2.
Tujuan dan Manfaat Tujuan penelitian ini yaitu: a. Menerima dan menampilkan data-data dari parameter suhu, DO, pH, kekeruhan air
serta konduktivitas air kolam dalam bentuk grafik pada PC (Personal Computer) yang dikirim melalui terminal unit, serta menyimpan data-data tersebut pada database. b. Mengatur batasan standar air pada masing-masing parameter suhu, DO, pH, kekeruhan air serta konduktivitas air kolam melalui terminal unit. Manfaat dalam penelitian ini adalah membantu peternak ikan air tawar untuk memonitoring kualitas air kolam ikan secara jarak jauh.
1.3.
Batasan Masalah Batasan Masalah dalam penelitian ini berisikan tentang batasan komponen yang
akan digunakan, antara lain: a. Menggunakan ATMEGA 8535 sebagai mikrokontroler. b. TX02-433D sebagai pengirim instruksi ke terminal unit dan RX01-433D sebagai penerima paket data dari terminal unit. c. Proses pengiriman perintah dan pengambilan paket data dilakukan secara bergantian atau half duplex. d. Komunikasi antara mikrokontroler ke PC melalui modul PL2303 USB to TTL menggunakan
USART,
menggunakan SPI.
sedangkan
komunikasi
TX02-433D
dan
RX01-433D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
e. Paket data yang dikirim dari terminal unit diterima sebanyak dua kali dengan isi paket data pertama dan kedua sama. f. Paket data pertama dan kedua dibandingkan untuk memastikan isi paket data yang diterima sesuai dengan paket data pada terminal unit . g. Paket data yang diterima akan ditampilkan pada monitor komputer dengan aplikasi Visual Basic dan disimpan pada database menggunakan Microsoft Excel.
1.4.
Metodologi Penelitian Metode penelitian yang digunakan adalah:
a. Studi literatur berupa pengumpulan referensi buku, internet, jurnal, dan artikel. b. Studi kasus terhadap alat yang sudah dibuat sebelumnya. Tahap ini dilakukan untuk memahami prinsip kerja dari alat yang telah dibuat sebelumnya. c. Perancangan sistem hardware dan software. Tahap ini bertujuan mencari bentuk model yang optimal dari sistem yang dibuat dengan mempertimbangkan dari berbagai faktor permasalahan dan kebutuhan yang telah ditentukan. d. Pembuatan sistem hardware dan software. Sistem bekerja apabila, paket data yang dikirimkan dari terminal unit dapat diterima di sentral unit menggunakan RX01-433D, memberikan instruksi ke terminal unit untuk mengirimkan data dari salah satu parameter menggunakan TX02-433D dan menampilkan data pada komputer/laptop menggunakan program Visual Basic. e. Proses pengambilan data dilakukan dengan bantuan terminal unit untuk mendapatkan data dari setiap parameter yang kemudian dibuat dalam sebuah paket data dan dikirimkan dalam bentuk paket data. Paket data tersebut kemudian akan diuraikan sesuai dengan satuan pada setiap parameter yang dibuat menjadi bentuk grafik dan ditampilkan pada Visual Basic. f. Instruksi yang dikirimkan ke terminal unit adalah mengubah batasan air pada masingmasing standar air parameter suhu, DO, pH, kekeruhan air serta konduktivitas air kolam, meminta data pada salah satu parameter yang diinginkan user, serta mengatur waktu pengiriman paket data dari terminal unit. g. Analisa dan pengambilan kesimpulan dilakukan dengan membandingkan paket data yang dikirimkan terminal unit dengan hasil yang diterima pada sentral unit pada jarak yang berbeda-beda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4
Gambar 1.1 Bagan Proses Pengiriman Paket Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II DASAR TEORI 2.1.
Kualitas Air Kolam Ikan Faktor lingkungan seperti air, temperatur, derajat keasaman (pH), kandungan
oksigen (DO), dan lain-lain sangat diperlukan untuk biota air tawar (ikan, plankton, ganggang, zooplankton, dll). Kesesuaian lingkungan hidup untuk setiap ikan berbeda tergantung pada jenis ikan, jenis ikan tertentu yang sesuai dengan kondisi lingkungannya dapat bertumbuh dan berkembang[3]. Sebaliknya, jika keadaan tidak sesuai dapat menghambat pertumbuhan dan perkembangannya.
2.1.1. Temperatur Air Temperatur air sangat berpengaruh pada pertumbuhan dan perkembangan ikan. Temperatur air yang tidak cocok, misalnya terlalu tinggi atau terlalu rendah dapat menyebabkan ikan tidak dapat bertumbuh dengan baik. Temperatur yang cocok untuk pertumbuhan ikan adalah berkisar antara 15ºC - 30ºC dan perbedaan suhu antara siang dan malam kurang dari 5ºC. Perubahan suhu yang mendadak berpengaruh buruk pada kehidupan ikan karena ikan tidak dapat hidup dengan baik pada suhu yang telalu dingin atau terlalu panas[3].
2.1.2. Derajat Keasaman Air (pH) Derajat keasaman (pH) air dapat berpengaruh terhadap pertumbuhan ikan. Derajat keasaman air yang sangat rendah atau sangat asam dapat menyebabkan kematian ikan dengan gejala gerakannya tidak teratur, tutup insang bergerak sangat aktif, dan berenang sangat cepat pada permukaan air. Keadaan air yang sangat basa juga dapat menyebabkan pertumbuhan ikan terhambat. Kisaran derajat keasaman air cocok untuk budidaya ikan gurami adalah 6,5 – 8,0 dan untuk ikan nila 7 – 8. Namun, ikan nila masih dapat hidup pada pH air antara 5 – 11[3]. Sedangkan pH air yang cocok untuk ikan mas berkisar 7,5 – 8,5. Perairan yang asam juga sangat berpengaruh terhadap nafsu makan ikan (selera makan menjadi berkurang).
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6
2.1.3. Derajat Kekeruhan Air yang terlalu keruh dapat menyebabkan ikan mengalami gangguan pernafasan (sulit bernafas) karena insangnya terganggu oleh kotoran. Di samping itu juga air keruh dapat menurunkan atau dapat melenyapkan selera makan karena daya penglihatan ikan terganggu. Batas kekeruhan dapat diukur dengan memasukan benda yang terang (berwarna putih) sampai kedalaman 40cm[3]. Jika masih kelihatan, maka kekeruhan air masih belum mengganggu kehidupan ikan. Satuan yang biasa dipakai dalam kekeruhan ialah NTU (Nephelometric Turbidity Units). Kekeruahan juga sering digambarkan dengan dalam satuan TSS (Total Suspended Solids) atau mg/l (miligram per liter). Air murni memiliki NTU kurang dari 1 atau 0 mg/l[5]. Standart kekeruhan air yang baik bagi ikan harus kurang dari 500 NTU[5], bila kekeruhan berada di atas 500 NTU dapat mengganggu pertumbuhan ikan.
2.1.4. Kandungan Oksigen Oksigen sangat diperlukan untuk pernapasan dan metabolisme ikan serta jasad – jasad renik dalam air. Kandungan oksigen yang tidak mencukupi kebutuhan ikan dan biota lainya dapat menyebabkan penurunan daya hidup ikan. Kandungan oksigen terlarut dalam air cocok untuk kehidupan dan pertumbuhan ikan gurami sebesar 5ppm, untuk ikan nila lebih dari 3ppm, dan ikan mas berkisar 5 – 7ppm (5 – 7cc /liter air)[3]. Pengaliran air yang baik dan permukaan kolam yang selalu terbuka dapat meningkatkan kadar oksigen dalam air.
2.1.5. Konduktivitas Nilai konduktivitas merupakan ukuran terhadap konsentrasi total elektrolit di dalam air. Kandungan elektrolit yang pada prinsipnya merupakan garam-garam yang terlarut dalam air, berkaitan dengan kemampuan air didalam menghantarkan arus listrik. Standar konduktivitas yang baik bagi ikan ialah kurang dari 5000μS/cm dengan suhu 25ºC[6]. Bila konduktivitas berada diatas 5000μS/cm maka akan mengganggu kehidupan ikan.
2.2. State of The Art Pada bagian ini menjelaskan tentang penelitian yang telah dilakukan sebelumnya. Berisikan tentang hubungan standar air dengan kondisi yang terjadi pada kolam ikan serta data-data pengambilan dari sensor yang ada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
Gambar 2.1. Posisi bak prototipe
Posisi bak prototipe merupakan penjelasan tentang aliran air pada masing-masing bak sesuai pada aksi pengendalian tabel 2.1. Pada bak kolam ikan terdapat lima buah sensor yaitu sensor suhu, pH, DO, kekeruhan dan konduktifitas. Pada bagian ini sepenuhnya sepenuhnya dikendalikan oleh terminal unit. Aksi pengendalian akan berubah saat user dari sentral unit mengubah nilai-nilai pada batasan aksi pengendalian masing– masing parameter.
Gambar 2.2. Gambar plan pengendalian air kolam
Keterangan Gambar 2.1: 1. Bak Sumber
4. Penampang aerator
2. Boks Elektronik
5. Bak Pembuangan
3. Bak Kolam
6. Bak Sumur.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8 Penelitian ini dijelaskan bahwa bak sumber adalah bak yang berisi air sungai. Bak ini difungsikan sebagai tempat air yang berasal dari sungai sebagai sumber utama air yang masuk ke dalam kolam. Air dari bak sumber akan masuk saat pintu inlet terbuka. Boks elektronik merupakan tempat pengendalian dari plant yang ada. Bak kolam merupakan bak sebagai tempat pengujian yang utama atau sebagai habitat dari ikan tersebut. Penampang aerator merupakan tempat aerator atau pemberian oksigen ke bak kolam. Bak pembuangan merupakan bak tempat keluaran dari bak kolam. Air akan keluar saat pintu outlet dalam keadaan terbuka. Bak sumur adalah bak yang berisikan air sumur. Air sumur digunakan untuk penambahan konduktifitas air kolam. Tabel 2.1. menjelaskan tentang aksi pengendalian atau kondisi yang harus dijalankan saat kolam berada pada standar air yang ada. Kondisi kolam dapat diketahui dari kelima sensor yang ada. Kualitas Yang diamati
Tabel 2.1. Aksi pengendalian[4] Standar air Aksi Pengendalian
Suhu
18-28 ºC
pH
5-8,5
Kekeruhan
<380 NTU
Konduktivitas
< 4800 μS
DO
> 5 ppm
Jika suhu air kolam >28 ºC atau <18 maka: - Inlet off - Outlet on - Pompa sumur on Dengan asumsi suhu air sumur selalu berada pada suhu 18ºC – 28ºC. Jika pH air kolam >8.5 atau <5 maka: - Inlet off - Outlet on - Pompa sumur on Dengan asumsi PH air sumur selalu berada diantara 5 – 8,5. Jika kekeruhan air kolam >380 NTU maka: - Inlet off - Outlet on - Pompa sumur on Dengan asumsi kekeruhan air sumur < 80 NTU Jika konduktifitas air kolam > 4800 μS maka: - Inlet off - Outlet on - Pompa sumur on Dengan asumsi konduktifitas air sumur <4800 μS Jika DO air kolam <= 5ppm maka: - Pompa aerator on
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9
2.2.1. Data Pengujian Pengendalian Suhu Air Dari hasil penelitian sebelumnya, terdapat dua hasil pengujian saat suhu kolam naik dan suhu kolam turun. Hal ini dilakukan dengan cara pemberian air sumur yang memiliki suhu 27°C[4]. Tabel 2.2. Data pengujian pengendalian suhu naik[4] Tinggi air (cm)
Suhu (°C)
Keterangan
12,5
18
Batas bawah ketinggian air
13,5
20
14,5
20
15,5
21
16,5
21
17,5
22
18,5
22
19,5
23
Air keluar melalui outlet
Tabel 2.3. Data pengujian pengendalian suhu turun[4] Tinggi air (cm)
Suhu (°C)
Keterangan
12,5
31
Batas bawah
13,5
31
14,5
31
15,5
30
16,5
30
17,5
30
18,5
29
19,5
29
Air keluar melalui outlet
2.2.2. Data Pengujian Pengendalian pH Air Pengendalian pH asam ialah pengujian sistem pengendalian, untuk mengendalikan parameter pH pada air kolam yang dibawah normal. Pengendalian tersebut dilakukan dengan pencampuran air kolam yang memiliki pH 4,6 dengan air sumur yang memiliki pH 6,3 guna mendapatkan pH yang kurang dari 5, maka air kolam dicampur dengan air cuka
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10 sedangkan untuk mendapatkan pH yang lebih dari 8,7 air kolam dicampur dengan deterjen[4]. Tabel 2.4. Data pengujian pH asam[4] Tinggi air (cm)
pH
Keterangan
12,5
4,6
Batas bawah ketinggian air
13,5
4,7
14,5
4,8
15,5
4,8
16,5
4,9
17,5
5,6
18,5
5,7
19,5
5,7
Air keluar melalui Outlet
Tabel 2.5. Data pengujian pH basa[4] Tinggi air (cm)
pH
Keterangan
12,5
8,9
Batas bawah ketinggian air
13,5
8,7
14,5
8,6
15,5
8,5
16,5
8,5
17,5
8,4
18,5
8,4
19,5
8,3
Air keluar melalui Inlet
2.2.3. Data Pengujian Pengendalian Kekeruhan Air Pengujian pengendalian kekeruhan air dilakukan dengan mencampurkan air sumur dengan air kolam. Air kolam yang dibuat keruh (434 NTU) dikendalikan dengan sumur yang memiliki kekeruhan sebesar 104 NTU[4]. Tabel 2.6. Data pengujian kekeruhan air[4] Tinggi air (cm)
Kekeruhan
Keterangan
(NTU) 12,5
434
Batas bawah ketinggian air
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11 Tabel 2.7. (Lanjutan) Data pengujian kekeruhan air[4] Tinggi air (cm)
Kekeruhan
Keterangan
(NTU) 13,5
372
14,5
286
15,5
256
16,5
219
17,5
196
18,5
178
19,5
158
Air keluar melalui Inlet
2.2.4. Data Pengujian Pengendalian Kandungan Oksigen (DO) Peningkatan DO ditingkatkan dengan menggunakan aerator. Peningkatan DO dikarenakan kontak yang terjadi antara air dan udara, sehingga oksigen dalam air meningkat dari sebelumnya 0.07339% menjadi 0.33763%. Data yang diperoleh belum dapat mengetahui seberapa lama waktu yang dibutuhkan untuk mengendalikan DO, hal ini dikarenakan alat ukur DO yang digunakan pada sistem ini memerlukan waktu yang cukup lama dalam melakukan pengukuran, sehingga data yang diperoleh merupakan data pengendalian setelah 20 menit dikendalikan[4]. Tabel 2.8. Data pengujian kandungan oksigen [4] Aksi
Waktu
DO Sebelum Aksi
DO Sesudah Aksi
Motor Aerator on
20 menit
0,07339%
0,33736%
2.2.5. Data Pengujian Pengendalian Konduktivitas Air Pengujian pengendalian konduktivitas air dilakukan dengan mencampurkan air kolam dengan air sumur. Air kolam yang memiliki konduktivitas 5548 uS/cm kendalikan dengan mencampurkan air sumur yang memiliki konduktivitas sebesar 543 uS/cm. Untuk mendapatkan konduktivitas yang lebih dari 5000 uS/cm, air kolam dicampur dengan garam[4]. Tabel 2.9. Data pengujian konduktivitas air[4] Tinggi air (cm)
Konduktivitas (uS/cm)
Keterangan
12,5
5548
Batas bawah ketinggian air
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12 Tabel 2.10. (Lanjutan) Data Pengujian Konduktivitas air[4]
2.3.
Tinggi air (cm)
Konduktivitas (uS/cm)
13,5
4561
14,5
3972
15,5
853574
16,5
2706
17,5
2007
18,5
1660
19,5
1646
Keterangan
Air keluar melalui Outlet
Regulator Tegangan Pengatur tegangan (voltage regulator) berfungsi menyediakan suatu tegangan
keluaran dc tetap yang tidak dipengaruhi oleh perubahan tegangan masukan, arus beban keluaran, dan suhu. Pengatur tegangan adalah salah satu bagian dari rangkaian catu daya DC. Tegangan masukan berasal dari tegangan keluaran filter, setelah melalui proses penyearahan tegangan AC menjadi DC[7]. Pengatur tegangan dikelompokkan dalam dua kategori, pengatur linier dan switching regulator. Kategori pengatur tegangan linier adalah pengatur tegangan seri (Series Regulator) dan pengatur tegangan parallel (Shunt Regualtors). Dua jenis pengatur di atas dapat diperoleh untuk keluaran tegangan positif maupun negatif. Switching regulator terdapat tiga jenis konfiguarsi yaitu, step-up, step-down dan inverting[7].
2.3.1. PENGATUR TEGANGAN IC 78XX IC 78XX adalah regulator tegangan positif dengan tiga terminal, masing-masing inpuit, ground dan output. IC 78XX tersedia untuk beberapa nilai tegangan keluaran seperti terlihat pada tabel 2.9.[7] Tabel 2.11. Tipe IC 78XX[7] Type
IOUT (A)
VOUT
VIN (Volt)
(Volt)
78XXC
78LXX
78MXX
Min
Maks
7805
5
1
0,1
0,5
7,5
20
7806
6
1
0,1
0,5
8,6
21
7808
8
1
0,1
0,5
10,5
23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13 Tabel 2.12. (Lanjutan) Tipe IC 78XX[7] Type
IOUT (A)
VOUT
VIN (Volt)
(Volt)
78XXC
78LXX
78MXX
Min
Maks
7809
9
1
0,1
0,5
11,5
24
7810
10
1
0,1
0,5
12,5
25
7812
12
1
0,1
0,5
14,5
27
7815
15
1
0,1
0,5
17,5
30
7818
18
1
0,1
0,5
21
33
7824
24
1
0,1
0,5
27
38
Meskipun semula dirancang untuk regulator tegangan tetap, namun regulator ini dapat dikembangkan untuk tegangan dan arus yang dapat diatur. Rangkaian dasar 78XX ditunjukkan pada gambar 2.1., untuk tegangan dan arus output sesuai nilai nominalnya.
Gambar 2.3. Rangkaian dasar regulator 78XX
C1 diperlukan jika regulator jauh dari Kapasitor filter pencatu daya sedangkan C2 diperlukan untuk memperbaiki tanggapan kilasan dan penindasan kerut (trancient response). Dalam penerapannya, tegangan masukan VIN harus lebih besar dari tegangan keluaran, jika kurang maka regulator tidak berfungsi tetapi bila melebihi nilai VIN maksimumnya dapat merusak regulator[7]. Perhitungan nilai kapasitor C1 menggunakan persamaan:[8] (2.1)
dengan C
: Kapasitor dalam Farad
Idc
: Arus beban dalam Ampere
f
: Frekuensi dalam Hz
Vr(rms)
: Tegangan ripple rms dalam volt
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14 Di mana nilai Vr(rms) dapat dicari dengan menggunakan persamaan:[8]
(2.2)
dengan Vr(p-p) adalah tegangan ripple peak to peak yang merupakan selisih antara tegangan masukan regulator dengan tegangan masukan minimum IC regulator yang digunakan atau dapat dirumuskan sebagai berikut:[8]
(2.3)
dengan: Vm
: Tegangan masukkan regulator dalam volt
Vmin : Tegangan masukkan minimum IC regulator
Apabila tegangan masukan regulator berasal dari tegangan AC yang kemudian disearahkan menggunakan dioda, nilai Vm dicari menggunakan persamaan:[8]
(2.4) Dengan Vac merupakan nilai tegangan AC yang sudah diturunkan menggunakan trafo step-down (volt) dan adanya nilai 1,4V karena menggunakan dioda sebagai penyearah.
2.4.
Module PL2303 PL2303 adalah sebuah modul USB to Serial TTL yang berfungsi untuk melakukan
komunikasi serial UART ke USB dan sebaliknya. Modul ini berukuran kecil dan sangat mudah digunakan yang dapat dipakai pada 2 level tegangan TTL, yaitu 5V dan 3,3V.
Gambar 2.4. Module PL2303
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15 Terdapat 5 buah pin yang terdiri dari GND, TXD, RXD, 3.3V and 5.0V. Pin GND berfungsi sebagai grounding, pin TXD berfungsi sebagai pin keluaran data ke serial port. Pin RXD berfungsi sebagai masukkan data dari serial BUS. Pin 3.3V dan 5.0V berfungsi sebagai sumber tegangan tambahan yang dapat digunakan untuk mencatu komponen yang lain.
2.5.
Mikrokontroler AVR Mikrokontroler merupakan suatu alat elektronika digital yang mempunyai
kemampuan untuk mengendalikan masukan dan keluaran alat elektronika digital lainnya dengan menggunakan program. ATMEL dalam pembuatan mikrokontroler mengeluarkan dua jenis yaitu MCS dan AVR. AVR (Alf and Vegard’s Ricsprocessor) merupakan mikrokontroler yang menggunakan teknologi RICS (Reduce Instruction Set Computer). Mikrokontroler AVR sendiri dikelompokan dalam menjadi empat kelas, yaitu keluarga Attiny, keluarga AT90Sxx, keluarga ATMega, dan keluarga AT86RFxx. Kecepatan frekuensi kerja MCS adalah satu per-dua belas dari frekuensi osilator yang digunakan. Kecepatan frekuensi kerja AVR sama dengan kecepatan kerja osilator yang digunakan, sehingga AVR mempunyai kecepatan kerja dua belas kali lebih cepat dari MCS[9].
2.5.1. Arsitektur Mikrokontroler AVR 8535 Mikrokontroler AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 8535 buah register umum, 64 buah register I/O, dan 512 byte SRAM Internal. Register keperluan umum menempati space data pada alamat terbawah, yaitu 00 sampai 1F[9]. Sementara itu, register khusus untuk menangani I/O dan control terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari 20 hingga 5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral microcontroller, seperti control register, timer/conter, fungsi-fungsi I/O, dan sebagainya. 11 Register khusus alamat memori secara lengkap Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F[9]. Mikrokontroler ATMega8535 memiliki bagian sebagai berikut[9]: a. Saluran I/O sebanyak 8535 buah, yaitu Port A, Port B, Port C, dan Port D. b. ADC 10 bit sebanyak 8 saluran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16 c. Tiga buah Timer/Counter dengan kemampuan perbandingan. d. CPU yang terdiri atas 8535 buah register. e. Watchdog Timer dengan osilator internal. f. SRAM sebesar 512 byte. g. Memori Flash sebesar 8535 kb dengan kemampuan Read While Write. h. Unit interupsi internal dan eksternal. i. Port antarmuka SPI. j. EEPROM sebesar 512 byte yang dapt diprogram saat operasi. k. Antarmuka komparator analog. l. Port USART untuk komunikasi serial.
Gambar 2.5. Blok diagram fungsional mikrokontroler ATMega8535
Pada gambar 2.6. pin ATMega8535 dapat dijelaskan secara fungsional konfigurasi pin mikrokontroler ATMega8535 sebagai berikut[9]: a. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. b. GND merupakan pin ground.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17 c. Port A (PA0..PA7) mereupakan pin I/O dua arah dan pin masukan ADC. d. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, komparator analog, dan SPI. e. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilator. f. Port D (PD0..PD7) merupakan pin I/O dua rah dan fungsi pin khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial. g. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. h. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. i. AVCC merupakan pin masukan tegangan untuk ADC. j. AREF merupakan pin masukan tegangan refrensi ADC.
Gambar 2.6. Pin ATMega8535
Data yang dipakai dalam mikrokontroler ATMega8535 dipresentasikan dalam sistem bilangan biner, desimal, dan bilangan heksadesimal. Data yang terdapat di mikrokontroler dapat diolah dengan berbagai operasi aritmatik (penjumlahan, pengurangan dan perkalian) maupun operasi nalar (AND, OR, dan EOR /eksklusif OR)[9]. AVR Atmega 8535 memiliki tiga buah timer, yaitu[10]: a. Timer/counter 0 (8 bit). b. Timer/ counter 1 (16 bit). c. Timer/counter 2 (8 bit). Kapabilitas detail dari mikrokontroler ATMega8535 adalah sebagai berikut[9]: a. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18 b. Kapabilitas memori flash 8 kb, SRAM sebesar 512 byte, dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte. c. ADC internal dengan fidelitas 10 bit sebanyak 8 channels. d. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. e. Enam pilihan mode sleep menghemat penggunaan daya listrik.
2.6.
Port Input / Output Port I/O pada mikrokontroler ATMega8535 dapat difungsikan sebagai input
ataupun output dengan keluaran high atau low. Untuk mengatur fungsi port I/O sebagai input ataupun output, perlu dilakukan setting pada DDR dan Port. Output High saat DDR bit = 1 dan port bit = 1, output Low saat DDR bit = 1 dan port bit = 0. Input pull-up saat DDR bit = 0 dan port bit = 1, input floating saat DDR bit = 0 dan port bit = 0. Pull up artinya saat tidak ada tegangan dari luar pin, akan cenderung berkondisi High. Floating artinya pin bisa berlogika high bisa juga berlogika low. Berikut tabel pengaturan port I/O: Tabel 2.10. Konfigurasi setting untuk port I/O[9] DDR bit = 1
DDR bit = 0
Port bit = 1
Output High
Input pull-up
Port bit = 0
Output Low
Input Floating
Port I/O sebagai output hanya memberikan arus sourcing sebesar 20mA sehingga untuk menggerakan motor atau kendali alat elektronis yang lain, perlu diberikan penguat tambahan atau dapat juga dengan konfigurasi port sebagai sinking current, seperti pada port yang digunakan untuk menyalakan LED, yang akan menyala saat port diberikan logika low dan mati saat port logika high.
2.7.
Komunikasi
Serial
USART
(Universal
Synchronous
and
Asynchronous serial Receiver and Transmitter) Universal Synchronous and Asynchronous Serial Receiver and Transmitter (USART) merupakan salah satu mode komunikasi serial yang dimiliki ATMega8535 [9]. USART merupakan komunikasi yang memiliki fleksibilitas tinggi yang dapat digunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19 untuk melakukan transfer data baik antara mikrokontroler maupun dengan modul modul eksternal termasuk PC yang mempunyai fitur UART[10].
Gambar 2.7. Blok diagram USART
USART memungkinkan transmisi data baik secara synchronous maupun asynchronous sehingga USART kompatibel dengan UART. Pada ATMega8535 umumnya pengaturan mode komunikasi baik synchronous maupun asynchronous adalah sama. Perbedaannya terletak pada sumber clocknya. Pada mode synchronous masingmasing peripheral punya sumber clock sendiri sedangkan pada asynchronous hanya satu sumber clock saja yang digunakan secara bersama- sama. Mode asynchronous secara hardware hanya membutuhkan 2 pin yaitu TXD dan RXD sedangkan untuk mode synchronous membutuhkan 3 pin yaitu RXD, TXD, dan SCK[10]. Dalam proses inisialisasi ada beberapa buah register yang perlu ditentukan nilainya antara lain: a. UBRR (USART Baud Rate Register). b. UCSRA (USART Control and Status Register A). c. UCSRB (USART Control and Status Register B). d. UCSRC (USART Control and Status Register C). UBRR merupakan register 16 bit yang berfungsi melakukan penentuan kecepatan transmisi data yang akan digunakan. Terdiri dari dua jenis yaitu UBRRH dan UBRRL. UBRRH menyimpan 4 bit tertinggi data seting baud rate dan UBRRL menyimpan 8 bit
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20 sisanya. UBRRH dan UBRRL dihitung menggunakan rumus di dibawah ini. U2X merupakan bit pada register UCSRA[10].
Gambar 2.8. Rumus perhitungan nilai UBRR[12]
Untuk penyimpanan data baik yang dikirim maupun yang diterima dalam komunikasi USART, register yang digunakan adalah USART Data Register (UDR). Meskipun register UDR hanya menempati satu lokasi memori yaitu 0x0C (0x02C) tetapi sebenarnya register UDR mempunyai 2 register I/O yaitu RXB sebagai buffer untuk menyimpan data yang diterima dan TXB sebagai buffer untuk menyimpan data yang dikirim. Buffer kirim TXB hanya dapat ditulis atau diisi jika bit UDRE dalam register UCSRA bernilai “1”. Jika data telah diisikan ke buffer kirim TXB dan transmitter USART diaktifkan (TXEN pada register UCSRB bernilai “1”) maka data ini akan dimasukkan ke shift register untuk dikirimkan secara serial melalui pin TXD. Bagan UDR bisa dilihat pada gambar 2.9.
Gambar 2.9. USART data register [12]
UCSRA merupakan register 8 bit yang berperan dalam pengaturan data yang diterima dan yang dikirim.
Gambar 2.10. Control and status register A [12]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21 UCSRB merupakan register 8 bit pengatur aktivitas penerima dan pengirim USART.
Gambar 2.11. Control and status register B [12]
UCSRB merupakan register 8 bit yang digunakan untuk mengatur mode dan kecepatan komunikasi serial yang dilakukan.
Gambar 2.12. Control and status register C [12]
2.8.
Serial Pheripheral Interface (SPI) Transfer data dengan SPI digunakan antara Master (Microcontroller) dgn slave
(microcontroller atau SPI device seperti MMC card, SPI ADC , dll) dalam jarak dekat dan kecepatan cukup tinggi. Komunikasi serial data antara master dan slave pada SPI diatur melalui 4 buah pin yang terdiri dari SCK, MOSI, MISO, dan SS , sebagai berikut [9]:
a. SCK berfungsi sebagai sinyal clock yang menggeser bit yang hendak dituliskan ke dalam register lain.
b. MOSI jalur data dari master dan masuk ke dalam slave. c. MISO jalur data keluar dari slave dan masuk ke dalam master. d. SS (slave select) merupakan pin yang berfungsi untuk mengaktifkan slave. Ada dua macam SPI, yaitu satu master dengan satu slave dan satu master dengan banyak slave.
Gambar 2.13. Koneksi master-slave dengan SPI [12]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22 SPI memiliki tiga buah register yang terdiri dari SPDR(SPI Data Register), SPCR(SPI Control Register), dan SPSR(SPI Status Register).
Gambar 2.14. SPI data register[12]
Gambar 2.15. SPI control register[12]
Gambar 2.16. SPI status register[12]
Penjelasan bit SPI Control Register sebagai berikut[10]: a. SPIE (SPI Interrupt Enable) : jika bernilai 1 akan membangkitkan interupsi SPI setelah transfer data selesai. b. SPE (SPI Enable) : untuk mengaktifkan SPI. c. DORD (Data Order) : jika bernilai 1, maka LSB dikirim terlebih dahulu; jia bernilai 0, maka MSB akan dikirim dahulu. d. MSTR (Master/Slave Select) : jika bernilai 1, maka AVR sebagai master; jika bernilai 0, maka AVR sebagai slave. e. CPOL (Clock Polarity) dan CPHA(Clock Phase) : menentukan cara mencuplik data berkaitan dengan pulsa clock. f. SPR1 dan SPR0 (SPI Clock Rate Select) : menentukan frekuensi dari sinyal clock SCK. Penjelasan bit SPI Status Register sebagai berikut[10]: a. SPIF(SPI Interrupt Flag) : akan bernilai 1 jika transfer data telah selesai. b. WCOL (Write Collision Flag) : akan bernilai 1 jika SPDR diisi ketika tranfer data masih berlangsung.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
2.9.
RX01-433D RX01-433D merupakan modul receiver dimana modul tersebut bekerja
menggunakan modulasi Frequency Shift Keying (FSK) dengan menggunakan frekuensi kerja 433 Mhz[13]. Untuk konfigurasi pin RX01-433D dapat dilihat pada gambar 2.16 sedangkan blok diagram dapat dilihat pada gambar 2.17. Fungsi setiap pinnya dapat dilihat pada table 2.11.
Gambar 2.17. Konfigurasi Pin RX01-433D
Gambar 2.18. Blok diagram RX01-433D
RX01-433D memiliki spesifikasi, diantaranya sebagai berikut[13]: a.
Tidak membutuhkan tuning pada frekuensi.
b.
Menggunakan teknologi PLL.
c.
Bit rate sampai 115.2 kbps saat mode digital dan 256 kbps saat mode analog.
d.
Differential antenna.
e.
Tuning antena otomatis dilakukan oleh modul.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24 f.
Tegangan Supply 2.2 V sampai 5.4 V.
g.
Bandwidth dapat diatur antara 67 KHz sampai 400 KHz.
h.
Automatic Frequency Control dan Data Quality Detection.
i.
Menggunakan Antarmuka SPI.
Gambar 2.19. Skematik RX01-433D[13]
Tabel 2.13. Fungsi pin RX01-433D[13] Pin Nama
Tipe
Fungsi
1
SDI
DI
Data input of serial control interface
2
SCK
DI
Clock input of serial control interface
3
nSEL
DI
Chip select input of three-wire control interface (active Low)
4
FFIT/SDO
DO
FIFO IT (active low) or serial data out for Status Read Command. Tristate with bushold cell if nSEL = H
5 6
nIRQ
DO
Interrupt request output, (active low)
DATA
DO
Receiver data output (FIFO not used)
nFFS
DI
FIFO select input
DCLK
DO
Received data clock output (Digital filter used, FIFO not used)
7
CFIL
AIO
External data filter capacitor connection (Analog filter used)
FFIT
DO
FIFP IT (active high) FIFO empety function can be achieved when FIFO IT level is set to one
8
CLK
DO
Clock output for the microcontroller
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25 Tabel 2.14. (Lanjutan) Fungsi pin RX01-433D[13] Pin Nama
Tipe
Fungsi
9
AIO
Crystal connection (other terminal of crystal to VSS)/
XTL/REF
External reference input 10
nRES
DO
Reset output (active low)
11
VSS_D
S
Digital VSS (connect to VSS)
12
VSS_A
S
Analog VSS (connect to VSS)
13
VSS_LNA
S
LNA VSS (connect to VSS)
14
IN2
AI
RF differential signal input
15
IN1
AI
RF differetial signal input
16
VDD_LNA
S
Positive supply voltage
17
VDD_A
S
Analog VDD (connect to VDD)
18
VDD_D
S
Digital VDD (connect to VDD)
19
ARSSI
AO
Analog RSSI output
20
VDI
DO
Valid Data Indicator output
2.10. TX02-433D TX02-433D merupakan modul transmitter dimana modul tersebut bekerja menggunakan modulasi Frequency Shift Keying (FSK) dengan menggunakan frekuensi kerja 433 Mhz[14]. Untuk blok diagram TX02-433D dapat dilihat pada gambar 2.10 serta koneksi pin pada TX02-433D dapat dilihat pada gambar 2.10.
Gambar 2.20. Konfigurasi pin TX02-433D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26 Fungsi setiap pinnya dapat dilihat pada table 2.7. TX02-433D memiliki spesifikasi, diantaranya sebagai berikut[14]: a. Tidak membutuhkan tuning pada frekuensi. b. Menggunakan teknologi PLL. c. Menggunakan modulasi FSK yang stabil dan akurat. d. Differential antenna. e. Tuning antena otomatis dilakukan oleh modul. f. Tegangan Supply 2.2 V sampai 5.4 V. g. Menggunakan Antarmuka SPI.
Gambar 2.21. Blok diagram TX02-433D
Gambar 2.22. Skematik TX02-433D[14]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27 Tabel 2.15. Fungsi pin TX02-433D [14] Pin Nama
Tipe Fungsi
1
SDI
DI
Data input of serial control interface
2
SCK
DI
Clock input of serial control interface
3
nSEL
DI
Chip select input of serial control interface (active Low)
4
CLK
DO
Microcontroller clock (1 MHz-10 MHz)
5
XTL
AIO
Crystal connection (other terminal of crystal to VSS)
6
VSS_D
S
Digital VSS (Connect to VSS)
7
VSS_A
S
Analog VSS (Connect to VSS)
8
VSS_RF
S
RF VSS (Connect to VSS)
9
MOD
DI
Connect to logic high
10
RFN
AO
Power amplifier output (open collector)
11
RFP
AO
Power amplifier output (open collector)
12
nIRQ
DO
Interrupt request output for microcontroller (active low) and status read output
13
VDD_RF
S
RF VDD (Connect to VDD)
14
VDD_A
S
Analog VDD (Connect to VDD)
15
VDD_D
S
Digital VDD (Connect to VDD)
16
FSK
DI
Serial data input for FSK modulation
2.11. LCD 16x2 LCD (liquid cell display) merupakan salah satu alat komponen elektronika yang berfungsi untuk menampilkan data berupa karakter [15]. LCD yang digunakan adalah tipe M168535 yang ditunjukkan pada Gambar 2.21.
Gambar 2.23. LCD 16x2 M168535
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28 LCD tipe ini memiliki 2 baris dimana masing-masing baris memuat 16 karakter. Selain sangat mudah dioperasikan, kebutuhan daya LCD ini sangat rendah[15]. Konfigurasi pin LCDM168535 dapat dilihat pada Tabel 2.15. Tabel 2.16. Konfigurasi pin LCD M168535 [16] No.
Nama
Fungsi
1 2 3
Vss Vdd VLC
0V (GND) 5V LCD Contrast Voltage
4
RS
Register Select; H: Data Input; L: Instruction Input
5
RW
H: Read; L: Write
6
EN
Enable Signal
7
D0
Data Bus
8
D1
Data Bus
9
D2
Data Bus
10
D3
Data Bus
11
D4
Data Bus
12
D5
Data Bus
13
D6
Data Bus
14
D7
Data Bus
15
V+BL
Positif backlight voltage (4,1V; 112mA)
16
V–BL
Negative backlight voltage (0V; GND)
2.12. Visual Basic 6.0 Visual Basic adalah salah suatu development tools untuk membangun aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodingnya menggunakan dialok bahasa Basic yang cenderung mudah dipelajari. Visual Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer dalam pengembangan aplikasi skala kecil sampai ke skala besar[17].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III RANCANGAN PENELITIAN Perancangan sistem telemetri kualitas kolam air ikan sebagai sentral unit ini dibagi menjadi dua bagian utama yaitu perancangan hardware yang terdiri dari mikrokontroler serta perangkat pendukung yaitu modul TX02-433D, RX01-433D, USB to TTL dan LCD. Bagian berikutnya yaitu perancangan software yang terdiri dari pemograman utama, serta subrutin – subrutin pada mikrokontroler dan GUI pada Visual Basic.
Gambar 3.1 Konsep perancangan
Konsep perancangan tersebut merupakan hubungan dari komponen yang digunakan dalam penelitian ini, dimana RX01-433D digunakan untuk menerima data dari terminal unit secara wireless yang kemudian akan diolah pada ATMega8535. RX01-433D secara keseluruhan bekerja sebagai receiver atau penerima. Penggunaan RX01-433D dengan menggunakan komunikasi SPI (Serial Pheripheral Interface). Paket data tersebut kemudian diolah pada mikrokontroler ATMega8535 dengan cara bila data tersebut merupakan paket data maka akan dipecah terlebih dahulu sesuai dengan urutan karakter yang dikirimkan sehingga menjadi data-data yang terdiri dari data suhu, DO, pH, kekeruhan air serta konduktivitas air kolam. LCD 16x2 akan menampilkan data-data yang diterima dari terminal unit serta perintah ke terminal unit. Kegunaan dari modul PL2303 USB to TTL sebagai piranti penghubung antara mikrokontroler ATMega8535 dengan Personal Computer (PC) menggunakan komunikasi USART. Data yang berasal dari mikrokontroler ATMega8535 akan dikirim ke Personal Computer (PC) sesuai dengan data yang telah dipecah pada mikrokontroler ATMega8535 menggunakan modul PL2303 USB to TTL. Instruksi-instruksi berupa interupsi dari
29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30
komputer yang dipilih oleh pengguna ke ATMega8535 juga melalui modul PL2303 USB to TTL. TX02-433D digunakan untuk pengirim data atau instruksi ke terminal unit secara wireless dari ATMega8535. TX02-433D secara keseluruhan bekerja sebagai transmitter atau pengirim. Penggunaan TX02-433D dengan menggunakan komunikasi SPI (Serial Pheripheral Interface). Personal Computer (PC) memiliki fungsi sebagai piranti untuk menampilkan data yang berasal dari terminal unit. Data yang masuk berupa suhu, DO, pH, kekeruhan air serta konduktivitas air kolam akan ditampilkan secara terpisah dalam bentuk grafik yang real time. Software yang digunakan pada Personal Computer (PC) adalah pemrograman visual basic. Pada visual basic data yang masuk ke Personal Computer (PC) disimpan dalam bentuk database, selain itu pada Visual Basic akan tertampil pilihan menu yaitu meminta salah satu data pada sensor , mengatur nilai batasan masing-masing sensor ke terminal unit, serta mengatur waktu pada terminal unit untuk mengirimkan paket data. Secara keseluruhan, cara kerja sistem dibagi menjadi dua, yaitu sistem primer dan sistem sekunder. Sistem primer adalah sistem bekerja dalam keadaan ke-5 data dari parameter dikirimkan secara bersamaan dalam paket data. Sistem sekunder adalah data dikirmkan sesuai dengan parameter yang diinginkan oleh pengguna. Sistem primer bekerja berawal dari terminal unit dengan cara paket data yang masuk dari terminal unit melalui RX01-433D sebanyak dua kali kemudian dibandingkan terlebih dahulu, jika paket data tersebut sama maka paket data tersebut kemudian diolah pada mikrokontroler ATMega8535 berdasarkan jenis data yang dikirimkan. Paket data kemudian akan dipecah menjadi lima buah sesuai dengan parameter yang ada. Lima data tersebut kemudian dikirim ke Personal Computer (PC) melalui PL2303 USB to TTL. Dengan menggunakan visual basic, paket data akan tertampil dalam kolom dan baris data masuk serta dalam bentuk grafik dan keterangan kondisi kolam yang ada. Sistem sekunder berawal dari sentral unit. Pengguna akan memilih salah satu data dari ke-lima parameter yang ada, kemudian Personal Computer (PC) mengirimkan kode dari parameter tersebut ke mikrokontroler ATMega8535 yang diteruskan ke TX02-433D untuk dikirimkan ke terminal unit. Sentral unit kemudian menunggu data dari terminal unit. Data dari terminal unit kemudian diterima oleh RX01-433D yang kemudian diolah oleh mikrokontroler untuk memastikan data tersebut sesuai dengan parameter yang dinginkan. Jika data sesuai maka diteruskan ke Personal Computer (PC) menggunakan PL2303 USB to TTL dan ditampilkan pada kolom yang disediakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31
3.1.
Perancangan Regulator Tegangan Perancangan regulator tegangan digunakan untuk menyalakan piranti-piranti
mikrokontroler ATMega8535, LCD 16x2, RX01-433D, dan TX02-433D. Piranti-piranti tersebut membutuhkan catu daya sebesar 5V. Rangkaian catu daya memperoleh sumber tegangan dari jala-jala listrik PLN. Tegangan AC 220V harus diturunkan terlebih dahulu melalui trafo 1A. Penurunan tegangan menjadi sekitar 15V. Tegangan AC tersebut kemudian disearahkan menggunakan diode bridge, sehingga menghasilkan gelombang penuh. Rangkaian catu daya yang digunakan menghasilkan tegangan catu sebesar 5V. IC regulator yang digunakan untuk menghasilkan tegangan keluaran 5V adalah IC 7805. Rangkaian catu daya yang digunakan bisa dilihat pada Gambar 3.2. Nilai kapasitor C1 dihitung dengan menggunakan persamaan 2.1, dengan I DC sebesar 1A dan frekuensi 50 Hz. Nilai Vr(rms) dihitung menggunakan persamaan 2.2, Vr(p-p) dihitung mengggunakan persamaan 2.3, dan Vm dihitung menggunakan persamaan 2.4. dengan nilai C2 berdasarkan datasheet 0,01uF. Nilai C1 yang Berikut perhitungan yang dilakukan untuk mencari nilai kapasitor C1. Vm = Vac√2V – 1,4V Vm = 15√2V – 1,4V = 19,8V Vr(p – p) = Vm – Vmin = 19,8V – 7,5V = 12,3V
C1 = 812,9 uF C1 ≈ 1000uF = 1mF
Gambar 3.2. Rangkaian catu daya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32
3.2.
Perancangan Minimum Sistem dan Display LCD 16x2 Minimum sistem merupakan pusat kontrol dan pengolahan data dari maupun ke
terminal unit serta dari maupun ke Personal Computer (PC). Display LCD 16x2 merupakan perangkat interface untuk menampilkan paket data yang diterima serta instruksi ke terminal unit. Seluruh bagian kontrol mekanik sistem akan diatur dengan minimum sistem. Gambar 3.3. merupakan gambar rangkaian minsis dengan LCD 16x2 serta konfigurasi penggunaan port pada ATMega8535.
Gambar 3.3. Minimum sistem dan LCD 16x2 Gambar
3.3.
merupakan
minimum
sistem
dengan
IC
mikrokontroler
ATMega8535 sebagai komponen utama. Pada minimum sistem ditambahkan rangkaian clock ekstrnal. Nilai kapasitor C1 dan C2 sesuai dengan datasheet ATMega8535, yang berfungsi mengopimalkan clock yang dihasilkan dari crystal 11,0592 MHz. Nilai kapasitor C3 dan resistor R1 sesuai dengan datasheet. Kapasitor C3, resistor R1 serta push button merupakan bagian dari rangkaian reset. LCD akan menampilkan data dari salah satu sensor yang dikirim oleh terminal unit maupun paket data dan karakter yang sedang dijalankan. nIRQ dan nSEL pada TX02-433D maupun RX01-433D akan aktif saat 0 atau Low. Adapun konfigurasi penggunaan port dapat dilihat pada tabel 3.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33
Tabel 3.1. Fungsi port ATMega8535 Port
A
B
C
Pin 1
FSK (Frequency Shift Keying) TX02-433D
2
nSEL (Selector) TX02-433D (Active Low)
3
SDI (Serial Data Intput) TX02-433D
4
nIRQ (Interrupt Request) TX02-433D
5
SCK (Clock Input) TX02-433D
2
nSEL (Selector) RX01-433D (Active Low)
3
SDI (Serial Data Intput) RX01-433D
4
SDO (Serial Data Output) RX01-433D
5
SCK (Clock Input) RX01-433D
0
Output RS LCD
1
Output RW LCD
2
Output E LCD
4-7
D
3.3.
Fungsi
Output D1 – D4 LCD
0
Penerima data (serial komunikasi dengan Personal Computer)
1
Pengirim data (serial komunikasi dengan Personal Computer)
6
nIRQ (Interrupt Request) RX01-433D
Perancangan Program Rancangan program ini dibuat kedalam bentuk flowchart atau diagram alir untuk
mempermudah proses pembuataan listing program. Perancangan program ini terdiri dari dua program utama, yaitu program utam pada Visual Basic sebagai user interface serta program utama pada mikrokontroler ATMega8535 sebagai pengolah data masuk dari terminal unit serta data menuju ke Visual Basic. Program mikrokontroler yang akan dibuat menggunakan bahasa C, kemudian program tersebut disusun (compile) secara otomatis ke dalam bentuk file *.hex untuk dimasukan ke dalam IC mikrokontroler. Listing program yang akan dibuat meliputi: a.
Penerimaan paket data dari terminal unit yang ditampilkan pada Visual Basic.
b.
Setting waktu pengiriman paket data dari terminal unit.
c.
Setting perubahan batasan sensor.
d.
Meminta data dari salah satu sensor yang dipilih oleh user melalui Visual Basic.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34
Rancangan
flowchart
pada gambar 3.4. dapat dilihat berdasarkan GUI
(Graphical User Interface) yang telah dirancang. Menu akan dijalankan saat user mengeclick tombol “GO”.
Gambar 3.4. Rancangan GUI (Graphical User Interface)
Berdasarkan gambar tersebut, terdapat beberapa default yang menjadi batasan utama dalam program ini. Pengiriman paket data dilaksanakan setiap 60 menit sekali. Batasan suhu yang dapat dirubah adalah 18ºC - 28ºC sesuai teori. Batasan pH yang dapat diubah adalah 5 – 8. Batasan DO yang dapat diubah adalah > 5 ppm. Batasan Kekeruhan yang dapat diubah adalah kurang dari 380 NTU dan batasan konduktivitas yang dapat dirubah adalah kurang dari 4800 μS/cm. Pada grafik data untuk masing-masing grafik data yang dapat ditampilkan adalah 30 paket data terkahir dari database. Pada grafik data sumbu x adalah 15 data terakhir dari database kemudian sumbu y sebagai satuan sensor sesuai dengan sensor masing-masing. Selain itu terdapat garis refrensi sebagai penanda batasan-batasan yang telah diatur sesuai default atau dari batasan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35
yang baru. Garis refrensi pada masing-masing grafik disesuaikan dengan default atau sesuai dengan perubahan yang telah ditetapkan oleh user.
Gambar 3.5. Rancangan grafik data suhu
Gambar 3.6. Rancangan grafik data pH
Gambar 3.7. Rancangan grafik data DO
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36
Gambar 3.8. Rancangan grafik data kekeruhan
Gambar 3.9. Rancangan grafik data konduktifitas
Pada sumbu y adalah 15 data terakhir yang berasal dari database, sehingga ketika terdapat paket data yang baru masuk data pertama hilang data ke-2 hingga ke-15 bergeser ke kiri dan data terkhir adalah data ke-16 dan seterusnya. Pada perancangan database setiap paket data yang diterima akan disimpan pada database. Paket data yang diterima mempunyai sembilan buah data yang terdiri dari data pada sensor suhu, pH, DO, kekeruhan, konduktifitas serta empat buah data yang berisikan informasi tentang pintu inlet, outlet, pompa sumur serta pompa aerator. Paket data yang diterima kemudian disimpan dalam satu baris pada excel. Jumlah baris pada satu excel adalah 1.048.576 baris. Pengiriman paket data pada terminal unit dapat diatur dengan minimal setiap 10 menit sampai maksimal 99 menit. Pengaturan pada jumlah paket data dalam satu excel adalah dengan mengasumsikan paket data dikirim pada waktu minimal yaitu setiap 10 menit, maka dalam waktu satu hari atau 24 jam, paket data yang akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37
disimpan sejumlah 144 paket data. Berdasarkan hal tersebut dengan mengasumsikan satu bulan adalah 31 hari, maka: Satu hari = 24 jam = 1.440 menit. Satu paket data = 10 menit. Satu hari = 1.440 / 10 = 144 paket data. Satu bulan = 31 hari. Satu bulan = 144 x 31 = 4.464 paket data. Tiga bulan = 4.464 x 3 = 13.392 paket data. Pada perhitungan tersebut, dengan perhitungan minimum maka jika dalam satu excel dapat menampung paket data selama tiga bulan membutuhkan 13.392 paket data. Berdasarkan jumlah maksimum dalam satu excel maka dengan menggunakan excel sebagai penyimpanan paket data dapat mencukupi penyimpanan paket data selama tiga bulan. Tabel 3.2. Rancangan format database
Gambar 3.10. Diagram alir utama GUI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
Gambar 3.11. (Lanjutan) Diagram alir utama GUI Pada diagram alir utama pada Visual Basic tersebut, huruf “Y” berarti Yes dan “N” berarti No. Langkah pertama yang harus dijalankan adalah menghubungkan port mikrokontroler ATMega8535 dan Visual Basic harus sesuai. Saat sudah sesuai maka akan tertampil tanggal dan jam sesuai dengan yang ada pada Personal Computer (PC). Saat user
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39
memilih pilihan Database, maka database pada microsoft excel akan tertampil pada layar kemudian bila user memilih reset, maka batasan kondisi air normal masing-masing sensor akan kembali ke normal. Saat user memilih tanggal untuk melihat grafik yang user inginkan, maka pada datagrid akan tertampil data sesuai dengan tanggal yang diingikan. Bila user memilih keluar, maka program visual basic akan tertutup. Pada diagram alir ini VB berarti visual basic.
3.3.1. Subrutin Setting Waktu Pengiriman VB Subrutin ini dilaksanakan saat user memilih menu untuk mengatur lama waktu terminal unit mengirimkan paket data ke sentral unit.
Gambar 3.12. Diagram alir subrutin setting waktu pengiriman VB
Pada diagram alir ini, text5.text merupakan data waktu yang terdiri dari dua buah karakter dimana karakter “J” akan dikirimkan ke mikrokontroler ATMega8535 terlebih dahulu kemudian dilanjutkan data “@”;“J”;”ff”;”#”. Karakter “@” merupakan header, “ff”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40 merupakan data satuan menit. Nilai ff bila kurang dari 10 maka tertampil msgbox “Batasan minimal 10 menit” dan jika ff lebih dari 99 maka tertampil msgbox “Batasan maksimal 99 menit”.
3.3.2. Subrutin Setting Batas Suhu atau pH VB Subrutin ini dilaksanakan saat user memilih menu untuk merubah standar air berdasarkan sensor suhu atau pH yang dipilih oleh user. “gggg” merupakan batas bawah dan “hhhh” merupakan batas atas pada pengaturan yang baru. Paket data yang dikirim ke ATMega8535
dengan
format
“@”;“V”;”gggg”;”hhhh”;”#”,
atau
“@”;“W”;”gggg”;”hhhh”;”#” dengan ketentuan “V” untuk suhu dan “W” untuk pH.
Gambar 3.13. Diagram alir subrutin setting batas suhu atau pH VB
3.3.3. Subrutin Setting Batas DO, Kekeruhan, Konduktifitas VB Subrutin ini dilaksanakan saat user memilih menu untuk merubah standar air berdasarkan sensor DO, Kekeruhan, atau Konduktifitas yang dipilih oleh user. “kkkk” merupakan nilai batasan yang akan diberikan ke sensor. Pengaturan ini berbeda dengan pengaturan suhu atau pH dikarenakan untuk DO, kekeruhan, atau konduktifitas tidak menggunakan batas atas maupun batas bawah, tetapi batasan kurang dari atau lebih dari nilai yang ditetapkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41
Format paket data yang dikirimkan ke mikrokontroler ATMega8535 adalah “@”;“X”;”kkkk”;”#”
untuk
DO,
“@”;“Y”;”kkkk”;”#”
untuk
kekeruhan
atau
“@”;“Z”;”kkkk”;”#” untuk konduktifitas.
Gambar 3.14. Diagram alir subrutin setting DO, kekeruhan, konduktifitas VB
3.3.4. Subrutin Ambil Data Sensor VB Subrutin ini dilaksanakan saat user memilih menu untuk meminta data dari salah satu sensor ke terminal unit. Saat user memilih suhu maka karakter yang akan dikirim ke mikrokontroler ATMega8535 adalah “@”;“A”;”#”, untuk sensor yang lain dapat dilihat pada tabel 3.2. Setelah terima data, kemudian cek karakter ketiga pada data tersebut. “S” berarti data tersebut berupa suhu dan nilai data tersebut diletakkan di text9.text dan ditampilkan pada msgbox. Untuk pemilihan sensor yang lain dapat dilihat pada table berikut. Tabel 3.3. Pengaturan karakter ambil data salah satu sensor Sensor
Karakter Perintah
Format Data Terima
Kolom
Grafik
Data
Suhu
“@”;“A”;”#” “@”;”A”;“S”;”aaaa”;”#”;”$” Text9.text
Suhu
PH
“@”;”B”;”#” “@”;”B”;“P”;”bbbb”;”#”;”$” Text10.text
PH
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42
Tabel 3.4. (Lanjutan) Pengaturan karakter ambil data salah satu sensor Sensor
Karakter Perintah
Format Data Terima
Kolom
Grafik
Data
DO
“@”;”C”;”#” “@”;”C”;“D”;”cccc”;”#”;”$”
Kekeruhan
“@”;”D”;”#” “@”;”D”;“H”;”dddd”;”#”;”$” Text12.text
Kekeruhan
Konduktifitas
“@”;”E”;”#” “@”;”E”;“O”;”eeee”;”#”;”$”
Konduktifitas
Text11.text
Text13.text
DO
Gambar 3.15. Diagram alir subrutin ambil data sensor VB
3.3.5. Subrutin Terima Paket Data VB Pada subrutin ini paket data yang diterima kemudian disimpan di database dengan waktu penerimaan data disesuaikan dengan waktu PC. Jika paket data yang masuk telah disimpan kemudian ditampilkan pada kolom sesuai dengan data yang diinginkan. Paket data yang diterima memiliki format sebagai berikut: (“@”;“S”;”aaaa”;”#”;”P”;”bbbb”;”#”;”D”;”cccc”;”#”;”H”;”dddd”;”#”;”O”;”eeee”;”#”;”K ”;”0”;”#”;”L”;”0”;”#”;”M”;”0””#”;”N”;”0”;”#”;”$”)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43
Gambar 3.16. Diagram alir terima paket data VB
Data tersebut kemudian dikelompokkan sebagai sesuai dengan table 3.3 dengan keterangan bahwa 0 berarti OFF atau tertutup, 1 berarti ON atau terbuka untuk karakter K, L, M, dan N. Table 3.5. Paket data terima Karakter
Data
Keterangan
@
-
Header
S
aaaa
Sensor Suhu
P
bbbb
Sensor pH
D
cccc
Sensor DO
H
dddd
Sensor Kekeruhan
O
eeee
Sensor Konduktifitas
K
0 atau 1
Pintu Inlet
L
0 atau 1
Pintu Outlet
M
0 atau 1
Pompa Sumur
N
0 atau 1
Pompa Aerator
#
-
Pembatas
$
-
Akhir paket data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44
3.4.
Program Utama Mikrokontroler ATMega8535
Gambar 3.17. Diagram alir program utama Mikrokontroler ATMega8535
Program utama mikrokontroler ATMega8535 merupakan program dimana mikrokontroler ATMega8535 akan meneruskan perintah dari visual basic menuju ke terminal unit serta menerima data yang masuk dari terminal unit untuk diteruskan ke visual basic. Pada program ini hal pertama yang dilakukan menanyakan ada atau tidaknya data berupa karakter ke-2 yang dikirim dari visual basic,
jika ada maka program akan
menanyakan data atau karakter ke-2 yang masuk. Saat tidak ada data yang masuk dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45
visual basic maka program akan menjalankan subrutin untuk menerima paket data yang dikirim dari terminal unit. Setelah selesai menerima data maka program akan kembali ke awal dimana apakah ada data yang masuk ke mikrokontroler ATMega8535 dari visual basic.
3.4.1. Subrutin Terima Paket Data
Gambar 3.18. Diagram alir terima paket data
Pada diagram alir ini, terminal akan mengirim paket data sebanyak dua kali dengan adanya jeda pengiriman antara paket data 1 dan paket data 2. Setelah itu paket data 1 dan paket data 2 akan dibandingkan. Jika tidak sesuai maka akan tertampil di LCD 16x2 “ERROR” dan jika sama maka tertampil paket data yang dikirimkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46
Saat paket data tidak sesuai maka akan meminta ulang paket data tersebut dengan perintah “@”;”U”;”#”. Jika sudah lima kali perulangan maka data terakhir yang akan dikirim ke Visual Basic. Format paket data yang akan diterima adalah : (“@”;“S”;”aaaa”;”#”;”P”;”bbbb”;”#”;”D”;”cccc”;”#”;”H”;”dddd”;”#”;”O”;”eeee”;”#”; ”K”;”0”;”#”;”L”;”0”;”#”;”M”;”0””#”;”N”;”0”;”#”;”$”). Paket data ini akan diolah oleh visual basic.
3.4.2. Subrutin Setting Waktu Pengiriman Pada subrutin ini, mikrokontroler hanya meneruskan data yang dikirim ke terminal unit dari visual basic. Pada bagian ini, “ff” merupakan nilai yang dikirimkan ke terminal unit berupa waktu pengiriman yang harus dilakukan oleh terminal unit.
Gambar 3.19. Subrutin setting waktu pengiriman
3.4.3. Subrutin Setting Batas Suhu atau pH dan Setting DO, Kekeruhan Atau Konduktifitas Pada kedua subrutin ini, diagram alir yang digunakan adalah sama, hanya data yang diterima berbeda untuk masing-masing batas sensor yang dipilih. Format data yang dikirimkan dapat dilihat pada tabel dibawah ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47
Table 3.6. Format data setting Sensor
Format Data
Suhu
“@”;“V”;”gggg”;”hhhh”;”#”
PH
“@”;“W”;”gggg”;”hhhh”;”#”
DO
“@”;“X”;”kkkk”;”#”
Kekeruhan
“@”;“Y”;”kkkk”;”#”
Konduktifitas
“@”;“Z”;”kkkk”;”#”
Gambar 3.20. Subrutin setting waktu pengiriman
3.4.4. Subrutin Ambil Data Sensor Pada diagram alih ambil data sensor, untuk karakter yang dikirim ke terminal unit sama dengan karakter yang dikirim oleh visual basic sesuai dengan sensor yang diinginkan. Karakter sensor yang lain serta format data yang diterima dapat dilihat pada tabel 3.2. Sama halnya dengan terima paket data sensor, ambil data sensor akan menerima data sensor 1 dan data sensor 2 yang kemudiankan dibandingkan. Bila paket data sesuai maka LCD 16x2 akan tertampil data sensor yang dinginkan, jika berbeda maka terminal akan mengirim perintah ambil data salah satu sensor dengan perintah yang dikirimkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48
sebelumnya. Maksimal pengecekan adalah 5 kali, bila berbeda maka data terkhir yang akan diterima.
Gambar 3.21. Diagram alir ambil data sensor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49
Gambar 3.22. (Lanjutan) Diagram alir ambil data sensor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV HASIL DAN PEMBAHASAN Bab ini berisi gambar fisik hardware yang dibuat, pembahasan tentang perbagian hardware, hasil pengujian hardware, hasil pengujian rangkaian, hasil pengambilan data, pembahasan tentang data yang diperoleh, dan pembahasan tentang program yang digunakan di mikrokontroler. Data yang akan dibahas terdiri atas paket data dari terminal unit ke sentral unit dan sebaliknya dengan komunikasi serial, menampilkan paket data dalam bentuk grafik dan menu-menu di visual basic serta pengujian tiap bagian hardware. Hasil pengujian berupa data-data yang diperoleh untuk memperlihatkan bahwa hardware atau software yang dirancang telah bekerja dengan baik atau tidak. Berdasarkan data-data tersebut dapat dilakukan analisis terhadap proses kerja alat yang kemudian dapat digunakan untuk menarik kesimpulan akhir.
4.1.
Bentuk Fisik Sistem Pada bagian ini, bentuk fisik dirancang agar melindungi komponen yang ada di
dalamnya serta dapat disusun secara rapi. Desain bentuk fisik sistem disesuaikan dengan banyaknya komponen yang ada di dalamnya serta memudahkan peneliti dalam memindahkan komponen tersebut. Pada bentuk fisik sistem terdapat 4 lubang yang terdari dari 2 buah lubang di sebelah kanan untuk antena modul TX02-433D dan RX01-433D, sebuah lubang di sebelah kiri untuk komunikasi USART menggunakan USB to TTL serta sebuah lubang dibelakang untuk kabel power.
Gambar 4.1. Bentuk fisik sistem tampak depan
50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51
Gambar 4.2. Bentuk fisik sistem tampak samping kanan
Gambar 4.3. Bentuk fisik sistem tampak samping kiri
Gambar 4.4. Bentuk fisik sistem tampak belakang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52
4.2.
Subsistem Elektronik Subsistem elektronik alat terdiri atas rangkaian rangkaian sistem mikrokontroler,
LCD 16x2, TX02-433D, RX01-433D dan catu daya. Penulis membuat rangkaian sistem mikrokontroler dan catu daya dalam satu PCB serta rangkaian TX02-433D dan RX01433D juga dalam satu PCB. Trafo 1A step down tidak memerlukan rangkaian tambahan.
4.2.1. Rangkaian LCD 16x2 Rangkaian
LCD
16x2
merupakan
rangkaian
yang
digunakan
untuk
menghubungkan LCD 16x2 dengan minimum sistem serta pengaturan tingkat kecerahan LCD 16x2.
Gambar 4.5. Rangkaian LCD 16x2 Keterangan Gambar 4.5.: 1. Input 5V
4. RW
7. D5
2. Ground
5. E
8. D6
3. RS
6. D4
9. D7
4.2.2.Rangkaian TX02-433D dan RX01-433D Rangkaian TX02-433D dan RX01-433D merupakan rangkaian pemancar berupa transmitter atau pengirim data serta receiver atau penerima data.
Gambar 4.6. Rangkaian TX02-433D dan RX01-433D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53
Rangkaian tersebut dilengkapi juga dengan dua buah antena 433 Mhz yang berfungsi sebagai penguat TX02-433D dan RX01-433D dalam menerima ataupun mengirimkan data: Keterangan Gambar 4.6.: 1. Input 5V dan Ground 2. Port untuk bagian RX01-433D 3. Port untuk bagian TX02-433D
4.2.3. Rangkaian Mikrokontroler dan Catu Daya Rangkaian sistem mikrokontroler dan catu daya merupakan rangkaian yang digunakan sebagai pusat sumber tegangan serta rangkaian yang digunakan untuk menjalankan ATMega8535.
Gambar 4.7. Rangkaian mikrokontroler dan catu daya Keterangan Gambar 4.7.: 1. Input + trafo 1A
6. Port A
2. Input - trafo 1A
7. Port C
3. Output + 5V
8. Port B
4. Ground
9. Port D
5. Port untuk downloader
10. Port ATMega8535
4.3.
Cara Penggunaan Alat Untuk menggunakan alat ini, user harus memasangkan kabel USB pada sebelah kiri
alat dan memasangkan kabel power sebagai daya tambahan. Setelah itu user mengaktifkan program visual basic yang sudah dirancang sebagai user interface. Prinsip kerja sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54 telemetri modul sentral unit ini pada dasarnya bekerja dengan menerima paket data pada terminal unit yang berisikan paket data yang dipancarkan sebanyak dua kali yang kemudian dibandingkan apakah kedua paket tersebut sama. Paket data yang sama kemudian akan diteruskan ke komputer yang dengan bantuan visual basic paket data tersebut diuraikan sesuai dengan parameter-parameter yang ada kemudian akan disimpan pada database dan akan ditampilkan pada grafik visual basic. Sedangkan saat paket data tersebut berbeda maka sentral unit akan mengirimkan perintah agar terminal unit mengirimkan ulang paket data tersebut hingga lima kali perulangan. Saat terjadi lima kali perulangan maka paket data terakhirlah yang akan dikirimkan ke komputer. User melalui jendela GUI dapat juga mengirimkan paket data ke terminal unit berupa pengaturan waktu pengiriman paket data dari terminal unit ke sentral unit. User juga dapat mengatur batasan-batasan masing-masing sensor untuk batasan normal yang digunakan untuk pengaturan inlet dan outlet pada terminal unit. User dapat mengirimkan perintah untuk mengetahui kondisi kolam terbaru untuk sensor yang diinginkan oleh user.
4.4.
Pengujian TX02-433D dan RX01-433D Pengujian TX02-433D dan RX01-433D ini dilakukan untuk mengetahui bahwa
komunikasi antara terminal unit dengan sentral unit sudah bekerja dengan baik atau tidak serta jarak yang dapat digunakan dalam pengiriman data. Pengujian dilakukan dengan membuat program pengiriman satu karakter yaitu “C” dengan nilai heksa dalam ASCII adalah 43h dan men-download program tersebut pada mikrokontroler AVR ATMega8535. Data yang dikirim dan diterima akan ditampilkan pada LCD 16x2. Pengiriman data tersebut dilakukan dengan cara mengirim data menggunakan TX02-433D dari terminal unit ke RX01-433D sentral unit dengan frekuensi 434Mhz. Data yang diterima kemudian dikirimkan kembali menggunakan TX02-433D dari sentral unit ke RX01-433D terminal unit dengan frekuensi 435Mhz. Pada bagian terminal unit TX02433D dihubungkan ke port B dan RX01-433D dihubungkan ke port A minimum sistem terminal unit sedangkan bagian sentral unit TX02-433D dihungkan ke port A dan RX01433D dihubungkan ke port B minimum sistem sentral unit. LCD 16x2 bertulisan “Data Loss” bila data yang dikirim tidak dapat diterima baik pada terminal maupun sentral unit. Pengujian jarak dengan pengiriman karakter “C” secara open air atau tanpa penghalang dengan frequency deviation +/-90kHz.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55 Tabel 4.1. Pengujian komunikasi frekuensi 434Mhz Jarak (meter)
Pengujian
5
Berhasil
10
Berhasil
15
Berhasil
20
Berhasil
25
Berhasil
30
Berhasil
35
Berhasil
40
Berhasil/Gagal
45
Berhasil/Gagal
50
Berhasil/Gagal
55
Berhasil/Gagal
60
Gagal
65
Gagal
Tabel 4.2. Pengujian komunikasi frekuensi 435Mhz Jarak (meter)
Pengujian
5
Berhasil
10
Berhasil
15
Berhasil
20
Berhasil
25
Berhasil
30
Berhasil
35
Berhasil
40
Berhasil/Gagal
45
Berhasil/Gagal
50
Berhasil/Gagal
55
Berhasil/Gagal
60
Gagal
65
Gagal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56 Pada pengujian tersebut, berhasil berarti komunikasi antara terminal dan sentral unit dapat berajalan dengan baik sedangkan berhasil/gagal menunjukkan komunikasi yang terjadi terkadang berhasil namun juga terdapat loss yang sering terjadi. Gagal berarti menunjukkan komunikasi antara terminal dan sentral unit tidak terjadi atau loss.
Gambar 4.8. Tampilan LCD 16x2 kirim karakter “C” modul sentral unit
Gambar 4.9. Tampilan LCD 16x2 terima karakter “C” modul terminal unit
Gambar 4.10. Tampilan LCD 16x2 tidak terima data Berdasarkan pengujian tersebut saat pengiriman data menggunakan 434Mhz maupun 435Mhz, pada jarak 40 meter sudah tidak dapat berjalan dengan baik. Perbedaan frekuensi tidak mempengaruhi jarak komunikasi yang terjadi menjadi berbeda. Oleh sebab itu komunikasi yang sebaiknya digunakan pada jarak kurang dari 40 meter. Namun pengujian masih pengujian pengiriman data tunggal.
4.5.
Pengujian Sistem Pengujian untuk mengukur tingkat keberhasilan alat ini dibagai menjadi dua.
Pertama pengujian pengiriman paket data data dari terminal menuju ke sentral unit. Pengujian ini dilakukan dengan merubah jarak antara terminal unit serta sentral unit dengan beberapa jarak. Pengujian dilakukan sebanyak 20 kali untuk masing-masing jarak.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57 Pengujian kedua sentral unit akan mengirimkan paket data ke terminal unit dengan jarak yang ditentukan sama seperti pengujian pertama. Pengujian dilakukan sebanyak 20 kali untuk masing-masing jarak sama seperti dengan pengujian pertama. Paket data dari terminal unit dikirimkan sebanyak dua kali yang kemudian dibandingkan. Saat paket data pertama dan kedua sama maka data akan diteruskan ke visual basic dan saat berbeda akan muncul error pada LCD 16x2 sentral unit dan minta kirim kembali. Perulangan maksimal terjadi sebanyak lima kali. Paket data dari sentral unit ke terminal unit hanya dikirimkan satu kali saja. Paket data yang diterima kemudian dibandingkan pada visual basic untuk pengecekan terakhir.
4.5.1. Pengujian Terima Paket Data Pengujian ini dilakukan sebanyak 20 kali untuk setiap jarak yang berbeda. Paket data yang diterima dapat dilihat pada LCD 16x2 modul sentral unit serta kolom terima data pada GUI. Pada LCD 16x2 hanya dapat menampilkan paket data sebanyak 32 karakter. Hal ini disebabkan LCD 16x2 hanya dapat menampung 32 karakter dengan 16 karakter pertama pada baris pertama dan 16 karakter berikutnya pada baris kedua. Pengaturan frequency deviation pada modul terminal unit adalah +/-90kHz Tabel 4.3. Pengujian terima paket data dari terminal unit Jarak (m)
Pengujian Ke% error 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1
√ √ √ √ √ √ √ √ √
√
√
√
√
√
√
√
√
√
√
√
0%
5
√ √ √ √ √ √ √ √ √
√
√
√
√
√
√
√
√
√
√
√
0%
10
√ √ √ √ √ √ √ √ √
√
√
√
√
√
√
√
√
√
√
√
0%
15
√ √ √ √ √ √ √ √ √
√
√
√
√
√
√
√
√
√
√
√
0%
20
√ √ √ √ √ √ √ √ √
√
√
√
√
√
√
√
√
√
√
√
0%
25
√ √ x √ √ √ x √ x
√
x
√
x
x
√
√
√
x
√
√
35 %
30
x x x x √ x x x x
x
√
x
x
x
x
√
x
x
x
x
85 %
x x x x x x x x x x x x x Keterangan: - √ = Berhasil terima paket data
x
x
x
x
x
x
x
100%
35
- x
= Tidak terima paket data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58 Tabel 4.4. Contoh data yang dikirim Karakter S P D H O K L M N
Data 33.0 9.0 6.5 475 5800 0 1 1 1
Keterangan Sensor Suhu = 33,0 ºC Sensor pH = 9,0pH Sensor DO = 6,5ppm Sensor Kekeruhan = 475NTU Sensor Konduktifitas = 5800uS/cm Pintu Inlet Terbuka Pintu Outlet Tertutup Pompa Sumur ON Pompa Aerator ON
Pengujian pada jarak lebih dari 20 meter mulai terlihat bahwa paket data yang dikirimkan terkadang tidak berhasil diterima. Berdasarkan tabel 4.4. maka paket data yang dikirim dari terminal unit adalah : @S33.0#P9.0#D6.5#H475#O5800#K0#L1#M1#N1#$ sehingga jumlah karakter dalam paket data tersebut adalah 41 karakter. Karakter ke-33 sampai 41 tidak tertampil pada LCD 16x2 namun tertampil pada GUI. Paket data tersebut kemudian diteruskan ke GUI namun karakter @ pada data masuk tidak dikirim dari modul sentral unit.
Gambar 4.11. Tampilan LCD 16x2 terima paket data pertama
Gambar 4.12. Tampilan LCD 16x2 terima paket data kedua
Gambar 4.13. Tampilan LCD 16x2 terima paket data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59
Gambar 4.14. Tampilan LCD 16x2 menunggu paket data
Berdasarkan pengujian tersebut, maka modul berhasil menerima paket data dari terminal unit dengan jarak tanpa adanya kesalahan pakeet data adalah 20 meter. Karakter yang dapat dimunculkan pada LCD 16x2 hanya berjumlah 32 karakter. Paket data pertama dan kedua berhasil dibandingkan, bila terjadi ketidak samaan maka akan tertera tulisan error pada LCD 16x2.
4.5.2. Pengujian Terima Paket Data GUI Paket data yang dikirimkan dari modul sentral unit kemudian diuraikan sesuai dengan parameter-parameter yang ada. Data yang sudah diuraikan kemudian disimpan ke database. Pada GUI paket data yang dikirimkan akan tertampil pada kolom data masuk. GUI yang dibuat menggunakan layar dengan resolusi 4:3.
Gambar 4.15. Tampilan GUI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60 Paket data yang dikirim dari modul sentral unit dapat dilihat pada kolom data masuk GUI serta data paket data yang diuraikan sesuai dengan parameter-parameter dapat dilihat pada kolom status kolam dan kolom kondisi terakhir. Data-data tersebut kemudian dapat dilihat pada kolom kanan atas dimana terdapat datagrid yang berisikan data-data pada database serta dapat dilihat pada grafik masing-masing parameter.
Gambar 4.16. Tampilan GUI terima paket data
Gambar 4.17. Tampilan GUI pemisahan paket data
Gambar 4.18. Lokasi penyimpanan data
Gambar 4.19. Data yang berhasil disimpan pada microsoft excel 2007
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61
Database tersebut berhasil disimpan di local disk D dan berada satu folder dengan file visual basic tersebut dengan nama file adalah skripsi. Berdasarkan hal tersebut, maka pengiriman paket data dari terminal unit ke modul sentral unit dan diteruskan ke visual basic dapat bekerja dengan baik. Tombol excel pada visual basic akan membuka secara otomatis nilai-nilai pada database.
4.5.3. Pengujian Kirim Paket Data dan GUI Pengujian pengiriman paket data ke terminal unit dilakukan sebanyak 20 kali untuk setiap jarak yang diujikan. Pengujian pertama dan seterusnya dilakukan denga jeda 10 detik. Pengiriman paket data dilakukan dari GUI yang diteruskan ke modul sentral unit. Berdasarkan datasheet TX02-433D inisialisasi program modul TX02-433D terdapat beberapa pengaturan yang meliputi pemilihan crystal load capacitance, clock output frequency, frequency deviation, data rate serta masih banyak lagi. Pada penelitian ini peneliti hanya memilih frequency deviation sebagai variasi pengujian. Pengaturan frequency deviation memberikan dampak variasi jarak paket data yang mampu dikirimkan. Berdasarkan datasheet terdapat 7 macam frequency deviation antara lain +/-30kHz, +/60kHz, +/-90kHz, +/-120kHz, +/-150kHz, +/-180kHz, +/-210kHz. Peneliti kemudian melakukan pengujian dengan membandingkan ketujuh frequency deviation yang ada. Pengujian dilakukan pada area terbuka tanpa adanya penghalang serta penempatan modul terminal unit dan sentral unit sejajar. Pengujian dilakukan dengan mengirimkan paket data dari GUI dan diteruskan oleh modul sentral unit. Hasil pengujian dapat dilihat pada lampiran D. Berdasarkan pengambilan data tersebut maka hasil pengujian dibandingkan saat paket data yang dikirimkan memiliki tingkat keberhasilan 100%. Tanda √ menunjukkan bahwa paket data berhasil diterima oleh terminal unit sedangkan tanda X paket data tidak dapat diterima oleh terminal unit. Pada pengujian ini data rate yang digunakan adalah 4.8 kbps. Tabel 4.5. Hasil pengujian kirim paket data No. Jarak (Meter)
Frequency Deviation 30kHz
60kHz
90kHz
120kHz
150kHz
180kHz
210kHz
1.
1
√
√
√
√
√
√
X
2.
5
√
√
√
√
√
√
X
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62 Tabel 4.6. (Lanjutan) Hasil pengujian kirim paket data No. Jarak (Meter)
Frequency Deviation 30kHz
60kHz
90kHz
120kHz
150kHz
180kHz
210kHz
3.
10
X
X
√
√
√
√
√
4.
15
X
X
√
√
√
√
√
5.
20
X
X
√
√
√
√
√
6.
25
X
X
X
X
X
√
√
7.
30
X
X
X
X
X
X
√
8.
35
X
X
X
X
X
X
X
9.
40
X
X
X
X
X
X
X
10.
45
X
X
X
X
X
X
X
Berdasarkan pengujian tersebut, frequency deviation +/-90kHz hingga +/-180kHz dapat mengirim paket data 100% hingga jarak 20m. Pada saat frequency deviation sebesar +/-210kHz pengujian pada jarak 1 sampai 5 meter terjadi kegagalan dikarenakan data rate sebesar 4.8 kbps tidak sesuai untuk frequency deviation sebesar +/-210kHz. Oleh sebab itu , frequency deviation yang ideal digunakan untuk pengiriman dengan jarak yang paling jauh adalah +/-180kHz. Pengujian keseluruhan dapat dilihat pada lampiran D.
4.5.4. Pengujian Kirim Paket Data Atur Periode Pengiriman Modul Terminal Unit Pengujian kirim paket data ke terminal unit terdapat pada program menu setting. Program menu setting adalah program untuk mengatur waktu pengiriman paket data dari terminal unit ke sentral unit, batasan-batasan sensor sebagai kondisi normal serta minta salah satu sensor. Program ini terdapat pada kolom menu visual basic pada sebelah kiri. Setiap pengiriman perintah ke terminal unit, maka program, visual basic akan menyimpan informasi status kolam, sensor kondisi terakhir serta setting batasan normal masing-masing sensor terbaru atau terkhir. Pada menu pertama yaitu setting waktu pengiriman paket data adalah program untuk mengatur waktu pengiriman paket data dari terminal unit yang berisi informasi masing-masing sensor serta kondisi aktuator. Program ini terdapat pada kolom menu visual
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63 basic pada sebelah kiri. Setiap pengiriman perintah ke terminal unit, maka program, visual basic akan menyimpan informasi status kolam, sensor kondisi terakhir serta setting batasan normal masing-masing sensor terbaru atau terkhir., waktu yang dapat diatur adalah sejumlah dua buah karakter yang berarti dari 10 sampai 99 menit. Sebagai contoh saat user menginginkan pengiriman setiap 15 menit maka pada kolom menu pertama diisi 15 dan combo button setting waktu pengiriman paket data dipilih kemudian tekan kirim.
Gambar 4.20. Tampilan visual basic kolom menu
Gambar 4.21. Tampilan GUI kirim setting waktu
Gambar 4.22. Tampilan LCD 16x2 kirim paket data setting waktu sentral unit
Gambar 4.23. Tampilan LCD 16x2 terima paket data setting waktu terminal unit
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 64
Pada kolom data keluar akan tertampil @J15# dimana paket data ini kemudian dikirim ke modul sentral unit dan dikirim ke terminal unit secara wireless. Berdasarkan pengaturan tersebut, terminal unit berhasil mengirimkan paket data baru setiap 15 menit.
4.5.5. Pengujian Kirim Paket Data Atur Batas Kendali Sensor Suhu dan PH Modul Terminal Unit Pada menu kedua yaitu setting standar suhu dan pH adalah menu untuk merubah standar air berdasarkan sensor suhu dan sensor pH sesuai dengan yang diinginkan user. User memilih standar sensor yang ingin dirubah kemudian memasukkan angka dengan nominal sesuai dengan batasan yang ditentukan. Jika user melebihi batas setting pada visual basic akan tertampil messege box. Batasan suhu yang dapat diatur antara 18 ºC-28 ºC, sedangkan untuk pH adalah 5-8 pH kemudian pilih combo button setting standar suhu dan pH dan tekan kirim. Contoh dalam percobaan ini paket data setting suhu saat 20 ºC-25 ºC maka baik pada kolom data keluar maupun LCD 16x2 pada modul sentral unit adalah @V20,25# dan untuk pH saat mengatur pada 6-7 pH adalah @W6,7#.
Gambar 4.24. Tampilan GUI kirim setting standar suhu
Gambar 4.25. Tampilan LCD 16x2 kirim setting standar suhu sentral unit
Gambar 4.26. Tampilan LCD 16x2 kirim setting standar suhu terminal unit
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 65
Gambar 4.27. Tampilan GUI kirim setting standar PH
Gambar 4.28. Tampilan LCD 16x2 kirim setting standar PH sentral unit
Gambar 4.29. Tampilan LCD 16x2 kirim setting standar PH terminal unit
4.5.6. Pengujian Kirim Paket Data Atur Batas Kendali Sensor DO, Kekeruhan dan Konduktifitas Modul Terminal Unit Pada menu ketiga yaitu setting standar DO, kekeruhan dan konduktifitas adalah menu untuk merubah standar air berdasarkan sensor DO, kekeruhan dan sensor konduktifitas sesuai dengan yang diinginkan user. User memilih standar sensor yang ingin dirubah kemudian memasukkan angka. Batasan DO yang dapat diatur antara 3-7 ppm, sedangkan untuk kekeruhan adalah 100-380 NTU dan konduktifitas adalah 1000-4800 uS/cm. Pilih combo button setting standar DO, kekeruhan dan konduktifitas dan tekan kirim. Paket data setting DO saat 4ppm maka baik pada kolom data keluar maupun LCD 16x2 pada modul sentral unit adalah @X4# dan untuk kekeruhan saat mengatur pada 370NTU adalah @Y370# serta untuk untuk konduktifitas saat mengatur pada 4600 uS/cm adalah @Z4600#.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 66 Gambar 4.30. Tampilan GUI kirim setting standar DO
Gambar 4.31. Tampilan LCD 16x2 kirim setting standar DO sentral unit
Gambar 4.32. Tampilan LCD 16x2 kirim setting standar DO terminal unit
Gambar 4.33. Tampilan GUI kirim setting standar kekeruhan
Gambar 4.34. Tampilan LCD 16x2 kirim paket data setting standar kekeruhan sentral unit
Gambar 4.35. Tampilan LCD 16x2 kirim setting standar kekeruhan terminal unit
Gambar 4.36. Tampilan GUI kirim setting standar konduktifitas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 67
Gambar 4.37. Tampilan LCD 16x2 kirim setting standar konduktifitas sentral unit
Gambar 4.38. Tampilan LCD 16x2 kirim setting standar konduktifitas terminal unit
4.5.7. Pengujian Kirim Paket Data Minta Data Salah Satu Sensor Modul Terminal Unit Pada menu keempat bagian ini user mengirimkan perintah ke terminal unit untuk mengirimkan data pada salah satu sensor yang diinginkan user melalui pilihan menu keempat pada visual basic yaitu menu ambil data salah satu sensor. Terdapat lima pilihan sensor yaitu sensor suhu, pH, DO, kekeruhan dan konduktifitas. Terminal unit kemudian mengirimkan paket data yang berisi data salah satu sensor sesuai dengan permintaan user. Paket data yang dikirim ke terminal unit serta terima paket data salah satu sensor dapat dilihat pada tabel 4.3. Gambar 4.33. sampai gambar merupakan contoh minta data suhu. Tabel 4.7. Paket data ambil data salah satu sensor Sensor
Kirim
Terima
Keterangan
Suhu
@A#
@AS15.0#$
Sensor Suhu = 15,0ºC
pH
@B#
@BP6.1#$
Sensor pH = 6,1pH
DO
@C#
@CD6#$
Sensor DO = 6ppm
Kekeruhan
@D#
@DH286#$
Sensor Kekeruhan = 286NTU
Konduktifitas
@E#
@EO3274#$
Sensor Konduktifitas = 3274uS/cm
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 68 Seperti pada penjelasan terima paket data dari terminal unit, saat data diterima pada visual basic maka huruf @ pada karakter pertama tidak muncul. Hal ini dikarenakan karakter pertama yaitu @ tidak dikirimkan ke visual basic. Karakter @ hanya sebagai header data saat dikirimkan ke terminal unit maupun dari terminal unit. Karakter $ adalah sebagai karakter pengakhir bahwa paket data telah dikirim. Data yang masuk kemudian disimpan pada database serta data terkhir dari sensor yang lain.
Gambar 4.39. Tampilan GUI minta data sensor suhu
Gambar 4.40. Tampilan LCD 16x2 minta data sensor suhu sentral unit
Gambar 4.41. Tampilan LCD 16x2 minta data sensor suhu sentral unit
Gambar 4.42. Tampilan LCD 16x2 terima paket data pertama sentral unit
Gambar 4.43. Tampilan LCD 16x2 terima paket data kedua sentral unit
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 69
Gambar 4.44. Tampilan LCD 16x2 terima paket data sensor suhu sentral unit
Gambar 4.45. Tampilan GUI terima paket data sensor suhu
Berdasarkan pengujian tersebut maka pengujian kirim paket data minta data salah satu sensor modul terminal unit dapat berhasil dilakukan dan hasil dari pengiriman paket data telah sesuai dengan yang diharapkan.
4.5.8. Pengujian Program Menampilkan Data Pada Grafik Pada pembuatan grafik, program memanggil terlebih dahulu 15 data terkhir pada database. Data-data tersebut kemudian akan tertampil secara otomatis dimana setiap 10 detik akan me-refresh grafik. Pada masing-masing grafik terdapat pula batasan-batasan kondisi air normal sesuai yang diinginkan oleh user. Data pada grafik ditunjukkan dengan garis merah.
Gambar 4.46. Tampilan grafik pada GUI sebelum bergeser
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 70 Pada grafik suhu dan pH terdapat batas minimum serta maksimum kondisi air normal yang ditunjukkan dengan garis hijau dan juga garis biru. Pada grafik DO, kekeruhan dan konduktifitas hanya terdapat satu garis batasan yang ditunjukkan dengan garis biru.
Gambar 4.47. Tampilan grafik pada GUI setelah bergeser
Gambar 4.48. Tampilan Error pada GUI Gambar 4.48 menunjukkan kondisi error pada GUI. Hal ini dikarenakan paket data yang dikirimkan terminal unit setelah 5x tetap tidak lengkap. Pada grafik suhu dan pH, jika garis merah melebihi atau kurang dari batas artinya kondisi kolam sedang tidak normal, sedangkan pada grafik kekeruhan dan konduktifitas garis merah lebih dari batas maka kondisi kolam tidak normal. Pada grafik DO jika grafik kurang dari batas maka kondisi kolam sedang kurang oksigen. Pada saat perubahan batasan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 71 pada salah satu sensor, maka perubahan sensor tersebut akan disimpan di database serta ditampilkan pada grafik. Pada pengujian ini, grafik telah berhasil bergeser atau bergerak countinue sebanyak 15 data terakhir sedangkan saat kondisi error GUI akan muncul peringatan atau warning.
4.6.
Pengujian Catu Daya Pengujian rangkaian catu daya ini bertujuan untuk mengetahui tegangan keluaran
yang dihasilkan dan rangkaian sudah bekerja dengan baik atau belum. Pengujian dilakukan dengan cara mengukur tegangan keluaran pada pin out LM7805, kemudian dibandingkan dengan nilai tegangan pada datasheet. Pada pengujian rangkaian catu daya mendapatkan output tegangan sebesar 5,16 Volt, sedangkan output IC LM7805 pada datasheet 4,75-5,25 Volt. Pengujian catu daya dapat bekerja dengan baik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1
KESIMPULAN Berdasarkan analisis terhadap data yang diperoleh dari hasil penelitian sistem
telemetri modul sentral unit dalam mengatur kualitas air kolam ikan, maka dapat disimpulkan: 1. Komunikasi terminal unit dengan sentral unit secara telemetri dipengaruhi oleh pemilihan frequency deviation. 2. Frequency deviation +/-90kHz hingga +/-180kHz dapat mengirim paket data dengan tingkat keberhasilan 100% hingga jarak 20 meter. 3. Parsing paket data telah sesuai dengan parameter yang ada dan dapat disimpan dalam bentuk microsoft excel 4. Grafik pada visual basic dapat bergeser secara berlanjut sesuai dengan paket data terbaru. 5. Jika paket data yang dikirim sebanyak 5x tetap tidak sesuai atau tidak lengkap maka GUI berhenti dan muncul peringatan.
5.2.
SARAN Sistem
telemetri
ini
masih
terdapat
banyak
kekurangan,
sehingga
perlu
pengembangan lebih lanjut. Saran bagi pengembangan sistem ini selanjutnya ialah; Sistem harus bisa mengirimkan paket data dengan jarak yang lebih jauh serta akurat sehingga keandalan dalam pengiriman paket data menjadi lebih optimal.
72
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA [1]
http://alamtani.com/ikan-air-tawar.html, diakses pada tanggal 24 November 2014.
[2]
http://www.produknaturalnusantara.com/panduan-teknis-budidaya-perikanan/, diakses pada tanggal 24 November 2014.
[3]
Bambang, C., 2000, Budidaya Ikan Air Tawar, Kanisius, Yogyakarta.
[4]
F. Paraya, Marlex, dkk. 2014, Rancang Bangun Sistem Kendali Kualitas Air pada Model Kolam Ikan, Seminar Nasional Riset dan Teknologi Terapan IV 2014, Fakultas Teknik Universitas Sanata Dharma, Yogyakarta.
[5]
Direktorat Jendral Perikanan Budidaya., 2006, Petunjuk Teknis Balai Benih Ikan (BBI), Balai Benih Ikan Sentral (BBIS), Balai Benih Udang (BBU), Balai Benih Udang Galah (BBUG), Dan Balai Benih Ikan Pantai (BBIP), Direktorat Jendral Perikanan Budidaya, Jakarta.
[6]
Radiometer Analitic SAS., 2004, Conductivity Theory and Practice, Villleurbnne Cedex, France.
[7]
http://aryutomo.wordpress.com/2010/12/10/pengatur-tegangan-voltage-regulator, Diakses tanggal 3 Maret 2015.
[8]
Boylestad, Nashelsky., Device Circuit and theory, 7th ed, Prentice Hall international, Ohio.
[9]
Setiawan, A., 2011, Mikrokontroler ATMEGA 8535 & ATMEGA 16 menggunakan BASCOM-AVR, C.V. Andi Offset, Yogyakarta.
[10]
Wardhana. L., 2006, Belajar Sendiri Mikrokontroler AVR Seri ATMega 8535 Simulasi, Hardware, dan Aplikasi, C.V. Andi Offset, Yogyakarta.
[11]
Sholihul Hadi, M., 2008, Mengenal Mikrokontroler AVR dan Ilmu Komputer, Malang
[12]
-----, 2006, Data Sheet Microcontroller ATMega8535, Atmel.
[13]
-----, 2006, Data Sheet RX-01, Next Microelectronics Co.,Ltd.
[14]
-----, 2006, Data Sheet TX-02, Next Microelectronics Co.,Ltd.
[15]
Sholihul Hadi, M., 2008, Mengenal Mikrokontroler AVR dan Ilmu Komputer, Malang
[16]
-----, 2008, Data Sheet LCD 16x2, Revolution Education Ltd.
[17]
Hendra.,
Dasar
Pemrograman
Visual
Basic,
http://aldi_tob_2000.staff.gunadarma.ac.id/Downloads/files/15631/Dasar+Pemrogram an+Visua +Basic.pdf, Diakses Tanggal 25 November 2014.
73
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1
LAMPIRAN A Perancangan Keseluruhan Elektronik Sistem Pengendali
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2
LAMPIRAN B Listing Program Utama Mikrokontroler8535 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53.
/***************************************************** This program was produced by the CodeWizardAVR V2.05.0 Professional Automatic Program Generator © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 11/5/2015 Author : Antonius Budi Prasetyo Jati Company : Comments: Chip type : ATmega8535 Program type : Application AVR Core Clock frequency: 11.059200 MHz Memory model : Small External RAM size :0 Data Stack size : 128 *****************************************************/ #include <mega8535.h> // Alphanumeric LCD Module functions #include
// Standard Input/Output functions #include <stdio.h> #include <delay.h> // Declare your global variables here /******setting penerima 434Mhz*******/ #define DDR_IN 0 #define DDR_OUT 1 #define PORT_SEL PORTB #define PIN_SEL PINB #define DDR_SEL DDRB #define PORT_SDI PORTB #define PIN_SDI PINB #define DDR_SDI DDRB #define PORT_SCK PORTB #define PIN_SCK PINB #define DDR_SCK DDRB #define PORT_SDO PORTB #define PIN_SDO PINB #define DDR_SDO DDRB #define RFXX_SCK 5// | #define RFXX_SDO 4// |RF_PORT #define RFXX_SDI 3// | #define RFXX_SEL 2// | #define RFXX_DATA 1// | #define SEL_OUTPUT() DDR_SEL |= (1<
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3
54. #define SDO_HI() PIN_SDO&(1<
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4
113. Result=0; 114. for(i=0;i<8;i++) 115. {//read fifo data byte 116. Result<<=1; 117. if(SDO_HI()) 118. { 119. Result|=1; 120. } 121. HI_SCK(); 122. HI_SCK(); 123. LOW_SCK(); 124. LOW_SCK(); 125. }; 126. HI_SEL(); 127. return(Result); 128. } 129. 130. void terima_data() 131. { 132. RFXX_PORT_INIT(); 133. RFXX_WRT_CMD(0x0000); 134. RFXX_WRT_CMD(0x898A);//433BAND,134kHz 135. RFXX_WRT_CMD(0xA640);//434MHz 136. RFXX_WRT_CMD(0xC847);//4.8kbps 137. RFXX_WRT_CMD(0xC69B);//AFC setting 138. RFXX_WRT_CMD(0xC42A);//Clock recovery manual control,Digital filter,DQD=4 139. RFXX_WRT_CMD(0xC240);//output 1.66MHz 140. RFXX_WRT_CMD(0xC080); 141. RFXX_WRT_CMD(0xCE88);//use FIFO 142. RFXX_WRT_CMD(0xCE8B); 143. RFXX_WRT_CMD(0xC081);//OPEN RX 144. } 145. /*******************************************************/ 146. 147. /***************Setting Pengirim 435Mhz*****************/ 148. #define DDR_IN1 0 149. #define DDR_OUT1 1 150. #define PORT_SEL1 PORTA 151. #define PIN_SEL1 PINA 152. #define DDR_SEL1 DDRA 153. #define PORT_SDI1 PORTA 154. #define PIN_SDI1 PINA 155. #define DDR_SDI1 DDRA 156. #define PORT_SCK1 PORTA 157. #define PIN_SCK1 PINA 158. #define DDR_SCK1 DDRA 159. #define PORT_SDO1 PORTA 160. #define PIN_SDO1 PINA 161. #define DDR_SDO1 DDRA 162. #define RFXX1_SCK 5// | 163. #define RFXX1_SDO 4// |RF_PORT 164. #define RFXX1_SDI 3// | 165. #define RFXX1_SEL 2// | 166. #define RFXX1_DATA 1// | 167. #define SEL1_OUTPUT() DDR_SEL1 |= (1<
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L5
172. #define LOW_SDI1() PORT_SDI1&=~(1<
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L6
231. else 232. { 233. PORTA&=~(1<
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L7
290. // OC1A output: Discon. 291. // OC1B output: Discon. 292. // Noise Canceler: Off 293. // Input Capture on Falling Edge 294. // Timer 1 Overflow Interrupt: Off 295. // Input Capture Interrupt: Off 296. // Compare A Match Interrupt: Off 297. // Compare B Match Interrupt: Off 298. TCCR1A=0x00; 299. TCCR1B=0x00; 300. TCNT1H=0x00; 301. TCNT1L=0x00; 302. ICR1H=0x00; 303. ICR1L=0x00; 304. OCR1AH=0x00; 305. OCR1AL=0x00; 306. OCR1BH=0x00; 307. OCR1BL=0x00; 308. // Timer/Counter 2 initialization 309. // Clock source: System Clock 310. // Clock value: Timer 2 Stopped 311. // Mode: Normal top=FFh 312. // OC2 output: Disconnected 313. ASSR=0x00; 314. TCCR2=0x00; 315. TCNT2=0x00; 316. OCR2=0x00; 317. // External Interrupt(s) initialization 318. // INT0: Off 319. // INT1: Off 320. // INT2: Off 321. MCUCR=0x00; 322. MCUCSR=0x00; 323. // Timer(s)/Counter(s) Interrupt(s) initialization 324. TIMSK=0x00; 325. // USART initialization 326. // Communication Parameters: 8 Data, 1 Stop, No Parity 327. // USART Receiver: On 328. // USART Transmitter: On 329. // USART Mode: Asynchronous 330. // USART Baud Rate: 9600 331. UCSRA=0x00; 332. UCSRB=0x18; 333. UCSRC=0x86; 334. UBRRH=0x00; 335. UBRRL=0x47; 336. // Analog Comparator initialization 337. // Analog Comparator: Off 338. // Analog Comparator Input Capture by Timer/Counter 1: Off 339. ACSR=0x80; 340. SFIOR=0x00; 341. terima_data(); 342. DDRD&=~(1<<6); 343. kirim_data(); 344. PORTA|=(1<
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L8
349. lcd_putsf("SISTEM TELEMETRI"); 350. lcd_gotoxy(0,1); 351. lcd_putsf(" Sentral Unit "); 352. delay_ms(2000); 353. lcd_clear(); 354. f=1; 355. 356. while (1) 357. { 358. // Place your code here 359. // Place your code here 360. if (UCSRA.7==1) 361. { 362. for(n=0;n<10;n++) 363. { 364. data_pc[n]=0; 365. } 366. data_pc[0]=getchar(); 367. if(data_pc[0]=='@') 368. { 369. for (j=1;j<2;j++) 370. { 371. data_pc[j]=getchar(); 372. if(data_pc[1]=='J')/*Setting Waktu*/ 373. { 374. for(k=2;k<5;k++) 375. { 376. data_pc[k]=getchar(); 377. } 378. } 379. if(data_pc[1]=='V')/*Setting Suhu*/ 380. { 381. for(k=2;k<8;k++) 382. { 383. data_pc[k]=getchar(); 384. } 385. } 386. if(data_pc[1]=='W')/*Setting PH*/ 387. { 388. for(k=2;k<6;k++) 389. { 390. data_pc[k]=getchar(); 391. } 392. } 393. if(data_pc[1]=='X')/*Setting DO*/ 394. { 395. for(k=2;k<4;k++) 396. { 397. data_pc[k]=getchar(); 398. } 399. } 400. if(data_pc[1]=='Y')/*Setting Kekeruhan*/ 401. { 402. for(k=2;k<6;k++) 403. { 404. data_pc[k]=getchar(); 405. } 406. } 407. if(data_pc[1]=='Z')/*Setting Konduktifitas*/
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L9
408. { 409. for(k=2;k<7;k++) 410. { 411. data_pc[k]=getchar(); 412. } 413. } 414. if(data_pc[1]=='A'||data_pc[1]=='B'||data_pc[1]=='C'||data_pc[1]=='D'||data_pc[1]=='E') 415. /*Minta Data Tunggal Sensor*/ 416. { 417. for(k=2;k<3;k++) 418. { 419. data_pc[k]=getchar(); 420. } 421. } 422. if(data_pc[1]=='R')/*Reset Setting*/ 423. { 424. for(k=2;k<3;k++) 425. { 426. data_pc[k]=getchar(); 427. } 428. } 429. } 430. } 431. b=10; 432. for(h=0;h
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L10
467. i=0; 468. m=45; 469. while(i<m) 470. { 471. while(!(PIND&(1<<6))) //polling the nIRQ data 472. { 473. RF_RXBUF1[i]=RF01_RDFIFO();//read FIFO data 474. RFXX_WRT_CMD(0xCE88); //reset FIFO for next frame recognition 475. RFXX_WRT_CMD(0xCE8B); 476. if(RF_RXBUF1[i]=='$') 477. { 478. m=i+1; 479. RFXX_WRT_CMD(0xCE88); //reset FIFO for next frame recognition 480. RFXX_WRT_CMD(0xCE8B); 481. lcd_gotoxy(0,0); 482. lcd_putsf(" Terima Paket "); 483. lcd_gotoxy(0,1); 484. lcd_putsf(" Data Satu "); 485. delay_ms(1000); 486. lcd_clear(); 487. } 488. i++; 489. } 490. } 491. } 492. 493. if(DATA[0]=='2')//Terima Paket Data 2 494. { 495. i=0; 496. m=45; 497. while(i<m) 498. { 499. while(!(PIND&(1<<6))) //polling the nIRQ data 500. { 501. RF_RXBUF2[i]=RF01_RDFIFO();//read FIFO data 502. RFXX_WRT_CMD(0xCE88); //reset FIFO for next frame recognition 503. RFXX_WRT_CMD(0xCE8B); 504. if(RF_RXBUF2[i]=='$') 505. { 506. m=i+1; 507. RFXX_WRT_CMD(0xCE88); //reset FIFO for next frame recognition 508. RFXX_WRT_CMD(0xCE8B); 509. lcd_gotoxy(0,0); 510. lcd_putsf(" Terima Paket "); 511. lcd_gotoxy(0,1); 512. lcd_putsf(" Data Dua "); 513. delay_ms(1000); 514. lcd_clear(); 515. } 516. i++; 517. } 518. } 519. 520. //Cek Paket Data Satu dan Paket Data Dua 521. if(f==5) 522. { 523. f=1; 524. lcd_gotoxy(0,0); 525. lcd_putsf("Paket Data Ke-2 ");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L11
526. lcd_gotoxy(0,1); 527. lcd_putsf(" Ke VB "); 528. delay_ms(2000); 529. } 530. else 531. { 532. for(a=0;a<m;a++) 533. { 534. if(RF_RXBUF1[a]!=RF_RXBUF2[a]) 535. { 536. m=a+1; 537. lcd_gotoxy(0,0); 538. lcd_putsf(" Error "); 539. delay_ms(2000); 540. lcd_clear(); 541. if(data_pc[1]=='A'||data_pc[1]=='B'||data_pc[1]=='C'||data_pc[1]=='D'||data_pc[1]=='E') 542. { 543. for(l=0;l<2;l++) 544. { 545. for(i=0;i<3;i++) 546. { 547. RFXX1_WRT_CMD(0xC039);//START TX 548. RF02B1_SEND(0xAA);//PREAMBLE 549. RF02B1_SEND(0xAA);//PREAMBLE 550. RF02B1_SEND(0xAA);//PREAMBLE 551. RF02B1_SEND(0x2D);//HEAD HI BYTE 552. RF02B1_SEND(0xD4);//HEAD LOW BYTE 553. RF02B1_SEND(data_pc[i]);//Kirim Data C 554. RF02B1_SEND(0xAA);//DUMMY BYTE 555. RF02B1_SEND(0xAA);//DUMMY BYTE 556. RF02B1_SEND(0xAA);//DUMMY BYTE 557. RFXX1_WRT_CMD(0xC001);//CLOSE TX 558. delay_ms(10); 559. } 560. } 561. } 562. else 563. { 564. for(c=0;c<m;c++) 565. { 566. RF_RXBUF1[c]=0; 567. RF_RXBUF2[c]=0; 568. } 569. sprintf(ULANG,"@U#"); 570. e=10; 571. delay_ms(4000); 572. for (i=0;i<3;i++) 573. { 574. RFXX1_WRT_CMD(0xC039);//START TX 575. RF02B1_SEND(0xAA);//PREAMBLE 576. RF02B1_SEND(0xAA);//PREAMBLE 577. RF02B1_SEND(0xAA);//PREAMBLE 578. RF02B1_SEND(0x2D);//HEAD HI BYTE 579. RF02B1_SEND(0xD4);//HEAD LOW BYTE 580. RF02B1_SEND(ULANG[i]);//Kirim Data C 581. RF02B1_SEND(0xAA);//DUMMY BYTE 582. RF02B1_SEND(0xAA);//DUMMY BYTE 583. RF02B1_SEND(0xAA);//DUMMY BYTE 584. RFXX1_WRT_CMD(0xC001);//CLOSE TX
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L12
585. delay_ms(10); 586. } 587. } 588. } 589. } 590. } 591. 592. //Kirim Paket Data ke PC 593. for(d=1;d<m;d++) 594. { 595. if(RF_RXBUF2[d]=='$') 596. { 597. lcd_gotoxy(0,0); 598. lcd_puts(RF_RXBUF2); 599. delay_ms(2000); 600. lcd_clear(); 601. f=1; 602. for(c=0;c<m;c++) 603. { 604. RF_RXBUF1[c]=0; 605. RF_RXBUF2[c]=0; 606. } 607. for(n=0;n<10;n++) 608. { 609. data_pc[n]=0; 610. } 611. }; 612. putchar(RF_RXBUF2[d]); 613. } 614. } 615. if(DATA[0]=='@')//Kirim Ulang 616. { 617. i=0; 618. m=10; 619. while(i<m) 620. { 621. while(!(PIND&(1<<6))) //polling the nIRQ data 622. { 623. RF_RXBUF1[i]=RF01_RDFIFO();//read FIFO data 624. RFXX_WRT_CMD(0xCE88); //reset FIFO for next frame recognition 625. RFXX_WRT_CMD(0xCE8B); 626. if(RF_RXBUF1[i]=='$') 627. { 628. m=i+1; 629. RFXX_WRT_CMD(0xCE88); //reset FIFO for next frame recognition 630. RFXX_WRT_CMD(0xCE8B); 631. for(d=0;d<m;d++) 632. { 633. putchar(RF_RXBUF1[d]); 634. } 635. lcd_gotoxy(0,0); 636. lcd_putsf(" Kirim Ulang "); 637. delay_ms(1000); 638. lcd_clear(); 639. for(c=0;c<m;c++) 640. { 641. RF_RXBUF1[c]=0; 642. } 643. }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L13
644. i++; 645. } 646. } 647. } 648. } 649. lcd_gotoxy(0,0); 650. lcd_putsf(" Waiting.... "); 651. }; 652. }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L14
LAMPIRAN C Listing Program Utama Visual Basic A. Koneksi Database 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Option Explicit Global strCon As New ADODB.Connection Public Sub bukaDatabase() Dim strString As String strString = "provider = Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & App.Path & "\skripsi.mdb;" & _ "Persist Security Info=False; " Set strCon = New ADODB.Connection strCon.Open strString strCon.CursorLocation = adUseClient End Sub
B. Program Utama 1. Option Explicit 2. Dim Koneksi As New ADODB.Connection 3. Dim Koneksi2 As New ADODB.Connection 4. Dim RSData As New ADODB.Recordset 5. Dim RSData2 As New ADODB.Recordset 6. Private X1(), X2(), X3(), X4(), X5(), X6() As Double 7. Private NumPoints As Integer 8. Dim A, B, C, o, p, q, r, s, BB, Z, hapus As Byte 9. Dim satu, p1, p2, p3, p4, i, j, t, AA, A1, A2, B1, B2, C1, C2, D1, E1, V, n As String 10. Dim strSql 11. 12. Sub BukaDB() 13. Set Koneksi = New ADODB.Connection 14. Set RSData = New ADODB.Recordset 15. Koneksi.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\skripsi.mdb" 16. End Sub 17. 18. Sub BukaDB2() 19. Set Koneksi2 = New ADODB.Connection 20. Set RSData2 = New ADODB.Recordset 21. Koneksi2.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\skripsi.mdb" 22. End Sub 23. 24. Private Sub tampilgrafik() 25. Dim strSql 26. bukaDatabase 27. Set RSData = New ADODB.Recordset 28. strSql = "SELECT Jam, Suhu, PH, DO, Kekeruhan, Konduktifitas, Batas_Suhu_Bawah, Batas_Suhu_Atas, Batas_PH_Bawah, Batas_PH_Atas, Batas_DO, Batas_Kekeruhan, Batas_Konduktifitas FROM monitoring_kolam" 29. RSData.Open strSql, strCon 30. RSData.MoveLast 31. NumPoints = 15 32. ReDim X1(1 To NumPoints, 1 To 4) 33. ' Load the data. 34. RSData.MoveLast 35. For BB = 1 To 14 36. RSData.MovePrevious 37. Next BB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L15 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96.
For o = 1 To NumPoints X1(o, 1) = RSData!Jam X1(o, 2) = RSData!Suhu X1(o, 3) = RSData!Batas_Suhu_Bawah X1(o, 4) = RSData!Batas_Suhu_Atas RSData.MoveNext Next o MSChart1.ChartData = X1 ReDim X2(1 To NumPoints, 1 To 4) ' Load the data. RSData.MoveLast For BB = 1 To 14 RSData.MovePrevious Next BB For p = 1 To NumPoints X2(p, 1) = RSData!Jam X2(p, 2) = RSData!PH X2(p, 3) = RSData!Batas_PH_Bawah X2(p, 4) = RSData!Batas_PH_Atas RSData.MoveNext Next p MSChart2.ChartData = X2 ReDim X3(1 To NumPoints, 1 To 3) ' Load the data. RSData.MoveLast For BB = 1 To 14 RSData.MovePrevious Next BB For q = 1 To NumPoints X3(q, 1) = RSData!Jam X3(q, 2) = RSData!DO X3(q, 3) = RSData!Batas_DO RSData.MoveNext Next q MSChart3.ChartData = X3 ReDim X4(1 To NumPoints, 1 To 3) ' Load the data. RSData.MoveLast For BB = 1 To 14 RSData.MovePrevious Next BB For r = 1 To NumPoints X4(r, 1) = RSData!Jam X4(r, 2) = RSData!Kekeruhan X4(r, 3) = RSData!Batas_Kekeruhan RSData.MoveNext Next r MSChart4.ChartData = X4 ReDim X5(1 To NumPoints, 1 To 3) ' Load the data. RSData.MoveLast For BB = 1 To 14 RSData.MovePrevious Next BB For s = 1 To NumPoints X5(s, 1) = RSData!Jam X5(s, 2) = RSData!Konduktifitas X5(s, 3) = RSData!Batas_Konduktifitas RSData.MoveNext
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L16 97. Next s 98. MSChart5.ChartData = X5 99. Set RSData = Nothing 100. strCon.Errors.Clear 101. strCon.Close 102. End Sub 103. 'Data keluar 104. 105. Private Sub Command1_Click() 106. Text17.Text = AA 107. MSComm1.Output = Text17.Text 108. If Mid(Text17.Text, 2, 1) = "V" Or Mid(Text17.Text, 2, 1) = "W" Or Mid(Text17.Text, 2, 1) = "X" Or Mid(Text17.Text, 2, 1) = "Y" Or Mid(Text17.Text, 2, 1) = "Z" Then 109. If Not Adodc1.Recordset.BOF = True Then 110. 'adodc1 111. Adodc1.Recordset.MoveLast 112. satu = Adodc1.Recordset.Fields(0) 113. p1 = Adodc1.Recordset.Fields(8) 114. p2 = Adodc1.Recordset.Fields(9) 115. p3 = Adodc1.Recordset.Fields(10) 116. p4 = Adodc1.Recordset.Fields(11) 117. Adodc1.Recordset.AddNew 118. Adodc1.Recordset.Fields(0) = satu + 1 119. Adodc1.Recordset.Fields(1) = Text1.Text 120. Adodc1.Recordset.Fields(2) = Text2.Text 121. Adodc1.Recordset.Fields(3) = Text7.Text 122. Adodc1.Recordset.Fields(4) = Text8.Text 123. Adodc1.Recordset.Fields(5) = Text9.Text 124. Adodc1.Recordset.Fields(6) = Text10.Text 125. Adodc1.Recordset.Fields(7) = Text11.Text 126. Adodc1.Recordset.Fields(8) = p1 127. Adodc1.Recordset.Fields(9) = p2 128. Adodc1.Recordset.Fields(10) = p3 129. Adodc1.Recordset.Fields(11) = p4 130. Adodc1.Recordset.Fields(12) = Text18.Text 131. Adodc1.Recordset.Fields(13) = Text19.Text 132. Adodc1.Recordset.Fields(14) = Text20.Text 133. Adodc1.Recordset.Fields(15) = Text21.Text 134. Adodc1.Recordset.Fields(16) = Text22.Text 135. Adodc1.Recordset.Fields(17) = Text23.Text 136. Adodc1.Recordset.Fields(18) = Text24.Text 137. Else 138. 'adodc1 139. Adodc1.Recordset.AddNew 140. Adodc1.Recordset.Fields(0) = 1 141. Adodc1.Recordset.Fields(1) = Text1.Text 142. Adodc1.Recordset.Fields(2) = Text2.Text 143. Adodc1.Recordset.Fields(3) = Text7.Text 144. Adodc1.Recordset.Fields(4) = Text8.Text 145. Adodc1.Recordset.Fields(5) = Text9.Text 146. Adodc1.Recordset.Fields(6) = Text10.Text 147. Adodc1.Recordset.Fields(7) = Text11.Text 148. Adodc1.Recordset.Fields(8) = "Buka" 149. Adodc1.Recordset.Fields(9) = "Tutup" 150. Adodc1.Recordset.Fields(10) = "Tutup" 151. Adodc1.Recordset.Fields(11) = "Tutup" 152. Adodc1.Recordset.Fields(12) = Text18.Text 153. Adodc1.Recordset.Fields(13) = Text19.Text 154. Adodc1.Recordset.Fields(14) = Text20.Text
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L17 155. Adodc1.Recordset.Fields(15) = Text21.Text 156. Adodc1.Recordset.Fields(16) = Text22.Text 157. Adodc1.Recordset.Fields(17) = Text23.Text 158. Adodc1.Recordset.Fields(18) = Text24.Text 159. End If 160. End If 161. End Sub 162. 163. 'Pemilihan Port 164. Private Sub Command2_Click() 165. Dim port As Integer 166. On Error GoTo errcode 167. Select Case Combo4.ListIndex 168. Case -1 169. port = 1 170. Case 0 171. port = 1 172. Case 1 173. port = 2 174. Case 2 175. port = 3 176. Case 3 177. port = 4 178. Case 4 179. port = 5 180. Case 5 181. port = 6 182. Case 6 183. port = 7 184. Case 7 185. port = 8 186. Case 8 187. port = 9 188. Case 9 189. port = 10 190. Case 10 191. port = 11 192. End Select 193. If MSComm1.PortOpen = False Then 194. MSComm1.CommPort = port 195. MSComm1.RThreshold = 0 196. MSComm1.InputLen = 0 197. MSComm1.Settings = "9600,N,8,1" 198. MSComm1.PortOpen = True 199. MsgBox "Port Terhubung!", vbOKOnly, "Peringatan" 200. Command2.Enabled = False 201. Command3.Enabled = True 202. Timer4.Enabled = True 203. Timer4.Interval = 2000 204. End If 205. Exit Sub 206. errcode: 207. MsgBox "Port Tidak Terhubung !", vbOKOnly, "Peringatan" 208. Combo4.SetFocus 209. End Sub 210. 211. 'Disconnect Button 212. Private Sub Command3_Click() 213. If MSComm1.PortOpen = True Then
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L18 214. MSComm1.PortOpen = False 215. End If 216. Command2.Enabled = True 217. Command3.Enabled = False 218. Timer4.Enabled = False 219. End Sub 220. 221. 'Keluar 222. Private Sub Command4_Click() 223. End 224. 225. 'Save to Excel 226. End Sub 227. Private Sub Command5_Click() 228. Call BukaDB 229. RSData.Open "Select * From monitoring_kolam", Koneksi 230. Dim EXCELAPPKU As Excel.Application 231. Dim excelbookku As Excel.Workbook 232. Dim excelsheetku As Excel.Worksheet 233. Dim baris, datake As Integer 234. Set EXCELAPPKU = New Excel.Application 235. Set excelbookku = EXCELAPPKU.Workbooks.Add 236. With EXCELAPPKU 237. .StandardFontSize = "10" 238. End With 239. EXCELAPPKU.Visible = True 240. Set excelsheetku = excelbookku.Worksheets(1) 241. excelsheetku.Select 242. With excelsheetku 243. .Cells(2, 1).Value = "No" 244. .Cells(2, 2).Value = "Tanggal" 245. .Cells(2, 3).Value = "Jam" 246. .Cells(2, 4).Value = "Suhu" 247. .Cells(2, 5).Value = "PH" 248. .Cells(2, 6).Value = "DO" 249. .Cells(2, 7).Value = "Kekeruhan" 250. .Cells(2, 8).Value = "Konduktifitas" 251. .Cells(2, 9).Value = "Pintu Inlet" 252. .Cells(2, 10).Value = "Pintu Outlet" 253. .Cells(2, 11).Value = "Pompa Sumur" 254. .Cells(2, 12).Value = "Pompa Aerator" 255. .Cells(2, 13).Value = "Batas Suhu Bawah" 256. .Cells(2, 14).Value = "Batas Suhu Atas" 257. .Cells(2, 15).Value = "Batas PH Bawah" 258. .Cells(2, 16).Value = "Batas PH Atas" 259. .Cells(2, 17).Value = "Batas DO" 260. .Cells(2, 18).Value = "Batas Kekeruhan" 261. .Cells(2, 19).Value = "Batas Konduktifitas" 262. baris = 3 263. datake = 0 264. If Not RSData.BOF Then 265. RSData.MoveFirst 266. While Not RSData.EOF 267. datake = datake + 1 268. .Cells(baris, 1) = RSData![No] 269. .Cells(baris, 2) = RSData![Tanggal] 270. .Cells(baris, 3) = RSData![Jam] 271. .Cells(baris, 4) = RSData![Suhu] 272. .Cells(baris, 5) = RSData![PH]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L19 273. .Cells(baris, 6) = RSData![DO] 274. .Cells(baris, 7) = RSData![Kekeruhan] 275. .Cells(baris, 8) = RSData![Konduktifitas] 276. .Cells(baris, 9) = RSData![Pintu_Inlet] 277. .Cells(baris, 10) = RSData![Pintu_Outlet] 278. .Cells(baris, 11) = RSData![Pompa_Sumur] 279. .Cells(baris, 12) = RSData![Pompa_Aerator] 280. .Cells(baris, 13) = RSData![Batas_Suhu_Bawah] 281. .Cells(baris, 14) = RSData![Batas_Suhu_Atas] 282. .Cells(baris, 15) = RSData![Batas_PH_Bawah] 283. .Cells(baris, 16) = RSData![Batas_PH_Atas] 284. .Cells(baris, 17) = RSData![Batas_DO] 285. .Cells(baris, 18) = RSData![Batas_Kekeruhan] 286. .Cells(baris, 19) = RSData![Batas_Konduktifitas] 287. baris = baris + 1 288. RSData.MoveNext 289. Wend 290. End If 291. .Cells(1, 12).ClearContents 292. .Columns("A:A").EntireColumn.AutoFit 293. .Columns("B:B").EntireColumn.AutoFit 294. .Columns("C:C").EntireColumn.AutoFit 295. .Columns("D:D").EntireColumn.AutoFit 296. .Columns("E:E").EntireColumn.AutoFit 297. .Columns("F:F").EntireColumn.AutoFit 298. .Columns("G:G").EntireColumn.AutoFit 299. .Columns("H:H").EntireColumn.AutoFit 300. .Columns("I:I").EntireColumn.AutoFit 301. .Columns("J:J").EntireColumn.AutoFit 302. .Columns("K:K").EntireColumn.AutoFit 303. .Columns("L:L").EntireColumn.AutoFit 304. .Columns("M:M").EntireColumn.AutoFit 305. .Columns("N:N").EntireColumn.AutoFit 306. .Columns("O:O").EntireColumn.AutoFit 307. .Columns("P:P").EntireColumn.AutoFit 308. .Columns("Q:Q").EntireColumn.AutoFit 309. .Columns("R:R").EntireColumn.AutoFit 310. .Columns("S:S").EntireColumn.AutoFit 311. End With 312. RSData.Close 313. On Error GoTo 0 314. Set excelsheetku = Nothing 315. Set excelbookku = Nothing 316. End Sub 317. 318. 'Reset Batasan Sensor 319. Private Sub Command6_Click() 320. AA = "@" & "R" & "#" 321. Text17.Text = AA 322. MSComm1.Output = Text17.Text 323. Text3.Text = "Buka" 324. Text4.Text = "Tutup" 325. Text5.Text = "Tutup" 326. Text6.Text = "Tutup" 327. Text18.Text = 18 328. Text19.Text = 28 329. Text20.Text = 5 330. Text21.Text = 8 331. Text22.Text = 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L20 332. Text23.Text = 380 333. Text24.Text = 4800 334. Adodc1.Recordset.MoveLast 335. satu = Adodc1.Recordset.Fields(0) 336. Adodc1.Recordset.AddNew 337. Adodc1.Recordset.Fields(0) = satu + 1 338. Adodc1.Recordset.Fields(1) = Text1.Text 339. Adodc1.Recordset.Fields(2) = Text2.Text 340. Adodc1.Recordset.Fields(3) = Text7.Text 341. Adodc1.Recordset.Fields(4) = Text8.Text 342. Adodc1.Recordset.Fields(5) = Text9.Text 343. Adodc1.Recordset.Fields(6) = Text10.Text 344. Adodc1.Recordset.Fields(7) = Text11.Text 345. Adodc1.Recordset.Fields(8) = Text3.Text 346. Adodc1.Recordset.Fields(9) = Text4.Text 347. Adodc1.Recordset.Fields(10) = Text5.Text 348. Adodc1.Recordset.Fields(11) = Text6.Text 349. Adodc1.Recordset.Fields(12) = Text18.Text 350. Adodc1.Recordset.Fields(13) = Text19.Text 351. Adodc1.Recordset.Fields(14) = Text20.Text 352. Adodc1.Recordset.Fields(15) = Text21.Text 353. Adodc1.Recordset.Fields(16) = Text22.Text 354. Adodc1.Recordset.Fields(17) = Text23.Text 355. Adodc1.Recordset.Fields(18) = Text24.Text 356. End Sub 357. 358. 'Refresh Grafik 359. Private Sub Command7_Click() 360. Call BukaDB2 361. DataGrid2.Refresh 362. Adodc2.ConnectionString = Koneksi2 363. Adodc2.RecordSource = "monitoring_kolam" 364. Adodc2.Refresh 365. Set DataGrid2.DataSource = Adodc2 366. DataGrid2.Refresh 367. End Sub 368. 369. 'Pilihan Port dan Running Teks 370. Private Sub Form_Load() 371. Adodc1.Recordset.MoveLast 372. Text3.Text = Adodc1.Recordset.Fields(8) 373. Text4.Text = Adodc1.Recordset.Fields(9) 374. Text5.Text = Adodc1.Recordset.Fields(10) 375. Text6.Text = Adodc1.Recordset.Fields(11) 376. Text7.Text = Adodc1.Recordset.Fields(3) 377. Text8.Text = Adodc1.Recordset.Fields(4) 378. Text9.Text = Adodc1.Recordset.Fields(5) 379. Text10.Text = Adodc1.Recordset.Fields(6) 380. Text11.Text = Adodc1.Recordset.Fields(7) 381. Text18.Text = Adodc1.Recordset.Fields(12) 382. Text19.Text = Adodc1.Recordset.Fields(13) 383. Text20.Text = Adodc1.Recordset.Fields(14) 384. Text21.Text = Adodc1.Recordset.Fields(15) 385. Text22.Text = Adodc1.Recordset.Fields(16) 386. Text23.Text = Adodc1.Recordset.Fields(17) 387. Text24.Text = Adodc1.Recordset.Fields(18) 388. Call BukaDB 389. Adodc1.ConnectionString = Koneksi 390. Adodc1.RecordSource = "monitoring_kolam"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L21 391. Adodc1.Refresh 392. Set DataGrid1.DataSource = Adodc1 393. Call BukaDB2 394. Adodc2.ConnectionString = Koneksi2 395. Adodc2.RecordSource = "monitoring_kolam" 396. Adodc2.Refresh 397. Set DataGrid2.DataSource = Adodc2 398. Label25.FontSize = 20 399. Label25 = "Pastikan Com Sudah Terhubung" 400. With Combo1 401. .List(0) = "Suhu" 402. .List(1) = "pH" 403. End With 404. With Combo2 405. .List(0) = "DO" 406. .List(1) = "Kekeruhan" 407. .List(2) = "Konduktifitas" 408. End With 409. With Combo3 410. .List(0) = "Suhu" 411. .List(1) = "pH" 412. .List(2) = "DO" 413. .List(3) = "Kekeruhan" 414. .List(4) = "Konduktifitas" 415. End With 416. With Combo4 417. .AddItem "COM1" 418. .AddItem "COM2" 419. .AddItem "COM3" 420. .AddItem "COM4" 421. .AddItem "COM5" 422. .AddItem "COM6" 423. .AddItem "COM7" 424. .AddItem "COM8" 425. .AddItem "COM9" 426. .AddItem "COM10" 427. .AddItem "COM11" 428. End With 429. Timer1.Enabled = False 430. Command2.Enabled = True 431. Command3.Enabled = False 432. End Sub 433. 434. 'Kirim Perintah Waktu ke Terminal Unit 435. Private Sub Option1_GotFocus() 436. Text13.Text = "" 437. Text14.Text = "" 438. Text15.Text = "" 439. Text17.Text = "" 440. If Text12.Text = "" Then 441. MsgBox "Masukkan Nilai", 16, "Setting Waktu" 442. Else 443. If Text12.Text > 99 Then 444. MsgBox "Setting pengiriman maksimal 99 menit!!", 16, "Settingan Kurang" 445. Else 446. If Text12.Text < 10 Then 447. MsgBox "Setting pengiriman minimal 10 menit!!", 16, "Settingan Kurang" 448. Else 449. AA = ("@" & "J" & Text12.Text & "#")
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L22 450. End If 451. End If 452. End If 453. End Sub 454. 455. 'Kirim Perintah Suhu/PH ke Terminal Unit 456. Private Sub Option2_GotFocus() 457. Text12.Text = "" 458. Text15.Text = "" 459. Text17.Text = "" 460. If Text13.Text = "" And Text14.Text = "" Then 461. MsgBox "Masukkan Nilai", 16, "Setting Standart" 462. Else 463. If Combo1 = "Suhu" And Text13.Text < 18 Then 464. MsgBox "Batas bawah kurang dari 18, Suhu harus Diantara 18ºC-28ºC", 16, "Settingan Kurang" 465. Else 466. If Combo1 = "Suhu" And Text14.Text > 28 Then 467. MsgBox "Batas atas lebih dari 28, Suhu harus Diantara 18ºC-28ºC", 16, "Settingan Kurang" 468. Else 469. If Combo1 = "pH" And Text13.Text < 5 Then 470. MsgBox "Batas bawah kurang dari 5, pH harus Diantara 5-8", 16, "Settingan Kurang" 471. Else 472. If Combo1 = "pH" And Text14.Text > 8 Then 473. MsgBox "Batas atas lebih dari 8, pH harus Diantara 5-8", 16, "Settingan Kurang" 474. Else 475. If Text13.Text >= Text14.Text Then 476. MsgBox "Batas Bawah Lebih Besar dari Batas Atas", 16, "Settingan Salah" 477. Else 478. If Combo1 = "Suhu" Then 479. AA = "@" & "V" & Text13.Text & "," & Text14.Text & "#" 480. Text18.Text = Text13.Text 481. Text19.Text = Text14.Text 482. Else 483. If Combo1 = "pH" Then 484. AA = "@" & "W" & Text13.Text & "," & Text14.Text & "#" 485. Text20.Text = Text13.Text 486. Text21.Text = Text14.Text 487. End If 488. End If 489. End If 490. End If 491. End If 492. End If 493. End If 494. End If 495. End Sub 496. 497. 'Kirim Perintah DO/Konduktifitas/Kekeruhan ke Terminal Unit 498. Private Sub Option3_GotFocus() 499. Text12.Text = "" 500. Text13.Text = "" 501. Text14.Text = "" 502. Text17.Text = "" 503. If Text15.Text = "" Then 504. MsgBox "Masukkan Nilai", 16, "Setting Waktu" 505. Else 506. If Combo2 = "Konduktifitas" And Text15.Text > 4800 Then 507. MsgBox "Batas lebih dari 4800", 16, "Settingan Kurang" 508. Else
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L23 509. If Combo2 = "Kekeruhan" And Text15.Text > 380 Then 510. MsgBox "Batas lebih dari 380", 16, "Settingan Kurang" 511. Else 512. If Combo2 = "Konduktifitas" And Text15.Text < 1000 Then 513. MsgBox "Batas Minimal 1000", 16, "Settingan Kurang" 514. Else 515. If Combo2 = "Kekeruhan" And Text15.Text < 100 Then 516. MsgBox "Batas Minimal 100", 16, "Settingan Kurang" 517. Else 518. If Combo2 = "DO" And Text15.Text < 3 Then 519. MsgBox "Batas Minimal 3", 16, "Settingan Kurang" 520. Else 521. If Combo2 = "DO" And Text15.Text > 7 Then 522. MsgBox "Batas lebih dari 7", 16, "Settingan Kurang" 523. Else 524. A = Text15.Text 525. If Combo2 = "DO" Then 526. AA = "@" & "X" & A & "#" 527. Text22.Text = A 528. Else 529. If Combo2 = "Kekeruhan" Then 530. AA = "@" & "Y" & A & "#" 531. Text23.Text = A 532. Else 533. If Combo2 = "Konduktifitas" Then 534. AA = "@" & "Z" & A & "#" 535. Text24.Text = A 536. End If 537. End If 538. End If 539. End If 540. End If 541. End If 542. End If 543. End If 544. End If 545. End If 546. End Sub 547. 548. 'Kirim Perintah Ambil salah satu sensor ke Terminal Unit 549. Private Sub Option4_GotFocus() 550. Text12.Text = "" 551. Text13.Text = "" 552. Text14.Text = "" 553. Text15.Text = "" 554. Text17.Text = "" 555. If Combo3 = "Suhu" Then 556. AA = "@" & "A" & "#" 557. Else 558. If Combo3 = "pH" Then 559. AA = "@" & "B" & "#" 560. Else 561. If Combo3 = "DO" Then 562. AA = "@" & "C" & "#" 563. Else 564. If Combo3 = "Kekeruhan" Then 565. AA = "@" & "D" & "#" 566. Else 567. If Combo3 = "Konduktifitas" Then
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L24 568. AA = "@" & "E" & "#" 569. End If 570. End If 571. End If 572. End If 573. End If 574. End Sub 575. 576. 'Menu Pencarian Data 577. Private Sub Text25_Change() 578. Call BukaDB2 579. RSData2.CursorLocation = adUseClient 580. RSData2.Open "select * from monitoring_kolam where Tanggal like '%" & Text25 & "%'", Koneksi2 581. If Not RSData2.EOF Then 582. With RSData2 583. With DataGrid2 584. Set .DataSource = RSData2 585. .Refresh 586. End With 587. End With 588. End If 589. End Sub 590. 591. 'Koneksi port 592. Private Sub Timer1_Timer() 593. MSComm1_OnComm 594. End Sub 595. 596. 'Tampilan Tanggal 597. Private Sub Timer2_Timer() 598. Text1.Text = Format(Date, "dd-mm-yyyy") 599. End Sub 600. 'Tampilan Jam 601. Private Sub Timer3_Timer() 602. Text2.Text = Format(Now, "hh:nn") 603. End Sub 604. 605. 'Pengolahan data masuk 606. Private Sub Timer4_Timer() 607. Dim huruf As String 608. Dim huruf1 As String 609. Dim dta As String 610. Dim dtb As String 611. Dim dtc As String 612. Dim dtd As String 613. Dim dte As String 614. Dim dtf As String 615. Dim dtg As String 616. Dim dth As String 617. Dim dti As String 618. Dim D, E, f, g As String 619. Dim coba, coba1, m, coba2 As Integer 620. D = "Tutup" 621. E = "Buka" 622. huruf1 = MSComm1.Input 623. huruf = huruf & huruf1 624. Text16.Text = huruf 625.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L25 626. 'Kirim Ulang Pengaturan 627. If Left(huruf, 1) = "U" Then 628. MsgBox "Kirim Ulang Menu Terkhir", 16, "Terminal Minta Perintah ulang" 629. End If 630. If Left(huruf, 1) = "S" Then 631. 'Suhu 632. coba = InStr(huruf, "S") 633. coba1 = InStr(huruf, "#") 634. coba2 = coba1 - coba 635. dta = Mid(huruf, coba + 1, coba2 - 1) 636. Text7.Text = dta 637. m = 1 638. 'Ph 639. huruf = Mid(huruf, coba1 + 1, Len(huruf) - coba1) 640. coba = InStr(huruf, "P") 641. coba1 = InStr(huruf, "#") 642. coba2 = coba1 - coba 643. dtb = Mid(huruf, coba + 1, coba2 - 1) 644. Text8.Text = dtb 645. m = 1 646. 'DO 647. huruf = Mid(huruf, coba1 + 1, Len(huruf) - coba1) 648. coba = InStr(huruf, "D") 649. coba1 = InStr(huruf, "#") 650. coba2 = coba1 - coba 651. dtc = Mid(huruf, coba + 1, coba2 - 1) 652. Text9.Text = dtc 653. m = 1 654. 'Kekeruhan 655. huruf = Mid(huruf, coba1 + 1, Len(huruf) - coba1) 656. coba = InStr(huruf, "H") 657. coba1 = InStr(huruf, "#") 658. coba2 = coba1 - coba 659. dtd = Mid(huruf, coba + 1, coba2 - 1) 660. Text10.Text = dtd 661. m = 1 662. 'Konduktifitas 663. huruf = Mid(huruf, coba1 + 1, Len(huruf) - coba1) 664. coba = InStr(huruf, "O") 665. coba1 = InStr(huruf, "#") 666. coba2 = coba1 - coba 667. dte = Mid(huruf, coba + 1, coba2 - 1) 668. Text11.Text = dte 669. m = 1 670. 'Pintu Inlet 671. huruf = Mid(huruf, coba1 + 1, Len(huruf) - coba1) 672. coba = InStr(huruf, "K") 673. coba1 = InStr(huruf, "#") 674. coba2 = coba1 - coba 675. dtf = Mid(huruf, coba + 1, coba2 - 1) 676. If dtf = "0" Then 677. Text3.Text = D 678. Else 679. Text3.Text = E 680. End If 681. m = 1 682. 'Pintu Outlet 683. huruf = Mid(huruf, coba1 + 1, Len(huruf) - coba1) 684. coba = InStr(huruf, "L")
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L26 685. coba1 = InStr(huruf, "#") 686. coba2 = coba1 - coba 687. dtg = Mid(huruf, coba + 1, coba2 - 1) 688. If dtg = "0" Then 689. Text4.Text = D 690. Else 691. Text4.Text = E 692. End If 693. m = 1 694. 'Pompa Sumur 695. huruf = Mid(huruf, coba1 + 1, Len(huruf) - coba1) 696. coba = InStr(huruf, "M") 697. coba1 = InStr(huruf, "#") 698. coba2 = coba1 - coba 699. dth = Mid(huruf, coba + 1, coba2 - 1) 700. If dth = "0" Then 701. Text5.Text = D 702. Else 703. Text5.Text = E 704. End If 705. m = 1 706. 'Pompa Aerator 707. huruf = Mid(huruf, coba1 + 1, Len(huruf) - coba1) 708. coba = InStr(huruf, "N") 709. coba1 = InStr(huruf, "#") 710. coba2 = coba1 - coba 711. dti = Mid(huruf, coba + 1, coba2 - 1) 712. If dti = "0" Then 713. Text6.Text = D 714. Else 715. Text6.Text = E 716. End If 717. m = 1 718. End If 719. 'Data Tunggal Sensor Suhu 720. If Left(huruf, 1) = "A" Then 721. coba = InStr(huruf, "S") 722. coba1 = InStr(huruf, "#") 723. coba2 = coba1 - coba 724. dta = Mid(huruf, coba + 1, coba2 - 1) 725. Text7.Text = dta 726. m = 1 727. End If 728. 'Data Tunggal Sensor Ph 729. If Left(huruf, 1) = "B" Then 730. coba = InStr(huruf, "P") 731. coba1 = InStr(huruf, "#") 732. coba2 = coba1 - coba 733. dtb = Mid(huruf, coba + 1, coba2 - 1) 734. Text8.Text = dtb 735. m = 1 736. End If 737. 'Data Tunggal Sensor DO 738. If Left(huruf, 1) = "C" Then 739. coba = InStr(huruf, "D") 740. coba1 = InStr(huruf, "#") 741. coba2 = coba1 - coba 742. dtc = Mid(huruf, coba + 1, coba2 - 1) 743. Text9.Text = dtc
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L27 744. m = 1 745. End If 746. 'Data Tunggal Sensor Kekeruhan 747. If Left(huruf, 1) = "D" Then 748. coba = InStr(huruf, "H") 749. coba1 = InStr(huruf, "#") 750. coba2 = coba1 - coba 751. dtd = Mid(huruf, coba + 1, coba2 - 1) 752. Text10.Text = dtd 753. m = 1 754. End If 755. 'Data Tunggal Sensor Konduktifitas 756. If Left(huruf, 1) = "E" Then 757. coba = InStr(huruf, "O") 758. coba1 = InStr(huruf, "#") 759. coba2 = coba1 - coba 760. dte = Mid(huruf, coba + 1, coba2 - 1) 761. Text11.Text = dte 762. m = 1 763. End If 764. 'Simpan Data 765. If Text16.Text = "" Then 766. m = 0 767. End If 768. If m = 1 Then 769. f = 1 770. If Not Adodc1.Recordset.BOF = True Then 771. Adodc1.Recordset.MoveLast 772. g = Adodc1.Recordset.Fields(0) 773. Adodc1.Recordset.AddNew 774. Adodc1.Recordset.Fields(0) = g + f 775. Adodc1.Recordset.Fields(1) = Text1.Text 776. Adodc1.Recordset.Fields(2) = Text2.Text 777. Adodc1.Recordset.Fields(3) = Text7.Text 778. Adodc1.Recordset.Fields(4) = Text8.Text 779. Adodc1.Recordset.Fields(5) = Text9.Text 780. Adodc1.Recordset.Fields(6) = Text10.Text 781. Adodc1.Recordset.Fields(7) = Text11.Text 782. Adodc1.Recordset.Fields(8) = Text3.Text 783. Adodc1.Recordset.Fields(9) = Text4.Text 784. Adodc1.Recordset.Fields(10) = Text5.Text 785. Adodc1.Recordset.Fields(11) = Text6.Text 786. Adodc1.Recordset.Fields(12) = Text18.Text 787. Adodc1.Recordset.Fields(13) = Text19.Text 788. Adodc1.Recordset.Fields(14) = Text20.Text 789. Adodc1.Recordset.Fields(15) = Text21.Text 790. Adodc1.Recordset.Fields(16) = Text22.Text 791. Adodc1.Recordset.Fields(17) = Text23.Text 792. Adodc1.Recordset.Fields(18) = Text24.Text 793. Adodc1.Recordset.Update 794. Else 795. Adodc1.Recordset.AddNew 796. Adodc1.Recordset.Fields(0) = f 797. Adodc1.Recordset.Fields(1) = Text1.Text 798. Adodc1.Recordset.Fields(2) = Text2.Text 799. Adodc1.Recordset.Fields(3) = Text7.Text 800. Adodc1.Recordset.Fields(4) = Text8.Text 801. Adodc1.Recordset.Fields(5) = Text9.Text 802. Adodc1.Recordset.Fields(6) = Text10.Text
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L28 803. Adodc1.Recordset.Fields(7) = Text11.Text 804. Adodc1.Recordset.Fields(8) = Text3.Text 805. Adodc1.Recordset.Fields(9) = Text4.Text 806. Adodc1.Recordset.Fields(10) = Text5.Text 807. Adodc1.Recordset.Fields(11) = Text6.Text 808. Adodc1.Recordset.Fields(12) = 15 809. Adodc1.Recordset.Fields(13) = 30 810. Adodc1.Recordset.Fields(14) = 5 811. Adodc1.Recordset.Fields(15) = 11 812. Adodc1.Recordset.Fields(16) = 3 813. Adodc1.Recordset.Fields(17) = 7 814. Adodc1.Recordset.Fields(18) = 500 815. Adodc1.Recordset.Fields(19) = 5000 816. Adodc1.Recordset.Update 817. End If 818. DataGrid1.Refresh 819. End If 820. End Sub 821. 822. 'Koding Running Teks 823. Private Sub Timer5_Timer() 824. Label25.ForeColor = RGB(Rnd * 250, Rnd * 250, Rnd * 250) 825. If (Label25.Left + Label25.Width) <= 0 Then 826. Label25.Left = Me.Width 827. End If 828. Label25.Left = Label25.Left - 100 829. End Sub 830. Private Sub Timer6_Timer() 831. Z = Z + 1 832. If Z = 5 Then 833. Call tampilgrafik 834. Z = 1 835. End If 836. End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L34
LAMPIRAN E Cara Penggunaan Alat
1. Pasang kabel power ke 220V atau listrik rumah. 2. Pasang kabel USB ke komputer. 3. Pastikan modul Terminal Unit dalam keadaan ON. 4. Pastikan komputer yang digunakan sudah ter-install driver PL2303, karena bila driver blum terinstal tidak akan ada komunikasi antara komputer dengan modul. 5. Jalankan aplikasi GUI visual basic yang sudah tersedia. 6. Koneksikan terlebih dahulu dengan memilih com yang sesuai dengan PL2303 atau USB to TTL. 7. Bila modul Terminal Unit mengirimkan paket data, maka akan ada tulisan terima paket data pada LCD 16x2. 8. Untuk menjalankan Menu masukkan terlebih dahulu pada textbox yang diinginkan kemudian pilih option button yang diinginkan. 9. Setelah itu pilih tombol kirim. 10. Paket data yang dikirim dapat dilihat pada LCD 16x2 modul terminal unit. 11. Grafik akan bergeser dengan sendirinya setiap ada data masuk dan perubahan batasan pada masing-masing sensor. 12. Bila terjadi error pada modul tekan tombol reset didalam minimun sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L35
LAMPIRAN F Proses Pengambilan Data