PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TUGAS AKHIR SISTEM TELEMETRI KUALITAS AIR KOLAM IKAN DENGAN RFM12-433S SEBAGAI CENTRAL UNIT Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Jurusan Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma
disusun oleh: CHRISTIN KARURU NIM : 115114039
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
THE QUALITY OF WATER FISH POOL TELEMETRY SYSTEM WITH RFM12-433S AS CENTRAL UNIT In partial fulfillment of requirements For the degree of Sarjana Teknik In Electrical Engineering Study Program
By:
CHRISTIN KARURU NIM : 115114039
ELECTRICAL ENGINERING STUDY PROGRAM ELECTRICAL ENGINERING DEPARTMENT FACULTY OF SCIENCE AND TECHNOLOGI FACULTY SANATA DHARMA UNIVERSITY YOGYAKARTA 2015
ii
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, 01 Desember 2015
Christin Karuru
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
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, 01 Desember 2015
Christin Karuru
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma: Nama
: Christin Karuru
Nomor Mahasiswa
: 115114039
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:
SISTEM TELEMETRI KUALITAS KOLAM AIR IKAN DENGAN RFM12-433S SEBAGAI CENTRAL UNIT Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 01 Desember 2015
Christin Karuru
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
GOD SAYS, “STOP WORRYING AND JUST TRUST ME.”
Persembahan Karya ini ku persembahkan kepada… Tuhan Yesus Kristus Pembimbingku yang setia. Bapak dan Mamaku tercinta, dan kedua Adikku tersayang. Andre, kekasihku dengan setia membantu dan memotivasi Keluarga XVI oi..oi.. yang selalu mengasihiku dan mendukungku Dan semua orang yang mendoakan dalam penyelesaian Tugas Akhir.
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
INTISARI Pertumbuhan produksi budidaya ikan air tawar merupakan usaha yang menjanjikan keuntungan yang cukup besar. 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. Untuk membudidayakan ikan air tawar, kualitas air menjadi faktor yang paling mendukung dalam perkembangan ikan. Oleh karena itu, penulis bermaksud untuk membuat sistem yang dapat menerima data secara wireless dan memprosesnya menjadi data yang dikehendaki. Sistem ini menggunakan Atmega 8535 untuk komunikasi dengan RFM12-433S dengan komunikasi SPI. Sistem akan menerima data secara wireless dari setiap sensor kemudian data tersebut akan ditampilkan menggunakan Visual Basic untuk User Interface. Data tersebut akan ditampilkan dalam sebuah tabel dan grafik untuk setiap masing-masing sensor. Sistem Telemetri Kualitas Kolam Air Ikan dengan RFM12-433S sebagai Central Unit sudah berhasil dibuat dengan menggunakan 3 pilihan frekuensi dan 3 pilihan kecepatan transfer data. Frekuensi yang digunakan adalah 432MHz, 435MHz dan 437MHz, sedangkan kecepatan transfer data yang digunakan 1kbps, 2kbps dan 5kbps. Sistem ini sudah diuji dengan jarak maksimum pengujian pada jarak 15 meter untuk pengiriman paket data.
Kata kunci: Kualitas air, Kolam ikan, RFM12-433S
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT The production growth cultivation of fish freshwater is a business that promised a sizeable profit. This suggests is of great passion in the community to develop the business of cultivating freshwater fish. Of course the production growth is based on with the market demand that is increasing. To cultivate freshwater fish, the quality of water into factors the most support in the development of fish. Hence, writer mean to keep system that could receive data and a wireless data processing be desired. This system uses ATMEGA8535 for communication with RFM12-433S by communication of SPI. System will receive data is a wireless of any sensors then the data will display use visual basic to a user interface. The data to display in a table and charts for each sensors. System telemetry the quality of a pool of water fish with rfm12-433s as central unit have successfully created by using 3 choice the frequency and 3 choice speed data transfers. Frequencies used is 432Mhz, 435Mhz and 437Mhz, while speed transfer the data used 1Kbps, 2Kbps and 5Kbps. System has been tested with maximum distance testing at a distance 15 meters of package delivery data.
The keywords: Water quality, Fish farm, RFM12-433S.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR Puji dan syukur kepada Tuhan Yesus karena telah memberikan Berkat-Nya sehingga penulis dapat menyelesaiakan laporan tugas akhir dengan baik, dan dapat memperoleh gelar sarjana. Dalam penulisan tugas akhir ini, penulis menyadari tidak lepas dari seluruh bantuan dan bimbingan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis mengucapkan banyak terima kasih kepada : 1.
Tuhan Yesus Kristus atas berkat dan anugerah-Nya kepada penulis.
2.
Ibu P. H. Prima Rosa, S. Si., M. Sc., selaku Dekan Fakultas Sains dan Teknologi Univesitas Sanata Dharma.
3.
Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elektro Universitas Sanata Dharma.
4.
Bapak Pius Yozy Merucahyo, S.T., M.T., selaku dosen pembimbing yang dengan penuh kesabaran membimbing, memberikan saran dan kritik yang membantu penulis dalam menyelesaikan tulisan ini.
5.
Bapak Dr. Linggo Sumarno dan Bapak Wiwien Widyastuti S.T., M.T., selaku dosen penguji yang telah memberikan bimbingan, saran, dan merevisi Tugas Akhir ini
6.
Bapak Martanto, M.T. yang telah memberikan saran dan kritik yang membantu penulis dalam menyelesaikan tulisan ini.
7.
Seluruh dosen prodi Teknik Elektro dan laboran yang telah memberikan ilmu pengetahuan kepada penulis selama kuliah.
8.
Bapak dan Mama tercinta yang selalu mendoakan, terima kasih untuk semua perhatian dan dukungan baik spiritual maupun material.
9.
Andreas Bagus Sadewo, terima kasih dengan setia selalu memberikan bantuan, motivasi dan semangat untuk segera menyelesaikan penulisan tugas akhir ini.
10. Keluarga Barana’ XVI yang selalu mengasihiku dan mendukungku, terima kasih sudah menjadi saudara yang selalu menyemangati. 11. Teman – teman prodi Teknik Elektro angkatan 2011, atas kebersamaannya selama penulis menjalani studi.
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12. Semua pihak yang tidak bisa disebutkan satu persatu atas bantuan, bimbingan, kritik dan saran. Penulis menyadari bahwa dalam penyusunan laporan Tugas Akhir ini masih mengalami kesulitan dan tidak lepas dari kesalahan. Oleh karena itu, penulis mengharapkan masukan, saran, kritikan yang mendukung agar skripsi ini menjadi lebih baik, dan semoga skripsi ini dapat bermanfaat sebagaimana mestinya.
Yogyakarta, 01 Desember 2015
Christin Karuru
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI Halaman HALAMAN JUDUL (Bahasa Indonesia) ............................................................................. i HALAMAN JUDUL (Bahasa Inggris) .................................................................................. ii HALAMAN PERSETUJUAN ............................................................................................... iii HALAMAN PENGESAHAN ................................................................................................. iv PERNYATAAN KEASLIAN KARYA ................................................................................. v LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS .............................................................................................. vi HALAMAN PERSEMBAHAN DAN MOTTO HIDUP………………………….…………vii INTISARI ................................................................................................................................ viii ABSTRACT ............................................................................................................................. ix KATA PENGANTAR ............................................................................................................. x DAFTAR ISI ............................................................................................................................ xii DAFTAR GAMBAR ............................................................................................................... xv DAFTAR TABEL ................................................................................................................... xvii BAB I PENDAHULUAN ......................................................................................................... 1 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........................................................................................................... 4 2.1.
Kualitas Air Kolam Ikan ............................................................................................... 4
2.1.1. Temperatur Air .............................................................................................................. 4 2.1.2. Keasaman Air (pH) ....................................................................................................... 4 2.1.3. Kekeruan ....................................................................................................................... 5 2.1.4. Kandungan Oksigen (DO).............................................................................................. 5 2.2.
Atmega8535 .................................................................................................................. 5
2.2.1. Fitur-fitur Atmega ......................................................................................................... 6 2.2.2. Konfigurasi pin ATMega8535 ...................................................................................... 7 2.2.3. USART (Universal Synchronous and Ansynchronous Serial Receiver xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
and Transmitter) ........................................................................................................... 8 2.2.4. Serial Peripheral Interface ( SPI ) ................................................................................ 8 2.3.
LCD ( Liquid Crystal Display ) ..................................................................................... 11
2.4.
USB to TTL .................................................................................................................. 12
2.5.
RFM12-433S ................................................................................................................. 12
2.6.
Modulasi Digital ........................................................................................................... 13
2.6.1. Modulasi Digital FSK (Frequency Shift Keying) ........................................................... 14 2.6.2. Demodulasi FSK (Frequency Shift Keying) ................................................................. 14 2.7.
Visual Basic .................................................................................................................. 15
2.7.1. Tipe Variabel ................................................................................................................. 15 2.7.2. Operator pada Visual Basic dan Urutan Operasinya ..................................................... 15 2.7.3. Operator Like ................................................................................................................ 16 2.7.4. Deklarasi Variabel ......................................................................................................... 16 2.7.5. Mengenal Struktur Kendali ........................................................................................... 16 2.7.6. Deklarasi Konstanta ...................................................................................................... 17 2.7.7. Struktur Pengulangan .................................................................................................... 18 2.8.
Sistem Pengendali Air Kolam ....................................................................................... 18
BAB III RANCANGAN PENELITIAN ................................................................................ 20 3.1.
Perancangan Perangkat Keras ....................................................................................... 21
3.1.1. Rangkaian Minimum Sistem Atmega 8535 .................................................................. 21 3.1.2. Rangkaian LCD.............................................................................................................. 22 3.2.
Perancangan Perangkat Lunak ...................................................................................... 22
3.2.1. Diagram Alir Program PC.............................................................................................. 22 3.2.2. Diagram Alir Program Mikro......................................................................................... 24 3.2.3. Pengaturan Frekuensi Kerja RFM12 ............................................................................. 25 3.2.4. Prosedur Pengiriman Data dengan RFM12.................................................................... 26 3.2.5. Prosedur Penerimaan Data dengan RFM12 .................................................................. 27 3.2.6. Format Paket .................................................................................................................. 28 3.2.7. Diagram Alir Proses Serial Peripheral Interface (SPI) ................................................. 28 3.2.8. Tampilan data pada PC .................................................................................................. 29 BAB IV HASIL DAN PEMBAHASAN ................................................................................. 32 xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.1.
Bentuk Fisik Central Unit Dan Hardware Elektronik ................................................... 32
4.1.1. Bentuk Fisik Central Unit .............................................................................................. 32 4.1.2. Subsistem Elektonik Alat ............................................................................................... 33
4.2.
Pengujian Alat ............................................................................................................... 35
4.2.1. Pengujian Komunikasi RFM12-433S 1 Arah ................................................................ 35 4.2.2. Pengujian Komunikasi RFM12-433S 2 Arah Secara Bergantian .................................. 39 4.2.3. Pengujian Penerimaan Paket Data ke Remote Unit........................................................ 40 4.2.4. Tampilan Visual Pengguna ............................................................................................ 43
4.3.
Pembahasan Program Pengiriman Dan Penerimaan Data Dari Remote Unit ................ 45
4.4.
Pembahasan Program Visual Basic ................................................................................ 49
4.5.
Cara Mengatur Frekuensi Dan Baudrate yang Akan Digunakan ................................... 51
4.6.
Cara Penggunaan Sistem Secara Keseluruhan ............................................................... 52
BAB V KESIMPULAN DAN SARAN ................................................................................... 53
5.1.
Kesimpulan .................................................................................................................... 53
5.2.
Saran ............................................................................................................................... 53
DAFTAR PUSTAKA ............................................................................................................... 54 LAMPIRAN.............................................................................................................................. 55
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR Halaman Gambar 1.1. Blok Diagram Sistem Telemetri Kualitas ............................................................... 1 Gambar 2.1. Gambar mikrokontroler ATMega8535 ................................................................... 6 Gambar 2.2. Konfigurasi port Atmega8535 ................................................................................ 7 Gambar 2.3. Koneksi Master-Slave dengan SPI .......................................................................... 9 Gambar 2.4. SPI Control Register ............................................................................................... 9 Gambar 2.5. SPI Status Register ................................................................................................ 10 Gambar 2.6. SPI Data Register .................................................................................................. 10 Gambar 2.7. Bentuk fisik LCD 16x2 ......................................................................................... 11 Gambar 2.8. Bentuk fisik USB to TTL ...................................................................................... 12 Gambar 2.9. Konfigurasi Pin RFM12-433S .............................................................................. 13 Gambar 2.10. Sinyal modulasi digital Frequency Shift Keying (FSK) ........................................ 14 Gambar 2.11. Diagram Blok Demodularot FSK .......................................................................... 14 Gambar 3.1. Blok Diagram Sistem Yang Dibuat ....................................................................... 19 Gambar 3.2. Rangkaian Osilator Atmega 8535 ......................................................................... 20 Gambar 3.3. Rangkaian Reset Atmega 8535 ............................................................................. 20 Gambar 3.4. Rangkaian Minimum Sistem Atmega 8535 .......................................................... 21 Gambar 3.5. Rangkain LCD 16x2.............................................................................................. 21 Gambar 3.6. Diagram Alir PC.................................................................................................... 22 Gambar 3.7. Gambar Diagram Alir Program Mikro .................................................................. 24 Gambar 3.8. Diagram Alir Pengiriman Data RFM12 ................................................................ 26 Gambar 3.9. Diagram Alir Penerimaan Data RFM12................................................................ 27 Gambar 3.10. Tampilan 2D Diagram Batang Pengukuran Kualitas Air Kolam Ikan .................. 28 Gambar 3.11. Tampilan 2D Diagram Plot Pengukuran Kualitas Air Kolam Ikan ....................... 28 Gambar 3.12. Tampilan 3D Diagram Plot Pengukuran Kualitas Air Kolam Ikan ....................... 29 Gambar 4.1. Kotak Sistem Tampak Atas ................................................................................... 32 Gambar 4.2. Kotak Sistem Tampak Samping ............................................................................ 33 Gambar 4.3. Kotak Sistem Tampak Belakan ............................................................................. 33 Gambar 4.4. Rangkaian Sistem Mikrokontroler dan LCD karakter .......................................... 34 Gambar 4.5. Rangkaian Penerima dan Antena .......................................................................... 34 xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.6. Rangkaian USB to TTL......................................................................................... 35 Gambar 4.7. Sinyal Diterima Central Unit Untuk Pengiriman 1 Byte dengan Baudrate 1kbps ............................................................................................................................... 36 Gambar 4.8. Sinyal Diterima Central Unit Untuk Pengiriman 1 Byte dengan Baudrate 2kbps ............................................................................................................................... 37 Gambar 4.9. Sinyal Diterima Central Unit Untuk Pengiriman 1 Byte dengan Baudrate 5kbps ............................................................................................................................... 37 Gambar 4.10. Sinyal Diterima Central Unit Dengan Jarak Pengujian 1 Meter ........................... 37 Gambar 4.11. Sinyal Diterima Central Unit Dengan Jarak Pengujian 10 Meter ......................... 38 Gambar 4.12. Sinyal Diterima Central Unit Dengan Jarak Pengujian 20 Meter ......................... 38 Gambar 4.13. Sinyal Diterima Central Unit Dengan Jarak Pengujian 40 Meter ......................... 38 Gambar 4.14. Cara Membaca Sinyal Yang Diterima .................................................................. 39 Gambar 4.15. Sinyal Penerimaan Paket Data Dengan Baudrate 1kbps ...................................... 42 Gambar 4.16. Sinyal Penerimaan Paket Data Dengan Baudrate 2kbps ...................................... 42 Gambar 4.17. Sinyal Penerimaan Paket Data Dengan Baudrate 5kbps ...................................... 42 Gambar 4.18. Tampilan Pada Visual Basic .................................................................................. 43 Gambar 4. 19. Tampilan data tersimpan dalam database ............................................................. 44 Gambar 4.20. Tampilan Utama ................................................................................................... 51 Gambar 4.21. Tampilan Ketika Tombol OK Ditekan .................................................................. 51 Gambar 4.22. Tampilan Ketika Tombol UP Ditekan .................................................................. 52
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL Halaman Tabel 2.1.
Hubungan SCK dan Frekuensi Osilator ................................................................ 10
Tabel 2.2.
Konfigurasi Pin LCD M1632 ................................................................................ 11
Tabel 2.3.
Fungsi Pin RFM12-433S ....................................................................................... 13
Tabel 2.4.
Tipe variabel, pemakaian storage dan jangkauan masing-masing ........................ 15
Tabel 2.5.
Operator pada Visual Basic dan urutan operasi dari atas ke bawah ..................... 16
Tabel 2.6.
Karakter Dalam Pencocokan Pola Pada Operator Like ........................................ 16
Tabel 2.7.
Aksi Pengendalian ................................................................................................. 19
Tabel 3.1.
Format Pengaturan Frekuensi................................................................................ 25
Tabel 3.2.
Format Paket Data ................................................................................................. 28
Tabel 4.1.
Hasil Pengujian RFM12-433S 1 Arah .................................................................. 36
Tabel 4.2.
Hasil Pengujian Pengujian RFM12-433S 2 Arah Bergantian ............................... 40
Tabel 4.3.
Hasil Pengujian Pengiriman Paket Data................................................................ 41
Tabel 4.4.
Format Paket Data ................................................................................................. 45
Tabel 4.5.
Format Paket Data ................................................................................................. 45
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN 1.1.
Latar Belakang Pertumbuhan produksi budidaya ikan air tawar merupakan usaha yang menjanjikan
keuntungan yang cukup besar. Kenaikan produksi budidaya ikan dalam kolam air tawar cukup pesat yaitu berkisar 11% 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.
Untuk
membudidayakan ikan air tawar, kualitas air menjadi faktor yang paling mendukung dalam perkembangan ikan. Banyak ikan yang mati karena kualitas air yang buruk, sehingga produksi ikan pun menjadi menurun dan pengusaha mengalami kerugian yang besar. Perkembangan ilmu pengetahuan dan teknologi telah mengalami percepatan yang tinggi. Keadaan tersebut membuat banyak hal dapat dilakukan dengan lebih mudah dan efisien. Seiring perkembangan teknologi di
dunia elektronika, maka semakin
dikembangkan otomasi dan efisiensi dalam bekerja khususnya untuk kehidupan manusia. Untuk mewujudkan hal tersebut perlu adanya sebuah perangkat elektronika yang dapat memenuhi kebutuhan yang dapat menunjang kemudahan bagi manusia. Berdasarkan hal tersebut, diperlukan sebuah alat yang digunakan untuk monitoring kualitas air kolam ikan. Alat ini terbagi menjadi 3 bagian, yaitu bagian pertama yang tediri dari kolam ikan, sensor, dan pengendali kualitas air, bagian kedua yang terdiri dari remote unit, dan bagian ketiga yeng terdiri dari central unit seperti ditunjukkan pada gambar 1.1.
Gambar 1.1. Blok Diagram Sistem Telemetri Kualitas Kolam Air Ikan
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
Pada sistem ini, penulis lebih berkonsentrasi pada bagian central unit. Banyak penelitian yang sudah membuat sistem untuk memonitoring kualitas kolam air ikan. Salah satu penelitian yang sudah ada dilakukan oleh Charles Wilianto, dalam penelitian berjudul “Sistem Komunikasi Pengendalian Kualitas Air Kolam Ikan Berbasis ATMega 128”. Dalam penelitian yang dilakukan Charles Wilianto apabila cental unit mengirimkan perintah untuk mengambil data ke remote unit, Remote unit mengumpulkan data dari setiap sensor dan disatukan menjadi paket data yang kemudian dikirimkan ke cental unit menggunakan kabel untuk kemudian dipisahkan kembali dan ditampilkan dalam bentuk tabel dan grafik. Metode pengiriman paket data masih secara manual dan mengunakan kabel untuk menghubungkan antara remote unit dengan central unit [1]. Menggunakan konsep penelitian yang sama namun dengan metode yang berbeda, penulis yang berkonsentrasi pada bagian central unit akan menerima paket data secara otomatis dari remote unit dengan menggunakan wireless sebagai penghubung antara remote unit dengan central unit. Setiap 60 menit remote unit akan mengirimkan paket data ke central unit. Paket data tersebut kemudian dipisahkan untuk kemudian diterjemahkan dan ditampilkan di monitor. Paket data yang diterima disimpan ke dalam tabel dan dapat dibuat grafik. Maka, dengan Sistem Telemetri Kualitas Kolam Air Ikan dengan RFM12-433S sebagai central unit, semua data dapat dilihat melalui monitor pada central unit . Sistem ini memudahkan dalam mengontrol dan mengukur kualitas air kolam ikan seperti tingkat derajat keasaman (pH), kekeruhan, kandungan oksigen (DO), dan temperatur.
1.2.
Tujuan dan Manfaat Penelitian Penelitian ini bertujuan untuk menghasilkan suatu sistem untuk menerima data
yang dikirimkan dari remote unit Sistem Telemetri Kualitas Kolam Air Ikan dengan RFM12-433S dan data tersebut akan ditampilkan melalui PC pada central unit. Manfaat dari penelitian adalah memudahkan pemantauan kualitas air kolam ikan sehingga monitoring dapat dilakukan selama 24 jam dan dapat dilakukan dari jarak jauh.
1.3.
Batasan Masalah Batasan masalah dalam penelitian ini adalah :
a.
Menggunakan modul RFM12-433S untuk transceiver dan receiver.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
b.
Menggunakan Atmega 8535 untuk komunikasi dengan RFM12-433S dengan komunikasi SPI.
c.
Menggunakan AVR Codevition untuk program Atmega 8535.
d.
Menggunakan Visual Basic untuk User Interface.
e.
Menggunakan Miccrosoft Access untuk penyimpanan database.
f.
Paket data yang diterima, disimpan di dalam tabel dan dapat dibuat grafik.
g.
Data sensor yang diterima diawali dengan inisial data sensor yang dikirimkan dan diakhiri dengan karakter pagar (#).
h.
Batas pengujian pada ruang terbuka dengan jarak 5 meter, 10 meter, 15 meter.
i.
Frekuensi yang digunakan yaitu 432MHz, 435MHz, dan 437MHz.
j.
Batas pengujian baudrate pada 1kbps, 2kbps, dan 5kbps.
1.4.
Metode Penelitian Metode penulisan yang digunakan adalah :
a.
Studi lineatur berupa pengumpulan referensi buku – buku, referensi dari internet berupa jurnal dan artikel.
b.
Studi kasus terhadap alat yang sudah dibuat sebelumnya. Tahap ini dilakukan guna 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, central unit dapat menerima data yang dikirimkan dari remote unit secara otomatis dengan menggunakan wireless dan ditampilkan pada monitor PC atau laptop.
e.
Analisa dan pengambilan kesimpulan. Analisa data dilakukan dengan memeriksa semua data yang diterima oleh central unit dari remote unit dengan pengiriman data dengan jangkauan jarak yang berbeda 5 meter, 10 meter, 15 meter serta penggunaan frekuensi yang berbeda yaitu 432MHz, 435MHz, dan 437MHz dan baudrate yang berbeda yaitu 1kbps, 2kbps, dan 5kbps.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II DASAR TEORI 2.1.
Kualitas Air Kolam Ikan Secara umum kualitas air berhubungan dengan kandungan bahan terlarut di
dalamnya. Kesesuaian lingkungan hidup untuk setiap ikan berbeda, tergantung pada jenis ikan, jenis ikan tertentu yang sesuai dengan kondisi lingkungan dapat bertumbuh dan berkembang. Sebaliknya, jika keadaan tidak sesuai dapat menghambat pertumbuhan dan perkembangannya. Beberapa faktor dapat mempengaruhi kualitas air. Kualitas air tersebut antara lain temperatur, derajat keasaman (pH), derajat kekeruan, serta kandungan oksigen[1].
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. Perubahan suhu yang mendadak berpengaruh buruk pada kehidupan ikan karena ikan tidak dapat hidup dengan baik pada suhu yang telalu dingin atau terlalu rendah. Temperatur yang cocok untuk pertumbuhan ikan adalah berkisar antara 15ºC - 30ºC dan perbedaan suhu antara siang dan malam kurang dari 5ºC [3].
2.1.2. Keasaman Air (pH) Tingkat keasaman air dinyatakan dalam pH air. Derajat keasaman (pH) adalah salah satu faktor penting kualitas air yang mempengaruhi kesehatan ikan. Derajat keasaman diukur oleh kuantitas hidrogen dan hidroksil yang ada di air kolam. Skala pengukurannya dari 1 – 14. Jika ion hidrogen terlalu banyak maka pH terlalu asam. Sedangkan jika hidroksilnya lebih tinggi maka air terlalu basa. Besarnya pH air yang optimal untuk kehidupan ikan adalah 6.9 – 8 (netral), karena pada kisaran tersebut menunjukkan keseimbangan yang optimal antara oksigen dan karbondioksida serta pada nilai tersebut, berbagai mikroorganisme yang merugikan akan sulit berkembang[4].
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5
2.1.3. Kekeruhan Kecerahan atau tingkat kekeruhan air pada hakekatnya menunjukkan populasi plankton dan kandungan material lainya yang terlarut dalam air, biasanya diukur dengan menggunakan Secci Disk atau Turbidity Meter. Kecerahan yang baik berkisar antara 30 – 40 cm, karena pada kondisi itu populasi plankton cukup ideal untuk pakan alami dan material terlarut cukup rendah[6]. Kecerahan yang ideal juga menunjukkan kondisi air yang baik, karena penurunan kualitas air banyak disebabkan oleh tingginya kadar bahan organik dan anorganik terlarut. Disamping itu, plankton yang terlalu tinggi populasinya menyebabkan tingginya pH pada siang hari dan punurunan drastis kadar DO pada malam hari terutama jika plankton yang dominan adalah phytoplankton[6]. Satuan yang biasa dipakai dalam kekeruhan yaitu NTU (Nephelometric Turbidity Units).Kekeruhan juga sering digambarkan dengan satuan TSS (Total Suspended Solids) atau mg/1 (milligram per liter). Air murni memiliki NTU kurang dari 1 atau 0 mg/1[5]. Standar kekeruhan air yang baik bagi ikan harus kurang dari 500 NTU, karena lebih dari itu dapat mengakibatkan pertumbuhan ikan menjadi terganggu[8].
2.1.4. Kandungan Oksigen (DO) Kekurang kadar oksigen, maka akan menyebabkan kematian ikan. Kandungan oksigen terkait dengan suhu air, sehingga apabila ada kenaikan suhu air, maka kandungan oksigennya turun, dan demikian sebaliknya. Kandungan oksigen terlarut dalam air cocok untuk kehidupan dan pertumbuhan ikan gurami sebesar 5ppm, untuk ikan nila lebih dari 3ppm, ikan mas berkisar 5 – 7ppm (5 – 7cc /liter air)[2]. Pengaliran air yang baik dan permukaan kolam yang selalu terbuka dapat meningkatkan kadar oksigen dalam.
2.2.
Atmega8535 Mikrokontroler ATmega8535 adalah mokrokontroler berjenis RISC 8 bit dengan
delapan kilobyte flash memori, high performance dan low power. Piranti dapat deprogram secara in-system programming (ISP) dan dapat di program berulang-ulang selama 10.000 kali baca/ tulis didalam sistem[7]. Berikut ini gambar Mikrokontroler Atmega8535 ditunjukkan pada gambar 2.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6
Gambar 2.1.Gambar mikrokontroler ATMega8535
ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis arsitektur RISC. Instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughputmendekati 1 MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya rendah.Mikrokontroler ATmega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan[7].
2.2.1. Fitur-fitur Atmega8535 Di dalam Atmega8535 terdapat beberapa fitur, seperti berikut [9]: a.
Saluran I/O sebanyak 32 buah, yaitu Port A,Port B,Port C dan Port D.
b.
ADC 8 channel 10 bit.
c.
Tiga buah Timer/Counter dengan kemampuan pembanding.
d.
CPU yang terdiri atas 32 buah register.
e.
Watchdogtimer dengan osilator internal.
f.
SRAM sebesar 512 byte.
g.
Memori Flash sebesar 8 KB dengan kemampuan Read While Write.
h.
Interrupt internal dan eksternal
i.
Port antarmuka SPI (Serial Peripheral Interface).
j.
EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
k.
Antarmuka komparator analog.
l.
Port USART untuk komunikasi serial.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
2.2.2. Konfigurasi Pin ATMega8535
Gambar 2.2. Konfigurasi port Atmega8535 [7]
Secara umum konfigurasi dan fungsi pin ATMega8535 ditunjukkan pada gambar 2.2 dan dapat dijelaskan sebagai berikut: a.
VCC Input sumber tegangan (+).
b.
GNDGround (-) .
c.
Port A (PA7 … PA0) Berfungsi sebagai input analog dari ADC (Analog to Digital Converter). Port ini juga berfungsi sebagai port I/O dua arah, jika ADC tidak digunakan.
d.
Port B (PB7 … PB0) Berfungsi sebagai port I/O dua arah. Port PB5, PB6 dan PB7 juga berfungsi sebagai MOSI, MISO dan SCK yang dipergunakan pada proses downloading.
e.
Port C (PC7 … PC0) Berfungsi sebagai port I/O dua arah. Fungsi lain port ini selengkapnya bisa dibaca pada buku petunjuk ”AVR ATMega8535”
f.
Port D (PD7 … PD0) Berfungsi sebagai port I/O dua arah. Port PD0 dan PD1 juga berfungsi sebagai RXD dan TXD, yang dipergunakan untuk komunikasi serial.
g.
RESET Inputreset.
h.
XTAL1 Input ke amplifier inverting osilator dan input ke sirkuit clockinternal.
i.
XTAL2 Output dari amplifier inverting osilator.
j.
AVCC Input tegangan untuk PortA dan ADC.
k.
AREF Tegangan referensi untuk ADC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8
2.2.3. USART (Universal Synchronous and Ansynchronous Serial Receiver and Transmitter) USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART. USART memungkinkan transmisi data baik secara syncrhronous maupun asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan UART. Pada ATmega8535, secara umum pengaturan mode syncrhronous maupun asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock saja. Jika pada mode asyncrhronous masing-masing peripheral memiliki sumber clock sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang digunakan secara bersama-sama. Dengan demikian, secara hardware untuk mode asyncrhronous hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk mode syncrhronous harus 3 pin yaitu TXD, RXD dan XCK. Komunikasi serial data antara master dan slave pada SPI diatur melalui 4 buah pin yang terdiri dari SCLK, MOSI, MISO, dan SS sbb: 1. SCLK dari master ke slave yang berfungsi sebagai clock. 2. MOSI jalur data dari master dan masuk ke dalam slave. 3. MISO jalur data keluar dari slave dan masuk ke dalam master. 4. SS (slave select) merupakan pin yang berfungsi untuk mengaktifkan slave.
2.2.4. Serial Peripheral Interface ( SPI ) Serial Peripheral Interface ( SPI ) adalah protokol data serial sinkron digunakan oleh mikrokontroler untuk berkomunikasi dengan satu atau lebih perangkat periferal cepat jarak pendek. Hal ini juga dapat digunakan untuk komunikasi antara dua mikrokontroler. Dengan koneksi SPI selalu ada perangkat satu master (biasanya mikrokontroler) yang mengontrol perangkat periferal Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, MISO, dan SCK. Melalui komunikasi ini data dapat saling dikirimkan baik antara mikrokontroller maupun antara mikrokontroller dengan peripheral lain di luar mikrokontroller. Penjelasan 3 jalur utama dari SPI adalah sebagai berikut : 1.
MOSI : Master Output Slave Input, yaitu jika dikonfigurasi sebagai Master maka pin MOSI sebagai output tetapi jika dikonfigurasi sebagai Slave maka pin MOSI sebagai input.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9
2.
MISO : Master Input Slave Output, yaitu jika dikonfigurasi sebagai Master maka pin MISO sebagai input tetapi jika dikonfigurasi sebagai Slave maka pin MISO sebagai output.
3.
CLK : Clock, jika dikonfigurasi sebagai Master maka pin CLK berlaku sebagai output tetapi jika dikonfigurasi sebagai Slave maka pin CLK berlaku sebagai input.
Ada dua maca SPI, yaitu satu master dengan satu slave dan satu master dengan banyak slave. Pada gambar 2.3 ditunjukkan sambungan antar master dan slave dengan SPI.
Gambar 2.3. Koneksi Master-Slave dengan SPI [7]
Register yang berhubungan dengan SPI terdapat seperti gambar 2.4.
Gambar 2.4. SPI Control Register [7]
Setiap bit dari register SPCR mempunyai fungsinya masing-masing. Dan untuk mengaktifkan SPI, maka perlu diketahui setiat bit register tersebut, sebagai berikut:
a.
Bit 7 – SPIE: SPI Interrupt Enable. SPIE digunakan untuk mengaktifkan interupsi SPI.
b.
Bit-6 SPE (SPI Enable). SPE digunakan untuk mengaktifkan dan menonaktifkan komunikasi SPI dimana jika SPI bernilai 1 maka komunikasi SPI aktif sedangkan jika bernilai 0 maka komunikasi SPI tidak aktif.
c.
Bit 5 – DORD: Data Order. DORD digunakan untuk memilih urutan pengiriman data, dari LSB atau MSB terlebih dahulu. Nilai satu untuk LSB dan nilai nol untuk MSB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
d.
Bit-4 MSTR (Master or Slave Select). MSTR digunakan untuk mengkonfigurasi sebagai master atau slave secara software dimana jika MSTR bernilai 1 maka terkonfigurasi sebagai master sedangkan MSTR bernilai 0 maka terkonfigurasi sebagai slave. Pengaturan bit MSTR ini tidak akan bisa dilakukan jika pin SS dikonfigurasi sebagai input karena jika pin SS dikonfigurasi sebagai input maka penentuan master atau slavenya otomatis dilakukan secara hardware yaitu dengan membaca level tegangan pada SS.
e.
Bit-3 CPOL dan Bit-2 CPHA digunakan untuk pengaturan polaritas dan fasa dari clock.
f.
Bit-1 SPR1/0 (SPI Clock Rate Select) SPR1 dan SPR0 digunakan untuk menentukan kecepatan clock yang digunakan dalam komunikasi SPI. Tabel 2.1. Hubungan SCK dan Frekuensi Osilator [7] SPI2x 0 0 0 0 1 1 1 1
SPR1 0 0 1 1 0 0 1 1
SPR0 0 1 0 1 0 1 0 1
SCK Frequency 4 16 64 128 2 8 32 64
Gambar 2.5. SPI Status Register [7] SPIF (SPI Interrupt Flag) merupakan bendera yang digunakan untuk mengetahui bahwa proses pengiriman data 1 byte sudah selesai. Jika proses pengiriman data sudah selesai maka SPIF akan bernilai satu (high). SPIF ini berada dalam SPI Status Register (SPSR).
Gambar 2.6. SPI Data Register [7]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11
SPI Data Register (SPDR) SPDR merupakan register yang digunakan untuk menyimpan data yang akan dikirim atau diterima pada komunikasi SPI.
2.3.
LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) adalah komponen yang berfungsi untuk
menampilkan suatu karakter pada suatu tampilan (display) dengan bahan utama yang digunakan berupa Liquid Crystal Display[11].Apabila diberi arus listrik sesuai dengan jalur yang telah dirancang pada kontruksi LCD, Liquid Crystal Display akan menghasilkan suatu cahaya dan cahaya tersebut akan membentuk karakter tertentu. LCD yang digunakan adalah tipe M1632.LCD M1632 merupakan modul LCD dengan tampilan 2x16 (2 baris, 16 kolom) dengan konsumsi daya rendah[10]. LCD tipe M1632 yang ditunjukkan pada gambar 2.7
. Gambar 2.7. Bentuk fisik LCD 16x2 [10]
Tabel 2.2. Konfigurasi Pin LCD M1632 No. 1 2 3 4
Nama Vss Vcc VLC RS
5
RD
6 7 8 9 10 11 12 13 14 15 16
EN D0 D1 D2 D3 D4 D5 D6 D7 V+ BL V- BL
Fungsi 0V (GND) +5V LCD Contrast Voltage Register Select H: Data Input; L: Instruction Input Read/Write H: Read; L: Write Enable Signal
Data Bus
Positif backlight voltage (4-4,2V; 50-200mA) Negative backlight voltage (0V; GND)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12
2.4.
USB to TTL USB to TTL adalah sebuah modul yang berguna untuk berkomunikasi dengan
peralatan eksternal dengan port USB (Universal Serial Bus) secara serial seperti pada protokol RS-232 namun pada tingkatan tegangan signal yang kompatibel dengan TTL, level tegangan yang umum digunakan pada UART mikrokontroler berbasis 5V[14]. Modul ini memiliki beberapa fitur seperti berikut: a.
Spesifikasi USB 2.0 dan kompatibel dengan kecepatan sampai 12Mbps.
b.
Standar USB jenis Amale dan TTL 5pin konektor. 5pins untuk TXD RXD GND 3.3V 5V.
c.
Baud rates: 300 bps to 1.5 Mbps.
d.
Byte receive buffer; 640 byte transmit buffer.
e.
Temperature Range: -40 to +85.
f.
Supports Windows 98SE, 2000, XP, Vista, Window7, Mac OS 9, Mac OS X & Linux 2.40.
Berikut bentuk fisik dari USB to TTL ditunjukkan pada gambar 2.8.
Gambar 2.8. Bentuk fisik USB to TTL[14].
2.5.
RFM12-433S RFM12-433S merupakan modul transceiver yang menggunakan modulasi
Frequency Shift Keying dengan menggunakan frekuensi kerja 433 Mhz [13]. Karena modul ini merupakan transceiver maka modul ini bisa dioperasikan menjadi transmitter maupun sebagai receiver. Untuk koneksi pin RFM12-433S pada dapat dilihat pada gambar 2.9. Fungsi setiap pinnya dapat dilihat pada table 2.3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13
Gambar 2.9. Konfigurasi Pin RFM12-433S [12]
Tabel 2.3. Fungsi Pin RFM12-433S [12] Definisi
Fungsi Input interupsi (aktif rendah) / indikator data nINT/VDI DI/ DO benar VDD S Positif power supply SDI DI SPI data input SCK DI SPI clock input nSel DI Chip select (aktif rendah) SDO DO Serial data output dengan bus nIRQ DO Intereups request output (aktif rendah) Transmit FSK data input/ Received data FSK/DATA/Nffs DI/DO/DI output (FIFO not used)/ FIFO select Clock output (no FIFO )/ external filter capacitor(analog mode)/ FIFO DCLK/CFIL/FFIT DO/AIO/DO interrupts(active high)when FIFO level set to 1, FIFO empty interruption can be achieved CLK DO Clock output for external microcontroler nRES DIO Reset output (active low) GND S Power ground
2.6.
Tipe
Modulasi Digital Modulasi Digital merupakan proses penumpangan sinyal digital (bit stream) ke
dalam sinyal carrier. Modulasi digital sebetulnya adalah proses mengubah-ubah karakteristik dan sifat gelombang pembawa (carrier) sedemikian rupa sehingga bentuk hasilnya (modulated carrier) memiliki ciri-ciri dari bit-bit (0 atau 1) yang dikandungnya. Melalui proses modulasi digital sinyal-sinyal digital setiap tingkatan dapat dikirim ke penerima dengan baik. Untuk pengiriman ini dapat digunakan media transmisi fisik (logam atau optik) atau non fisik (gelombang-gelombang radio). Pada dasarnya dikenal 3 prinsip
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14
atau sistem modulasi digital yaitu: ASK, FSK, dan PSK, pada makalah ini dikhususkan pembahasan pada sistem modulasi FSK dan demodulasi FSK[13].
2.6.1. Modulasi Digital FSK (Frequency Shift Keying) Modulasi Digital FSK (Frequency Shift Keying) merupakan sejenis Frequency Modulation (FM), dimana sinyal pemodulasinya (sinyal digital) menggeser outputnya antara dua frekuensi yang telah ditentukan sebelumnya, yang biasa diistilahkan mark dan space. Modulasi digital dengan FSK juga menggeser frekuensi carrier menjadi beberapa frekuensi yang berbeda didalam band-nya sesuai keadaan digit yang dilewatkannya. Jenis modulasi ini tidak mengubah amplitudo dari signal carrier, melainkan yang berubah hanya frekuensi. Adapun bentuk sinyal modulasi digital Frequency Shift Keying (FSK) adalah sebagai berikut :
Gambar 2.10. Sinyal modulasi digital Frequency Shift Keying (FSK).
2.6.2. Demodulasi FSK (Frequency Shift Keying) Konsep dasar Demodulasi adalah proses pemisahan sinyal antara sinyal pembawa (carrier) dengan sinyal data yang dikirim oleh suatu pemancar. Frekuensi gelombang pembawa menggeser outpunyta dimana pulsa sinusoidal dengan frekuensi tertentu mewakili logika 0 atau disebut frekuensi mark (fm) dan pulsa sinusoidal dengan frekuensi lainnya mewakili logika 1 atau yang disebut frekuensi space (fs). Demodulator ini berada pada sisi penerima untuk melakukan proses pemisahan sinyal tersebut, sehingga data yang diterima dapat sesuai dengan data yang dikirim sebelumnya.
Gambar 2.11. Diagram Blok Demodularot FSK
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15
2.7.
Visual Basic 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.
2.7.1. Tipe Variabel Ketepatan pemilihan tipe variabel akan sangat menentukan pemakaian resources oleh aplikasi yang dihasilkan, adalah tugas programmer untuk memilih tipe yang sesuai untuk menghasilkan program yang efisien dan berperfomance tinggi [12]. Tabel 2.4. Tipe variabel, pemakaian storage dan jangkauan masing-masing Type Data Byte Boolean Integer Long Single
Ukuran Storage 1 byte 2 byte 3 byte 4 byte 4 byte
Double
8 byte
Currency
8 byte
Decimal
14 byte
Date Object String (panjang variabel) String (panjang tetap) Variant (dengan angka)
8 byte 4 byte 10 byte + panjang string panjang dari string 16 byte
Variant (dengan karakter)
22 byte + panjang string
Jangkuan 0 s/d 255 True atau False -32,768 s/d 32767 -2,147,483,648 s/d 2,147,483,647 -3.402823E38 s/d -1.401298E-45 (-) 1.401298E-45 s/d 3.402823E38 (+) -1.79769313486232E308 s/d 4.94065645841247E-324 (-) -922,337,203,685,477.5808 s/d 922,337,203,685,477.580 +/79,228,162,514,264,337,593,543,95 0,335 1 Januari 100 s/d 31 Desember 9999 Mengacu pada objek tertentu 0 sampai lebih kurang 2 milyar 1 sampai lebih kurang 65,400 Sembarang angka sampai jangkauan jenis Double Sama dengan jangkauan variabel String
2.7.2. Operator pada Visual Basic dan Urutan Operasinya Visual basic meyediakan operator aritmatika, komparasi dan logika, salah satu hal yang harus dipahami oleh programmer adalah tata urutan operasi dari masing-masing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16
operator tersebut sehingga mampu membuat ekspresi yang akan menghasilkan nilai yang benar, Tabel 2.5 menunjukkan operator dan urutan operasinya dari atas kebawah. Tabel 2.5.Operator pada Visual Basic dan urutan operasi dari atas ke bawah Aritmatika Pangkat (^) Negatif (-) Kali dan Bagi (*, /) Pembagian bulat (\) Sisa Bagi (Mod) Tambah dan Kurang (+,-) Pengabungan String (&)
Komparasi Sama (=) Tidak sama (<>) Kurang dari (<) Lebih dari (>) Kurang dari atau sama (<=) Lebih dari atau sama (>=) Like
Logika Not And Or Xor Eqv Imp
2.7.3. Operator Like Salah satu operator yang menarik untuk dibahas adalah operator like, karena operatorini tidak tersedia pada bahasa BASIC. Operator digunakan untuk operasi pencocokan polapada string yang akan sangat membantu programmer. Tabel 2.6. menunjukan karakter dalampencocokan pola pada operator like. Tabel 2.6. Karakter Dalam Pencocokan Pola Pada Operator Like Karakter dalam pola ? * # [charlist] [!charlist]
Penyamaan dalam string Sembarang karakter tunggal Nol atau lebih karakter Sembarang digit tunggal (0-9) Sembarang karakter yang berada dalam charlist Sembarang karakter yang tidak berada dalam charlist
2.7.4. Deklarasi Variabel a. Deklarasi variabel pada bagian deklarasi (general declaration) di suatu form, standar, atau class module, dari pada dalam suatu procedure, membuat variabel itu berlaku untuk semua procedure dan function dalam module tersebut b. Deklarasi variabel dengan menggunakan keyword Public membuatnya berlaku pada keseluruhan aplikasi anda. c. Deklarasi suatu variabel lokal dengan menggunakanan keyword Static akan menyimpan nilainya ketika suatu procedure berakhir.
2.7.5. Mengenal Struktur Kendali Struktur kendali memungkinkan anda untuk mengatur jalannya program anda, Jika membiarkan tanpa di periksa oleh statement control-flow, suatu logika program akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17
berjalan dari kiri ke kanan dan dari atas kebawah. Hanya program yang sangat sederhana dapat ditulis tanpa statement control-flow. Struktur keputusan yang didukung oleh Visual Basic adalah sebagai berikut : a. If…Then Kondisi biasanya berupa suatu perbandingan, maupun ekspresi yang menghasilkan nilai numerik.Visual Basic menginterpretasikan Falsesebagai nol (0), dan True sebagai bukan nol. b. If…Then…Else Visual Basic awalnya akan mencoba kondisi1. Jika False, maka Visual Basic akan memeriksa kondisi2, dan seterusnya sampai menemukan suatu kondisi True untuk dijalankan blok pernyataannya. c. Select Case Visual Basic menyediakan struktur Select Case sebagai suatu alternatif terhadap If...Then...Else.Suatu Select Case statement memiliki kemampuan yang sama dengan If…Then…Else…, tetapi membuat code lebih mudah dibaca. Struktur Select Case bekerja dengan suatu percobaan tunggal yang hanya dievaluasi satu kali pada bagian atas struktur.Visual Basic then membandingkan hasil ekspresi dengan nilai pada setiap case didalam struktur tersebut, jika ada yang sesuai, akan dijalankan blok statement yang sesuai.
2.7.6. Deklarasi Konstanta Membuat code dapat ditangani dengan menggunakan suatu konstanta[12]. Suatu konstanta adalah nama yang menyimpan dari suatu nilai yang tidak dapat berubah. Ada dua sumber dari suatu konstanta : a. Intrinsic atau System-defined konstanta yang disediakan oleh suatu aplikasi atau kontrol. Konstanta Visual Basic terdaftar pada Visual Basic (VB), Visual Basic for Application (VBA), dan Data Access (DAO). b. Symbolic
atau
User-defined
konstanta
adalah
dideklarasikan
dengan
menggunakan statement Const. c. Membuat suatu konstanta yang mana hanya ada dalam suatu procedure, deklarasikan di dalam procedure tersebut d. Membuat suatu konstanta berlaku pada semua procedure dalam suatu module, deklarasikan dia pada bagian deklarasi di module tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18
e.
Membuat suatu konstanta berlaku pada semua aplikasi, deklarasikan dia dengan keyword Public sebelum kata Const.
2.7.7. Struktur Pengulangan Struktur loop memperbolehkan untuk melaksanakan sekelompok baris lebih dari satu kali [12]: a. Do…Loop Ketika Visual menjalankan Do loop ini, pertama kali akan di coba kondisinya, jika kondisi False (0), akan diloncati semua statements yang mengikuti kondisi tersebut. Visual Basic akan menjalankan statements jika kondisi benar dan kembali ke Do…Loop berikutnya. b. For…Next Do loops bekerja dengan baik, ketika anda tidak tahu berapa bayak kali untuk butuhkan untuk menjalankan statement. Ketika anda mengetahui harus menjalankan statement sejumlah kali, bagaimanapun For…Next adalah pilihan yang lebih baik. Tidak seperti Do Loop, For…loop menggunakan suatu variabel yang disebut counter yang mana akan bertambah atau berkurang pada setiap perulangan. c. Do While…Loop Pengulangan Do While…Loop digunakan apabila jumlah pengulangan belum diketahui, dan nilai awal pengulangan harus diinialisasi terlebih dahulu. Dalam program terdapat counter untuk menaikkan nilai pengulangan.
2.8.
Sistem Pengendali Air Kolam Sistem pengendalian kualitas air terdiri dari pintu masuk air kolam, pintu keluar air
kolam dan pompa air. Sistem ini akan bekerja pada remote unit berdasarkan data sensor yang didapatkan dan standar yang telah ditentukan. Setiap jenis ikan memiliki perbedaan standar kualitas air, maka ditetapkan standar air yang dikendalikan sistem ini. Hal ini ditetapkan agar sistem dapat digunakan untuk semua jenis ikan seperti pada tabel 2.7. Pada tabel tersebut juga ditentukan aksi pengendalian berdasarkan standar yang ditentukan [13];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19
Tabel 2.7. Aksi Pengendalian Kualiatas Yang diamati Suhu
pH
Kekeruhan
DO
Standar air 18-28 ºC
5-8,5
<380 NTU
> 5 ppm
Aksi Pengendalian Jika suhu air kolam >28 ºC atau <18 maka: - Inlet off (pintu masuk air tertutup) - Outlet on (pintu keluar air terbuka) - 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 (pintu masuk air tertutup) - Outlet on (pintu keluar air terbuka) - Pompa sumur on Dengan asumsi PH air sumur selalu berada diantara 5 – 8,5 Jika kekeruhan air kolam >380 NTU maka: - Inlet off (pintu masuk air tertutup) - Outlet on (pintu keluar air terbuka) - Pompa sumur on Dengan asumsi kekeruhan air sumur < 380 NTU Jika DO air kolam < 5ppm maka: -Inlet off (pintu masuk air tertutup) - Outlet on (pintu keluar air terbuka) - Pompa sumur on
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III RANCANGAN PENELITIAN Perancangan sistem telemetri kualitas kolam air ikan sebagai central unit ini dibagi menjadi menjadi dua bagian utama, yaitu: 1.
Perancangan hardware yang terdiri dari mikrokontroler dan perangkat pendukung, seperti minimum sistem atmega 8535, dan LCD. Gambar 3.1 menunjukkan blok diagram sistem yang akan dibuat.
2.
Perancangan software yang terdiri dari pemograman pc, dan pemograman mikro.
Gambar 3.1. Blok Diagram Sistem Yang Dibuat. Berikut merupakan keterangan cara kerja sistem yang ditunjukkan gambar 3.1: 1.
RFM12-433S merupakan sebuat transmitter wireless yang bekerja pada frekuensi 433MHz. Pada central unit alat ini berfungsi sebagai penerima data secara wireless yang kemudian diteruskan ke atmega8535.
2.
Atmega 8535 berfungsi sebagai media perantara untuk mentransmisikan data yang diterima RFM12-433S yang kemudian akan diteruskan dan ditampilkan di PC.
3.
USB to TTL berfungsi untuk media komunikasi antara mikro dengan ke PC menggunakan port USB.
4.
Secara keseluruhan, RFM12-433S menerima data secara wireless kemudian data tersebut diteruskan ke atmega8535 dengan komunikasin SPI agar data tersebut dapat diteruskan ke PC. Sebelum dikirimkan ke PC, data tersebut ditampilkan ke LCD dan kemudian dikirimkan ke PC melalui USB to TTL. Setelah data di terima di PC, data tersebut dipisahkan untuk setiap sensornya dan kemudian ditampilkan dalam bentuk tabel dan grafik.
20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21
3.1.
Perancangan Perangkat Keras
3.1.1. Rangkaian Minimum Sistem Atmega 8535 Rangkaian sistem minimum berfungsi sebagai I/O untuk mengolah data dan mengatur komunikasi untuk transmitter dan komunikasi ke PC. Mikrokontroler membutuhkan sistem minimum yang terdiri dari rangkaian eksternal yaitu, rangkaian osilator dan rangkaian reset. Rangkaian osilator ditunjukkan pada gambar 3.2. Perancangan rangkaian osilator digunakan kristal dengan frekuensi 12Mhz dan menggunakan kapasitor 22pF (datasheet) pada pin XTAL 1 dan XTAL 2 di mikrokontroler.
Gambar 3.2. Rangkaian Osilator Atmega 8535. Gambar 3.6 menunjukkan rangkaian reset mikrokontroler ATmega8535. Rangkaian reset bertujuan untuk memaksa proses kerja pada mikrokontroler diulang dari awal. Jika tombol reset ditekan, maka pin reset akan mendapat input logika rendah, sehingga mikrokontroler akan mengulang proses eksekusi program dari awal. Pada perancangan rangkaian reset digunakan resistor sebesar 10kΩ dan kapasitor sebesar 10µF berdasarkan gambar 3.3.
Gambar 3.3. Rangkaian Reset Atmega 8535. Untuk pengunaan port mikrokontroler disambungkan dengan pin-header male sehingga bisa digunakan sesuai kebutuhan dan mudah untuk dirubah. Berikut rangkaian minimum sistem Atmega 8535 ditunjukkan pada gambar 3.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22
Gambar 3.4. Rangkaian Minimum Sistem Atmega 8535
3.1.2. Rangkaian LCD LCD yang digunakan pada perancangan ini adalah LCD character 16x2 yang berfungsi untuk menampilkan data yang diterima dari pemancar sebelum dikirim ke PC. Berdasarkan datasheet tegangan kontras (pin Vo) maksimum LCD ini adalah 5 volt, sehingga digunakan sebuah variable resistor sebesar 10 kOhm yang digunakan untuk membatasi tegangan pada pin ini. Rangkaian LCD character 16x2 ditunjukkan pada gambar 3.5.
Gambar 3.5. Rangkain LCD 16x2
3.2.
Perancangan Perangkat Lunak
3.2.1. Diagram Alir Program PC Diagram alir utama ditunjukkan pada gambar 3.6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
Gambar 3.6. Diagram Alir PC
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24
Diagram alir ini bekerja pada PC yang berfungsi untuk mengolah semua data yang masuk dan menampilkannya pada PC dalam bentuk tabel dan grafik. PC tidak dapat langsung menerima data yang diterima melalui RFM12 karena modul menggunakan sistem komunikasi SPI sehingga dibutuhkan sebuah mikrokontroler sebagai jembatan komunikasi untuk menerima data dari RFM12 ke PC. Sebelum mengirimkan data, remote unit mengirimkan karakter “p” ke central unit untuk memeriksa koneksi dan kesiapan dari central unit untuk menerima data, apabila central unit siap untuk menerima paket data central unit mengirimkan karakter “y”, setelah remote unit menerima karakter “y”, remote unit mengirimkan paket data yang berisi data yang diambil dari setiap sensor. Setiap paket data memiliki 46 karakter, dimana data tersebut diawali karakter “@” dan diakhiri dengan karakter “$”. Untuk memeriksa paket data yang dikirimkan benar atau salah, central unit memeriksa jumlah data yang diterima dan mememeriksa karakter pertama dan terakhir. Jika paket data yang diterima berjumlah 46 karakter, diawali dengan karakter “@” dan diakhiri dengan karakter “$”, maka paket data dianggap benar. Jika paket data yang diterima benar, central unit mengirimkan karakter “y” ke remote unit untuk memberikan kode pengiriman paket data berhasil, tetapi apabila central unit tidak mengirimkan karakter “y” setelah menerima paket data, remote unit akan menganggap pengiriman paket data gagal sehingga data yang dikirimkan di simpan dan akan dikirimkan kembali setelah jadwal pengiriman selanjutnya.
3.2.2. Diagram Alir Program Mikro Diagram alir program ditunjukkan pada gambar 3.7. Program ini sebagai converter data yang akan dikirimkan dan diterima oleh PC dan transmitter agar dapat beroperasi karena komunikasi yang digunkan berbeda. Mikro akan memeriksa register mana yang menerima data terlebih dahulu, apabila register SPI yang menerima terlebih dahulu, maka ada data dari transmitter. Data tersebut diambil dan ditampilkan pada LCD, kemudian data tersebut dikirimkan ke PC, tetapi pabila register USART yang terlebih dahulu menerima data, maka ada data dari PC. Sehingga Data tersebut diambil dan ditampilkan pada LCD, kemudian data tersebut dikirimkan ke transmitter.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25
Gambar 3.7. Gambar Diagram Alir Program Mikro.
3.2.3. Pengaturan Frekuensi Kerja RFM12 Pengaturan frekuensi kerja RFM12 (baik pancar maupun terima) menggunakan perintah “Frequency Setting Command”. Instruksi ini memiliki format : Tabel 3.1. Format Pengaturan Frekuensi [13] Bit Data
15 1
14 0
13 1
12 0
11
10
9
8 7 6 5 4 F, menyatakan frekuensi
3
2
Nilai F ditentukan melalui persamaan [13]: MHz
(3.1)
Frekuensi yang akan digunakan adalah 432 MHz, dari persamaan 3.1. dapat dihitung untuk mencari nilai F seperti berikut:
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26
Nilai F yang didapat dirubah ke dalam bentuk heksadesimal menjadi:
Nilai heksadesimal yang didapat dimasukkan ke dalam register “Frequency Setting Command” untuk mengatur frekuensi yang digunakan.
3.2.4. Prosedur Pengiriman Data dengan RFM12 Prosedur pengiriman data melibatkan instruksi “Power Management Command” dan “Transmitter Register Write Command”. “Power Management Command” berfungsi menghidupkan dan mematikan komponen – komponen pemancar RF pada RFM12. ”Transmitter Register Write Command” berfungsi mengirimkan satu byte data ke register data pemancar pada RFM12. Prosedur pengiriman data dimulai dengan menghidupkan bagian pemancar menggunakan instruksi “Power Management Command” dengan nilai 0x8238. Instruksi dengan nilai tersebut akan menghidupkan penguat daya RF (Radio Frequency), dan osilator. Selanjutnya, lima paket data pembuka dikirim secara urut sesuai datasheet : 0xB8AA, 0xB8AA, 0xB8AA, 0xB82D dan 0xB8D4. Kemudian satu byte data dikirim menggunakan perintah “Transmitter Register Write Command” yaitu dengan melakukan operasi OR antara bilangan heksadesimal 0xB800 dengan data yang bersangkutan. Langkah ini dapat diulangi jika data yang dikirim berjumlah lebih dari satu byte. Jika data sudah dikirim semuanya, prosedur ditutup dengan mematikan pemancar menggunakan perintah 'Power Management Command' dengan nilai 0x8208. Instruksi dengan nilai tersebut akan mematikan penguat daya RF, dan osilator. Untuk pengujian frekuensi yang digunakan adalah 432MHz, 435MHz dan 437MHz. Frekuensi tersebut dipilih karena penulis ingin menguji frekuensi kerja dari modul RFM12-433S pada batas atas, batas tengah dan batas atas dari modul tersebut. Dan untuk baudrate yang digunakan adalah 1kbps, 2kbps dan 5kbps. Diagram alir prosedur pengiriman data ditampilkan pada Gambar 3.8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27
Gambar 3.8. Diagram Alir Pengiriman Data RFM12
3.2.5. Prosedur Penerimaan Data dengan RFM12 Prosedur penerimaan data melibatkan tiga instruksi. “Power Management Command” berfungsi menghidupkan dan mematikan komponen – komponen penerima RF dari RFM12. “FIFO dan Reset Mode Command' berfungsi mengatur pemakaian register data FIFO. “Receiver FIFO Read Command” berfungsi menerima satu byte data yang ditampung pada register FIFO. Prosedur penerimaan data dimulai dengan menghidupkan komponen – komponen penerima meliputi RF, baseband, dan osilator. Hal ini dilakukan menggunakan instruksi 'Power Management Command' dengan nilai 0x82C8. Mode FIFO diatur dan FIFO diaktifkan menggunakan perintah 'FIFO and Reset Mode Command' dengan nilai 0xCA81 dan 0xCA83. Pengambilan data dilakukan pada register FIFO menggunakan instruksi “Receiver FIFO Read Command”. Hal ini dilakukan dengan mengirimkan nilai 0xB000 dan menampung data kembalian dari RFM12. Untuk data yang hendak diterima berjumlah lebih dari satu byte langkah diatas bisa diulangi sampai semua data diterima. Terakhir, setelah data selesai dikirimkan, prosedur diakhiri dengan mematikan komponen – komponen penerima menggunakan instruksi Power Management Command' dengan nilai 0x8208. Diagram alir prosedur penerimaan data tampak pada Gambar 3.9.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28
Gambar 3.9. Diagram Alir Penerimaan Data RFM12
3.2.6. Format Paket Data Jumlah karakter di dalam paket data sebanyak 46 karakter, karakter tersebut terdiri dari nomor penyimpanan, tanggal, jam, penggabungan 4 data sensor, dan status dari sistem pengendali. Format data tersebut disesuaikan dengan kebutuhan dan sesuai dengan yang dibutuhkan oleh remote unit, berikut format data di dalam paket data: @01#dd-MM-yyyy#HH:mm#Saaaa#Kbbbb#Hcccc#Ddddd#$ Dari format paket data tersebut bisa dijelaskan pada tabel 3.2 seperti berikut: Tabel 3.2. Format Paket Data
Jumlah karakter
Nomor penyimpanan
Tanggal
Waktu
Suhu
2
10
5
5
Keasaman Kekeruhan DO 5
5
5
3.2.7. Diagram Alir Proses Serial Peripheral Interface (SPI) Diagram alir program ditunjukkakan pada gambar 3.10. Pengiriman pemancar menggunakan proses SPI yang membutuhkan pergeseran. Dimana satu data terdiri dari 16 bit sehingga tiap satu data menghasilkan 16 clock. Setiap data yang masuk akan dimaksukkan terlebih dahulu ke variabel “writeCmd”. Cmd merupakan tempat untuk penyimpanan data. Terlebih dahulu pemancar diaktifkan kemudian clock diatur low (clock = 0). Ketika isi cmd pertama tersebut berisi 0x800 yang berarti ada data masuk. Jika isi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29
cmd pertama tidak ada data maka clock diatur = 0, kirim data, kemudian geser data ke kiri 1 kali. Langkah ini terjadi hingga counter melewati 16 kali maka proses akan selesai jika, Namun jika isi cmd pertama ada data maka clock diatur = 0, simpan data ke cmd, geser data cmd ke kiri 1 kali, kemudian clock kembali diatur = 0. Proses ini akan selesai sampai tidak adanya data yang diterima.
Gambar 3.10. Diagram Alir Proses SPI
3.2.8. Tampilan data pada PC Central Unit menerima data masukan dimana data masukan merupakan data suhu, keasaman, kekeruan dan kandungan oksigen. Program pada PC ini dilengkapi dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30
tampilan data dalam bentuk tabel dan grafik sesuai dengan tanggal dan waktu saat data diterima. Tampilan grafik dapat ditampilkan dalam bentuk diagram batang dan diagram plot dalam bentuk 2D dan 3D. Tampilan ini akan mempermudah dalam melihat data semua sensor yang mengukur kualitas kolam air ikan
Gambar 3.11. Tampilan 2D Diagram Batang Pengukuran Kualitas Air Kolam Ikan
Gambar 3.12. Tampilan 2D Diagram Plot Pengukuran Kualitas Air Kolam Ikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31
Gambar 3.13. Tampilan 3D Diagram Plot Pengukuran Kualitas Air Kolam Ikan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV HASIL DAN PEMBAHASAN Bab ini berisi gambar fisik hardware yang dibuat, pembahasan tentang pembagian hardware, hasil pengujian rangkaian, hasil data yang diterima, pembahasan tentang program visual basic yang menampilkan grafik dan program mikrokontroler. Data yang akan dibahas terdiri dari data data sensor dan paket data ke yang diterima oleh cental unit. Data yang diterima kemudian ditampilkan dalam bentuk tabel dan grafik di visual basic. Hasil pengujian berupa data-data yang diperoleh dapat 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 Central Unit dan Hardware Elektronik
4.1.1. Bentuk Fisik Central Unit Bentuk fisik remote unit secara keseluruhan ditunjukkan pada gambar 4.1 sampai gambar 4.3. Bentuk fisik remote unit ini terdiri dari 1 box yang bertujuan untuk melindungi dan merapikan rangkaian elektronik di dalamnya.
Gambar 4.1. Kotak Sistem Tampak Atas
32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33
Gambar 4.2. Kotak Sistem Tampak Samping
Gambar 4.3. Kotak Sistem Tampak Belakan
4.1.2. Subsistem Elektonik Alat Subsistem elektronik alat terdiri atas rangkaian sistem mikrokontroler dan LCD karakter, rangkaian tombol, rangkaian penerima, dan rangkaian antena. Penulis membuat rangkaian sistem mikrokontroler dan LCD karakter dalam 1 rangkaian PCB, rangkaian tersebut bisa dilihat pada gambar 4.4, sedangkan untuk rangkaian penerima dan rangkaian antena ditampilkan pada gambar 4.5, dan untuk rangkaian USB to TTL ditampilkan pada gambar 4.6.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34
Gambar 4.4. Rangkaian Sistem Mikrokontroler dan LCD karakter
Gambar 4.5. Rangkaian Penerima dan Antena
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35
Gambar 4.6. Rangkaian USB to TTL
4.2.
Pengujian Alat
4.2.1. Pengujian Komunikasi RFM12-433S 1 Arah Pengujian komunikasi RFM12-433S 1 arah dilakukan untuk mengetahui jarak maksimum dari modul pemancar tersebut. Pengujian dilakukan pada ruang terbuka dengan cara mengirimkan 1 karakter “O” secara terus menerus dari pemancar ke penerima, apabila penerima dapat menerima karakter tersebut, penerima akan menampilkan tulisan “Koneksi OK”, tetapi apabila karakter tersebut “O” tidak diterima maka pada LCD penerima akan menampilkan karakter “Koneksi Gagal”. Pada pengujian ini dilakukan dengan 3 frekuensi berbeda dan 3 kecepatan transfer data yang berbeda. Frekuensi yang digunakan untuk pengujian ini adalah 432MHz, 435MHz, dan 437MHz, sedangkan kecepatan transfer data yang digunakan adalah 1kbps, 2kbps, dan 5kbps. Hasil pengujian komunikasi RFM12433S 1 arah ditampilkan pada dan tabel 4.1. Berdasarkan tabel 4.1, frekuensi yang digunakan pada 432MHz mampu mencapai jarak maksimum pengiriman 1 byte sejauh 120 meter, sedangkan untuk frekuensi 435MHz jarak terjauh sebesar 120 meter dan untuk frekuensi 437MHz jarah terjauh untuk pengiriman 1 byte sebesar 122 meter. Berdasarkan tabel 4.2, jarak terjauh dapat dicapai dengan menggunakan baudrate terkecil yaitu sebesar 1kbps, sedangkan untuk baudrate terbesar yaitu sebesar 5kbps hanya mencapai jarak paling pendek. Hal tersebut dikarenakan semakin besar baudrate yang digunakan atau semakin jauh jarak jangkauan pengiriman data, maka semakin besar juga noise yang didapat, sehingga mengakibatkan kemungkinan pembacaan data yang diterima salah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36
Tabel 4.1. Hasil Pengujian RFM12-433S 1 Arah
No.
Frekuensi Kecepatan
Jarak maksimum
(MHz)
(kbps)
1
432
1
122
2
432
2
120
3
432
5
118
4
435
1
120
5
435
2
115
6
435
5
110
7
437
1
122
8
437
2
119
9
437
5
118
(m)
Berikut gambar pengaruh baudrate dengan sinyal yang diterima ditampilkan pada gambar 4.7 – 4.9 dengan jarak pengiriman sejauh 40 meter, sedangkan pengaruh jarak pengiriman data dengan sinyal yang diterima ditampilkan pada gambar 4.10 - 4.13 yang menggukan pengaturan frekuensi 432MHz dan baudrate 5kbps.
Gambar 4.7. Sinyal Diterima Central Unit Untuk Pengiriman 1 Byte dengan Baudrate 1kbps
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37
Gambar 4.8. Sinyal Diterima Central Unit Untuk Pengiriman 1 Byte dengan Baudrate 2kbps
Gambar 4.9. Sinyal Diterima Central Unit Untuk Pengiriman 1 Byte dengan Baudrate 5kbps
Gambar 4.10. Sinyal Diterima Central Unit Dengan Jarak Pengujian 1 Meter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
Gambar 4.11. Sinyal Diterima Central Unit Dengan Jarak Pengujian 10 Meter
Gambar 4.12. Sinyal Diterima Central Unit Dengan Jarak Pengujian 20 Meter
Gambar 4.13. Sinyal Diterima Central Unit Dengan Jarak Pengujian 40 Meter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39
Untuk memeriksa data yang diterima sudah sesuai dengan data yang dikirim dapat dilakukan dengan mengecek sinyal data yang diterima dan clock yang dihasilkan dari sistem penerima, tetapi untuk pengambilan data sangat sulit untuk mensinkronkan antara sinyal data yang diterima dengan clock yang dihasilkan, karena clock akan bergeser ke kiri atau ke kanan. Dalam pengambilan data ini, penulis mengambil data secara terpisah. Pertama mengambil data sinyal yang diterima kemudian mengambil data clock yang dihasilkan. Setelah kedua data tersebut diambil, maka penulis menyatukan kedua gambar tersebut agar sinkron sehingga tampak seperti gambar 4.14. Dari gambar 4.14, bisa diambil nilai bit yang diditerima setiap perubahan clock naik, sehingga didapat hasilnya adalah 1011100010101010b. Kemudian dari nilai tersebut dikonversikan menjadi bilangan heksa dan didapat hasilnya adalah 0xB8AA. Nilai tersebut sesuai dengan yang dikirimkan dari remote unit. Nilai “B8” merupakan alamat untuk pengiriman data, dan nilai “AA” merupakan nilai inisialisasi sebelum atau sesudah mengirim data.
Gambar 4.14. Cara Membaca Sinyal Yang Diterima 4.2.2. Pengujian Komunikasi RFM12-433S 2 Arah Secara Bergantian Pengujian komunikasi RFM12-433S 2 arah secara bergantian dilakukan untuk mengetahui kestabilan modul RFM12-433S untuk berkomunikasi. Pengujian dilakukan di ruang terbuka dengan cara mengirimkan 1 karakter dari remote unit ke central unit. Karakter yang dikirimkan remote unit adalah karakter “p”, apabila karakter tersebut diterima oleh central unit maka central unit mengirimkan karakter balik ke remote unit. Karakter tersebut adalah karakter “y”, apabila karakter “y” tersebut diterima kembali oleh remote unit, maka LCD pada remote unit akan menampilkan tulisan “Koneksi OK”, tetapi apabila tidak LCD penerima akan menampilkan karakter “Koneksi Gagal”. Pada pengujian ini dilakukan dengan 3 frekuensi berbeda dan 3 kecepatan transfer data yang berbeda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40
Frekuensi yang digunakan untuk pengujian ini adalah 432MHz, 435MHz, dan 437MHz, sedangkan kecepatan transfer data yang digunakan adalah 1kbps, 2kbps, dan 5kbps. Hasil pengujian komunikasi RFM12-433S 2 arah bergantian ditampilkan pada dan tabel 4.2. Berdasarkan tabel 4.3, jarak terjauh yang mampu ditempuh sebesar 30 meter dengan pengaturan frekuensi sebesar 435MHz dan kecepatan transfer sebesar 5kbps. Dari tabel 4.2 apabila dibandingkan dengan tebel 4.1, hasil yang didapatkan berbeda jauh. Hal ini disebabkan karena untuk komunikasi 2 arah secara bergantian dibutuhkan komunikasi yang stabil, dan kestabilan dari modul RFM12-433S ini berada pada jangkauan maksimum sebesar 30 meter. Tabel 4.2. Hasil Pengujian Pengujian RFM12-433S 2 Arah Bergantian
No.
Frekuensi Kecepatan
Jarak maksimum
(MHz)
(kbps)
1
432
1
30
2
432
2
22,6
3
432
5
20
4
435
1
23,1
5
435
2
24
6
435
5
15
7
437
1
24,5
8
437
2
28
9
437
5
23,8
(m)
4.2.3. Pengujian Penerimaan Paket Data ke Remote Unit Pengujian pengiriman paket data ke central unit dilakukkan untuk mengetahui peforma dari pemancar yang digunakan untuk mengetahui frekuensi dan kecepatan transfer data dengan jarak terjauh dan dapat diterima dengan benar oleh central unit untuk pengiriman paket data. Pengujian dilakukan di tempat terbuka setiap 5 meter yaitu pada jarak 1 meter, 5 meter, 10 meter dan 15 meter. Metode pengujian adalah dengan cara menjalankan program utama dan megatur jadwal pengiriman paket data setiap 1 menit, sehingga setiap 1 menit alat ini akan mengambil data dari setiap sensor dan mengirimkannya ke central unit sesuai dengan format yang ditentukan pada bab III. Frekuensi yang digunakan untuk pengujian ini adalah 432MHz, 435MHz, dan 437MHz, sedangkan kecepatan transfer data yang digunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41
adalah 1kbps, 2kbps, dan 5kbps. Hasil pengujian paket data ke central unit ditampilkan pada dan tabel 4.3. Tabel 4.3. Hasil Pengujian Pengiriman Paket Data Frekuensi
432MHz
432MHz
432MHz
Baudrate 1kbps 2kbps 5kbps Jarak (m) Keterangan Keterangan Keterangan 1 berhasil berhasil berhasil 5 berhasil berhasil berhasil 10 berhasil berhasil berhasil 15 berhasil berhasil berhasil Frekuensi 435MHz 435MHz 435MHz Baudrate 1kbps 2kbps 5kbps Jarak (m) Keterangan Keterangan Keterangan 1 berhasil berhasil berhasil 5 berhasil berhasil berhasil 10 berhasil berhasil berhasil 15 berhasil berhasil berhasil Frekuensi 437MHz 437MHz 437MHz Baudrate 1kbps 2kbps 5kbps Jarak (m) Keterangan Keterangan Keterangan 1 berhasil berhasil berhasil 5 berhasil berhasil berhasil 10 berhasil berhasil berhasil 15 berhasil berhasil berhasil Berdasarkan tabel 4.3, semua data yang dikirim remote unit berhasil diterima central unit. Walaupun semakin besar baudrate yang digunakan noise yang dihasilkan semakin besar, tetapi untuk jarak 15 meter noise tersebut belum mengganggu proses pengiriman paket data. Berdasarkan hal tersebut, membuktikan bahwa modul RFM12433S bisa digunakan untuk proses pengiriman 1 byte atau lebih. Berikut gambar gelombang yang diterima central unit ditampilkan pada gambar 4.15 – gambar 4.17. Sama halnya dengan proses pengiriman data 1 byte, pengiriman paket data bisa dilakukan dengan mengirim data satu per satu sampai semua data dikirim.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42
Gambar 4.15. Sinyal Penerimaan Paket Data Dengan Baudrate 1kbps
Gambar 4.16. Sinyal Penerimaan Paket Data Dengan Baudrate 2kbps
Clock yang dihasilkan penerima
Sinyal data yang dikirim
Gambar 4.17. Sinyal Penerimaan Paket Data Dengan Baudrate 5kbps
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43
Dari hasil pengujian ini, semakin besar baudrate yang digunakan maka semakin besar juga noise yang dihasilkan. Tetapi pada pengujian ini jarak terjauh untuk pengujian paket data sebesar 15 meter. Pada jarak tersebut, noise yang diterima pada central unit tidak mempengaruhi proses pengiriman paket data karena semua data masih bisa diterima walaupun noise tersebut cukup besar.
4.2.4. Tampilan Visual Pengguna Pada tampilan pengguna terjadi perubahan tampilan dengan perancangan yang ada pada BAB III. Pada tampilan, penulis menambahkan status sistem kendali untuk menampilkan
inlet, outlet dan pompa dalam kondisi tertutup atau terbuka, serta
menampilkan status dalam kondisi normal atau tidak normal. Tampilan grafik dapat lebih mudah diamati untuk masing-masing tiap sensor. Perubahan tampilan ini dikarenakan untuk menyesuaikan tampilan agar pengguna dapat lebih mudah dalam mengamati dan menggunakannya. Berikut tampilan pada Visual Basic ditunjukkan pada gambar 4.18, dan data yang disimpan dalam database ditampilkan pada gambar 4.19.
Gambar 4.18. Tampilan Pada Visual Basic
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44
Gambar 4. 19. Tampilan data tersimpan dalam database
Dari tampilan tersebut dapat dilihat terjadi penambahan beberapa form tambahan seperti jumlah data, data status, pemilihan port, dan status sistem kendali. Jumlah data merupakan jumlah data yang tersimpan yang ada di database, penambahan form tersebut untuk mempermudah minghitung jumlah data dalam membuatat grafik. Penambahan pemilihan port agar pengguna bisa menggunakan tidak hanya di 1 tempat port saja, tetapi bisa memilih port pada komputer / laptop lainnya yang tidak digunakan. Data status merupakan status dari sistem kendali pada kondisi terakhir. Penambahan form data status dimaksudkan agar pengguna juga dapat memonitoring status sistem kendali pada kondisi terakhir. Penambahan form ini juga membuat penambahan karakter yang dikirimkan dan diterima dari remote unit. Remote unit menambah 1 karakter terakhir sebelum karakter untuk mengakhiri paket data tersebut. Karakter tersebut hanya bernilai “1” atau “0”, maksudnya adalah karakter “1” untuk status normal yang berarti pintu masuk air terbuka, pintu keluar air tertutup dan pompa air off, sedangkan untuk karakter “0” berarti status air tidak normal yang berarti pintu inlet tertutup, pintu keluar air terbuka dan pompa air on. Berikut format paket data sebelum perubahan ditunjukkan pada tabel 4.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45
@01#dd-MM-yyyy#HH:mm#Saaaa#Kbbbb#Hcccc#Ddddd#$ Dari format paket data tersebut bisa dijelaskan pada tabel 4.4 seperti berikut: Tabel 4.4. Format Paket Data Nomor Tanggal Waktu Suhu Keasaman Kekeruhan DO penyimpanan Jumlah karakter
2
10
5
5
5
5
5
Sedangkan setelah terjadi perubahan, format paket datanya menjadi seperti dibawah ini dan dijelaskan pada tabel 4.5. @01#dd-MM-yyyy#HH:mm#Saaaa#Kbbbb#Hcccc#Ddddd#X$ Tabel 4.5. Format Paket Data Nomor Status Tanggal Waktu Suhu Keasaman Kekeruhan DO penyimpanan Kendali Jumlah karakter
4.3.
2
10
5
5
5
5
5
1
Pembahasan Program Pengiriman Dan Penerimaan Data Dari Remote Unit Modul RFM12-433S sudah disediakan beberapa pengaturan yang berfungsi untuk
mempermudah dalam pengoperasiannya di dalam datasheet. Berikut listing program yang digunakan untuk pemilihan port yang digunakan untuk modul RFM12-433S. #define SCK 2 // SPI clock #define SDO 0 // SPI Data output (RFM12B side) //MOSI #define SDI 1 // SPI Data input (RFM12B side) //MISO #define CS 3 // SPI SS (chip select) #define NIRQ 4
#define HI(x) PORTA |= (1<<(x)) #define LO(x) PORTA &= ~(1<<(x)) #define WAIT_NIRQ_LOW() while(PINA&(1<
void portInit() { HI(CS);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46
HI(SDI); LO(SCK); PORTA.0=1; PORTA.4=1; DDRA = (1<
//aktifkan modul
for(i=0; i<16; i++) { if(cmd&0x8000) HI(SDI); else LO(SDI); //kalo nilai "cmd=1" maka tidak ada yg akan dikirim HI(SCK); recv<<=1;
//geser register recv ke kiri 1 kali
if( PINA&(1<<SDO) ) { recv|=0x0001; } LO(SCK); cmd<<=1; } Delay_ms(100); HI(CS);
//cmd geser ke kiri 1 kali
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47
return recv; }
//inisialisasi pemancar void rfInit() { pilihfrek(); pilihkec(); writeCmd(0x94A0); //VDI,FAST,134kHz,0dBm,-103dBm writeCmd(0xC2AC); //AL,!ml,DIG,DQD4 writeCmd(0xCA81); //FIFO8,SYNC,!ff,DR writeCmd(0xCED4); //SYNC=2DD4•G writeCmd(0xC483); //@PWR,NO RSTRIC,!st,!fi,OE,EN writeCmd(0x9850); //!mp,90kHz,MAX OUT writeCmd(0xCC17); //OB1•COB0, LPX,•Iddy•CDDIT•CBW0 writeCmd(0xE000); //NOT USE writeCmd(0xC800); //NOT USE writeCmd(0xC040); //1.66MHz,2.2V } Setiap nilai yang akan dikirimkan ke modul RFM12-433S dimasukkan terlebih dahulu ke dalam variable “writeCmd”, karakter tersebut kemudian digerser sebanyak 16 x untuk mengahasilkan komunikasi SPI. Pengaturan tersebut bisa dirubah sesuai dengan yang dibutuhkan, tetapi harus disesuaikan dengan datasheet. Berikut listing program untuk penerimaan data. // mereset FIFO void FIFOReset() { writeCmd(0xCA81); writeCmd(0xCA83); }
//menerima data dari pemancar unsigned char rfRecv() {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48
portInit(); writeCmd(0x80D7); //EL,EF,433band,12.0pF writeCmd(0x8299); //er,!ebb,ET,ES,EX,!eb,!ew,DC //AKTIFKAN PENERIMA rfInit(); FIFOReset(); z=0; while(1&&z<=10000) { data = writeCmd(0x0000); if ( (data&0x8000) ) { data = writeCmd(0xB000); return (data&0x00FF); } z++; } } Setiap data yang masuk akan dimasukkan terlebih dahulu ke variabel “writeCmd”, setelah semua terkumpul 16 bit kemudian dipindahkan ke variabel “data” untuk diolah ke program selanjutnya. Setiap selesai menerima data dilakukan reset agar tidak terjadi penumpukan data. Untuk listing program pengiriman data seperti berikut. void rfSend(unsigned char data) { WAIT_NIRQ_LOW(); writeCmd(0xB800 + data); }
//pengiriman data ke pemancar void kirimdata() { portInit(); writeCmd(0x80D7); //EL,EF,433band,12.0pF
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49
writeCmd(0x8239); //!er,!ebb,ET,ES,EX,!eb,!ew,DC
// AKTIFKAN SEBAGAI
PEMANCAR rfInit(); FIFOReset(); writeCmd(0x0000); rfSend(0xAA);
// 5 DATA AWAL
rfSend(0xAA); rfSend(0xAA); rfSend(0x2D); rfSend(0xD4); rfSend(data_rf[0]); // DATA YANG DIKIRIM rfSend(0xAA);
// DATA PENUTUP
rfSend(0xAA); rfSend(0xAA); delay_ms(10); }
4.4.
Pembahasan Program Visual Basic Untuk komunikasi laptop ke mikrokontroler bisa dilakukan secara serial, berikut
listing program yang digunakan untuk komunikasi. If Comm1.PortOpen = False Then Comm1.CommPort = port Comm1.RThreshold = 0 Comm1.InputLen = 0 Comm1.Settings = "57600,N,8,1" Comm1.PortOpen = True MsgBox "Port Terhubung!", vbOKOnly, "Peringatan" Connect.Enabled = False
Do USD = DoEvents() Data = Comm1.Input Text1.Text = Text1.Text + Data Loop Until Data = Chr$(16)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50
End If Exit Sub errcode: MsgBox "Port Tidak Terhubung !", vbOKOnly, "Peringatan" Combo4.SetFocus Variabel “port” digunakan untuk pemilihan port yang akan digunakan, setelah dipilih Comm1 akan membuka sambungan komunikasi serial. Jika tidak bisa terhubung akan ada peringatan menggunakan MsgBox yang bertuliskan "Port Tidak Terhubung !", tetapi jika bisa terhubung akan ada tampilan MsgBox yang bertuliskan "Port Terhubung!". Selama port terhubung, data yang masuk akan ditambahkan ke dalam text1. Untuk melakukan pemisahan paket data yang sudah diterima dilakukan dengan menggunakan listing program sebagai berikut. Text3.Text = Mid$(Text1.Text, 5, 10) Text7.Text = Mid$(Text1.Text, 16, 5) Text2.Text = Mid$(Text1.Text, 23, 4) Text4.Text = Mid$(Text1.Text, 29, 4) Text5.Text = Mid$(Text1.Text, 35, 4) Text6.Text = Mid$(Text1.Text, 41, 4) Text12.Text = Mid$(Text1.Text, 46, 1) Program tersebut akan membaca dari text berapa, dimulai dari karakter berapa, dan berapa karakter yang akan diambil. Seperti contoh, form tanggal berada pada text3, dimulai dari kaakter ke 5 dari paket data, dan berjumlah 10 karaketer. Maka untuk mengambil data tanggal menggunakan rumus: Text3.Text = Mid$(Text1.Text, 5, 10) Untuk menambahkan database dibutuhkan sebuah module dengan listing program sebagai berikut: 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 & "\DBSensor.mdb;" & _ "Persist Security Info=False; "
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51
Set strCon = New ADODB.Connection strCon.Open strString strCon.CursorLocation = adUseClient End Sub Dari program tersebut data base disimpan dengan menggunakan nama DBSensor.mdb.
4.5.
Cara Mengatur Frekuensi Dan Baudrate yang Akan Digunakan Pada gambar 4.20 merupakan tampilan utama dari sistem penampilan frekuensi dan
baudrate yang digunaka. Ketika tombol “OK” ditekan maka akan tampil seperti pada gambar 4.21 yang berfungsi untuk menampilkan tampilan frekuensi. Frekuensi dapat dapat diubah dengan menekan tombol tombol “UP. Jika frekuensi yang akan digunakan sudah dipilih maka tekan tombol “OK” untuk menetapkan frekuensi yang akan digunakan. Selain untuk menampilkan tampilan frekuensi, tombol “OK” berfungsi juga sebagai tombol ok/penentu pilihan. Sedangkan ketikan menekan tombol “UP” maka akan tampil seperti pada gambar 4.22 yang berfungsi untuk menampilkan baudrate sekaligus mengubah baudrate yang akan digunakan. Jika baudrate yang akan digunakan sudah dipilih maka tekan tombol “OK” untuk menetapkan baudrate yang akan digunakan. Berikut fungsi tombol ditampilkan pada tabel 4.6. Tabel 4.6. Fungsi Tombol Dalam Program Utama Tombol
Fungsi
RESET
Berfungsi untuk mengulang sistem
OK
Berfungsi untuk menampilkan frekuensi dan tombol OK untuk pilihan
UP
Berfungsi untuk menampilkan baudrate dan mengubah frekuensi dan baudrate
Gambar 4.20. Tampilan Utama
Gambar 4.21. Tampilan Ketika Tombol OK Ditekan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52
Gambar 4.22. Tampilan Ketika Tombol UP Ditekan
4.6.
Cara Penggunaan Sistem Secara Keseluruhan Setelah melakukan pengaturan penggunaan frekuensi dan baudrate yang sesuai
dengan remote unit, sambungkan kabel USB yang ada pada kotak sistem ke laptop. Kemudian run program visual basic, setelah itu pilih port yang disambungkan dengan kabel USB yang terhubung dengan kotak sistem. Setelah itu klik “Connect”, kemudian akan ada peringatan. Jika peringatan tersebut bertuliskan “Port Terhubung!” berarti koneksi laptop dengan kotak sistem berhasil tetapi jika ada tulisan “Port Tidak Terhubung!” berarti koneksi dengan kotak sistem belum berhasil hal ini biasanya disebabkan oleh kesalahan penggunakan port yang digunakan. Jika sambungan sudah berhasil coba cek koneksi dengan remote unit, caranya dengan mengirimkan “ping” dari remote unit. Jika pada berhasil maka sistem ini siap digunakan secara keseluruhan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1.
Kesimpulan Dari hasil pengujian dan pengambilan data pada sistem telemetri kualitas kolam air ikan
dengan RFM12-433S sebagai central unit, didapatkan kesimpulan sebagai berikut:
1. Penggunaan modul RFM12-433S dapat digunakan untuk komunikasi dengan jangkauan jarak maksimum sejauh 30 meter di ruang terbuka.
2. Semakin besar baudrate yang digunakan atau semakin jauh jarak pengiriman data yang dilakukan, maka semakin banyak noise yang diterima central unit.
3. Semakin besar baudrate yang digunakan, maka semakin dekat jarak jangkauan pengiriman data.
5.2.
Saran Sistem telemetri kualitas kolam air ikan dengan RFM12-433S sebagai central unit ini
masih memiliki kekurangan. Ada beberapa saran yang diharapkan dapat mengurangi kekirangan tersebut, antara lain : 1. Pengembangan dapat dilakukan agar sistem dapat dapat mengatasi noise agar jarakauan penerima bisa lebih jauh. 2. Pengembangan diharapkan dapat dilengkapi dengan penggunaan alarm jika terjadi sistem penerimaan data yang error. 3. Penampilan pada grafik sebaiknya dibatasi agar tidak terlalu banyak garis yang dihasilkan.
53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA [1]
Wilianto, C., 2014, Sistem Komunikasi Pengendalian Kualitas Air Kolam Ikan Berbasis Atmega128, Universitas Sanata Dharma, Yogyakarta.
[2]
Bambang, C., 2000, Budi Daya Ikan Air Tawar, Kanisius, Yogyakarta.
[3]
http://o-fish.com/Air/temperatur.php, diakses tanggal 21 Oktober 2014.
[4]
http://o-fish.com/Air/kemasaman.php, diakses tanggal 21 Oktober 2014.
[5]
http://www.ujikadarair.com/parameter-kualitas-air-kolam-ikan.html,
diakses
tanggal 21 Oktober 2014. [6]
https://multimeter-digital.com/cara-mengontrol-kualitas-air.html. diakses tanggal 21 Oktober 2014.
[7]
----------, 2011, Data Sheet, Atmel.
[8]
Direktorat Jendral Perikanan Budidaya dan Direktorat Perbebihan., 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.
[9]
http://www.mikron123.com/index.php/Tutorial-AVR/Arsitektur-MikrokontrolerAVR.html, diakses tanggal 26 Oktober 2014.
[10]
http://repository.usu.ac.id/bitstream/123456789/27166/4/Chapter%20II.pdf, diakses tanggal 26 Oktober 2014.
[11]
Heryanto, M. A dan Adi, P. W., 2008, Pemrograman Bahasa C Untuk Mokrokontroler ATMEGA 8535, ANDI Yogyakarta.
[12]
Hendra., Dasar Pemrograman Visual Basic, http://aldi_tob_2000.staff.gunadarma.ac.id/Downloads/files/15631/Dasar+Pemrogr aman+Visual+Basic.pdf, diakses Tanggal 25 November 2013.
[13]
----------, 2006, RFM12 Universal ISM Band FSK Transceiver, HOPE MICROELECTRONICS.
[14]
----------, 2005, USB TTL Data Sheet, avitresearch
[15]
Stalling William, 2002, Komunikasi Data dan Jaringan Komputer, Surabaya
54
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
55
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN PROGRAM UTAMA MIKROKONTROLER /***************************************************** This program was produced by the CodeWizardAVR V2.05.3 Standard Automatic Program Generator © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : PENERIMA RFM12-433S (CENTRAL UNIT) Version : Date : 4/28/2015 Author : CHRISTIN KARURU Company : Comments:
Chip type : ATmega8535 Program type : Application AVR Core Clock frequency: 12.000000 MHz Memory model : Small External RAM size :0 Data Stack size : 128 *****************************************************/ #include <mega8535.h> //insialisai mikro #include
//inisialisai lcd #include <delay.h> //inisialisai delay #include <stdio.h> //inisialisai perhitungan matematika //menentukan port yang digunakan pemancar=============== #define SCK 2 // SPI clock #define SDO 0 // SPI Data output (RFM12B side) //MOSI #define SDI 1 // SPI Data input (RFM12B side) //MISO #define CS 3 // SPI SS (chip select) #define NIRQ 4 #define HI(x) PORTA |= (1<<(x)) #define LO(x) PORTA &= ~(1<<(x)) #define WAIT_NIRQ_LOW() while(PINA&(1<
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
// Inisialisasi port yang digunakan pemancar void portInit() { HI(CS); HI(SDI); LO(SCK); PORTA.0=1; PORTA.4=1; DDRA = (1<
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
} } // menampilkan frekuensi yang digunakan void tampilfrek() { switch(e) { case 1: lcd_putsf("432 MHz"); break; case 2: lcd_putsf("435 MHz"); break; case 3: lcd_putsf("437 MHz"); break; } } // menentukan kecepatan transfer data pemancar void pilihkec() { //kecepatan transfer (1kbps=0xC6AA ; 2kbps=0xC695; 5kbps=0xC688; 10kbps=0xC683; 20kbps=0xC681; 50kbps=0xC606) switch(kec) { case 1: writeCmd(0xC6AA); break; case 2: writeCmd(0xC695); break; case 3: writeCmd(0xC688); break; } } // memilih frekuensi yang digunakan void pilihfrek() { //frequency select (432MHz=0xA320 ; 455MHz=0xA7D0 ; 437MHz=0xAAF0) switch(frek) { case 1: writeCmd(0xA320); break; case 2: writeCmd(0xA7D0); break; case 3: writeCmd(0xAAF0); break; } } //inisialisasi pemancar void rfInit() { pilihfrek(); pilihkec(); writeCmd(0x94A0); //VDI,FAST,134kHz,0dBm,-103dBm writeCmd(0xC2AC); //AL,!ml,DIG,DQD4 writeCmd(0xCA81); //FIFO8,SYNC,!ff,DR writeCmd(0xCED4); //SYNC=2DD4•G writeCmd(0xC483); //@PWR,NO RSTRIC,!st,!fi,OE,EN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
writeCmd(0x9850); //!mp,90kHz,MAX OUT writeCmd(0xCC17); //OB1•COB0, LPX,•Iddy•CDDIT•CBW0 writeCmd(0xE000); //NOT USE writeCmd(0xC800); //NOT USE writeCmd(0xC040); //1.66MHz,2.2V } // mereset FIFO void FIFOReset() { writeCmd(0xCA81); writeCmd(0xCA83); } //menerima data dari pemancar unsigned char rfRecv() { portInit(); writeCmd(0x80D7); //EL,EF,433band,12.0pF writeCmd(0x8299); //er,!ebb,ET,ES,EX,!eb,!ew,DC PENERIMA rfInit(); FIFOReset(); z=0; while(1&&z<=10000) { data = writeCmd(0x0000); if ( (data&0x8000) ) { data = writeCmd(0xB000); return (data&0x00FF); } z++; } }
// inisialisasi pengiriman data ke pemancar void rfSend(unsigned char data) { WAIT_NIRQ_LOW(); writeCmd(0xB800 + data); } //pengiriman data ke pemancar
///////////////////////////////AKTIFKAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
void kirimdata() { portInit(); writeCmd(0x80D7); //EL,EF,433band,12.0pF writeCmd(0x8239); //!er,!ebb,ET,ES,EX,!eb,!ew,DC PEMANCAR rfInit(); FIFOReset(); writeCmd(0x0000); rfSend(0xAA); // 5 DATA AWAL rfSend(0xAA); rfSend(0xAA); rfSend(0x2D); rfSend(0xD4); rfSend(data_rf[0]); // DATA YANG DIKIRIM rfSend(0xAA); // DATA PENUTUP rfSend(0xAA); rfSend(0xAA); delay_ms(10); } void editfrek() { z=0; lcd_clear(); while (z==0) { if (PINC.0==1) { z++; delay_ms(200);} if (PINC.1==1) { lcd_clear(); e++; delay_ms(200);} if (e>3) {e=1;} lcd_gotoxy(0,0); lcd_puts("Frekuensi"); lcd_gotoxy(0,1); tampilfrek(); } frek=e; lcd_clear(); }
void editkec() { z=0; lcd_clear(); while (z==0) {
// AKTIFKAN SEBAGAI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
if (PINC.0==1) { z++; delay_ms(200);} if (PINC.1==1) { lcd_clear(); e++; delay_ms(200);} if (e>3) {e=1;} lcd_gotoxy(0,0); lcd_puts("Baudrate"); lcd_gotoxy(0,1); tampilkec(); } kec=e; lcd_clear(); }
void main(void) { DDRC=0x00; PORTC=0x00; // USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 57600 UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x0C; lcd_init(16);
lcd_clear(); while (1) { if (PINC.0==1) { delay_ms(400); editfrek(); } if (PINC.1==1) { delay_ms(400); editkec();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
}
//terima data dari pemancar terimadata_rf[0] = rfRecv(); //panggil reset FIFO FIFOReset(); if (terimadata_rf[0]=='@') { //mengaktifkan port tx untuk pengiriman ke PC UCSRB=0x08; //delay_ms(10); putchar('@'); //penerimaan paket dan pengiman ke PC for (i=1; i<47; i++) { terimadata_rf[i] = rfRecv(); FIFOReset(); putchar(terimadata_rf[i]); } // matikan tx dan aktifkan rx UCSRB=0x10; lcd_clear(); lcd_gotoxy(0,0); lcd_puts(terimadata_rf); //delay_ms(10000); } if(terimadata_rf[0]=='p') { UCSRB=0x08; //delay_ms(10); putchar('p'); UCSRB=0x10; }
//terima data dari PC if (UCSRA.7==1) { data_rf[0]=getchar(); kirimdata(); } e=frek;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
lcd_gotoxy(0,0); lcd_puts("Frek : "); lcd_gotoxy(7,0); tampilfrek(); e=kec; lcd_gotoxy(0,1); lcd_puts("BAUD : "); lcd_gotoxy(7,1); tampilkec(); } }
PROGRAM VISUAL BASIC Option Explicit Dim rsData As New ADODB.Recordset Private X(), X1(), X2(), X3(), X4() As Double Private NumPoints As Integer Dim cek, a, b, c, d, e, z, h, i As Byte Dim USD As String Dim Data As String Dim strSql
Private Sub Combo1_Click() 'chart type -->run time. MSChart1.chartType = Combo1.ListIndex End Sub Private Sub tampilgrafik() Dim strSql bukaDatabase Set rsData = New ADODB.Recordset strSql = "SELECT waktu, Suhu, keasaman, kekeruhan, kandunganoksigen FROM DataSensor" rsData.Open strSql, strCon rsData.MoveLast NumPoints = rsData.RecordCount ReDim X(1 To NumPoints, 1 To 5) rsData.MoveFirst For a = 1 To NumPoints
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
X(a, 1) = rsData!waktu X(a, 2) = rsData!Suhu X(a, 3) = rsData!keasaman X(a, 4) = rsData!kekeruhan X(a, 5) = rsData!kandunganoksigen rsData.MoveNext Next a MSChart1.ChartData = X ReDim X1(1 To NumPoints, 1 To 2) ' Load the data. rsData.MoveFirst For b = 1 To NumPoints X1(b, 1) = rsData!waktu X1(b, 2) = rsData!Suhu rsData.MoveNext Next b MSChart2.ChartData = X1 ReDim X2(1 To NumPoints, 1 To 2) ' Load the data. rsData.MoveFirst For c = 1 To NumPoints X2(c, 1) = rsData!waktu X2(c, 2) = rsData!keasaman rsData.MoveNext Next c MSChart3.ChartData = X2 ReDim X3(1 To NumPoints, 1 To 2) ' Load the data. rsData.MoveFirst For d = 1 To NumPoints X3(d, 1) = rsData!waktu X3(d, 2) = rsData!kekeruhan rsData.MoveNext Next d MSChart4.ChartData = X3 ReDim X3(1 To NumPoints, 1 To 2) ' Load the data. rsData.MoveFirst
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
For d = 1 To NumPoints X3(d, 1) = rsData!waktu X3(d, 2) = rsData!kandunganoksigen rsData.MoveNext Next d MSChart5.ChartData = X3 Set rsData = Nothing strCon.Errors.Clear strCon.Close End Sub Private Sub hapusdata() bukaDatabase Set rsData = New ADODB.Recordset strSql = "SELECT Suhu, keasaman, kekeruhan, kandunganoksigen,inlet,outlet,pompa,status FROM DataSensor" rsData.Open strSql, strCon rsData.MoveLast NumPoints = rsData.RecordCount For a = 1 To NumPoints - 2 Data1.Recordset.MoveFirst Data1.Recordset.Delete DBGrid1.Refresh Next a h=2 Timer4.Enabled = True End Sub Private Sub Command1_Click() Call hapusdata End Sub Private Sub Form_Load() 'PEMILIHAN COM YANG DIGUNAKAN Call tampilgrafik h = NumPoints 'List Combo: chart types With Combo1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
.AddItem "3D Bar" .AddItem "2D Bar" .AddItem "3D Line" .AddItem "2D LIne" .AddItem "3D Area" .AddItem "2D Area" .AddItem "3D Step" .AddItem "2D Step" .AddItem "3D Combination" .AddItem "2D Combination" .ListIndex = 3 'default:2D Bar End With With Combo4 .AddItem "COM1" .AddItem "COM2" .AddItem "COM3" .AddItem "COM4" .AddItem "COM5" .AddItem "COM6" .AddItem "COM7" .AddItem "COM8" .AddItem "COM9" .AddItem "COM10" .AddItem "COM11" End With End Sub Private Sub Selesai_Click() End End Sub Private Sub form_activate() Text2.SetFocus End Sub Private Sub Connect_Click() Dim port As Integer On Error GoTo errcode Select Case Combo4.ListIndex Case -1 port = 1 Case 0 port = 1 Case 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
port = 2 Case 2 port = 3 Case 3 port = 4 Case 4 port = 5 Case 5 port = 6 Case 6 port = 7 Case 7 port = 8 Case 8 port = 9 Case 9 port = 10 Case 10 port = 11 End Select If Comm1.PortOpen = False Then Comm1.CommPort = port Comm1.RThreshold = 0 Comm1.InputLen = 0 Comm1.Settings = "57600,N,8,1" Comm1.PortOpen = True MsgBox "Port Terhubung!", vbOKOnly, "Peringatan" Connect.Enabled = False Do USD = DoEvents() Data = Comm1.Input Text1.Text = Text1.Text + Data Loop Until Data = Chr$(16) End If Exit Sub errcode: MsgBox "Port Tidak Terhubung !", vbOKOnly, "Peringatan" Combo4.SetFocus End Sub
Private Sub Text1_Change() If Text1.Text = "p" Then Comm1.Output = "y"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Text1.Text = "" End If Timer1.Enabled = True cek = InStr(Text1.Text, "$") If cek = 47 Then Text3.Text = Mid$(Text1.Text, 5, 10) Text7.Text = Mid$(Text1.Text, 16, 5) Text2.Text = Mid$(Text1.Text, 23, 4) Text4.Text = Mid$(Text1.Text, 29, 4) Text5.Text = Mid$(Text1.Text, 35, 4) Text6.Text = Mid$(Text1.Text, 41, 4) Text12.Text = Mid$(Text1.Text, 46, 1) If Text12.Text = "1" Then Text14.Text = "BUKA" Text15.Text = "TUTUP" Text16.Text = "TUTUP" Text17.Text = "NORMAL" End If If Text12.Text = "0" Then Text14.Text = "TUTUP" Text15.Text = "BUKA" Text16.Text = "BUKA" Text17.Text = "TDK NORMAL" End If
h=h+1
'Addnew = untuk membuat atau menambah data baru Data1.Recordset.AddNew 'perintah untuk menyimpan data yang di inputkan pada textbox ke dalam field database Data1.Recordset!tanggal = Text3.Text Data1.Recordset!waktu = Text7.Text Data1.Recordset!Suhu = Text2.Text Data1.Recordset!keasaman = Text4.Text Data1.Recordset!kekeruhan = Text5.Text Data1.Recordset!kandunganoksigen = Text6.Text Data1.Recordset!inlet = Text14.Text Data1.Recordset!outlet = Text15.Text Data1.Recordset!pompa = Text16.Text Data1.Recordset!Status = Text17.Text
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
'update = perintah untuk mengupdate data yang telah ditambahkan Data1.Recordset.Update 'perintah untuk merefresh grid ketika data sudah ditambahkan DBGrid1.Refresh 'perintah untuk mengkosongkan textbox setelah data disimpan Comm1.Output = "y" Text1.Text = "" Timer1.Enabled = False i=0 Timer4.Enabled = True End If End Sub
Private Sub Timer1_Timer() i = Val(i) + 1 If i = 100 Then Text1.Text = "" i=0 Timer1.Enabled = False End If End Sub Private Sub Timer2_Timer() Label13 = Format(Date, "dd - mmmm - yyyy") End Sub Private Sub Timer3_Timer() Label14 = Time End Sub Private Sub Timer4_Timer() z=z+1 If z = 5 Then Call tampilgrafik z=1 Timer4.Enabled = False End If End Sub Private Sub Timer5_Timer() Text13.Text = h End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PROGRAM MODULE 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 & "\DBSensor.mdb;" & _ "Persist Security Info=False; " Set strCon = New ADODB.Connection strCon.Open strString strCon.CursorLocation = adUseClient End Sub
Rangkaian Minimum Sistem Atmega 8535
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
RANGKAIAN LCD 16 X 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tampilan Pada Visual Basic
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tampilan Data Tersimpan Dalam Database