PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TUGAS AKHIR SISTEM AKUISISI DATA KINCIR ANGIN PROPELER BERBAHAN KAYU Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
disusun oleh: FRANSISCUS FIRGIA I WAYAN SAMBU RESPATIA NIM : 125114008
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
DATA ACQUISITION SYSTEM OF PROPELLER WINDMILL MADE OF WOOD Presented as Partial Fulfillment of the Requirements For the degree of Sarjana Teknik in Electrical Engineering Study Program
FRANSISCUS FIRGIA I WAYAN SAMBU RESPATIA NIM : 125114008
ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTEMENT SCIENCE AND TECHNOLOGY FACULTY SANATA DHARMA UNIVERSITY 2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMANPERSETUJ UAN TUGASAKHI R
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMANPENGESAHAN TUGASAKHI R
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
Motto: Jika ya, hendaklah kamu katakan: ya, jika tidak, hendaklah kamu katakan tidak. Apa yang lebih dari pada itu berasal dari si jahat - Matius 5:37
Skripsi ini kupersembahkan untuk: Tuhan Yesus Kristus juruselamat dan sahabatku Bapak Petrus I Nyoman Werna, Ibu Beatrix Erni Adik ku Lintang dan Niken Elizabet Afreilyanti Teman-teman Teknik Elektro USD 2012 Dan Keluarga Lamrus
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBARPERNYATAANPERSETUJUAN PUBLI KASIKARYAI LMI AH UNTUK KEPENTI NGANAKADEMI S
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
INTISARI Kincir angin propeler berbahan kayu merupakan salah satu jenis pembangkit listrik energi terbarukan yang dapat dikembangkan di Indonesia. Untuk dapat memantau kinerja kincir angin dibutuhkan suatu sistem akuisisi data yang dapat mengumpulkan data-data yang terkait dengan karakteristik pada kincir angin yang direkam oleh sistem data logger. Oleh karena itu, dibuat sistem yang dapat mengirimkan data dari setiap sensor sistem data logger secara nirkabel (wireless) pada sebuah aplikasi akuisisi data. Sistem ini menggunakan papan Arduino Uno Rev3 sebagai pengirim data sensor yang diterima dari sistem data logger. Data dikirimkan secara nirkabel dengan menggunakan modul radio XBee-PRO (S2B). Kemudian, data akan diterima oleh sistem penerima dan diolah menggunakan program aplikasi akuisisi data. Data sensor yang dikirimkan adalah sensor tegangan, sensor arus, sensor kecepatan poros kincir, sensor kecepatan angin, dan sensor arah angin. Pengiriman data dilakukan setiap 10 detik, dan data akan di tampilkan dalam bentuk teks, animasi alat ukur, tabel, dan grafik secara real-time pada aplikasi akuisisi data. Sistem akuisisi data kincir angin propeler berbahan kayu ini sudah dapat diimplementasikan pada kincir angin tersebut. Sistem ini sudah diuji dengan menggunakan kecepatan transfer data 9600 bps. Dari hasil pengujian tersebut menunjukkan bahwa pengiriman data dalam ruang dapat mencapai jarak 50 meter dengan tingkat keberhasilan 92%, sedangkan untuk pengiriman luar ruang dapat mencapai jarak 100 meter dengan tingkat keberhasilan 100%. Data yang diterima dari sistem pengirim ditampilkan secara real-time dan disimpan sebagai basis data menggunakan program aplikasi akuisisi data. Kata kunci: Sistem akuisisi data, Kincir angin, XBee-PRO (S2B), Arduino, MATLAB.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT Propeller windmill made of wood is one kind of renewable energy power plants which can be developed in Indonesia. In monitoring the wildmillβs performance, it needs data acquisition system which can collect the data related to the windmillβs characteristic which is recorded by data logger. Hence, it was made a system which sent the data of each sensor of data logger system wirelessly in the application of acquisition data. This system uses Arduino Uno Rev3 as the sensor data transmitter which received from the data logger system. The data was transmitted wirelessly by using XBee-PRO (S2B) radio module. Then, the data was received by the receiver system and processed by using application of data acquisition. The sensor data which is transmitted is voltage sensor, blades rotation speeds sensor, wind speed sensor, and speed direction sensor. The data transmission is done in every 10 seconds, and the data would be presented in form of text, animation instrument, table, and graphic through real time in the application of data acquisition system. Data acquisition system of propeller windmill made of wood can be implemented on it. This system has been assessed by using 9600 bps baud rate. After assessing the system, it showed that the data transmission which was done inside the room reached 50 meters and the success level was 92%. While, the data transmission which was done outside the room reached 100 meters and the success level was 100%. Finally, the data which was received from the transmission system was presented in real time and saved as basis data by using application of acquisition data. The keywords: Data acquisition system, Windmill, XBee-PRO (S2B), Arduino, MATLAB.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR Syukur dan terimakasih kepada Tuhan Yesus Kristus karena dengan segala rahmat dan penyertaan-Nya, maka tugas akhir dengan judul βSistem Akuisisi Data Kincir Angin Propeler Berbahan Kayuβ dapat diselesaikan dengan baik. Selama menulis tugas akhir ini, penulis menyadari bahwa ada begitu banyak pihak yang telah memberikan bantuan dengan cara masing-masing, sehingga tugas akhir ini dapat diselesaikan. Oleh karena itu penulis ingin mengucakpan terima kasih kepada: 1.
Bapak Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D., selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.
2.
Bapak Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elektro Universitas Sanata Dharma.
3.
Bapak Dr. Iswanjono, selaku dosen pembimbing yang dengan penuh kesabaran membimbing, memberikan kritik dan saran yang membantu penulis dalam menyelesaikan tugas akhir ini.
4.
Bapak Ir. Tjendro, M.Kom. dan Bapak Martanto, S.T., M.T., selaku dosen penguji.
5.
Semua dosen dan laboran program studi Teknik Elektro yang telah memberikan ilmu pengetahuan selama masa perkuliahan.
6.
Bapak dan Ibu yang saya kasihi, yang selalu mendukung saya secara rohani dan jasmani.
7.
Elizabet Afreilyanti, yang memberikan motovasi dan semangat untuk menyelesaikan tugas akhir ini.
8.
Teman-teman program studi Teknik Elektro angkatan 2012, atas kebersamaan dan kerjasamanya selama masa perkuliahan.
9.
Teman-teman lamrus yang secara langsung maupun tidak langsung memberikan motivasi untuk menyelesaikan tugas akhir ini.
10.
Semua pihak yang tidak dapat saya sebutkan satu per satu atas bantuan, bimbingan, kritik, dan saran dalam menyelesaikan tugas akhir ini.
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ............................................... vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS .......................................vii INTISARI ....................................................................................................................... xiii ABSTRACT ...................................................................................................................... ix KATA PENGANTAR ....................................................................................................... x DAFTAR ISI ....................................................................................................................xii DAFTAR GAMBAR ...................................................................................................... xvi DAFTAR TABEL ........................................................................................................... xxi BAB I PENDAHULUAN .................................................................................................. 1 1.1.
Latar Belakang .......................................................................................................... 1
1.2.
Tujuan dan Manfaat Penelitian ................................................................................. 3
1.3.
Batasan Masalah........................................................................................................ 3
1.4.
Metodologi Penelitian ............................................................................................... 4
BAB II DASAR TEORI .................................................................................................... 6 2.1.
Kincir Angin Propeler Berbahan Kayu ..................................................................... 6
2.2.
Sistem Telemetri ...................................................................................................... .7
2.3.
Sistem Akuisisi Data ................................................................................................ .8 2.3.1. One Way DAS ................................................................................................ 8 2.3.2. Elemen-elemen Penujang DAS ..................................................................... .9
2.4.
Jaringan ZigBee IEEE 802.15.4 ............................................................................. .10
2.5.
Komunikasi Serial ..................................................................................................... 9 2.5.1. Kelebihan Komunikasi Kanal Serial ........................................................... 11 2.5.2. Universal Asynchronous Receiver Transmitter (UART) ............................ .11
2.6.
Arduino Uno Rev3 .................................................................................................. 12 2.6.1. Spesifikasi Arduino Uno Rev3 ..................................................................... 12 xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.6.2. Pemograman Arduiono IDE ........................................................................ .14 2.7.
XBee-PRO (S2B) .................................................................................................... 16 2.7.1. Spesifikasi XBee-PRO (S2B) ....................................................................... 16 2.7.2. Komunikasi Serial XBee-PRO (S2B).......................................................... .20 2.7.3. Protokol Jaringan XBee-PRO (S2B) ........................................................... .21 2.7.4. Pengaturan XBee-PRO (S2B) ..................................................................... .22
2.8.
XBee Shield V1.1 ................................................................................................... 23
2.9.
XBee USB Adapter ................................................................................................. 25
2.10. Kartu SD (Secure Digital) ....................................................................................... 26 2.11. Light Emitting Diode (LED) ................................................................................... 28 2.12. MATLAB Graphical User Interface (GUI) ......................................................... 30 2.12.1. Graphical User Interface (GUI) ................................................................ .30 2.12.2. MATLAB Compiler ................................................................................... .32 BAB III PERANCANGAN PENELITIAN ................................................................... 33 3.1.
Perancangan Sistem Pengirim ................................................................................. 35 3.1.1. Perancangan Perangkat Keras ..................................................................... .35 3.1.1.1. Rangkaian Sistem Pengirim ........................................................... .36 3.1.1.2. Kotak Sistem Pengirim .................................................................. .36 3.1.2. Perancangan Perangkat Lunak...................................................................... 46 3.1.2.1. Diagram Alir Program Utama Sistem Pengirim ........................... . 46 3.1.2.2. Diagram Alir Subrutin Ping .......................................................... . 47
3.2.
Perancangan Sistem Penerima ................................................................................ 49 3.2.1. Rangkaian Sistem Penerima ....................................................................... . 49 3.2.2. Kotak Sistem Penerima ................................................................................ 49
3.3.
Konfigurasi Modul Radio XBee-PRO (S2B).......................................................... 51
3.4.
Format Paket Data ................................................................................................... 53
3.5.
Perancangan Aplikasi Antarmuka Sistem Akuisisi Data ........................................ 56 3.5.1. Gambar Aplikasi ......................................................................................... . 56 3.5.1.1. Ikon Alikasi ..................................................................................... 56 3.5.1.2. Splash Screen Aplikasi.................................................................... 56 3.5.1.3. Petunjuk Aplikasi (Prosedur) .......................................................... 57 3.5.1.4. Informasi Tentang Aplikasi............................................................. 58 3.5.1.5. Latar Belakang Alikasi.................................................................... 58
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.5.2. Perangkat Lunak Aplikasi Antarmuka ....................................................... . 59 3.5.2.1. Diagram Alir Program Utama ......................................................... 61 3.5.2.2. Diagram Alir Subrutin Keterangan ................................................. 63 3.5.2.3. Diagram Alir Subrutin Penerimaan Data ........................................ 64 3.5.2.4. Diagram Alir Subrutin Simpan Data ............................................... 67 3.6.
Data Dummy ............................................................................................................ 63
BAB IV HASIL DAN PEMBAHASAN ......................................................................... 71 4.1.
Perangkat Keras Sistem .......................................................................................... 71 4.1.1. Perangkat Keras Sistem Pengirim ................................................................ 71 4.1.1.1. Rangkaian Catu Daya DC ............................................................... 71 4.1.1.2. Rangkaian Reset Eksternal .............................................................. 72 4.1.1.3. Rangkaian Kartu SD ....................................................................... 72 4.1.1.4. Rangkaian Indikator LED ............................................................... 72 4.1.2. Perangkat Keras Sistem Penerima ................................................................ 74
4.2.
Perangkat Lunak Sistem.......................................................................................... 75 4.2.1. Sistem Pengirim ............................................................................................ 75 4.2.1.1. Inisialisasi ........................................................................................ 75 4.2.1.2. Program Utama ............................................................................... 75 4.2.1.3. Subrutin Hapus File Temporary ...................................................... 77 4.2.1.4. Subrutin Penerimaan Paket Data ..................................................... 77 4.2.1.5. Subrutin Ping................................................................................... 78 4.2.1.6. Subrutin Konfirmasi ........................................................................ 79 4.2.1.7. Subrutin Pengiriman Paket Data ..................................................... 79 4.2.2. Sistem Penerima ........................................................................................... 80 4.2.2.1. Inisialisasi ........................................................................................ 80 4.2.2.2. Program Utama ............................................................................... 82 4.2.2.3. Subrutin Keterangan........................................................................ 82 4.2.2.4. Subrutin Komunikasi ...................................................................... 84 4.2.2.5. Subrutin Refresh Ports .................................................................... 85 4.2.2.6. Subrutin Penerimaan Data .............................................................. 86 4.2.2.7. Subrutin Pemrosesan Data .............................................................. 86 4.2.2.8. Subrutin Akhiri Proses Data............................................................ 93 4.2.2.9. Subrutin Simpan Data ..................................................................... 94
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2.2.10. Subrutin Buka File Akuisisi Data .................................................. 97 4.2.2.11. Subrutin Menutup Aplikasi ........................................................... 99 4.3.
Pengujian Sistem Telemetri .................................................................................. 100 4.3.1. Pengujian Dalam Ruang ............................................................................. 100 4.3.1.1. Komunikasi Satu Arah .................................................................. 101 4.3.1.2. Komunikasi Dua Arah................................................................... 102 4.3.1.3. Pengiriman Paket Data .................................................................. 103 4.3.2. Pengujian Luar Ruang ................................................................................ 104 4.3.2.1. Komunikasi Satu Arah .................................................................. 104 4.3.2.2. Komunikasi Dua Arah................................................................... 105 4.3.2.3. Pengiriman Paket Data .................................................................. 106 4.3.3. Pengujian Komunikasi dengan Metode Handshaking................................ 107
BAB V KESIMPULAN DAN SARAN......................................................................... 109 5.1.
Kesimpulan ........................................................................................................... 109
5.2.
Saran...................................................................................................................... 109
DAFTAR PUSTAKA .................................................................................................... 110 LAMPIRAN ................................................................................................................... 112
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR Halaman Gambar 1.1. Blok Diagram Sistem Keseluruhan Kincir Angin Berbahan Kayu ................. 2 Gambar 1.2. Blok Diagram Perancangan............................................................................. 4 Gambar 2.1. Kincir Angin Petani Garam TIM KKAI 2013 USD ....................................... 6 Gambar 2.2. Skema Sistem Telemetri ................................................................................. 7 Gambar 2.3. Elemen-elemen Sistem Akuisisi Data Berbasis PC ........................................ 9 Gambar 2.4. Papan Sistem Minimum Mikrokontroler Arduino Uno R3 .......................... 12 Gambar 2.5. Pin Mapping ATmega168/328 ..................................................................... 14 Gambar 2.6. Perangkat Lunak Arduino IDE versi 1.6.6 .................................................... 14 Gambar 2.7. Modul XBee-PRO (S2B) .............................................................................. 17 Gambar 2.8. Komunikasi UART XBee-PRO (S2B) ......................................................... 20 Gambar 2.9. Pola Bit Serial yang Melewati XBee-PRO (S2B) ......................................... 20 Gambar 2.10. Protokol Jaringan ZigBee ............................................................................ 22 Gambar 2.11. Program X-CTU versi 5.2.7.5 ..................................................................... 22 Gambar 2.12. Modul XBee Shiled V1.1 ............................................................................ 24 Gambar 2.13. Skematik Modul XBee Shiled V1.1 ............................................................ 24 Gambar 2.14. Instalasi Komunikasi Serial Modul XBee Shiled V1.1............................... 25 2.14.(a). Komunikasi dengan Arduino ................................................................. 25 2.14.(b). Komunikasi dengan FTD1232 .............................................................. 25 Gambar 2.15. XBee USB Adapter-Funduino .................................................................... 26 Gambar 2.16. Standar Penomoran Terminal Kartu SD ..................................................... 27 Gambar 2.17. Rangkaian Pembagi Tegangan .................................................................... 28 Gambar 2.18. Persambungan Kartu SD dengan Mikrokontroler ....................................... 28 Gambar 2.19. Konfigurasi LED ......................................................................................... 29 Gambar 2.20. Rangkaian LED ........................................................................................... 29 Gambar 2.21. Tampilan Guide Editor MATLAB ............................................................. 30 Gambar 2.22. Jendela Property Inspector ......................................................................... 31 Gambar 2.23. Jendela MATLAB Compiler versi 6.0 ........................................................ 32 Gambar 3.1. Perancangan Sistem. ..................................................................................... 34 Gambar 3.2. Rangkaian Sistem Pengirim .......................................................................... 36 Gambar 3.3. Rangkaian Sistem Minimum Arduino Uno Rev3 ......................................... 39 Gambar 3.4. Block Diagram Modul RF XBee-PRO (S2B) .............................................. 40 xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.5. Rangkaian Catu Daya DC ............................................................................. 41 Gambar 3.6. Rangkaian Reset Eksternal. ........................................................................... 42 Gambar 3.7. Rangkaian Kartu SD. .................................................................................... 42 Gambar 3.8. Rangkaian Indikator LED ............................................................................. 43 Gambar 3.9. Perancangan Kotak Sistem Pengirim ........................................................... 45 3.9.(a). Bagian Luar Tampak Atas ....................................................................... 45 3.9.(b). Bagian Luar Tampak Bawah ................................................................... 45 3.9.(c). Bagian Luar Tampak Samping Kiri......................................................... 45 3.9.(d). Bagian Luar Tampak Samping Kanan .................................................... 45 3.9.(e). Bagian Dalam Tampak Samping Kiri...................................................... 45 3.9.(f). Bagian Dalam Tampak Samping Kanan .................................................. 45 Gambar 3.10. Diagram Alir Program Utama Sistem Pengirim ......................................... 50 Gambar 3.11. Diagram Alir Subrutin Ping ........................................................................ 47 Gambar 3.12. Diagram Alir Subrutin Pengiriman Paket Data ........................................... 48 Gambar 3.13. Perancangan Kotak Sistem Penerima.......................................................... 50 3.13.(a). Bagian Luar Tampak Atas ..................................................................... 50 3.13.(b). Bagian Luar Tampak Bawah ................................................................. 50 3.13.(c). Bagian Luar Tampak Samping Kiri ....................................................... 50 3.13.(d). Bagian Luar Tampak Samping Kanan .................................................. 50 3.13.(e). Bagian Dalam Tampak Samping Kiri.................................................... 50 3.13.(f). Bagian Dalam Tampak Samping Kanan ................................................ 50 Gambar 3.14. Parameter Uji Modul XBee-PRO (S2B) ..................................................... 51 3.14.(a). Parameter Uji Modul XBee Pengirim ................................................... 51 3.14.(b). Parameter Uji Modul XBee Penerima ................................................... 51 Gambar 3.15. Ikon Aplikasi ............................................................................................... 56 Gambar 3.16. Splash Screen Aplikasi................................................................................ 57 Gambar 3.17. Prosedur Menjalankan Aplikasi .................................................................. 58 Gambar 3.18. Informasi Tentang Aplikasi......................................................................... 58 Gambar 3.19. Latar Belakang Aplikasi .............................................................................. 59 Gambar 3.20. Jendela Aplikasi Sistem Akuisisi Data ....................................................... 61 Gambar 3.21. Kotak Dialog Error - Tidak Ada Koneksi Serial ........................................ 61 Gambar 3.22. Kotak Dialog Pernyataan-Keluar ................................................................ 62 Gambar 3.23. Diagram Alir Program Utama ..................................................................... 62
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.24. Diagram Alir Subrutin Keterangan ............................................................. 63 Gambar 3.25. Jendela Prosedur Aplikasi ........................................................................... 63 Gambar 3.26. Jendela Tentang Aplikasi ............................................................................ 64 Gambar 3.27. Kotak Dialog Error - Port Tidak Terhubung .............................................. 64 Gambar 3.28. Kotak Dialog Error - Komunikasi Terputus ............................................... 64 Gambar 3.29. Kotak Dialog-Selesai .................................................................................. 65 Gambar 3.30. Diagram Alir Subrutin Penerima Data ........................................................ 66 Gambar 3.31. Kotak Dialog Peringatan-Folder Belum Dipilih ......................................... 67 Gambar 3.32. Kotak Dialog - Folder Simpan .................................................................... 67 Gambar 3.33. Kotak Dialog Peringatan - Folder Kosong .................................................. 68 Gambar 3.34. Kotak Dialog Peringatan - Nama File Kosong ........................................... 68 Gambar 3.35. Kotak Dialog Peringatan - Belum Ada Data .............................................. 68 Gambar 3.36. Diagram Alir Subrutin Simpan Data ........................................................... 69 Gambar 4.1. Rangkaian Sistem Pengirim .......................................................................... 71 4.1.(a). Rangkaian Catu Daya DC, Reset Eksternal, dan Indikator LED ............. 71 4.1.(b). Rangkaian Kartu SD ................................................................................ 71 Gambar 4.2. Perangkat Keras Sistem Pengirim ................................................................. 73 4.2.(a). Bagian Luar Tampak Atas ....................................................................... 73 4.2.(b). Bagian Luar Tampak Bawah ................................................................... 73 4.2.(c). Bagian Luar Tampak Samping Kiri......................................................... 73 4.2.(d). Bagian Luar Tampak Samping Kanan .................................................... 73 4.2.(e). Bagian Dalam Tampak Samping Kiri...................................................... 73 4.2.(f). Bagian Dalam Tampak Samping Kanan .................................................. 73 Gambar 4.3. Perangkat Keras Sistem Penerima ................................................................ 74 4.3.(a). Bagian Luar Tampak Atas ....................................................................... 74 4.3.(b). Bagian Luar Tampak Bawah ................................................................... 74 4.3.(c). Bagian Luar Tampak Samping Kiri......................................................... 74 4.3.(d). Bagian Luar Tampak Samping Kanan .................................................... 74 4.3.(e). Bagian Dalam Tampak Samping Kiri...................................................... 74 4.3.(f). Bagian Dalam Tampak Samping Kanan .................................................. 74 Gambar 4.4. Indikator Kartu SD Tidak Siap ..................................................................... 76 Gambar 4.5. Indikator LED Terima Data Menyala ........................................................... 77 Gambar 4.6. File Backup.txt Pada Kartu SD ..................................................................... 78
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.7. File Temp.txt. Pada Kartu SD ....................................................................... 78 Gambar 4.8. Indikator LED Kirim Data Menyala ............................................................. 80 Gambar 4.9. Kotak Dialog Error - Perangkat Tidak Terdeteksi ....................................... 81 Gambar 4.10. Tampilan Jendela Aplikasi Sistem Akuisisi Data ....................................... 82 Gambar 4.11. Tampilan Properti Keterangan Pada Jendela Aplikasi ................................ 83 Gambar 4.12. Tampilan Jendela Prosedur Aplikasi........................................................... 83 Gambar 4.13. Tampilan Jendela Tentang Aplikasi ............................................................ 83 Gambar 4.14. Tampilan Properti Komunikasi Pada Jendela Aplikasi .............................. 84 Gambar 4.15. Kotak Dialog Peringatan - Masukkan Baud Rate Salah ............................. 84 Gambar 4.16. Kotak Dialog Error - Perangkat Tidak Berhasil Terhubung ...................... 85 Gambar 4.17. Kotak Dialog Peringatan - Ada Data Tabel ................................................ 85 Gambar 4.18. Tampilam Refresh Ports Pada Pop-up Menu Aplikasi .............................. 86 Gambar 4.19. Tampilan Properti Proses Data Pada Jendela Aplikasi ............................... 86 Gambar 4.20. Tampilan Data Pada Gauges Dan Static Text Aplikasi .............................. 87 Gambar 4.21. Tampilan Data Pada Tabel dan Grafik Aplikasi ......................................... 88 Gambar 4.22. File Backup Pada Folder Backup ................................................................ 88 Gambar 4.23. Data Pengujian Batas Sensor Pada Aplikasi ............................................... 90 Gambar 4.24. Data Sensor Lebih Kecil Dari Batas Bawah ............................................... 92 Gambar 4.25. Data Sensor Sesuai Batas ............................................................................ 92 Gambar 4.26. Data Sensor Lebih Besar Dari Batas Atas................................................... 92 Gambar 4.27. Kemampuan Program Aplikasi Mengolah Paket Data ............................... 93 Gambar 4.28. Tamplian Properti Simpan Data Pada Jendela Aplikasi ............................. 94 Gambar 4.29. Kotak Dialog Peringatan - Masukkan Karakter Salah ................................ 95 Gambar 4.30. Kotak Dialog Peringatan - Masukkan Nama File Salah ............................. 95 Gambar 4.31. Kotak Dialog Peringatan - Ganti Nama File ............................................... 95 Gambar 4.32. File Excel Akuisisi Data.xlsx ...................................................................... 96 Gambar 4.33. Kotak Dialog Pertanyaan - Hapus Data ...................................................... 97 Gambar 4.34. Properti Buka File Pada Jendela Aplikasi ................................................... 97 Gambar 4.35. Kotak Dialog Peringatan - File Belum Dipilih ........................................... 98 Gambar 4.36. Kotak Dialog Peringatan - Jumlah Kolom Salah ........................................ 99 Gambar 4.37. Kotak Dialog Peringatan - Tipe Data Salah ................................................ 99 Gambar 4.38. Kotak Dialog Peringatan - Data Tanggal Atau Waktu Salah ...................... 99 Gambar 4.39. File Akuisisi Data.xlsx Dibuka Pada Aplikasi ............................................ 99
xix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.40. Ilustrasi Pengujian Sistem Telemetri Dalam Ruang ................................. 100 Gambar 4.41. Ilustrasi Pengujian Sistem Telemetri Luar Ruang .................................... 104
xx
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL Halaman Tabel 2.1. Keterangan Bagian Arduino Uno Rev3 ........................................................... 13 Tabel 2.2. Spesifikasi XBee-PRO (S2B) .......................................................................... 18 Tabel 2.3. Konfigurasi Pin XBee-PRO (S2B)................................................................... 19 Tabel 2.4. Spesifikasi Modul XBee Shield V1.1 .............................................................. 25 Tabel 2.5. Keterangan Bagian XBee USB Adapter .......................................................... 26 Tabel 2.6. Keterangan Terminal Kartu SD. ...................................................................... 27 Tabel 3.1. Format Paket Data ............................................................................................ 54 Tabel 4.1. Variabel Global Pada Memori EEPROM ....................................................... 76 Tabel 4.2. Simbol ASCII Setiap Karakter Paket Data ...................................................... 80 Tabel 4.3. Variabel Global Pada Program Aplikasi Akuisisi Data .................................. 81 Tabel 4.4. Parsing Data Dari Paket Data Yang Diterima ................................................. 89 Tabel 4.5. Hasil Pengujian Batas Sensor Pada Aplikasi .................................................. 91 Tabel 4.6. Spesifikasi Tipe Data File Akuisisi Data ......................................................... 98 Tabel 4.7. Hasil Pengujian Komunikasi Satu Arah Dalam Ruang.................................. 101 Tabel 4.8. Hasil Pengujian Komunikasi Dua Arah Dalam Ruang .................................. 102 Tabel 4.9. Hasil Pengujian Pengiriman Paket Data Dalam Ruang ................................. 103 Tabel 4.10. Hasil Pengujian Komunikasi Satu Arah Luar Ruang ................................... 105 Tabel 4.11. Hasil Pengujian Komunikasi Dua Arah Luar Ruang ................................... 105 Tabel 4.12. Hasil Pengujian Pengiriman Paket Data Luar Ruang. ................................. 106 Tabel 4.13. Hasil Percobaan Komunikasi Handshaking ................................................. 107
xxi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN 1.1. Latar Belakang Indonesia merupakan kepulauan yang terletak di wilayah khatulistiwa dan diapit oleh dua benua yaitu Asia dan Australia. Kurang lebih dua per tiga wilayah Indonesia adalah lautan dan mempunyai garis pantai terpanjang di dunia, yaitu kurang lebih 80791,42 Km. Itulah mengapa Indonesia merupakan wilayah potensial untuk pengembangan pembangkit energi bertenaga angin. Rata-rata kecepatan angin di daerah pantai Indonesia adalah 5 m/detik. Di beberapa daerah, misalnya Laktutus, Atambua, NTT kecepatan angin dapat mencapai hingga 12 m/detik [1]. Di Laktutus sudah pernah dibagun beberapa kincir angin dengan propeler berbahan logam. Akan tetapi, karena desain tidak memperhatikan kondisi riil daerah tersebut menyebabkan kincir angin tersebut tidak dapat bertahan lama. Telah dilakukan studi perbandingan di Rembang untuk melihat kincir angin petani garam. Sebagian besar kincir garam menggunakan propeler dari bahan kayu dan dapat bertahan lama. Telah dilakukan desain dan implementasi awal kincir garam dan diuji coba di daerah pantai selatan Yogyakarta. Dengan kecepatan angin 4-7 m/detik, kincir dapat bekerja dengan baik dan kinerja kincir masih dapat ditingkatkan. Akan tetapi, dengan kecepatan angin yang ada belum diperoleh energi listrik yang optimal dengan generator yang digunakan [1]. Berdasarkan hal-hal tersebut, tim peneliti dari Universitas Sanata Dharma yang diketuai oleh Dr. Ir. Iswanjono, M.T. melakukan penelitian desain dan implementasi kincir angin propeler berbahan kayu dengan variasi bentuk sudu, sudut belok, dan sudut putar. Kincir ini akan digunakan untuk menggerakan generator listrik 1 kVA. Kecepatan putar poros kincir dan pemilihan beban listrik akan dikontrol secara otomatis untuk mendapatkan energi yang optimal [1]. Sistem secara keseluruhan dibagi menjadi empat bagian. Bagian pertama terdiri dari kincir angin propeler berbahan kayu, bagian kedua terdiri dari sensor dan sistem data logger, bagian ketiga terdiri dari sistem pengirim radio telemetri, dan bagian keempat terdiri dari sistem penerima dan sistem akuisisi data seperti yang ditunjukkan pada gambar 1.1.
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
Generator AC
Catu Daya DC
Pus h Button
LCD
Catu Daya DC
LED
Pus h Button
Rectifier Sensor Tegangan Laptop/PC Sensor Arus Beban
Arduino Uno Rev3
Poros Kincir Angin
Sensor Kecepatan Poros
Angin
Sensor Kecepatan Angin
Arduino Uno Rev3
XBee USB Adapter
Sensor Kompas SD Card
XBee PRO Shield V1.1
RTC & SD Shield
Kincir Angin Propeler Berbahan Kayu
RTC DS1307
XBee-PRO (S2B)
SD Card
Sistem Data Logger
Sistem Pengirim
XBee-PRO (S2B)
Sistem Penerima
Gambar 1.1. Blok Diagram Sistem Keseluruhan Kincir Angin Propeler Berbahan Kayu Meningkatnya kebutuhan pemantauan sistem secara real-time, membutuhkan sebuah model atau sistem yang lebih dari sekedar portable dan lebih fleksibel yaitu sistem telemetri. Sistem telemetri merupakan model metode pengukuran jarak jauh yang memanfaatkan gelombang radio sebagai media pengiriman data [2]. Untuk menunjang optimalisasi perolehan energi pada kincir angin propeler berbahan kayu oleh tim, dibuat sebuah sistem radio telemetri dan akuisisi data ditunjukkan pada blok sistem pengirim dan sistem penerima pada gambar 1.1. Alat yang dirancang berfungsi mengirim data pengukuran (instrumentasi) yang diterima melalui media penghantar kabel dari sistem data logger stasiun pengukur atau pengamat berupa data nomer perekamam, tanggal, jam, tegangan, arus, perolehan energi, kecepatan kincir, kecepatan angin, dan arah angin secara nirkabel (wireless) sampai ke stasiun penerima. Data yang diterima akan ditampilkan dalam aplikasi mandiri (standalone apllication) secara grafis (GUI) oleh sistem penerima yang memiliki fasilitas pemantauan data (data monitoring), penyimpanan dalam bentuk basis data (data base), dan pengolahan data (data processing) dalam waktu 24 jam. Program aplikasi akuisisi data dirancang dengan tampilan yang menarik, seperti program akuisisi data dan kontrol kincir angin yang pernah dibuat oleh Windmill Software Limited, spesialis akuisisi data dan program kontrol untuk sistem operasi windows [3].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3 Namun, perancangan tersebut tidak mengabaikan keakuratan data (validasi data) yang diterima melalui sistem radio telemetri. Komunikasi nirkabel (wireless) memiliki kelemahan terhadap gangguan sinyal (disturbance) dari luar, contohnya jangkauan yang luas, cuaca yang buruk, bagunan bertingkat, dan lain sebagainya. Berdasarkan hal tersebut dilakukan pengujian jarak pancar sistem telemetri terhadap medan yang dilalui dalam transmisi data secara nirkabel, guna mendapatkan data hasil transmisi yang optimal dan akurat.
1.2. Tujuan dan Manfaat Penelitian Tujuan penelitian ini adalah: 1.
Membuat sistem radio telemetri dari data instrumentasi sistem data logger kincir angin propeler berbahan kayu ke sistem akuisisi data kincir angin propeler berbahan kayu.
2.
Membuat aplikasi antarmuka sistem akuisisi data kincir angin propeler berbahan kayu dengan basis data dalam bentuk file excel (Microsoft Excel 97-2003 Worksheet). Manfaat penelitian ini adalah untuk menunjang optimalisasi perolehan energi kincir
angin propeler berbahan kayu dengan cara menampilkan antarmuka pemantauan data (data monitoring), penyimpanan dalam bentuk basis data (data base), dan pengolahan data (data processing) yang diterima melalui perangkat radio pengirim dari sistem data logger kincir angin secara real-time (waktu nyata).
1.3. Pembatasan Masalah Batasan masalah ditentukan untuk mengarah pada tujuan dan untuk menghindari terlalu kompleksnya permasalahan yang muncul, adapun batasan masalah adalah: 1.
Menggunakan Arduino Uno Rev3 sebagai media kontrol komunikasi data pada sistem pengirim (Tx).
2.
Menggunakan perangkat radio telemetri XBee-PRO (S2B).
3.
Modul XBee shield sebagai penghubung Arduino Uno dengan XBee-PRO (S2B).
4.
Modul XBee USB Adapter sebagai board perangkat XBee sistem penerima (Rx) yang dapat terhubung langsung ke laptop/PC.
5.
Kartu memori (memory card) sebagai penyimpanan paket data yang diterima sistem pengirim untuk proses handshaking.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4 6.
Perangkat lunak (software) MATLAB sebagai pembuatan aplikasi antarmuka sistem akuisisi data.
7.
Menerima data pengukuran dari sistem data logger berupa data *, nomer perekaman, tanggal, jam, tegangan, arus, energi, kecepatan poros, kecepatan angin, arah angin, dan #.
8.
Rentang data yang diterima diantaranya nomer perekaman (0 - 8639), tegangan (0 60 volt), arus (0 - 25 ampere), energi (0 - 24000 watt/jam), kecepatan poros (0 - 500 rpm), kecepatan angin (0 - 20 m/s), dan arah angin (0 - 359,99 derajat).
9.
Menampilkan data pengukuran dalam bentuk teks, animasi alat ukur, tabel, dan grafik.
10.
Data disimpan dalam bentuk file excel (Microsoft Excel 97-2003 Worksheet).
11.
Pengujian dilakukan di dalam ruangan dengan penghalang dinding atau sekat ruangan, dengan batas jarak 10 meter, 25 meter, dan 50 meter, dan batas kecepatan transfer data 9600 bps, 38400 bps, dan 115200 bps.
12.
Pengujian dilakukan di luar ruangan secara Line of Sight (LOS) tanpa penghalang, dengan batas jarak 100 meter, 500 meter, 1000 meter.
13.
Pengujian dilakukan dengan membandingkan data yang diterima dengan data yang disimpan sistem data logger per 30 paket data dengan waktu pengiriman per 10 detik.
1.4. Metodologi Penelitian Berdasarkan pada tujuan yang ingin dicapai, metode-metode yang digunakan dalam penyusunan tugas akhir ini adalah: 1.
Studi literatur, yaitu dengan cara mendapatkan data dengan membaca buku-buku, jurnal-jurnal, dan sumber internet yang terpercaya yang berkaitan dengan permasalahan yang dibahas dalam tugas akhir ini.
2.
Eksperimen, yaitu dengan langsung melakukan praktek maupun pengujian terhadap hasil pembuatan alat dalam tugas akhir ini.
3.
Perancangan subsistem hardware. Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan berbagai faktor-faktor permasalahan dan kebutuhan yang ditentukan. Gambar 1.2. menunjukkan gambar blok diagram sistem yang akan dirancang. Pengirim
Penerima
Laptop/PC
Gambar 1.2. Blok Diagram Perancangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5 4.
Pembuatan subsistem hardware. Berdasarkan gambar 1.2. sistem pengirim akan mengirimkan data serial, diterima oleh sistem penerima, dan selanjutnya data akan ditampilkan secara grafis antarmuka pada laptop/PC untuk pengolahan data.
5.
Proses pengambilan data. Pengambilan data dengan cara mengamati data yang diterima dengan data yang dikirimkan sistem data logger per 30 paket data, dengan waktu pengiriman data per 10 detik. Pengambilan data dilakukan di dalam ruangan yang terhalang dinding/sekat ruangan dengan batas jarak 10 meter, 25 meter, dan 50 meter, dengan variasi kecepatan transfer data 9600 bps, 38400 bps, dan 115200 bps. Pengambilan data dilakukan di luar ruangan (tempat yang tidak terhalang) Line of Sight (LOS) dengan batas jarak 100 meter, 500 meter, dan 1000 meter.
6.
Analisis dan penyimpulan hasil percobaan. Analisis yang dilakukan dengan membandingkan data yang diterima dengan data yang disimpan sistem data logger. Pengecekan dilakukan dengan membaca data pada memori yang menyimpan data instrumentasi oleh sistem data logger dengan hasil penyimpanan sistem akuisisi data berupa file excel (Microsoft Excel 97-2003 Worksheet) yang disimpan pada hard drive laptop/PC. Penyimpulan data dilakukan dengan menghitung presentasi error data yang terjadi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II DASAR TEORI 2.1. Kincir Angin Propeler Berbahan Kayu Kincir angin propeler merupakan jenis kincir angin sumbu horisontal yang memiliki jumlah sudu yang lebih sedikit dari kincir angin lainnya. Kincir angin jenis propeler memiliki penampang airfoil, dimana perputaran sudu kincir angin ini disebabkan oleh adanya gaya aerodinamika yang bekerja pada kincir angin [4]. Kincir angin propeler akan berputar jika letak bidang rotasinya tegak lurus dengan arah angin untuk tipe kincir angin upwind dan downwind. Pada daerah tertentu kincir angin jenis ini biasa digunakan oleh masyarakat untuk membantu pekerjaan mereka. Di daerah pesisir Rembang dan sekitarnya, juga di pulau Madura, masyarakat petani garam mempergunakan kincir angin untuk menggerakan pompa air, guna menaikkan air laut dari selokan-selokan ke tambak garam [1]. Model kincir angin petani garam juga telah didesain oleh tim mahasiswa USD untuk mengikuti Kompetisi Kincir Angin Indonesia (KKAI) 2013 di Pantai Baru, Bantul, Yogyakarta. Gambar 2.1. menunjukkan gambar kincir angin petani garam oleh tim KKAI 2013 USD.
Gambar 2.1. Kincir Angin Petani Garam Tim KKAI 2013 USD [1] Belajar dari kearifan lokal masyarakat pesisir, potensi angin ternyata dapat dimanfaatkan untuk kesejahteraan masyarakatnya dengan mempergunakan bahan-bahan yang dapat diperoleh dari daerah tersebut. Kincir angin yang didesain oleh tim peneliti kincir angin Universitas Sanata Dharma adalah kincir angin propeler berbahan kayu poros horisontal untuk menggerakan generator pembangkit listrik 1 kVA. Untuk mendapatkan energi yang lebih baik, maka dalam penelitiannya akan dilakukan tahapan meliputi desain
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7 kincir angin propeler berbahan kayu, kontrol kecepatan angin otomatis, dan sistem pengontrolan beban sehingga diperoleh energi listrik yang lebih optimal sesuai dengan karakteristik potensi angin dilokasi pemasangan [1].
2.2. Sistem Telemetri Tujuan dari sebuah sistem telemetri adalah untuk mengumpulkan data di tempat yang jauh ataupun tidak dan untuk menyampaikan data ke titik dimana data dapat dievaluasi [5]. Secara khas, sistem telemetri digunakan dalam menguji kendaraan bergerak seperti mobil, pesawat terbang, dan misil. Sistem telemetri merupakan kumpulan sistem komunikasi yang istimewa, ketika sistem telemetri digunakan untuk kontrol dan koleksi data. Gambar 2.2. menunjukkan skema sistem telemetri.
Gambar 2.2. Skema Sistem Telemetri [5] Subsistem pertama adalah sistem pendataan, yang terdiri dari sensor atau transduser yang mengubah variabel fisik ke sinyal elektrik. Sinyal yang dihasilkan biasanya kecil dan harus diberikan penyangga atau penguat sebelum dikirim ke blok multiplexing. Susbsistem ini dapat juga berupa sebuah komputer yang mengeluarkan data. Keluaran data dari subsistem pendataan diberikan ke sistem multiplex. Jika data dari sistem pendataan dipisahkan dan disimpan kedalam frekuensi yang berbeda, prosesnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8 disebut sistem Frequency Division Multiplexing (FDM). Jika data dipisahkan berdasarkan domain waktu, prosesnya disebut sistem Time Division Multiplexing (TDM). Jika sistem terdiri dari kedua subsistem FDM dan TDM, prosesnya disebut sistem hybrid. Subsistem yang ketiga adalah modulator, transmitter, dan antena. Data yang telah melalui proses multiplexing dipisahkan dalam domain frekuensi atau domain waktu dimodulasi diatas sinyal pembawa pada pengirim, yang akan ditransmisikan dengan antena. Frekuensi transmisi yang biasanya digunakan adalah 1435 - 1535 MHz atau 2200 - 2290 MHz. Blok selanjutnya adalah kanal bentuk gelombang. Sinyal pembawa yang dimodulasi dipancarkan antena melalui medium seperti udara. Susbsistem kelima adalah antena penerima, penguat Radio Frequency (RF), penguat Intermediate Frequency (IF), dan demodulator sinyal pembawa. Sinyal pembawa yang diterima antena dikirim ke penerima. Sinyal RF dikuatkan pada frekuensi RF diubah ke IF carrier dan kemudian dikuatkan kembali. Sinyal modulasi atau data telah dilepaskan dari IF carrier sebagai sinyal demodulator pembawa. Tipe dari penerima ini disebut sebagai superheterodyne receiver. Subsistem selanjutnya adalah demultiplexing. Pada bagian ini data harus dipisahkan menggunakan teknik FDM atau TDM, atau keduanya, untuk mengirimkan data dari sensor ke kanal yang tepat. Setelah data dari berbagai sensor telah dipisahkan dan dimasukkan kedalam kanal yang benar, data siap untuk ditampilkan, direkam, dan diproses. Seringkali, sinyal direkam pada pencatat alat ukur analog sebelum dimodulasi.
2.3. Sistem Akuisisi Data Sistem akuisisi data atau Data-Acquisition System (DAS) secara aktual berupa interface antara lingkungan analog dengan lingkungan digital [6]. Lingkungan analog meliputi transduser dan pengkondisi sinyal dengan segala kelengkapannya, sedangkan lingkungan digital meliputi Analog to Digital Converter (ADC) dan selanjutnya digital processing atau command unit yang dilakukan oleh mikroprosesor atau sistem berbasis mikroprosesor. 2.3.1. One Way DAS Sistem dengan one-way mempunyai struktur yang sederhana. Sistem dengan struktur one-way ini dapat berupa open-loop, dimana fungsi dari sistem ini terbatas yaitu hanya untuk pembacaan besaran fisik yang diukur secara digital untuk selanjutnya ditampilkan pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9 LCD, CRT, dan sebagainya serta merekamnya sebagai off-line processing (berupa file pada disk) atau mencetaknya pada printer [6]. 2.3.2. Elemen-elemen Penunjang DAS Sistem akuisisi data terdiri dari sejumlah elemen atau komponen yang saling berhubungan satu dengan yang lain melakukan suatu kerja sehingga tujuan atau fungsi sistem dapat tercapai. Elemen-elemen Data Acquisition System yang saling berhubungan satu dengan lain adalah transduser, penguat operasional, instrumentasi amplifier, isolator, rangkaian fungsi analog, multiplexer analog, rangkaian sample/hold, Analog to Digital Converter (ADC), Digital to Analog Converter (DAC), filter, dan prosesor data digital (perangkat komputer). Perangkat komputer merupakan salah satu pengolah data hasil konversi ADC. Komputer yang digunakan juga dapat mempengaruhi kecepatan akuisisi data. Tipe-tipe transfer data yang tersedia pada komputer yang bersangkutan juga secara signifikan mempengaruhi unjuk kerja dari sistem akuisisi data secara keseluruhan [7]. Penggunaan DMA mampu meningkatkan unjuk kerja melalui penggunaan perangkat keras terdedikasi untuk mengirimkan data langsung ke memori, sehingga prosesor bisa bebas mengerjakan tugas lain. Faktor yang mempengaruhi jumlah data yang dapat disimpan dan kecepatan penyimpanan adalah kapasitas dan waktu akases hard disk. Dengan demikian, untuk sistem akuisisi data kontinyu dengan frekuensi sinyal yang diamati cukup tinggi akan dibutuhkan hard disk dengan waktu akses yang cepat dan kapasitas yang besar. Aplikasi-aplikasi akuisisi data secara real-time (waktu nyata) membutuhkan prosesor yang cepat dan akurat atau menggunakan suatu prosesor terdedikasi seperti prosesor khusus untuk memproses sinyal digital (DSP-Digital Signal Processing). Gambar 2.3. menunjukkan elemen-elemen sistem akuisisi data berbasis PC.
Gambar 2.3. Elemen-elemen Sistem Akuisisi Data Berbasis PC [7]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
2.4. Jaringan ZigBee IEEE 802.15.4 Keputusan Menteri No. 2 tahun 2005 adalah tentang penggunaan pita frekuensi 24002483,5 MHz yang ditandatangani pada tanggal 5 Januari 2005 oleh Menteri Perhubungan M. Hatta Rajasa [8]. Ijin stasiun radio dari pemerintah untuk menjalankan internet pada frekuensi 2,4 GHz memiliki batasan sebagai berikut: 1.
Maksimum daya pancar adalah 100 mW (20 dBm).
2.
Maximum Effective Isotropic Radiated Power (EIRP) diantena adalah 36 dBm.
3.
Semua peralatan yang digunakan harus di-approve/disertifikasi oleh POSTEL. Sistem wireless sangat terkenal untuk jaringan data tingkat lokal dan komunikasi
antara beberapa alat komunikasi dengan jarak 10 meter (komunikasi Bluetooth) yang disebut dengan Wireless Local Area Network (WLAN) dan Wireless Personal Area Network (WPAN) [9]. Sampai saat ini frequency band Industrial, Scientific and Medical (ISM) 2,4 GHz IEEE 802.11 dan Bluetooth sering digunakan. IEEE 802.15.4 merupakan standar jaringan WPAN, bekerja pada low rate sekitar 250 kbps sehingga IEEE 802.15.4 dikenal juga sebagai low rate WPAN. Dengan fitur low rate ini, konsumsi daya juga menjadi lebih kecil dan jangkauannya sangat pendek 1 samapi 30 meter. Standar IEEE 802.15.4 didesain mendukung komunikasi digital saja. Pada bagian Physical Layer (PHY) protokol ini merupakan Direct Sequence Spred Spectrum (DSSS) yang salah satu kegunaannya adalah meningkatkan lebar pita dan sinyal yang dikirim. ZigBee adalah standar dari IEEE 802.15.4 untuk komunikasi data pada alat konsumen pribadi maupun untuk skala bisnis. ZigBee didesain dengan konsumsi daya yang rendah dan bekerja untuk jaringan personal tingkat rendah [10]. Standar ZigBee lebih banyak diaplikasikan kepada sistem tertanam (embedded application) seperti pengendalian industri, pengendali alat secara nirkabel, data logging, dan sensor wireless. Jarak atau rentang kerja dari ZigBee adalah sekitar 76 meter. Beberpa karakteristik jaringan ZigBee adalah: 1.
Bekerja pada frekuensi 2,4 GHz, 868 MHz, dan 915 MHz yang merupakan pita frekuensi gratis. Tiap lebar frekuensi tersebut dibagi menjadi 16 kanal.
2.
Mempunyai konsumsi daya rendah.
3.
Memiliki kecepatan transfer masing-masing 250 Kbps untuk frekuensi 2,4 GHz, 40 Kbps untuk frekuensi 915 MHz, dan 20 Kbps untuk frekuensi 868 MHz.
4.
Mempunyai throughput yang tinggi dan latency yang rendah untuk duty cycle yang kecil.
5.
Mempunyai beberapa topologi seperti peer-to-peer, mesh, dan lainnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11 Penggunaan frekuensi radio diatur oleh beberapa organisasi yaitu Federal Communications
Commisions
(FCC)
untuk
Amerika
Utara
dan
European
Telecommunications Standards Institute (ETSI) untuk Eropa yang bertugas menentukan alokasi lebar pita dan aturan untuk masing-masing frekuensi radio. Aturan-aturan ini bervariasi tergantung pada tiap-tiap negara. FCC mengalokasikan baik 900 MHz dan 2,4 GHz band dengan daya maksimum 100 mW. Frequency band 2,4 GHz tersedia diseluruh dunia dengan peraturan yang sebagian besar kompatibel.
2.5. Komunikasi Serial Antarmuka kanal serial lebih kompleks atau sulit dibandingkan dengan antarmuka melalui kanal paralel [11]. Hal ini disebabkan oleh beberapa hal berikut: 1.
Adanya proses konversi data paralel menjadi data serial atau sebaliknya menggunakan piranti
tambahan
yang
disebut
UART
(Universal
Asynchronous
Receiver/Transmitter). 2.
Lebih banyak menggunakan register.
2.5.1. Kelebihan Komunikasi Kanal Serial Disisi lain, antarmuka kanal serial menawarkan beberapa kelebihan dibandingkan dengan komunikasi kanal paralel, antara lain: 1.
Kabel untuk komunikasi serial bisa lebih panjang dibandingkan dengan paralel, sehingga gangguan kabel-kabel panjang lebih mudah diatasi pada komunikasi kanal serial.
2.
Jumlah kabel serial lebih sedikit yaitu kabel utama saluran kirim (TxD), saluran terima (RxD), dan tegangan referensi (Ground).
3.
Untuk teknologi embedded system, banyak mikrokontroler yang dilengkapi dengan komuniaksi serial (RISC maupun CISC) atau Serial Communication Interface (SCI).
2.5.2. Universal Ansynchronous Receiver Transmitter (UART) UART merupakan piranti tambahan yang dapat mengkonversi data paralel menjadi serial atau sebaliknya [11]. Semua chip UART kompatibel dengan TTL, dengan demikian diperlukan converter (RS232 level converter) untuk berkomunikasi dengan laptop/PC. UART juga membutuhkan clock untuk operasionalnya yang mana biasanya dibutuhkan Kristal eksternal dengan frekuensi 1,8432 MHz atau 18,432 MHz. UART menyediakan pencacah pembagi 16 (divide by 16) yang akan membagi frekuensi masukan dengan 16. Dengan demikian, jika frekuensi kristalnya 1,8432 MHz,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12 maka frekuensi kerjanya adalah 115,200 Hz mampu mengirim dan menerima dengan laju kecepatan 115,200 bps. Laju kecepatan ini tidak cocok untuk berbagai macam alat, dengan demikian digunakan pembangkit baudrate terprogram (terdiri dari 2 register). Misalnya diinginkan kecepatan 2,400 bps, maka 115,200 harus dibagi 48 supaya menghasilkan nilai 2,400 Hz. Angka 48 dianggap sebagai pembagi (divisor) disimpan dalam dua register yang dikontrol, karena menggunakan register (total) 16-bit maka angkanya antara 0 sampai 65.535.
2.6. Arduino Uno Rev3 Arduino merupakan sebuah platform elektronik yang open source, berbasis pada software dan hardware yang fleksibel dan mudah digunakan, yang ditunjukkan untuk para seniman, desainer, hobbies, dan setiap orang yang tertarik dalam membuat objek atau lingkungan yang interaktif [12]. Papan (board) Arduino Uno R3 ditunjukan gambar 2.4. dan keterangan bagian arduino ditunjukkan tabel 2.1.
1
2
67
4 5
3
8 9 10 11 12
13
14
15
16 18 17
19
Gambar 2.4. Papan Sistem Minimum Mikrokontroler Arduino Uno R3 2.6.1. Spesifikasi Arduino Uno Rev3 Arduino Uno Rev3 adalah board sistem minimum berbasis mikrokontroler ATmega328 keluarga AVR. Arduino Uno Rev3 memiliki 14 digital input/output (6 diantaranya digunakan untuk keluaran PWM), 6 masukan analog, 16 MHz Kristal osilator, koneksi USB, power jack, ICSP header, dan tombol reset. Beberapa pin Arduino Uno Rev3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13 memiliki keggunaan khusus, diantaranya adalah serial pin 0 dan 1, interupsi eksternal pin 2 dan 3, PWM pin 3, 5, 6, 9, dan 11, SPI pin 10, 11, 12 ,dan 13, LED pin 13, dan TWI pin A4 dan A5 [13]. Tabel 2.1. Keterangan Bagian Arduino Uno Rev3 No
Keterangan
1
Pin SCL
2
Pin SDA
3
Referensi tegangan analog
4
Pin ground digital
5
I/O analog dan digital pin 2 - 13, pin PWM (3,5,6,9,10, dan 11)
6
Keluaran serial (Tx) pin 1
7
Masukan serial (Rx) pin 0
8
Tombol reset
9
Masukan USB
10
In-Circuit Serial Programer (ICSP)
11
Mikrokontroler ATmega328
12
Catu daya eksternal
13
Adaptasi tegangan pada papan shield
14
Pin reset
15
Pin 3,3 volt
16
Pin 5 volt
17
Pin ground
18
Tegangan masukan
19
Masukan analog (A0 - A5)
Karakteristik papan Arduino Uno Rev3 diantaranya adalah bekerja pada tegangan DC dengan beroperasi pada tegangan kerja 5 volt. Tegangan masukan yang direkomendasi adalah 7 - 12 volt, dengan batas minimum dan maksimum tegangan masukan adalah 6 - 20 volt, arus DC setiap pin I/O 20 mA, flash memory 32 Kb, SRAM 2 Kb, EEPROM 1 Kb, kristal osilator 16 MHz, dan dimensi fisik 68,6 mm x 53,4 mm [13]. Papan Arduino Uno Rev3 berbasis mikrokontoler ATmega328 keluarga AVR. Komponen ini merupakan bagian utama dari papan Arduino Uno Rev3, sehingga pengguna dapat menerapkan program kontrol untuk menjalankan perintah masukan dan keluaran
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14 papan Arduino Uno Rev3. Selain ATmega328, mikrokontroler pada papan Arduino juga dapat diganti menggunakan mikrokontroler ATmega8/Atmega168 sesuai dengan kebutuhan pengguna. Gambar 2.5. menunjukkan deskripsi pin mapping ATmega168/328.
Gambar 2.5. Pin Mapping ATmega168/328 [13] 2.6.2. Pemrograman Arduino IDE Lingkungan pemrograman Arduino disebut Integrated Development Environment (IDE). Perangkat lunak Arduino IDE adalah aplikasi cross-platform ditulis dengan bahasa pemrograman java dan berasal dari IDE untuk bahasa pemrograman wiring project. Hal ini dirancang untuk memudahkan pengguna yang baru mempelajari mikrokontroler dengan software development, termasuk di dalam perangkat lunak dengan kode editor dan fitur seperti sintaks, brace pencocokan, dan identasi otomatis, serta mampu compile dan upload program dengan sekali perintah klik [14]. Gambar 2.6. menunjukkan perangkat lunak Arduino IDE versi 1.6.6.
Gambar 2.6. Perangkat Lunak Arduino IDE versi 1.6.6 [15]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15 Perangkat lunak Arduino IDE dilengkapi dengan library C/C++, membuat operasi input/output jauh lebih mudah dipahami. Pengguna hanya perlu mendefinisikan dua fungsi untuk membuat program dapat dijalankan ketika dieksekusi pada papan Arduino Uno Rev3. Fungsi tersebut diantaranya: 1.
Setup(), fungsi berjalan satu kali pada awal dari sebuah program yang dapat menginisialisasi masukan dan keluaran pada papan mikrokontroler Arduino Uno Rev3.
2.
Loop(), fungsi yang dieksekusi berulangkali sampai papan Arduino Uno Rev3 di nonaktifkan. Bahasa pemrogrman Arduino adalah bahasa C++ dengan dukungan berkas library
yang dapat menyederhanakan proses coding. C++ mendefinisikan beberapa jenis data yang berbeda. Sign variable memungkinkan mengolah data negatif dan positif, sedangkan unsigned variable hanya memungkinkan data positif [16]. Tipe data string memungkinkan penggunaan untuk memanipulasi teks string dalam cara yang lebih kompleks seperti melakukan penggabungan string, penambahan string, dan mengganti substring [17]. Berkas SD memungkinkan pengguna untuk membaca dan menulis ke kartu SD [18]. Berkas SD mendukung FAT16 dan sistem file FAT32 pada kartu SD dan kartu SDHC. Komunikasi antara mikrokontroler dan kartu SD menggunakan SPI, melalui terminal pin digital 11, 12, dan 13, terminal hardware SS kartu SD pada pin digital 10 sebagai keluaran. 2.6.3. Komunikasi Serial Arduino Komunikasi serial Arduino Uno Rev3 pada dasarnya terletak pada pin serial 0 (Rx) dan 1 (Tx) yang terhubung mikrokontroler ATmega328. Komunikasi yang disediakan adalah UART (Universal Asynchronous Receiver/Transmitter) TTL (5 volt). Papan Arduino Uno Rev3 dilengkapi mikrokontroler ATmega16U2 yang memungkinkan komunikasi serial melalui USB dan muncul sebagai COM Port Virtual (pada komputer), sehingga papan Arduino Uno Rev3 dapat berinteraksi dengan perangkat komputer (Personal Computer). Firmware ATmega16U2 menggunakan driver standar USB COM dan tidak membutuhkan driver eksternal. Fitur serial monitor pada perangkat lunak Arduino IDE memungkinkan data tekstual sederhana dikirimkan ke dan dari papan Arduino. LED Rx dan Tx yang tersedia pada papan akan berkedip ketika data sedang dikirim atau diterima melalui chip USB-toserial. Berkas library SoftwareSerial memungkinkan komunikasi serial pada beberapa pin digital Arduino Uno Rev3. IC ATmega328 pada Arduino Uno Rev3 juga mendukung I2C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16 Two Wire Interface (TWI) menggunakan berkas library Wire dan komunikasi Serial Pheripheral Interface (SPI) menggunakan berkas library SPI [13]. Konsep byte pada Arduino adalah 1 byte adalah 8 bit, sekalipun sebenarnya jumlah data bisa diatur kurang dari 8 bit. Namun secara umum pengiriman data melalui komunikasi serial adalah 8 bit data setiap satu kali kirim. Pada pengaturan default komunikasi serial dituliskan 9600,8,n,1 artinya kecepatan pengiriman data (baudrate) sebesar 9600, 8 bit data, tanpa parity check (n), dan 1 stop bits [12].
2.7. XBee-PRO (S2B) Modul XBee dan XBee-PRO dirancang untuk memenuhi standar ZigBee/IEEE 802.15.4, mendukung komunikasi nirkabel, kebutuhan biaya rendah, daya rendah, dan memungkinkan pengiriman data yang handal antar perangkat yang jauh [19]. Modul ini memerlukan daya minimal dan dapat diandalkan dalam pengiriman data kritis antar perangkat. 2.7.1. Spesifikasi XBee-PRO (S2B) XBee-PRO (S2B) beroperasi dalam frequency ISM 2,4 GHz, dengan teknik modulasi Direct Sequence Spread Spectrum (DSSS) dalam saluran yang tetap, mendukung 14 kanal dari 16 kanal operasi pada pita frekuensi 2,4 GHz [19]. XBee-PRO (S2B) memiliki prosesor sekunder MC9SO8QE dengan 32 Kb flash dan 2 Kb RAM hal ini memungkinkan modul untuk diprogram sesuai kebutuhan. Selain prosesor MC9SO8QE radio XBee didukung oleh jaringan wireless generasi keempat yaitu EM250. Tabel 2.2. menunjukkan tabel spesifikasi Xbee-PRO (S2B). XBee-PRO (S2B) memiliki beberapa keunggulan diantaranya [19]: 1.
Setiap kanal direct sequence memiliki 65.000 alamat yang berbeda.
2.
Mendukung topologi point-to-point, point-to-multipoint, dan peer-to-peer.
3.
Beroperasi pada arus rendah yaitu:
4.
a.
Arus Tx adalah 117 mA pada tegangan 3,3 volt (international variant).
b.
Arus Rx adalah 47 mA pada tegangan 3,3 volt.
Kemananan (security) data dengan protokol ZigBee diantaranya: a.
128-bit kode enkripsi.
b.
Dua kunci keamanan yang dapat dikonfigurasikan.
c.
Dukungan pusat keamanan (trust center).
d.
Ketentuan memastikan integritas pesan, kerahasiaan, dan otentikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17 5.
Jangkauan pancar a.
Dalam ruangan (wilayah perkotaan) sampai 90 meter (international variant).
b.
Luar ruangan Line of Sight sampai 3200 meter (international variant).
c.
Daya transmisi 63 mW, 18 dBm (international variant).
d.
Sensitivitas penerima adalah -102 dBm.
Gambar 2.7. menunjukkan modul XBee-PRO (S2B) tampak dari atas, beserta konfigurasi pin-pin pada modul XBee-PRO (S2B) ditunjukkan pada tabel 2.3.
1
20
10
11
Gambar 2.7. Modul XBee-PRO (S2B)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18 Tabel 2.2. Spesifikasi XBee-PRO (S2B) [19] Spesification
XBee-PRO (S2B)
Performance Indoor/Urban Range
Up to 300 ft. (90 m), up to 200 ft (60 m) international variant
Outdoor RF line-of-sight
Up to 2 miles (3200 m), up to 5000 ft (1500
Range
m) international variant
Transmit Power Output
63 mW (+18 dBm) 10 mW (+10 dBm) for International variant
RF Data Rate
250,000 bps
Data Throughput
up to 35000 bps
Serial Interface Data Rate
1200 bps-1 Mbps
(software selectable)
(non-standard baud rates also supported)
Receiver Sensitivity
-102 dBm
Power Requirements Supply Voltage
2.7-3.6 volt
General Operating Frequency Band Dimensions Antenna Options
ISM 2.4 GHz 0.960 x 1.297 (2.438cm x 3.294cm) Integrated Whip,PCB Embedded Trace, RPSMA, or U.FL Connector
Networking & Security Supported Network
Point-to-point, Point-to-multipoint, Peer-to-peer,
Topologies
and Mesh
Number of Channels
15 Direct Sequence Channels
Channels
11 to 25
Addressing Options
PAN ID and Addresses, Cluster IDs, and Endpoints (optional)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19 Tabel 2.3. Konfigurasi Pin XBee-PRO (S2B) [19] Pin
Name
Direction
Default State
Description
1
VCC
-
-
Power supply
2
DOUT
Output
Output
UART Data Out
3
DIN/CONFIG
Input
Input
UART Data In
4
DIO12
Both
Disabled
Digital I/O 12
Open-
6
RSSI PWM/DIO10
Both
Output
7
DIO11
Both
Input
Module Reset (reset pulse must be at least 200 ns) RX Signal Strength Indicator/Digital IO Digital I/O 11
8
[reserved]
-
Disabled
Do not connect
Both
Input
Pin Sleep Control Line or Digital IO 8
5
RESET
Both
collector with pull-up
9
DTR/SLEEP_RQ/ DIO8
10
GND
-
-
Ground
11
DIO4
Both
Disabled
12
CTS/DIO7
Both
Output
13
ON/SLEEP
Output
Output
14
VREF
Input
-
15
Associate/DIO5
Both
Output
Digital I/O 4 Clear-to-Send Flow Control or Digital I/O 7. CTS, if enabled, is an output Module Status Indicator or Digital I/O 9 Not used for EM250. Used for programmable secondary processor. For compatibility with other XBEE modules, we recommend connecting this pin voltage reference if Analog sampling is desired. Otherwise, connect to GND Associated Indicator, Digital I/O 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20 Tabel 2.3. (Lanjutan) Konfigurasi Pin XBee-PRO (S2B) [19] Pin
Name
Direction
Default State
16
RTS/DIO6
Both
Input
17
AD3/DIO3
Both
Disabled
18
AD2/DIO2
Both
Disabled
19
AD1/DIO1
Both
Disabled
20
AD0/DIO0/Commis Both ioning Button
Disabled
Description Request-to-Send Flow Control, Digital I/O 6. RTS, if enabled, is an input Analog Input 3 or Digital I/O 3 Analog Input 2 or Digital I/O 2 Analog Input 1 or Digital I/O 1 Analog Input 0, Digital IO 0, or Commissioning Button
2.7.2. Komunikasi Serial XBee-PRO (S2B) Modul XBee-PRO (S2B) terhubung dengan perangkat utama melalui port serial level logika ansynchronous. Melalui port serial modul dapat berkomunikasi dengan logika dan tegangan level UART atau dengan menggunakan modul serial tambahan (shield), seperti RS-232 atau USB [19]. Gambar 2.8. menunjukkan diagram blok komunikasi UART XBeePRO (S2B).
Gambar 2.8. Komunikasi UART XBee-PRO (S2B) [19] Data memasuki UART modul melalui DIN pin 3 sebagai sinyal serial asynchronous. Sinyal harus siaga pada level high logic ketika tidak ada data yang dikirim. Setiap byte data yang terdiri dari start bit berlogika rendah, 8 bit data, dan stop bit berlogika tinggi. Gambar 2.9. menunjukkan pola bit serial yang melewati modul.
Gambar 2.9. Pola Bit Serial yang Melewati XBee-PRO (S2B) [19]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21 Komunikasi serial yang berlangsung tergantung pada dua UART mikrokontroler dan XBeePRO (S2B), dengan pengaturan baud rate, paritas, start bit, stop bit, dan data bit yang sesuai. 2.7.3. Protokol Jaringan ZigBee XBee-PRO (S2B) Protokol ZigBee mendefinisikan tiga jenis perangkat yaitu koordinator, router, dan perangkat akhir (end device). Protokol jaringan ZigBee ditunjukkan pada gambar 2.10. karakteristik masing-masing perangkat ZigBee adalah sebagai berikut [19]: 1.
2.
Perangkat koordinator memiliki karakteristik: a.
Memilih kanal dan PAN ID (64-bit dan 16-bit) untuk memulai jaringan.
b.
Memungkinkan untuk router dan perangkat akhir tergabung dalam jaringan.
c.
Membantu dalam routing data.
d.
Tidak dapat dalam mode sleep (harus tetap aktif).
e.
Dapat menyangga data paket ketika perangkat akhir dalam mode sleep.
Perangkat router memiliki karakteristrik: a.
Harus bergabung dengan protokol ZigBee sebelum dapat mengirimkan, menerima, atau route data.
b.
Setelah bergabung memungkinkan router dan perangkat akhir untuk bergabung dalam jaringan.
3.
c.
Setelah bergabung, dapat membantu route data.
d.
Tidak dapat dalam mode sleep (harus tetap aktif).
e.
Dapat menyangga paket data RF ketika perangkat akhir dalam mode sleep.
Sebagai perangkat akhir (end device) memiliki karakteristik: a.
Harus bergabung dengan protokol ZigBee sebelum dapat mengirimkan atau menerima data.
b.
Tidak menginjinkan perangkat lainnya bergabung ke dalam jaringan.
c.
Harus selalu mengirim dan menerima data dari dan ke pusat modul RF.
d.
Tidak bisa route data.
e.
Bisa diatur pada mode daya rendah untuk menghemat daya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22
Gambar 2.10. Protokol Jaringan ZigBee [19] 2.7.4. Pengaturan XBee-PRO (S2B) Digi International menyediakan program konfigurasi X-CTU untuk konfigurasi parameter XBee-PRO (S2B) dan memperbaharui firmwire [19]. Gambar 2.11. menunjukkan program X-CTU versi 5.2.7.5. X-CTU memiliki kemampuan dalam melakukan hal berikut [19]: 1.
Menemukan semua perangkat XBee pada jaringan.
2.
Memperbaharui firmware pada modul lokal (membutuhkan USB atau koneksi serial).
3.
Membaca atau menulis parameter konfigurasi pada perangkat XBee.
Gambar 2.11. Program X-CTU Versi 5.2.7.5 [20] Dalam beroperasi menurut versi firmware XBee dapat diatur sebagai berikut [19]: 1.
20xx-Coordinator-AT/Transparent Operation.
2.
21xx-Coordinator-API Operation.
3.
22xx-Router-AT/Transparent Operation.
4.
23xx-Router-API Operation.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23 5.
28xx-End Device-AT/Transparent Operation.
6.
29xx-End Device-API Operation. Mode operasi AT dan API memiliki tugas dan fungsi yang berbeda. Mode operasi AT
merupakan mode yang sederhana, kompatibel dengan modul serial pada umumnya, dan bekerja baik pada komunikasi antara dua radio XBee. Kekurangan mode AT adalah jika radio XBee yang dioperasikan lebih dari dua diperlukan konfigurasi destinasi setiap pesan. Untuk mengatasi kelemahan mode AT disediakan mode Application Programing Interface (API), mode ini efektif digunakan dalam komunikasi radio XBee yang kompleks. Kelebihan mode API diantaranya adalah dapat mengelola transmisi data ke satu atau beberapa tujuan, mengidentifikasi status keberhasilan/kegagalan transmisi data, dan identifikasi alamat dari setiap paket yang diterima. Agar XBee-PRO (S2B) dapat berkomunikasi, maka XBee-PRO (S2B) harus diatur pada perangkat ZigBee misalnya perangkat pengirim sebagai koordinator dan perangkat penerima sebagai router. Parameter yang penting harus diatur adalah PAN ID (Personal Area Network ID) yaitu parameter yang mengatur radio mana saja yang dapat berkomunikasi, PAN ID dalam satu jaringan harus sama. Dua XBee-PRO (S2B) dapat berkomunikasi pointto-point dengan pengaturan sebagai berikut: 1.
Nilai parameter PAN ID XBee-PRO (S2B) Pengirim = Nilai parameter PAN ID XBee-PRO (S2B) Penerima.
2.
Nilai parameter DL XBee-PRO (S2B) Pengirim = Nilai parameter MY XBee-PRO (S2B) Penerima.
3.
Nilai parameter MY XBee-PRO (S2B) Pengirim = Nilai parameter DL XBee-PRO (S2B) Penerima.
4.
Nilai parameter BD XBee-PRO (S2B) Pengirim = Nilai parameter BD XBee-PRO (S2B) Penerima.
2.8. XBee Shield V1.1 XBee Shield V1.1 adalah modul port serial radio XBee yang diproduksi oleh Itead Studio. Modul ini kompatibel dengan papan Arduino dan IFLAT-32 menggunakan pin sederhana untuk menghubungkan modul dengan port serial radio XBee [21]. Gambar 2.12. menunjukkan modul XBee Shield V1.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24
Gambar 2.12. Modul XBee Shield V1.1 Beberapa fitur yang dimiliki modul XBee Shield V1.1 diantaranya [21]: 1.
Kompatibel dengan Arduino atau IFLAT-32.
2.
Lima indikator led (ON/SLEEP, RSSI, ASS, DO, dan DI) untuk XBee.
3.
Arus maksimal 500 mA pada tegangan 3,3 volt.
4.
Pin berukuran 2,54 mm untuk XBee.
5.
Komunikasi XBee dapat diganti melalui FTDI-USB atau Arduino dengan berkas library hardware serial atau software serial.
Gambar skematik dari hardware modul XBee Shield V1.1 ditunjukkan pada gambar 2.13. Pada gambar skematik dapat dilihat keterangan dari masing-masing komponen yang ditunjukkan pada tabel 2.4.
Gambar 2.13. Skematik Modul XBee Shield V1.1 [21]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25 Tabel 2.4. Spesifikasi Modul XBee Shield V1.1 [21] Zone
Description
1
XBee socket
2
Indication LED
3
Serial communication pin select
4
Wireless program Arduino jumper
5
3,3 volt operation voltage jumper (when operated in 3,3 volt, install the jumper)
Pada zona 3 yang ditunjukkan gambar 2.13. dua jumper dihubungkan ke XBee DIN, XBee DOUT ke digital pin pada Arduino. Ketika modul dikomunikasikan ke pin serial papan Arduino, hubungkan jumper DIN ke D1 dan DOUT ke D0 seperti ditunjukkan gambar 2.14. (a). Ketika XBee dikomunikasikan ke pin serial FTDI232, hubungkan jumper DIN ke D0 dan DOUT ke D1 seperti ditunjukkan gambar 2.14. (b).
(a)
(b)
Gambar 2.14. Instalasi Komunikasi Serial Modul XBee Shield V1.1 [21], (a). Komunikasi dengan Arduino, (b). Komunikasi dengan FTDI232
2.9. XBee USB Adapter XBee USB Adapter merupakan modul komunikasi radio XBee ke serial USB. XBee USB Adapter merupakan modul kompatibel dengan radio XBee yang beroperasi pada frekuensi ISM 2,4 GHz [19]. XBee USB Adapter ideal digunakan untuk konfigurasi radio XBee menggunakan perangkat lunak X-CTU dan dilengkapi dengan regulator tegangan 3,3 volt/500 mA untuk memberi sumber daya ke radio XBee. Adapter ini menggunakan chip converter FTDI232 USB-UART untuk memastikan data stabil dan dapat diandalkan. Perlu dilakukan penambahan (install) driver chip FTDI232 terlebih dahulu pada laptop/PC sebelum menghubungkan adapter dan mengkomunikasikan radio XBee dengan laptop/PC. Radio XBee dapat terhubung langsung dengan laptop/PC menggunakan USB mini-B pada modul. Gambar 2.15. menunjukkan XBee USB Adpater produksi Funduino, dan dijelaskan pada tabel 2.5. Fitur XBee USB Adapter diantaranya:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26 1.
Indikator LED (power, RSSI, Rx, dan Tx).
2.
Soket pin untuk radio XBee.
3.
Kompatibel dengan semua modul radio XBee termasuk seri 1, seri 2, dan PRO.
4.
Dilengkapi dengan pin header untuk dapat berkomunikasi dengan mikrokontroler. 2
1
4 5
3
7
6
Gambar 2.15. XBee USB Adapter-Funduino Tabel 2.5. Keterangan Bagian XBee USB Adapter No
Keterangan
1
Regulator Tegangan 3,3 volt
2
Soket radio XBee pin 1 sampai 10
3
USB mini-B
4
Indikator LED (RSSI, Rx, Tx, dan Power)
5
Pin komunikasi mikrokontroler (Reset, Rx, Tx, GND, 5 volt)
6
Soket radio XBee pin 11 sampai 20
7
Chip FTDI232 USB-UART
2.10. Kartu SD (Secure Digital) Kartu SD adalah kartu memori kecil yang digunakan untuk membuat penyimpanan portable diantara berbagai perangkat, seperti sistem navigasi mobil, telepon seluler, eBook, PDA, ponsel pintar, kamera digital, pemutar musik, camrecorder, dan komputer pribadi [22]. Kartu SD memiliki kecepatan transfer data yang tinggi, konsumsi daya yang rendah, dan tidak memerlukan sumber daya untuk mempertahankan data yang ada. Kartu SD menyediakan kemampuan enkripsi konten-konten yang dilindungi untuk memastikan distribusi yang aman. Dalam perkembangannya kartu SD diproduksi juga dalam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27 dua ukuran yang lebih kecil yaitu MiniSD dan MicroSD. Gambar 2.16. menunjukkan bentuk kartu SD standar beserta standar penomerannya. Keterangan setiap standar terminal kartu SD ditunjukkan tabel 2.6.
Gambar 2.16. Standar Penomoran Terminal Kartu SD [23] Tabel 2.6. Keterangan Terminal Kartu SD [23] Pin#
Name
Type
Description
1
CD/DAT3
I/O/PP
Card Detect/ Data Line [Bit 3]
2
CMD
I/O/PP
Command/Response
3
VSS1
S
Supply voltage ground
4
VDD
S
Supply voltage
5
CLK
I
Clock
6
VSS2
S
Supply voltage ground
7
DAT0
I/O/PP
Data Line [Bit 0]
8
DAT1
I/O/PP
Data Line [Bit 1]
9
DAT2
I/O/PP
Data Line [Bit 2]
Kartu SD dapat bekerja dengan menggunakan catu daya dengan tegangan sebesar 2,7 volt hingga 3,6 volt. Mikrokontroler dicatu dengan tegangan 5 volt. Saat keluaran mikrokontroler 5 volt harus diterima oleh kartu SD sebesar 3,3 volt. Persambungan antara ATmega328 dengan kartu SD memerlukan penyesuaian level tegangan. Penyesuaian level tegangan menggunakan konsep pembagi tegangan [24]. Persambungan kartu SD dengan penyesuaian tegangan ditunjukkan pada gambar 2.18. Rangkaian pembagi tegangan ditunjukkan gambar 2.17. dan untuk menentukan nilai resistor pembagi tegangan digunakan persamaan: πππ’π‘ =
π
π΅ πππ π
π΄ + π
π΅
(2.1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28
Gambar 2.17. Rangkaian Pembagi Tegangan
Gambar 2.18. Persambungan Kartu SD Dengan Mikrokontroler [24]
2.11. Light Emitting Diode (LED) LED adalah komponen elektronika yang terbuat dari bahan semikonduktor jenis dioda yang mampu memancarkan cahaya. LED mampu menghasilkan cahaya yang berbeda menurut semikonduktor yang digunakan dan jenis bahan semikonduktor tersebut akan menghasilkan panjang gelombang yang berbeda sehingga cahaya yang dihasilkan berbeda pula. LED memiliki dua kutub yaitu anoda dan katoda. Dalam hal ini berarti LED akan menyala bila ada arus listrik yang mengalir dari anoda ke katoda. Pemasangan kutub LED tidak boleh terbalik karena apabila kutubnya terbalik maka LED tidak akan menyala. LED memiliki karakteristik berbeda-beda menurut warna yang dihasilkan. Semakin tinggi arus yang mengalir pada LED maka semakin terang pula cahaya yang dipancarkan. Namun hal yang perlu diperhatikan adalah arus yang diperbolehkan melewati LED adalah 10-20 mA dan pada tegangan 1,6-3,5 volt menurut karakter warna masing-masing LED. Untuk menjaga agar tegangan dan arus suplai LED sesuai dengan karakteristik LED maka perlu ditambahkan komponen resistor sebagai penghambat arus. Konfigurasi LED ditunjukkan gambar 2.19.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29
Gambar 2.19. Konfigurasi LED Berdasarkan gambar 2.20. persamaan untuk mencari nilai tegangan menggunakan hokum ohm, sehingga persamaan mencari nilai resistansi adalah:
π
=
πππ β ππ· πΌ
(2.2)
Gambar 2.20. Rangkaian LED Dimana: V
= Tegangan.
I
= Arus.
R
= Resistor.
Vcc = Tegangan sumber. VD = Tegangan LED. Tegangan kerja pada sebuah LED menurut warna yang dihasilkan [25]: 1.
Infra merah
= 1,6 volt.
2.
Merah
= 1,8-2,1 volt.
3.
Orange
= 2,2 volt.
4.
Kuning
= 2,4 volt.
5.
Hijau
= 2,6 volt.
6.
Biru
= 3,0-3,5 volt.
7.
Putih
= 3,0-3,6 volt.
8.
Ultraviolet
= 3,5 volt.
Pada umumnya tegangan yang digunakan pada perancangan LED adalah tegangan minimal LED yaitu sebesar 1,5 volt.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30
2.12. MATLAB Graphical User Interface (GUI) MATLAB adalah pemrograman level tinggi yang dikhususkan untuk komputasi teknis. MATLAB
merupakan singkatan dari MATrix LABoratory. Bahasa ini
mengintegrasikan kemampuan komputasi, visualisasi, dan pemrograman dalam lingkungan yang mudah digunakan [26]. 2.12.1. Graphical User Interface (GUI) Graphical User Interface (GUI) adalah media tampilan grafis sebagai pengganti perintah teks untuk pengguna (user). Untuk keperluan pemrograman window MATLAB menyediakan komponen-komponen standar seperti push button, edit, text, combo, checkbox, dan lain-lain yang digunakan sebagai media desain. Untuk memulai pemprograman menggunakan GUI, user dapat mengetikkan fungsi guide pada command window. Gambar 2.21. tampilan guide editor MATLAB.
Gambar 2.21. Tampilan Guide Editor MATLAB Komponen-komponen yang pada umumnya digunakan pada guide editor dapat diatur dan dikontrol, dilakukan dengan cara klik ganda pada komponen yang digunakan maka akan muncul jendela property inspector. Pada bagian property inspector terdapat dua bagian yaitu property name (kolom 1) dan property value (kolom 2). Gambar 2.22. menunjukkan jendela property inspector pada komponen push button. Komponen-komponen yang pada umumnya digunakan pada guide editor diantaranya: 1.
Push buton (tombol tekan).
2.
Edit text (masukan pengguna yang dapat diedit).
3.
Static text (tampilan statis tidak dapat diedit).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31 4.
Pop-up menu (menampilkan menu pilihan).
5.
Table (menampilkan data tabel).
6.
Axes (menampilkan data grafik).
7.
ActiveX control (komponen perangkat lunak Microsoft Windows yang memiliki fungsi khusus seperti animasi).
Gambar 2.22. Jendela Property Inspector Pengguna dapat langsung merancang antarmuka grafis yang dapat dimodifikasi dengan menggunakan guide editor. Guide akan secara otomatis membangun kode MATLAB yang dapat kembali dimodifikasi untuk mendefinisikan semua fungsi dan tugas dari komponen. Salah satu keunggulan program berbasis grafis adalah menyediakan tampilan program yang menarik dan memudahkan pengguna (user fiendly). Guide pada MATLAB memungkinkan pengaturan ikon, splash screen (tampilan gambar yang muncul saat sebuah aplikasi atau program dalam proses loading), dan gambar latar (background image). Perangkat lunak pendukung berbasis grafis dapat digunakan untuk mendesain gambar atau tampilan yang sesuai dengan kebutuhan program dan komponen-komponen yang digunakan. Salah satunya adalah perangkat lunak Adobe Illustrator program editor grafis vector yang dikembangkan oleh Adobe Systems. Dengan menggunakan perangkat lunak pendukung tersebut pengguna dapat menyimpan ekstensi gambar sesuai dengan format yang didukung oleh guide MATLAB diantaranya Windows Bitmap (BMP), Graphics Interchange Format
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32 (GIF), Joint Photographic Expert Group (JPEG), Portable Network Graphics (PNG), dan lainnya. 2.12.2. MATLAB Compiler MATLAB compiler memungkinkan pengguna untuk berbagi program MATLAB sebagai aplikasi mandiri (standalone application). Pengguna juga dapat membuat file Microsoft Excel dan mengintegrasikan program kedalam spreadsheet Excel [27]. Semua aplikasi yang dibentuk dengan MATLAB compiler menggunakan MATLAB runtime, yang memungkinkan pendistribusian aplikasi kepada pengguna lain yang bebas royalti. MATLAB compiler versi 6.0 memungkinkan pengguna dapat memasukkan kode program, guide editor, ikon, gambar latar, splash screen, informasi program, dan komponenkomponen tambahan yang digunakan dalam membagun GUI. Gambar 2.23. menunjukkan jendela MATLAB compiler versi 6.0.
Gambar 2.23. Jendela MATLAB Compiler Versi 6.0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III PERANCANGAN PENELITIAN Sistem akuisisi data kincir angin propeler berbahan kayu ini dibentuk oleh dua subsistem yaitu sistem telemetri data sensor dari sistem data logger dan sistem antarmuka akuisisi data. Sistem akuisisi yang dirancang adalah sistem akuisisi data one-way. Parameterparameter data yang diterima dan dikirimkan telah disepakati dengan sistem data logger dari kincir angin dengan generator listrik 1 kVA dalam waktu 24 jam. Gambar 3.1. menunjukkan gambar perancangan sistem. Perancangan sistem akuisisi data kincir angin propeler berbahan kayu dibagi menjadi enam subbab perancangan diantaranya: 1.
Perancangan sistem pengirim terdiri dari perangkat keras dan perangkat lunak sistem pengirim. Perancangan perangkat keras terdiri dari perancangan rangkaian dan perancangan kotak untuk komponen rangkaian sistem pengirim. Perancangan perangkat lunak sistem dirancang untuk menerima dan mengirimkan data pengukuran dari sistem data logger ke sistem penerima dengan metode handshaking.
2.
Perancangan sistem penerima terdiri dari rangkaian sistem penerima dan perancangan kotak untuk komponen rangkaian sistem penerima. Sistem penerima dirancang untuk dapat langsung terhubung laptop/PC melalui perangkat XBee USB Adapter.
3.
Konfigurasi modul radio XBee-PRO (S2B) menggunakan perangkat lunak X-CTU melalui media perantara XBee USB Adapter dengan mngatur modul radio XBee sistem pengirim sebagai koordinator dan modul radio XBee sistem penerima sebagai router pada jaringan ZigBee.
4.
Format paket data dirancang dengan ketentuan jumlah data yang dikirimkan 11 data dalam satu paket data berjumlah 66 karakter dengan urutan data diawali karakter β*β (bintang) dan diakhiri dengan karakter β#β (pagar).
5.
Perancangan aplikasi antarmuka sistem akuisisi data terdiri dari perancangan gambar (grafis) antarmuka dan perancangan perangkat lunak aplikasi antarmuka. Program dibentuk menjadi aplikasi mandiri (standalone application) untuk dapat menampilkan data sensor yang dikirimkan dari sistem data logger berupa animasi, teks, tabel dan grafik. Data yang diterima selanjutnya akan disimpan pada hard drive laptop/PC dalam bentuk data excel (Microsoft Excel 97-2003 Worksheet).
33
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34 6.
Data dummy adalah data yang menyerupai data aslinya tetapi tidak memiliki fungsi aslinya. Data ini digunakan untuk menggantikan data setiap sensor yang dikirim oleh sistem data logger. Catu Daya DC
LED
Pus h But ton
Lapt op/PC
Arduino Uno Rev3
XBee USB Adapter
SD Card
XBee PRO Shield V1.1
XBee-PRO (S2B)
Sistem Pengirim
XBee-PRO (S2B)
Sistem Penerima
Gambar 3.1. Perancangan Sistem Berikut merupakan penjelasan cara kerja sistem yang ditunjukkan gambar 3.1. 1.
Sistem pengirim merupakan sistem telemetri sebagai pengirim (transmitter) dengan komponen utama adalah papan Arduino Uno Rev3. Sistem ini menerima data serial yang dikirimkan secara langsung melalui media penghantar kabel dari pin Tx sistem data logger yang terhubung ke pin Rx sistem pengirim.
2.
Catu daya DC merupakan sumber daya untuk rangkaian sistem pengirim dari accumulator 12 volt.
3.
LED merupakan indikator untuk power, terima data, dan kirim data. Saat sistem pengirim diberi sumber daya, maka LED power akan menyala. LED terima data menyala jika ada data yang diterima dari sistem data logger. LED kirim data menyala jika data dikirimkan ke sistem penerima secara nirkabel.
4.
Push button (tombol tekan), merupakan tombol untuk reset eksternal mikrokontroler papan Arduino Uno Rev3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35 5.
XBee Shield V1.1 merupakan modul komunikasi serial radio XBee dengan papan Arduino. Modul ini terhubung radio XBee dan terhubung pada papan Arduino Uno Rev3 dengan soket/pin header yang kompatibel.
6.
XBee-PRO (S2B) sebagai perangkat komunikasi sistem pengirim diatur sebagai koordinator pada jaringan ZigBee yang telah dibentuk.
7.
SD Card (kartu SD) merupakan perangkat perekam data pengukuran dari sistem data logger. Data yang diterima sistem pengirim akan disimpan pada kartu SD. Jika sistem penerima sudah siap, maka data pengukuran akan dikirim.
8.
XBee-PRO (S2B) sebagai perangkat komunikasi sistem penerima diatur sebagai router pada jaringan ZigBee yang telah dibentuk untuk menerima data dari modul radio XBee-PRO (S2B) sistem pengirim.
9.
XBee USB Adapter merupakan modul komunikasi radio XBee ke serial USB. Modul ini menghubungkan perangkat radio telemetri XBee sistem penerima melalui port USB yang dapat terhubung langsung dengan laptop/PC untuk menerima data dari sistem pengirim.
10.
Laptop/PC merupakan perangkat keras yang dapat menjalankan aplikasi antarmuka sistem akuisisi data. Aplikasi menerima data oleh sistem penerima dari port USB dan selanjutnya data ditampilkan dalam bentuk teks, animasi alatukur, tabel, dan grafik (data vs waktu). Data yang diterima disimpan dalam bentuk data excel (Microsoft Excel 97-2003 Worksheet) untuk keperluan pengolahan data kincir angin propeler berbahan kayu.
3.1. Perancangan Sistem Pengirim 3.1.1. Perancangan Perangkat Keras Perancangan perangkat keras sistem pengirim terdiri dari perancangan rangkaian sistem pengirim dengan komponen pendukung yaitu papan Arduino Uno Rev3, XBee Shield V1.1, modul radio XBee-PRO (S2B), dan kartu SD. Rangkaian sistem pengirim dilengkapi dengan rangkaian catu daya sumber DC, rangkaian reset eksternal, rangkaian kartu SD , dan rangkaian LED indikator. Perancangan perangkat keras juga meliputi perancangan tempat (kotak) sistem pengirim yang bertujuan untuk melindungi komponen dan rangkain pada sistem pengirim, serta memudahkan dalam komunikasi dengan perangkat sistem data logger.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36 3.1.1.1. Rangkaian Sistem Pengirim Rangkaian sistem pengirim meliputi perancangan rangkaian catu daya sumber DC (accumulator 12 volt), rangkaian reset eksternal, rangkaian kartu SD, rangkaian indikator LED, dan soket papan Arduino Uno Rev3, pada satu papan PCB. Gambar 3.2. menunjukkan rangkaian sistem pengirim.
Gambar 3.2. Rangkaian Sistem Pengirim Rangkaian sistem pengirim didukung oleh beberapa komponen atau modul pabrikasi yang digunakan dalam rangkaian ini. Modul tersebut diantaranya:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37 1.
Papan Arduino Uno Rev3 Papan Arduino Uno Rev3 merupakan sistem minimum berbasis mikrokontoler ATmega328. Papan Arduino Uno Rev3 dilengkapi dengan mikrokontroler ATmega328 sebagai komponen utama untuk eksekusi program, mikrokontroler ATmega16U2 sebagai komunikasi serial ke USB, regulator tegangan 3,3 volt, regulator tegangan 5 volt, LED indikator (Tx, Rx, pin 13, dan power), USB jack, power jack, dan setiap pin yang terhubung mikrokontroler ATmega328 dengan konektor female yang terpasang pada papan PCB Arduino Uno Rev3. Gambar 3.3. menunjukkan rangkaian sistem minimum Arduino Uno Rev3.
2.
Radio XBee-PRO (S2B) Radio XBee-PRO (S2B) merupakan perangkat komunikasi yang berperan mengirimkan data (transmitter) dan menerima data (receiver). Radio XBee-PRO (S2B) dirancang untuk beroperasi pada jaringan ZigBee pada frekuensi ISM 2,4 GHz dan beroperasi dengan kebutuhan daya yang rendah. Radio XBee-PRO (S2B) memiliki pin sejumlah 20, diantaranya adalah VCC (power), GND (referensi), RSSI (kekuatan sinyal Rx), ASS (indikasi perangkat terhubung), DOUT (keluaran data UART), dan DIN (masukan data UART). Modul radio XBee yang digunakan adalah XBee-PRO (S2B) dengan antena tipe wire. Gambar 3.4. menunjukkan block diagram radio XBee-PRO (S2B).
3.
XBee Shield V1.1 XBee Shield V1.1 merupakan modul port serial radio XBee yang diproduksi oleh Itead Studio. Modul ini berfungsi untuk menghubungkan modul radio XBee ke papan Arduino Uno Rev3. Modul ini bekerja pada tegangan 5 volt dari papan Arduino. XBee Shield V1.1 dilengkapi dengan regulator 3,3 volt (sumber tegangan yang dibutuhkan radio XBee), indikator LED (power, RSSI, ASS, DO, dan DI), pin jumper, soket radio XBee (penghubung perangkat radio XBee), pin header kompatibel papan Arduino Uno Rev3. Datasheet modul ini tidak menyertakan skematik rangkaian XBee Shield V1.1.
4.
SD Card (Kartu SD) Kartu SD yang digunakan adalah kartu SD standar ataupun dengan tipe MicroSD dengan tambahan adapter ke kartu SD standar. Kapasitas penyimpanan yang dibutuhkan untuk sistem adalah 570.240 byte, dengan jumlah karakter 66 atau 66 byte, dan dalam 24 jam diambil setiap 10 detik, dihitung dari:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38
πΎππππ ππ‘ππ = 66 ππ¦π‘π π₯ πΎππππ ππ‘ππ = 66 ππ¦π‘π π₯
24 πππ 10 πππ‘ππ
86400 πππ‘ππ 10 πππ‘ππ
πΎππππ ππ‘ππ = 570.240 ππ¦π‘π β
600 ππ΅ Dari perhitungan diperoleh kapasitas yang dibutuhkan sistem adalah 570.240 byte atau sekitar 600 kB. Jadi kartu SD yang digunakan adalah kartu SD dengan kapasitas penyimpanan diatas 600 kB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39
Gambar 3.3. Rangkaian Sistem Minimum Arduino Uno Rev3 [14]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40
Gambar 3.4. Block Diagram Modul RF XBee-PRO (S2B) [19]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41 Sumber daya untuk rangkaian pengirim adalah sumber DC dari accumulator 12 volt. Hal ini dipertimbangkan karena sumber daya yang terdapat pada plant kincir angin adalah accumulator. Papan Arduino Uno Rev3 bekerja pada tegangan maksimal 20 volt, namum batas yang direkomendasikan adalah 7 sampai 12 volt. Untuk memenuhi kebutuhan sumber tegangan yang dibutuhkan mikrokontroler ATmega328 dan sistem lainnya sebesar 5 volt, papan Arduino Uno Rev3 memiliki regulator tegangan 5 volt. Rangkaian catu daya dirancang dengan satu dioda pengaman tipe 1N4007 1 ampere. Dioda tipe ini memiliki batas tegangan balik hingga 1000 volt dengan tujuan jika terjadi kesalahan pemasangan polaritas sumber daya (accumulator), maka dioda akan menahan tegangan balik sehingga tidak merusak papan Arduino Uno Rev3 dan komponen yang lain pada sistem pengirim. Kapasitor sebersar 100uF ditetapkan untuk mengatasi jatuh tegangan sumber dan mengurangi riak (ripple) saat sumber daya yang diberikan tidak dari accumulator yaitu sumber DC 12 volt yang masih memiliki komponen AC. Gambar 3.5. menunjukkan rangkaian catu daya DC sistem pengirim.
Gambar 3.5. Rangkaian Catu Daya DC Rangkaian reset eksternal berfungsi untuk reset mikrokontroler ATmega328 dan ATmega16U2 pada papan Arduino Uno Rev3. Rangkaian reset yang dibentuk berdasarkan rangkaian reset pada schematic rangkaian papan Arduino Uno Rev3 yang ditunjukkan pada gambar 3.3. Rangkaian reset terdiri dari komponen resistor sebesar 10 Kβ¦, dioda tipe 1N4148, kapasitor sebesar 100 nf, dan pin header untuk menghubungkan tombol tekan. Pin reset mikrokontroler adalah aktif rendah, sehingga transisi dari tinggi ke rendah saat tombol reset ditekan akan menyebabkan reset mikrokontroler. Resistor pull-up akan menjaga agar pin reset tidak berlogika rendah secara tidak sengaja. Untuk melindungi pin reset dari derau, ditambahkan kapasitor yang terhubung dengan pin reset dan ground. Dioda berfungsi untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42 melindungi komponen internal mikrokontroler dan membatasi tegangan pin reset terhadap ground. Gambar 3.6. menunjukkan rangkaian reset eksternal.
Gambar 3.6. Rangkaian Reset Eksternal Rangkaian kartu SD merupakan rangkaian yang berfungsi untuk menghubungkan kartu SD dengan papan Arduino Uno Rev3 dalam proses penyimpanan data. Tegangan catu daya untuk kartu SD adalah 3,3 volt dihubungkan dengan pin power 3,3 volt papan Arduino Uno Rev3. Untuk mengoperasikan kartu SD digunakan jalur komunikasi data Serial Pheripheral Interface (SPI) masing-masing pin yang digunakan adalah pin 13 (SCK), pin 12 (MISO), pin 11 (MOSI), dan pin 10 (SS). Rangkaian kartu SD ditunjukkan gambar 3.7.
Gambar 3.7. Rangkaian Kartu SD Persambungan antara papan Arduino Uno Rev3 dengan kartu SD memerlukan penyesuaian tegangan sebesar 3,3 volt, digunakan dengan konsep pembagi tegangan berdasarkan persamaan 2.1. Menetapkan nilai RB (R6, R8, dan R10) sebesar 2,2 k⦠maka dapat dihitung nilai RA (R5, R7, dan R9).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43
πππ’π‘ = 3,3 =
π
π΅ πππ π
π΄ + π
π΅ 2200 5 π
1 + 2200
2200 β 1452 = 1133,333Ξ© β
1 πΞ© 0,66 Jadi nilai R5, R7, dan R9 yang digunakan adalah 1 kβ¦ merupakan nilai pendekatan dan nilai π
π΄ =
resistor yang ada dipasaran. Rangkaian indikator LED merupakan rangkaian yang berfungsi untuk menyalakan LED sebagai status sumber daya, terima data, dan kirim data. Masing-masing warna LED yang digunakan adalah merah, hijau, dan putih. Rangkaian LED indikator ditunjukkan pada gambar 3.8.
Gambar 3.8. Rangkaian Indikator LED Perancangan rangkaian indikator menggunakan LED berdasarkan persamaan 2.2 rangkaian LED. LED power berwarna merah beroperasi dengan sumber 12 volt, LED terima data berwarna hijau beroperasi dengan sumber 5 volt dari pin 2, dan LED kirim data berwarna putih bekerja dengan sumber 5 volt dari pin 3. Untuk menyalakan masing-masing LED diperlukan tegangan sebesar 1,5 volt dengan arus minimal 10 mA. Maka masingmasing nilai resistansi yang diperlukan rangkaian LED adalah: π
=
πππ β ππ· πΌ
π
1 =
12 β 1,5 = 1050 Ξ© β
1πΞ© 10β3
π
2 =
5 β 1,5 = 350 Ξ© β
330 Ξ© 10β3
π
3 =
5 β 1,5 = 350 Ξ© β
330 Ξ© 10β3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44 Jadi nilai R1, R2,dan R3 yang digunakan masing-masing adalah 1 kβ¦, 330 β¦, dan 330 β¦ masing-masing nilai resistor merupakan pendekatan dan nilai ketersedian resistor di pasaran. Pin 0 (Rx), pin 1 (Tx), dan GND dihubungkan ke sistem data logger melalui perantara kabel dengan urutan masing-masing jalur pin adalah pin Tx sistem data logger ke Rx sistem pengirim, pin Rx sistem data logger ke Tx sistem pengirim (dapat tidak dihubungkan) dan GND sistem data logger ke GND sistem pengirim. 3.1.1.2. Kotak Sistem Pengirim Perancangan tempat komponen (kotak) sistem pengirim bertujuan untuk melindungi rangkaian sistem pengirim ketika sistem pengirim digunakan diluar ruangan. Perancangan kotak komponen dilakukan dengan menyesuaikan dimensi keseluruhan rangkaian sistem pengirim. Indikator LED dan tombol tekan reset eksternal diletakkan dengan susunan yang tepat pada kotak. Jalur komunikasi dengan sistem data logger dirancang dengan pin terminal blok berjumlah tiga jalur. Lubang pada kotak dirancang untuk antena perangkat radio XBee-PRO (S2B). Kotak sistem pengirim juga dilengkapi dengan alas karet yang bertujuan untuk menjaga kotak sistem pengirim agar tidak bersentuhan langsung dengan permukaan atau alas tempat kotak sistem pengirim. Gambar 3.9. menunjukkan perancangan kotak sistem pengirim tampak tiga dimensi dari enam sisi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 45
(a)
(b)
(c)
(d)
(e)
(f)
Gambar 3.9. Perancangan Kotak Sistem Pengirim, (a). Bagian Luar Tampak Atas, (b). Bagian Luar Tampak Bawah, (c). Bagian Luar Tampak Samping Kiri, (d). Bagian Luar Tampak Samping Kanan, (e). Bagian Dalam Tampak Samping Kiri, (f). Bagian Dalam Tampak Samping Kanan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46 3.1.2. Perancangan Perangkat Lunak 3.1.2.1. Diagram Alir Program Utama Sistem Pengirim Diagram alir program utama sistem pengirim ditunjukkan pada gambar 3.10. Mulai
Inisialisasi Port Papan Arduino
Kartu SD Terbaca?
Tidak
LED Terima Data Menyala
LED Kirim Data Menyala
Ya
Ada Data Masuk?
Tidak
LED Terima Data Padam
Ya
LED Terima Data Menyala
Menerima Paket Data Sampai β\ nβ
Simpan Paket Data di Kartu SD
Subrutin Ping
Terhubung Sistem Penerima?
Tidak
LED Kirim Data Padam
Ya Subrutin Pengiriman Paket Data
Void Loop ()
Ya
Tidak Selesai
Gambar 3.10. Diagram Alir Program Utama Sistem Pengirim Diagram alir program utama merupakan proses sistem pengirim secara keseluruhan yang berfungsi menerima data pengukuran dari sistem data logger dan instruksi pengiriman data yang diterima secara nirkabel ke perangkat sistem penerima. Data yang diterima sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47 pengirim dikirimkan sistem data logger dengan waktu pengiriman 10 detik setiap satu paket data. Saat pertama program akan memeriksa perangkat kartu SD, jika tidak terbaca, maka LED terima data dan kirim data akan menyala. Setelah melakukan inisialisasi kartu SD program dirancang untuk menerima data. Jika tidak ada data yang diterima, maka LED terima data padam. Jika ada data yang diterima maka, LED terima data menyala, program dirancang untuk dapat menerima data sampai enter (\n), paket data yang diterima akan disimpan pada kartu SD. Sebelum melakukan pengiriman paket data ke sistem penerima, dilakukan pengecekan koneksi nirkabel dengan sistem penerima dengan mengirimkan karakter βpβ (ping). Jika sistem penerima memberikan jawaban dengan mengirimkan karakter βyβ (yes), maka paket data akan dikirimkan ke sistem penerima ditandai dengan LED kirim data menyala. Jika tidak ada balasan dari sistem penerima maka LED kirim data padam, dan paket data akan tersimpan pada kartu SD. Data yang disimpan pada kartu SD akan dikirimkan pada waktu pengiriman selanjutnya saat koneksi dengan sistem penerima terhubung, jika tidak data akan kembali disimpan pada kartu SD. 3.1.2.2. Diagram Alir Subrutin Ping Diagram alir subrutin ping sistem pengirim ditunjukkan pada gambar 3.11. Mulai Kirim Karakter βpβ
Data Masuk = βyβ?
Tidak
Ya
Kembali
Gambar 3.11. Diagram Alir Subrutin Ping Diagram alir subrutin ping berfungsi untuk memeriksa sambungan nirkabel dengan sistem penerima. Sistem pengirim akan mengirim karakter βpβ ke sistem penerima sebagai perintah βpingβ, jika terhubung sistem penerima akan memberi jawaban berupa karakter βyβ.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48 3.1.2.3. Diagram Alir Subrutin Pengiriman Paket Data Diagram alir subrutin pengiriman paket data dirunjukkan pada gambar 3.12. Mulai Ambil 1 Paket Data di Kartu SD Kirim Paket Data ke Sistem Penerima
LED Kirim Data Menyala
Data Masuk = βoβ?
Ya
Subrutin Ping
Tidak
Simpan Paket Data di Kartu SD
Ambil 1 Paket Data di Kartu SD
Kirim Paket Data ke Sistem Penerima
LED Kirim Data Menyala
Data Masuk = βtβ?
Ya
Subrutin Ping
Tidak Kembali
Gambar 3.12. Diagram Alir Subrutin Pengiriman Paket Data Pengiriman paket data diawali dengan karakter β*β (bintang) dan diakhiri karakter β#β sesuai dengan kesepakatan dengan sistem data logger. Setelah satu paket data selesai dikirimkan, sistem penerima memeriksa paket data yang diterima dengan mencocokkan karakter pertama, karakter terakhir, dan jumlah karakter yang diterima. Jika sesuai, maka sistem penerima mengirimkan karakter βoβ dapat dilanjutkan mengirimkan paket data selanjutnya, tetapi jika tidak sesuai sistem penerima akan mengirimkan karakter βtβ, paket data yang dikirimkan tersebut disimpan di kartu SD, sistem akan mengulang pengiriman paket data kembali ke sistem penerima, jika paket data yang dikirimkan tidak sesuai format selama lima kali pengulangan, maka sistem penerima akan mengirimkan karakter βoβ yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49 menyatakan paket data selanjutnya untuk dikirim. Sistem pengirim akan mengirimkan kembali paket data mulai dari prosedur pengiriman paket data yang pertama.
3.2. Perancangan Sistem Penerima 3.2.1. Rangkaian Sistem Penerima Rangkaian sistem penerima adalah modul pabrikasi XBee USB Adapter. Modul ini berperan sebagai perantara radio XBee-PRO (S2B) ke sistem komputer melalui USB. Komponen pengdukung perangkat ini adalah modul radio XBee-PRO (S2B) yang telah dijelaskan pada subbab 3.1.1.1. Modul XBee USB Adapter yang digunakan adalah modul produksi Funduino yang menggunakan IC FT232RL pengganti IC RS232 dan memiliki koneksi port USB tipe miniB. IC Future Technology Devices International (FTDI) pada modul memungkinkan komunikasi serial USB ke serial (TTL level). Untuk menghubungkan modul dengan laptop/PC diperlukan penghantar kabel serial USB ke USB tipe mini-B dan perlu menambahkan (install) driver FTDI pada laptop/PC. Modul beroperasi pada tegangan 5 volt didapatkan melalui port USB laptop/PC. Modul XBee USB Adapter dilengkapi dengan IC regulasi tegangan 5 volt ke 3,3 volt untuk tegangan sumber radio XBee-PRO (S2B). Modul ini memudahkan konfigurasi perangkat radio sistem pengirim dan penerima yang terhubung laptop/PC menggunakan perangkat lunak X-CTU tanpa perlu melalui perantara mikrokontroler dan XBee Shield V1.1. 3.2.2. Kotak Sistem Penerima Perancangan tempat komponen (kotak) sistem penerima bertujuan untuk melindungi komponen rangkaian sistem pengirim yaitu modul radio XBee-PRO (S2B) dan XBee USB Adapter. Perancangan kotak sistem penerima dilakukan dengan mempertimbangkan letak komponen sistem penerima yaitu letak XBee USB Adapter dengan memberi ruang untuk memasukkan kabel USB dan membuat lubang untuk antena radio XBee-PRO (S2B). Gambar 3.13. menunjukkan perancangan kotak sistem penerima tampak tiga dimensi dari enam sisi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50
(a)
(b)
(c)
(d)
(e)
(f)
Gambar 3.13. Perancangan Kotak Sistem Penerima, (a). Bagian Luar Tampak Atas, (b). Bagian Luar Tampak Bawah, (c). Bagian Luar Tampak Samping Kiri, (d). Bagian Luar Tampak Samping Kanan, (e). Bagian Dalam Tampak Samping Kiri, (f). Bagian Dalam Tampak Samping Kanan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51
3.3. Konfigurasi Modul Radio XBee-PRO (S2B) Modul radio XBee-PRO (S2B) diatur pada jaringan ZigBee menggunakan perangkat lunak X-CTU versi 5.2.7.5. Modul radio XBee-PRO (S2B) dihubungkan laptop/PC dengan menggunakan XBee USB Adapter dengan catatan laptop/PC memiliki driver FTDI. Sebelum melakukan konfigurasi, terlebih dahulu dilakukan uji masing-masing modul radio XBee yaitu XBee sistem pengirim dan XBee sistem penerima untuk mengetahui tipe modul, firmware, dan nomer serial masing-masing XBee. Langkah-langkah membaca tipe modem adalah: 1.
Hubungkan modul radio XBee sistem pengirim dan XBee sistem penerima secara bergantian pada XBee USB Adapter dan hubungkan ke laptop/PC.
2.
Pilih port komunikasi dimana modul XBee-PRO (S2B) terhubung.
3.
Atur komunikasi serial yang mana nilai default perangkat lunak X-CTU adalah 9600,8,n,1. Tekan uji modem atau modul maka akan tertampil parameter uji radio XBee yang digunakan. Ditunjukkan pada gambar 3.14.
(a) (b) Gambar 3.14. Parmeter Uji Modul XBee-PRO (S2B), (a). Parameter Uji Modul XBee Pengirim, (b). Parameter Uji Modul XBee Penerima Sistem pengirim dan penerima diatur dalam mode operasi AT (transparent operation), mode AT adalah mode operasi yang umumnya digunakan, merupakan operasi yang sederhana, dan efektif untuk komunikasi antara dua radio XBee. Mengatur sistem pengirim dilakukkan dengan beberapa langkah pengaturan diantaranya: 1.
Hubungkan modul radio XBee sistem pengirim dengan modul XBee USB Adapter dan hubungkan ke laptop/PC. Pilih port komunikasi yang terhubung modul radio XBee sistem pengirim, tetapkan parameter komunikasi serial dan ulangi uji modul. Maka akan tertampil parameter uji modul radio XBee sistem pengirim seperti yang ditunjukkan gambar 3.14.(a).
2.
Pada tab modem configuration pilih jenis modem yaitu XBP24BZ7.
3.
Update firmware dengan klik check box, always update firmware.
4.
Klik read untuk membaca parameter konfigurasi radio XBee sistem pengirim.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52 5.
Firmware modul radio XBee sistem pengirim adalah 20A7.
6.
Klik write untuk update firmware.
7.
Pilih pada pop-up menu function set sebagai ZigBee Coordinator AT.
8.
Atur nilai Personal Address Network ID (PAN ID) menjadi 317, nilai PAN ID dibolehkan sampai nilai 65.535 [19].
9.
Atur nilai Destination Address High (DH) menjadi 13A200.
10.
Atur nilai Destination Address Low (DL) menjadi 40C82C33.
11.
Atur teks Node Identifier (NI) menjadi TX_KINCIR untuk menamai modul radio XBee sistem pengirim, pengaturan ini merupakan pengaturan opsional.
12.
Atur nilai baud rate (BD) kecepatan komunikasi serial menjadi 9600, yang mana nilai 9600 adalah default oleh perangkat lunak X-CTU.
13.
Langkah terakhir adalah menerapkan parameter konfigurasi modul radio XBee sistem pengirim yang telah diatur dengan klik write. Modul radio XBee sistem pengirim siap digunakan.
Selanjutnya mengatur modul radio XBee penerima dilakukan dengan beberapa langkah yang serupa dengan mengatur radio XBee sistem pengirim diantaranya: 1.
Hubungkan modul radio XBee sistem penerima dengan modul XBee USB Adapter dan hubungkan ke laptop/PC. Pilih port komunikasi yang terhubung modul radio XBee sistem penerima, tetapkan parameter komunikasi serial dan ulangi uji modul. Maka akan tertampil parameter uji modul radio XBee sistem penerima seperti yang ditunjukkan gambar 3.14.(b).
2.
Pada tab modem configuration pilih jenis modem yaitu XBP24BZ7.
3.
Update firmware dengan klik check box, always update firmware.
4.
Klik read untuk membaca parameter konfigurasi radio XBee sistem penerima.
5.
Firmware modul radio XBee sistem penerima adalah 22A7.
6.
Klik write untuk update firmware.
7.
Pilih pada pop-up menu function set sebagai ZigBee Router AT.
8.
Atur nilai Personal Address Network ID (PAN ID) menjadi 317, nilai PAN ID disamakan dengan nilai PAN ID XBee sistem pengirim.
9.
Atur nilai Destination Address High (DH) menjadi 13A200.
10.
Atur nilai Destination Address Low (DL) menjadi 40C82C1A.
11.
Atur teks Node Identifier (NI) menjadi RX_KINCIR untuk menamai modul radio XBee sistem penerima, pengaturan ini merupakan pengaturan opsional.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53 12.
Atur nilai baud rate (BD) kecepatan komunikasi serial menjadi 9600. Kecepatan komunikasi diatur sama dengan kecepatan komunikasi XBee pengirim.
13.
Langkah terakhir adalah menerapkan parameter konfigurasi modul radio XBee sistem pengirim yang telah diatur dengan klik write. Modul radio XBee penerima siap digunakan. Dari beberpapa langkah pengaturan radio XBee-PRO (S2B), dapat dilihat nilai atau
parameter terpenting yang harus diatur adalah PAN ID, DH dan DL untuk dapat terhubung dalam jaringan ZigBee. PAN ID merupakan nilai ID jaringan yang harus disepakati antara XBee sistem pengirim dan sistem penerima dengan cara menetapkan nilai yang sama. Jika nilai DH dan DL digabungkan, maka akan membentuk kode yang merepresentasikan nomer serial XBee sistem pengirim dan nomer serial XBee sistem penerima. Nilai DH dan DL XBee sistem pengirim adalah nomer serial tipe XBee sistem penerima yaitu 13A20040C8233, sedangkan nilai DH dan DL XBee sistem penerima adalah nomer serial tipe XBee sistem pengirim yaitu 13A20040C8C1A.
3.4. Format Paket Data Pengirimaan data pengukuran dari sistem data logger ditetapkan dengan mengirimkan sejumlah karakter dalam paket data dengan format data yang telah disepakati dengan sistem data logger. Jumlah data yang dikirim sebanyak 11 data berjumlah 66 karakter. Penentuan Katakter yang dikirimkan diawali dengan karakter β*β (bintang), diakhiri dengan karakter β#β (pagar), dan setiap karakter dipisahkan dengan karakter β,β (koma). Data yang dikirimkan adalah nomer perekaman, tanggal, jam, tegangan, arus, energi, kecepatan poros, kecepatan angin dan arah angin. Tanda β,β (koma) pada bilangan di tetapkan dengan tanda β.β (titik). Berikut format data didalam paket data: *,aaaa,dd-mm-yyyy,HH:MM:SS,bb.bb,cc.cc,ddddd.dd,eee,ff.ff,ggg.gg,# Dari format data tersebut dapat dijelaskan pada tabel 3.1. Tabel 3.1. Format Paket Data
Jumlah Karakter Contoh Data Contoh Paket Data
No Perekaman
Tanggal
Jam
Tegangan (V)
Arus (A)
Energi (Wh)
K. Poros (rpm)
K. Angin (m/s)
Arah Angin (deg)
4
10
8
5
5
8
3
5
6
0001
22-01-2016
16:30:10
12.47
01.89
00000.16
162
04.98
023.04
*,0001,22-01-2016,16:30:10,12.47,01.89,00000.16,162,04.98,023.04,#
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54 Berdasarkan contoh data yang dijelaskan pada tabel 3.1. ditunjukkan masing-masing data memiliki format data dengan jumlah karakter yang telah disepakati oleh sistem. Penetapan format masing-masing data dapat dijelaskan sebagai berikut: 1.
Nomer perekaman ditetapkan bilangan tipe integer yang berjumlah empat karakter dengan rentang data adalah 0000 sampai 8639. Selama 24 jam sistem data logger merekam data sebanyak 8640 data per 10 detik. Jika data lebih kecil dari 1000, 100, dan 10 maka, ada penambahan angka 0 sehingga data berjumlah 4 karakter. Data 0001 pada tabel berarti data yang direkam pada urutan 1.
2.
Tanggal ditetapkan dengan standar format tanggal yang berjumlah sepuluh karakter yaitu βdd-mm-yyyyβ (tanggal berjumlah dua karakter, bulan berjumlah dua karakter, dan tahun berjumlah empat karakter) masing-masing format dipisahkan dengan karakter β-β (strip). Data 22-01-2016 pada tabel berarti data pencuplikan pada tanggal 22, bulan Januari, tahun 2016.
3.
Jam ditetapkan dengan standar format waktu 24 jam berjumlah delapan karakter yaitu βHH:MM:SSβ (jam berjumlah dua karakter, menit berjumlah dua karakter, dan detik berjumlah dua karakter) masing-masing format dipisahkan dengan karakter β:β (titik dua). Data 16:30:10 pada tabel berarti data pencuplikan pada jam 16, menit ke 30, dan detik ke 10.
4.
Tegangan dalam volt (V) ditetapkan bilangan tipe float berjumlah lima karakter, dengan batas bilangan dua angka di belakang koma, dan dengan rentang data sensor adalah 00,00 sampai 60,00 volt. Jika nilai tegangan lebih kecil dari 10, maka ada penambahan angka 0 sehingga data berjumlah lima karakter. Data 12.47 pada tabel berarti data pencuplikan tegangan adalah 12,47 volt.
5.
Arus dalam ampere (A) ditetapkan bilangan tipe float berjumlah lima karakter, dengan batas bilangan dua angka di belakang koma, dan dengan rentang data sensor adalah 00,00 sampai 25,00 ampere. Jika nilai arus lebih kecil dari 10, maka ada penambahan angka 0 sehingga data berjumlah lima karakter. Data 01.89 pada tabel berarti data pencuplikan arus adalah 1,89 ampere.
6.
Energi dalam Watt-hour (Wh) ditetapkan bilangan tipe float berjumlah delapan karakter, dengan batas bilangan dua angka di belakang koma, dan dengan rentang data adalah 00000,00 sampai 24000,00 Watt/jam. Jika nilai energi lebih kecil dari 10000, 1000, 100, dan 10, maka ada penambahan angka 0 sehingga data berjumlah delapan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55 karakter. Data 00000.16 pada tabel berarti energi yang dihasilkan pada saat itu adalah 0,16 Watt/jam. 7.
Kecepatan poros dalam rotation per minute (rpm) ditetapkan bilangan tipe integer berjumlah tiga karakter, dengan rentang data sensor adalah 000 sampai 500 rpm. Jika nilai kecepatan poros lebih kecil dari 100 dan 10, maka ada penambahan angka 0 sehingga data berjumlah tiga karakter. Data 162 pada tabel berarti kecepatan poros kincir yang dicuplik adalah 162 rpm.
8.
Kecepatan angin dalam meter per second (m/s) ditetapkan bilangan tipe float berjumlah lima karakter, dengan batas bilangan dua angka dibelakang koma, dan dengan rentang data sensor adalah 00,00 sampai 20,00 m/s. Jika nilai kecepatan angin lebih kecil dari 10, maka ada penambahan angka 0 sehingga data berjumlah lima karakter. Data 04.98 pada tabel berarti kecepatan angin yang dicuplik adalah 4,98 m/s.
9.
Arah angin dalam degree (deg) ditetapkan bilangan tipe float berjumlah enam karakter, dengan batas bilangan dua angka dibelakang koma, dan dengan rentang data sensor adalah 000,00 sampai 359,99 derajat. Jika nilai arah angin lebih kecil dari 100 dan 10, maka ada penambahan angka 0 sehingga data berjumlah enam karakter. Data 023.04 pada tabel berarti arah angin yang dicuplik adalah 23,04 derajat. XBee-PRO (S2B) merupakan modul yang menggunakan jaringan ZigBee standar dari
IEEE 802.15.4. Standar IEEE 802.15.4 merupakan WPAN yang bekerja pada low rate sekitar 250,000 bit per second (bps). Jumlah karakter dalam satu paket data yang ditansmisikan adalah 66 byte atau 660 bit (data UART). Sehingga dengan menggunakan modul XBee-PRO (S2B) satu paket data dapat ditransmisikan per detiknya.
3.5. Perancangan Aplikasi Antarmuka Sistem Akuisisi Data 3.5.1. Gambar Aplikasi Perancangan grafis menggunakan perangkat lunak Adobe Illustrator CS6 program grafis vektor. Tujuan perancang grafis GUI adalah untuk menampilkan grafis antarmuka yang menarik dan user friendly. Perancangan grafis meliputi perancangan ikon aplikasi, gambar splash screen (gambar pembuka) aplikasi, gambar petunjuk aplikasi (prosedur), gambar informasi tentang aplikasi, dan gambar latar belakang aplikasi. Setiap gambar grafis disesuaikan ukuran atau dimensinya dengan GUI yang dirancang pada guide editor MATLAB. Semua file gambar di simpan dalam ekstensi file gambar Portable Network
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56 Graphics (PNG), format ini merupakan salah satu format gambar yang didukung oleh MATLAB. 3.5.1.1. Ikon Aplikasi Perancangan ikon bertujuan untuk memudahkan pengguna untuk mengenal perangkat lunak aplikasi antarmuka sistem akuisisi data yang dirancang. Perancangan ikon terdiri dari beberapa gambar yang menunjukan simbol yaitu gambar atau model kincir angin propeler berbahan kayu dengan warna sudu coklat meyerupai kayu dan tiang berwarna putih, gambar ikon MATLAB, gambar grafik (plot), gambar waktu, dan tulisan DAQ (Data Acquisition). Ditunjukan pada Gambar 3.15.
Gambar 3.15. Ikon Aplikasi 3.5.1.2. Splash Screen Aplikasi Perancangan splash screen bertujuan untuk menginformasikan pengguna bahwa aplikasi sedang dalam proses memuat komponen-komponen program (loading). Perancangan grafis spash screen menampilkan beberapa informasi gambar yaitu, gambar latar kincir angin propeler, pesan βTunggu beberapa saatβ¦β, judul aplikasi βSistem Akuisisi Data Kincir Angin Propeler Berbahan Kayuβ, informasi penulis, jurusan, fakultas, dan logo Universitas Sanata Dharma. Gambar 3.16. menunjukkan gambar splash screen aplikasi.
Gambar 3.16. Splash Screen Aplikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57 3.5.1.3. Petunjuk Aplikasi (Prosedur) Petunjuk atau langkah-langkah menjalankan aplikasi akan mempermudah pengguna dalam menggunakan aplikasi sistem akuisisi data. Dengan adanya petunjuk aplikasi akan mengurangi resiko kesalahan dalam proses penerimaan data oleh pengguna. Perancangan petunjuk menjalankan aplikasi ditampilkan dalam satu gambar. Gambar 3.17. menunjukkan gambar prosedur menjalankan aplikasi. Adapun beberapa urutan menjalankan aplikasi sistem akuisisi diantaranya: 1.
Menghubungkan port serial ke perangkat radio sistem penerima.
2.
Memilih port serial yang terhubung modul radio XBee-PRO (S2B).
3.
Memasukan nilai baud rate dengan nilai default 9600.
4.
Menekan tombol connect untuk terhubung dengan modul radio sistem penerima.
5.
Menekan tombol mulai untuk mengambil data.
6.
Menekan tombol akhiri untuk mengakhiri pegambilan data.
7.
Menekan tombol disconnect untuk memutus komunikasi radio penerima.
8.
Menekan tombol browse untuk memilih tempat penyimpanan file.
9.
Mengisi nama file.
10.
Menekan tombol simpan untuk menyimpan data.
11.
Menekan tombol hapus untuk reset tampilan animasi, teks, tabel, dan grafik.
12.
Menekan tombol akhiri untuk menutup jendela aplikasi.
Gambar 3.17. Prosedur Menjalankan Aplikasi 3.5.1.4. Informasi Tentang Aplikasi Aplikasi yang dirancang memiliki tujuan khusus yaitu pemantauan kincir angin propeler berbahan kayu secara real-time (waktu nyata) dengan cara menampilkan data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58 pengukuran dari sistem data logger dalam bentuk teks, animasi alat ukur, tabel, dan grafik, serta menyimpan data dalam bentuk data excel. Informasi ini akan menjelaskan kepada pengguna tentang tujuan dari pembuatan aplikasi antarmuka sistem akuisisi data ini. Gambar informasi tentang aplikasi ditampilakan dalam satu gambar ditunjukkan pada gambar 3.18.
Gambar 3.18. Informasi Tentang Aplikasi 3.5.1.5. Latar Belakang Aplikasi Gambar latar belakang aplikasi dirancang menyesuaikan atribut atau komponenkomponen yang digunakan dalam perancangan antarmuka dengan guide editor MATLAB. Perancangan latar belakang aplikasi disusun dari beberapa blok sesuai dengan fungsi atribut atau komponen yang digunakan dalam aplikasi yaitu blok komunikasi berisi teks com dan baud rate, blok proses data berisi teks status, blok data berisi teks waktu, data-ke, tegangan (V), arus (A), energi (Wh), kecepatan poros (rpm), kecepatan angin (m/s), arah angin (deg), simpan data, dan nama file, blok waktu, blok tabel, blok grafik, dan blok keterangan. Gambar kincir angin melambangkan kincir angin propeler berbahan kayu yang sedang beroperasi. Gambar 3.19. menunjukkan latar belakang aplikasi sistem akuisisi data.
Gambar 3.19. Latar Belakang Aplikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59 3.5.2. Perangkat Lunak Aplikasi Antarmuka Perangkat lunak aplikasi antarmuka dirancang menggunakan guide editor MATLAB. Gambar 3.20. menunjukkan gambar jendela aplikasi sistem akuisisi data yang dirancang. Pada gambar ditunjukkan beberapa blok yang terdiri dari beberapa atribut. Atribut-atribut tersebut dikelompokkan pada blok sesuai dengan fungsi masing-masing. Blok yang dirancang bertujuan untuk memudahkan pengguna untuk menjalankan aplikasi dengan memilih, mengisi, melakukan perintah, dan melihat data pengukuran yang diterima. Latar belakang antarmuka dirancang seperti yang ditunjukkan pada gambar 3.19. Berikut dijelaskan blok-blok yang dirancang beserta fungsi masing-masing atribut yang digunakan. 1.
Blok komunikasi terdiri dari pop-up menu yang berfungsi untuk membaca port komunikasi serial yang terhubung, edit text sebagai masukan nilai baud rate data komunikasi, tombol tekan connect/disconnect yang berfungsi untuk menghubungkan atau memutus hubungan ke port serial, dan static text yang berfungsi menunjukkan status dari komunikasi serial terhubung atau terputus.
2.
Blok proses data terdiri dari tombol tekan mulai yang berfungsi untuk memulai proses pembacaan data yang diterima, tombol tekan akhiri yang berfungsi untuk mengakhiri proses pembacaan data, dan static text yang menunjukkan status pembacaan data yaitu ada data, belum ada data, saat terhubung sistem pengirim, saat data yang diterima lengkap, dan saat mengkhiri proses akan tertampil pesan tunggu beberapa saat sampai proses berakhir.
3.
Blok data terdiri dari static text, animasi (activeX control) yang menampilkan data pengukuran yang diterima yaitu data waktu, urutan data, tegangan, arus, energi, kecepatan poros, kecepatan angin, dan arah angin. Tombol tekan browse berfungsi untuk memilih folder penyimpanan data pada hard drive laptop/PC, sataic text berfungsi menampilkan lokasi penyimpanan, edit text berfungsi sebagai masukan nama file data yang akan disimpan, tombol tekan simpan berfungsi sebagai instruksi penyimpanan data, dan tombol tekan hapus berfungsi untuk reset tampilan teks, animasi, tabel dan grafik. Animasi yang dirancang ditetapkan dengan masing-masing rentang nilai diantaranya tegangan (0 sampai 60 volt), arus (0 sampai 25 ampere), energi (0 sampai 24000 watt/jam), kecepatan poros (0 sampai 500 rpm), kecepatan angin (0 sampai 20 m/s), dan arah angin (0 sampai 359,99 derajat).
4.
Blok waktu terdiri dari static text yang menunjukkan waktu nyata sesuai dengan waktu laptop/PC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60 5.
Blok tabel terdiri dari tabel (uitable) yang berfungsi untuk menunjukkan data pengukuran yang dibaca dalam bentuk tabel. Data yang ditampilkan pada tabel diantaranya adalah urutan data (nomer perekaman), tanggal, jam, tegangan (V), Arus (A), energi (Wh), kecepatan poros (rpm), kecepatan angin (m/s), dan arah angin (deg).
6.
Blok grafik terdiri dari grafik (axes) yang berfungsi menampilkan data terhadap waktu (grafik vs waktu). Data grafik yang ditampilkan adalah empat data diantaranya data tegangan, arus, kecepatan poros, dan kecepatan angin.
7.
Blok keterangan terdiri dari tombol tekan prosedur yang berfungsi sebagai perintah menampilkan gambar prosedur dalam menjalankan aplikasi seperti yang ditunjukkan pada gambar 3.17. Tombol tekan tentang yang berfungsi sebagai perintah menampilkan gambar informasi tentang aplikasi sistem akuisisi seperti yang ditunjukkan pada gambar 3.18.
8.
Pada gambar latar terdapat tombol keluar sebagai perintah untuk mengakhiri atau menutup jendela aplikasi antarmuka sistem akuisisi data.
Gambar 3.20. Jendela Aplikasi Sistem Akuisisi Data 3.5.2.1. Diagram Alir Program Utama Diagram alir program utama ditunjukkan pada gambar 3.23. Diagram alir tersebut menunjukkan proses sistem antarmuka akuisisi data secara keseluruhan. Mulai dari program melakukan inisialisasi fungsi, sintaks, dan koneksi serial yang digunakan. Saat memulai jendela aplikasi, aplikasi akan menampilkan jam dan tanggal sesuai dengan waktu laptop/PC. Aplikasi akan memberi perintah untuk membaca port komunikasi serial. Jika port serial tidak terbaca maka muncul kotak dialog error βTidak Ada Koneksi Serialβ ditunjukkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61 pada gambar 3.21. Jendela aplikasi harus ditutup terlebih dahulu dan hubungkan kembali port komunikasi serial.
Gambar 3.21. Kotak Dialog Error-Tidak ada Koneksi Serial Jika port komunikasi terbaca, maka pengguna dapat melihat prosedur menjalankan aplikasi, dan melihat informasi tentang aplikasi akuisisi data sebelum menjalankan aplikasi. Sistem akuisisi data dirancang merupakan sistem pada mode siaga, siap menerima kapanpun data dikirim dari sistem data logger. Sebelum dapat menerima data sistem penerima akan menkonfirmasi sistem siap menerima data dari sistem pengirim. Data yang diterima akan diperiksa apakah sesuai format atau tidak. Data ditampikan pada aplikasi sistem akuisisi data dan disimpan dalam bentuk data excel. Setelah selesai mengambil data pengguna dapat menutup jendela aplikasi. Namun untuk memastikan proses telah berakhir, komunikasi serial sudah terputus, dan data telah disimpan akan muncul kotak dialog pertanyaan βKeluarβ dengan pertanyaan βApakah Yakin Ingin Keluar?β. Seperti yang ditunjukkan pada gambar 3.22. jika tidak, maka aplikasi bisa kembali dilanjutkan. Jika ya, maka jendela aplikasi akan tertutup.
Gambar 3.22. Kotak Dialog Pertanyaan-Keluar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62 Mulai Inisialisasi Aplikasi Tampil Jam dan Tanggal
Ada Port?
Tidak
Ya
Subrutin Keterangan
Tampil Tidak Ada Koneksi Serial
Subrutin Penerimaan Data Subrutin Simpan Data Tekan Keluar
Tidak
Keluar? Ya Selesai
Gambar 3.23. Diagram Alir Program Utama 3.5.2.2. Diagram Alir Subrutin Keterangan Diagram alir subrutin keterangan ditunjukkan pada gambar 3.24. Pengguna dapat melihat terlebih dahulu prosedur menjalankan aplikasi akuisisi data sebelum memulai proses dengan menekan tombol prosedur. Maka akan tampil jendela prosedur aplikasi seperti gambar 3.25. Pengguna juga perlu mengetahui tujuan dibuatnya aplikasi sistem akuisisi data, penguna dapat menekan tombol tentang untuk menampilkan jendela tentang aplikasi seperti ditunjukkan pada gambar 3.26.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63 Mulai
Tekan Prosedur Tampil Prosedur Tekan Tentang Tampil Tentang Kembali
Gambar 3.24. Diagram Alir Subrutin Keterangan
Gambar 3.25. Jendela Prosedur Aplikasi
Gambar 3.26. Jendela Tentang Aplikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 64 3.5.2.3. Diagram Alir Subrutin Penerimaan Data Diagram alir subrutin penerimaan data ditunjukkan gambar 3.30. Penerimaan data dari sistem penerima pertama dilakukan pada blok komunikasi dengan memilih port komunikasi serial, memasukkan nilai baud rate, dan menekan tombol connect untuk terhubung dengan radio sistem penerima. Jika port tidak terhubung, maka akan muncul kotak dialog error βPort Tidak Terhubungβ ditunjukkan pada gambar 3.27. Port serial harus dilepaskan dan hubungkan kembali.
Gambar 3.27. Kotak Dialog Error-Port Tidak Terhubung Jika port terhubung, pengguna dapat memulai proses menerima data dengan menekan tombol mulai. Program akan kembali memeriksa status komunikasi serial. Pada saat pertama membuka jendela aplikasi status koneksi adalah terputus maka akan muncul kotak dialog error βKomunikasi Terputusβ ditunjukkan pada gambar 3.28. Pengguna harus menekan tombol connect.
Gambar 3.28. Kotak Dialog Error-Komunikasi Terputus Sistem pengirim akan mengirimkan karakter βpβ (ping) untuk memeriksa sambungan nirkabel dengan sistem penerima, sistem penerima akan menampilkan status βTerhubung Sistem Pengirimβ. Sistem penerima akan mengkonfirmasi bahwa sistem siap dengan mengirimkan karakter βyβ (yes). Waktu pengiriman data disepakati dengan sistem data logger yaitu setiap 10 detik satu paket data. Program dirancang menerima data kurang dari dan sama dengan 10 detik, jika belum ada data, maka akan muncul pesan teks pada status blok proses data βBelum Ada Dataβ. Data yang dikirimkan oleh sistem data logger memiliki format data yang telah dibahas pada subbab 3.4. Program dirancang menerima 11 data yang dikirimkan sebanyak 66 karakter dalam satu paket data pengiriman. Jika ada data yang diterima sesuai format data,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 65 maka tertampil pada pesan teks βData Lengkapβ dan sistem penerima mengkonfirmasi bahwa paket data diterima dengan mengirimkan karakter βoβ (ok). Jika paket data yang diterima tidak sesuai format, maka sistem penerima mengirim karakter βtβ (tidak lengkap), sistem akan menunggu data dikirim lagi, jika paket data masih tidak lengkap diterima sampai lima kali pengulangan, maka tertampil pada pesan teks βData Tidak Lengkapβ, sistem akan mengirimkan karakter βoβ menyatakan paket yang diterima βberhasilβ maka sistem akan menerima paket data selanjutnya, paket data yang ditampilkan adalah paket data yang diterima sebelumnya. Paket data yang diterima akan dipisahkan kembali menjadi masing-masing data pengukuran untuk ditampilkan pada aplikasi. Program dirancang menampilkan data pengukuran yang diterima dalam bentuk teks, animasi alat ukur, tabel, dan grafik. Data yang diterima disimpan secara otomatis di data C:\, peyimpanan data ini dilakukan sebagai backup data yang telah diterima. Data disimpan dengan nama file berdasarkan tanggal dan jam penerimaan data. Setelah selesai mengambil data pengguna dapat mengakhiri proses menerima data dengan menekan tombol akhiri pada blok proses data, maka akan muncul pesan teks pada status proses data βTunggu Beberapa Saatβ¦β. Setelah proses berakhir akan muncul kotak dialog βSelesaiβ yang menyatakan proses telah berakhir ditunjukkan pada gambar 3.29.
Gambar 3.29. Kotak Dialog-Selesai Pengguna dapat menutup komunikasi serial dengan menekan tombol disconnect maka akan muncul pesan teks pada status proses data βTerputusβ.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 66 Mulai
Pilih Port Com
Masukan Baudrate
Tekan Connect
Port Terhubung?
Tampil Port Tidak Terhubung
Tampil Terhubung
Tekan Mulai
Counter = 0
Tidak
Tidak
Data Masuk = βpβ ?
Ya
Status Koneksi Terputus?
Ya
Tampil Komunikasi Terputus
Tampil Tekan Connect
Tampil Ada Data
Tampil Data Lengkap
Tekan Akhiri
Menerima Data
Kirim Karakter βoβ
Tampil Tunggu Beberapa Saat...
Memisahkan Data
Tampil Proses Telah Berakhir
Tampil Terhubung Sistem Pengirim Data Sesuai Format?
Kirim Data βyβ
Ya
Tampil Data dalam Teks, Animasi, Tabel, dan Grafik
Tidak
Tekan Disconnect
Kirim Karakter βtβ Data Masuk <= 10 Detik?
Tidak
Data Tersimpan di C:\ Ya Tampil Belum Ada Data
Counter <= 5?
Ya
Tampil Terputus
Tidak
Lanjut?
Tidak
Ya
Counter++
Tampil Data Tidak Lengkap
Kirim Karakter βoβ Kembali
Gambar 3.30. Diagram Alir Subrutin Penerimaan Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 67 3.5.2.4. Diagram Alir Subrutin Simpan Data Diagram alir subrutin simpan data ditunjukkan pada gambar 3.36. Data dapat disimpan pada hard drive laptop/PC dalam bentuk data excel (Microsoft Excel 97-2003 Worksheet) setelah data diterima melalui proses penerimaan data. Pengguna dapat menekan tombol browse untuk memilih lokasi penyimpanan data pada hard drive laptop/PC. Jika folder belum dipilih, maka akan muncul kotak dialog peringatan βFolder Belum Dipilihβ ditunjukkan gambar 3.31.
Gambar 3.31. Kotak Dialog Peringatan-Folder Belum Dipilih Setelah memilih tempat penyimapan pengguna dapat melihat kembali tempat atau lokasi penyimpanan file yang dipilih dengan menekan teks yang menampilkan tempat penyimpanan file akan muncul kotak dialog βFolder Simpanβ lokasi penyimpanan data seperti ditunjukkan pada gambar 3.32.
Gambar 3.32. Kotak Dialog-Folder Simpan Penamaan file bertujuan untuk memisahkan data yang disimpan pada hard drive laptop/PC hal ini akan memudahkan pengguna untuk mencari data pengukuran yang telah disimpan berdasarkan waktu atau jumlah data yang diambil. Pengguna dapat mengisi nama file pada edit text nama file. Setelah mengisi nama file, pengguna dapat memberi perintah simpan pada program dengan menekan tombol simpan. Sebelum dapat menyimpan data, program kembali
memeriksa prosedur penyimpanan
diantaranya folder tempat
penyimpanan, nama file, dan data yang telah dibaca. Jika folder belum dipilih maka akan muncul kotak dialog peringatan βFolder Kosongβ, seperti yang ditunjukkan pada gambar 3.33.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 68
Gambar 3.33. Kotak Dialog Peringatan-Folder Kosong Pengguna harus mengulangi pemilihan tempat penyimpanan file. Jika nama file belum diisi maka akan muncul kotak dialog peringatan βNama File Kosongβ seperti ditunjukkan pada gambar 3.34. Penguna harus mengisi nama file.
Gambar 3.34. Kotak Dialog Peringatan-Nama File Kosong Untuk memastikan apakah ada data yang sudah diterima atau belum program memeriksa data yang tersimpan sementara pada tabel (uitable). Jika belum ada data yang diterima sebelumnnya maka akan muncul kotak dialog peringatan βBelum Ada Dataβ seperti ditunjukkan pada gambar 3.35. Pengguna harus menerima data seperti yang sudah dijelaskan dengan diagram alir subrutin penerimaan data.
Gambar 3.35. Kotak Dialog Peringatan-Belum Ada Data Perintah penyimpanan hanya dapat dilakukan jika dialog peringatan tersebut tidak muncul yaitu dengan cara mengikuti prosedur yang ditunjukkan pada gambar 3.25. Data yang disimpan akan terlihat pada folder yang dipilih dengan nama file yang telah ditetapkan dan dari data yang telah diterima sebelumnya. Pengguna dapat melakukan reset tampilan pada teks (mengosongkan teks), animasi (menetapkan nilai animasi pada rentang terkecil), grafik (tampilan grafik kosong), dan tabel (data pada tabel kosong) dengan cara menekan tombol hapus. Perintah hapus tidak menghapus data yang telah diterima sebelumnya, namun masih tersimpan sementara pada tabel (uitable).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 69 Mulai Tampil Folder Kosong
Tekan Browse
Sudah Dipilih?
Tidak
Ya Tekan Destinasi File Tampil Destinasi File
Subrutin Penerimaan Data
Isi Nama File
Tampil Belum Ada Data
Tampil Nama File Kosong
Tidak
Tidak
Ya
Ada Data?
Nama File Sudah Diisi?
Tekan Simpan
Tidak
Folder Kosong?
Ya
Ya
Data Tersimpan
Tekan Hapus
Kembali
Gambar 3.36. Diagram Alir Subrutin Simpan Data
3.6. Data Dummy Data dummy adalah data yang menyerupai data aslinya tetapi tidak memiliki fungsi aslinya. Data ini akan digunakan untuk menggantikan data setiap sensor dalam pengujian yang dilakukan di dalam dan di luar ruangan, dikarenakan belum ada plant kincir angin propeler yang beroperasi di luar ruangan. Sensor-sensor akan digantikan dengan model
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 70 potensiometer. Nilai-nilai dan parameter ini akan diatur oleh sistem data logger dengan mempertimbangkan nilai sensor yang menyerupai karakteristik kincir angin propeler berbahan kayu. Pengaturan rentang sensor ditetapkan berdasarkan batasan masalah yang telah ditetapkan yaitu sensor tegangan dengan rentang nilai 0 sampai 60 volt, sensor arus dengan rentang nilai 0 sampai 25 ampere, sensor kecepatan poros dengan rentang nilai 0 sampai 500, sensor kecepatan angin dengan rentang nilai 0 sampai 20 m/s, dan sensor arah angin (kompas) dengan rentang nilai 0 sampai 359,99 derajat. Waktu pengiriman sensor disepakati setiap 10 detik satu paket data pengukuran. Parameter yang dikirimkan adalah nomer perekaman, pewaktuan, dan perolehan energi diatur oleh sistem data logger dalam satu paket data, sehingga sistem pengirim dapat menerima keseluruhan paket data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV HASIL DAN PEMBAHASAN Bab ini berisi hasil dan pembahasan sistem akuisisi data yang terdiri dari sistem pengirim dan sistem penerima. Data yang dibahas terdiri dari data hasil pengiriman oleh sistem pengirim ke sistem penerima dan pengolohan data yang diterima pada aplikasi akuisisi data. Hasil pengujian berupa data-data yang diperoleh untuk memperlihatkan bahwa perangkat keras dan perangkat lunak 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. Perangkat Keras Sistem 4.1.1. Perangkat Keras Sistem Pengirim Perangkat keras sistem pengirim terdiri dari rangkaian elektronik dan kotak komponen yang bertujuan melindungi rangkaian elektronik sistem pengirim. Subsistem elektronik rangkaian sistem pengirim terdiri dari modul papan Arduino Uno Rev3, radio XBee-PRO (S2B), dan XBee-Shield V1.1. serta rangkaian catu daya DC, rangkaian reset eksternal, rangkaian kartu SD, dan rangkaian indikator LED pada satu papan PCB yang ditunjukkan pada gambar 4.1. Bentuk fisik sistem pengirim secara keseluruhan ditunjukkan pada gambar 4.2.
(a) (b) Gambar 4.1. Rangkaian Sistem Pengirim, (a). Rangkaian Catu Daya DC, Reset Eksternal, dan Indikator LED, (b). Rangkaian Kartu SD 4.1.1.1. Rangkaian Catu Daya DC Rangkaian catu daya DC ditunjukkan pada gambar 4.1.(a). Pengujian rangkaian catu DC daya dilakukan dengan memberikan sumber tegangan dari accumulator 12 volt / 5Ah
71
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 72 dengan tegangan keluaran accumulator terukur 12,36 volt. Tegangan tersebut dikurangi dengan tegangan dioda 1N4007 yang aktif yaitu 0,786 volt, tegangan keluaran dari rangkaian catu daya DC menjadi 11,58 volt. Tegangan yang dihasilkan dapat mensuplai papan Arduino Uno Rev3 yang membutuhkan tegangan masukan antara 7 - 12 volt untuk dapat bekerja dan memberikan suplai tegangan pada modul radio XBee-PRO (S2B) dan kartu SD melalui pin keluaran 5 volt dan 3,3 volt. Hal ini menunjukkan rangkaian catu daya DC dapat bekerja dengan baik. 4.1.1.2. Rangkaian Reset Eksternal Rangkaian reset eksternal ditunjukkan pada gambar 4.1.(a). Pengujian rangkaian reset eksternal dilakukan dengan terlebih dahulu mengaktifkan sistem pengirim. Keluaran tegangan dari rangkaian reset eksternal adalah 4,96 volt (logika tinggi). Pada saat tombol reset ditekan keluaran tegangan menjadi 0,347 volt (logika rendah). Transisi dari logika tinggi ke rendah menyebabkan mikrokontroler reset, mikrokontroler reset ditandai dengan LED built-in papan Arduino Uno Rev3 berkedip. Hal ini menunjukkan rangkaian reset eksternal dapat bekerja dengan baik. 4.1.1.3. Rangkaian Kartu SD Rangkaian kartu SD ditunjukkan pada gambar 4.1.(b). Pengujian rangkaian kartu SD dilakukan dengan mengukur tegangan keluaran rangkaian pembagi tegangan pada pin data in dan pin card select (CS) dengan terlebih dahulu memprogram papan Arduino dengan program peyimpanan, program akan membaca nilai ADC pin A0 sampai A3 dan menyimpan pada kartu SD dengan nama file datalogger.txt. Hasil pengukuran menunjukkan keluaran tegangan pada pin data in adalah 3,136 volt dan keluaran pada pin CS adalah 3,016 volt. Hal tersebut menunjukkan bahwa nilai keluaran tegangan dapat disesuaikan yaitu 3,3 volt. Kartu SD selanjutnya dibaca melalui slot kartu SD pada perangkat laptop untuk mengetahui hasil peyimpanan. Pembacaan kartu SD menunjukkan data dapat disimpan dengan nama file datalogger.txt dan isi file menunjukkan hasil pembacaan nilai ADC. Hal ini menunjukkan angkaian kartu SD dapat bekerja dengan baik. 4.1.1.4. Rangkaian Indikator LED Rangkaian indikator LED ditunjukkan pada gambar 4.1.(a). Pengujian rangkaian indikator LED dilakukan dengan terlebih dahulu memprogram papan Arduino dengan program menyalakan LED terima data dan LED kirim data secara bergantian. Hasil pengujian menunjukkan pada saat sistem pengirim diaktifkan LED power berwarna merah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 73 menyala, dilanjutkan dengan LED terima data dan kirim data menyala secara bergantian. Hal ini menunjukkan rangkaian indikator LED dapat bekerja dengan baik.
(a)
(b)
(c)
(d)
(e)
(f)
Gambar 4.2. Perangkat Keras Sistem Pengirim, (a). Bagian Luar Tampak Atas, (b). Bagian Luar Tampak Bawah, (c). Bagian Luar Tampak Samping Kiri, (d). Bagian Luar Tampak Samping Kanan, (e). Bagian Dalam Tampak Samping Kiri, (f). Bagian Dalam Tampak Samping Kanan 4.1.2. Perangkat Keras Sistem Penerima Perangkat keras sistem penerima terdiri dari rangkaian elektronik dan kotak komponen yang bertujuan untuk melindungi rangkaian elektronik sistem penerima. Perangkat keras sistem penerima secara keseluruhan ditunjukkan pada gambar 4.3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 74
(a)
(b)
(c)
(d)
(e)
(f)
Gambar 4.3. Perangkat Keras Sistem Penerima, (a). Bagian Luar Tampak Atas, (b). Bagian Luar Tampak Bawah, (c). Bagian Luar Tampak Samping Kiri, (d). Bagian Luar Tampak Samping Kanan, (e). Bagian Dalam Tampak Samping Kiri, (f). Bagian Dalam Tampak Samping Kanan Subsistem elektronik perangkat sistem terdiri dari modul radio XBee-PRO (S2B) dan modul XBee USB Adapter. Perangkat sistem penerima akan bekerja jika terhubung pada laptop/PC dan data yang dikirimkan atau data yang diterima diproses melalui program aplikasi akuisisi data. Saat diaktifkan LED power modul XBee USB Adapter akan menyala, selanjutnya jika terhubung dengan sistem pengirim maka LED RSSI akan menyala, jika menerima data maka LED Tx akan menyala sedangkan jika mengirim data maka LED Rx akan menyala.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 75
4.2. Perangkat Lunak Sistem Perangkat lunak dibagi menjadi dua bagian, yaitu perangkat lunak sistem pengirim pada papan Arduino Uno Rev3 dan perangkat lunak sistem penerima pada program aplikasi akuisisi data menggunakan MATLAB guide. Dalam pengaplikasiannya terdapat beberapa perubahan diagram alir berdasarkan diagram alir yang telah dirancang. Penjelasan perangkat lunak dilakukan berdasarkan pada diagram alir pada Bab sebelumnya, dan beberapa tambahan diagram alir perubahan yang terlampir. 4.2.1. Sistem Pengirim 4.2.1.1. Inisialisasi Inisialisasi dimulai dengan memasukan berkas library yang digunakan dalam program papan Arduino Uno Rev3 diantaranya library interupsi avr yang berfungsi untuk menjalankan interupsi pewaktuan internal, library SPI berfungsi untuk komunikasi dengan perangkat SD, library SD berfungsi untuk membaca dan menulis file pada kartu SD, dan library SoftwareSerial berfungsi untuk menjalankan komunikasi serial pada beberpa pin digital papan Arduino. Selain itu program juga melakukan inisialisasi untuk mengatur pin indikator LED sebagai keluaran yaitu pin digital 2 sebagai indikator terima data, dan pin digital 3 sebagai indikator kirim data. Program akan menyimpan variabel-variabel global pada memori EEPROM yang digunakan untuk menyimpan pengaturan oleh pengguna dalam struktur data sehingga dapat digunakan dalam mengendalikan subsistem-subsistem program. Tabel 4.1. menunjukkan variabel-variabel global yang digunakan pada program. 4.2.1.2. Program Utama Program utama berisi alur perintah utama, yang berikutnya akan memanggil subrutinsubrutin lainnya. Perintah yang ada pada program utama akan menginisialisasi fitur-fitur yang digunakan. Setelah inisialisasi, program akan memanggil satu per satu subrutin yang ada secara terus menerus. Program terlebih dahulu membaca apakah kartu SD siap, jika tidak maka perintah tidak dapat dilanjutkan sampai kartu SD siap. Kartu SD tidak siap ditandai dengan indikator terima data dan kirim data menyala seperti ditunjukkan pada gambar 4.4. Jika kartu SD siap, maka LED indikator terima data akan menyala tiga kali. Selanjutnya program memanggil subrutin hapus file temporary.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 76 Tabel 4.1. Variabel Global Pada Memori EEPROM No
Subsistem
1
Penerimaan Paket Data
2
3
Pengiriman Paket Data
Pewaktuan
Parameter Tipe Data dterima String
Fungsi Berisi paket data yang diterima Berisi perhitungan jumlah paket data yang diterima Berisi perhitungan jumlah setiap karakter paket data yang diterima
jumlahd
int
dkirim
unsigned int
jumlahs
int
Berisi perhitungan jumlah data yang salah dalam pengiriman data
kirim
int
Berfungsi sebagai flag yang menandakan paket data sedang dikirim
bacad
int
temp count
char volatile int
rutin
int
ping
int
Berisi perhitungan jumlah paket data yang telah dikirim Berisi paket data yang tersimpan Berisi perhitungan nilai pewaktuan Berfungsi sebagai flag untuk mengendalikan pewaktuan Berfungsi sebagai flag untuk mengendalikan ping
Gambar 4.4. Indikator Kartu SD Tidak Siap Program selanjutnya melakukan inisialisasi pewaktuan. Inisialisasi pewaktuan dilakukan dengan menggunakan interupsi internal timer yaitu timer 1, 16 bit timer yang disediakan pada mikrokontroler ATmega328. Pengaturan timer 1 dilakukan dengan menghitung nilai TCNT timer 1 menggunakan persamaan sebagai berikut [29]: ππππ‘π’
ππΆππ1 = 65535 β ( (
1 ) β ππππ πππππ πΉπππ. ππ π
)
Frekuensi kristal yang digunakan pada papan Arduino Uno Rev3 adalah 16 Mhz, nilai prescaler yang digunakan 1024, dan waktu tunda yang dibutuhkan 1 detik, maka diperoleh:
ππΆππ1 = 65535 β (
1 1 ( ) β 1024 16 β 106
) = 49911
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 77 Nilai TCNT1 sebesar 49911 yang digunakan merupakan nilai untuk mengatur pewaktuan 1 detik. Program selanjutnya memanggil subrutin penerimaan paket data untuk membaca paket data yang dikirimkan sistem data logger. Selanjutnya program akan memeriksa jumlah paket data yang diterima dan dikirimkan, jika semua paket data sudah dikirimkan maka program memberikan intruksi untuk menghapus file temporary dan menghentikan pewaktuan ping. Jika paket data belum dikirimkan, maka program akan memanggil subrutin ping untuk memeriksa status sistem pengirim. Selanjutnya program memanggil subrutin konfirmasi sistem pengirim untuk menjalankan perintah mengirimkan data apabila ada konfirmasi atau tanggapan dari sistem penerima. Tahap terakhir adalah program akan menonaktifkan indikator LED terima data dan kirim data. 4.2.1.3. Subrutin Hapus File Temporary Subrutin hapus file temporary akan memeriksa apakah ada file temporary, jika ada maka program akan menghapus file temporary. Subrutin hapus file temporary dipanggil setelah program melakukan inisialisasi kartu SD. Subrutin hapus file temporary selanjutnya juga dipanggil jika semua data sudah dikirimkan semuanya. 4.2.1.4. Subrutin Penerimaan Paket Data Subrutin penerimaan paket data dipanggil jika ada data serial yang masuk. Program menjalankan fungsi SerialEvent untuk membaca file yang diterima. Program membaca paket data yang diterima sampai terminator βnβ (null) dan paket data disimpan pada variabel dterima. Jika data yang diterima sesuai format yaitu berjumlah 66 karakter dengan karakter pertama adalah β*β (bintang) dan karakter terakhir adalah β#β (pagar), maka program dapat melakukan perintah selanjutnya. Program mengaktifkan indikator LED terima data seperti ditunjukkan pada gambar 4.5. selanjutnya data akan disimpan kedalam dua file dengan ekstensi (.txt) yaitu dengan nama file backup.txt dan nama file temp.txt. Gambar 4.6. menunjukkan file backup.txt yang dapat disimpan pada kartu SD, dan gambar 4.7. menunjukkan file temp.txt yang dapat disimpan pada kartu SD.
Gambar 4.5. Indikator LED Terima Data Menyala
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 78 File backup dibuat dengan tujuan untuk menyimpan paket data sebagai backup (cadangan) dan file temporary (sementara) dibuat untuk menyimpan paket data selama sistem pengirim tidak terhubung dengan sistem pengirim. Jika pada saat bersamaan tidak ada data yang dikirimkan maka program melakukan ping dengan cara mengirimkan karakter βpβ ke sistem penerima.
Gambar 4.6. File Backup.txt Pada Kartu SD
Gambar 4.7. File Temp.txt Pada Kartu SD 4.2.1.5. Subrutin Ping Subrutin ping bertujuan untuk memeriksa status sistem penerima apakah aktif atau tidak sebelum melakukan pengiriman paket data. Subrutin ping dipanggil jika paket data yang tersimpan tidak terkirim atau masih ada paket data yang belum terkirim. Subrutin ping dilakukan setiap 10 detik dihitung mulai dari penerimaan paket data dan pegirman paket data terakhir. Untuk dapat melakukan rutinitas ping setiap 10 detik dilakukan dengan menggunakan pewaktuan yang telah diinisialisasi sebelumnya, karena pewaktuan diatur setiap 1 detik maka digunakan variabel dengan perulangan sebanyak 10 kali, sehingga dapat dihasilkan pewaktuan setiap 10 detik. Pengiriman ping dilakukan dengan mengirimkan karakter βpβ, apabila sistem penerima menerima karakter tersebut maka sistem penerima akan mengirimkan karakter βyβ. Karakter inilah yang diperiksa oleh sistem pengirim, apabila setelah mengirimkan karakter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 79 βpβ tidak ada balasan dari sistem penerima berarti sistem pengirim tidak terhubung dengan sistem penerima, sehingga program akan kembali melakukan ping setiap 10 detik. Apabila ada balasan berupa karakter βyβ dari sistem penerima berarti sistem pengirim terhubung dengan sistem penerima, program selanjutnya dapat melakukan perintah pengiriman paket data. 4.2.1.6. Subrutin Konfirmasi Subrutin konfirmasi merupakan subrutin yang memeriksa respon atau tanggapan dari sistem penerima untuk dapat menjalankan subrutin pengiriman paket data. Subrutin konfirmasi dipanggil setelah sistem pengirim melakukan perintah ping terhadap sistem penerima. Jika sistem pengirim menerima balasan berupa karakter βyβ maka program dapat melakukan pengiriman paket data pertama atau paket data ke-n dari paket data terakhir yang dikirimkan. Apabila sistem pengirim menerima karakter βoβ, maka program akan mengirimkan paket data selanjutnya, berarti paket data yang diterima sistem penerima lengkap atau benar. Jika sistem pengirim menerima karakter βtβ, maka program akan mengirimkan data yang sama dari data sebelumnya yang dikirim, berarti paket data yang diterima sistem penerima tidak lengkap atau salah. Secara bersamaan program akan memulai melakukan perhitungan karakter βtβ yang diterima, jika sistem pengirim menerima balasan lebih dari 5 karakter βtβ, maka program akan akan mengirimkan data selanjutnya. 4.2.1.7. Subrutin Pengiriman Paket Data Subrutin pengiriman paket data dipanggil setelah sistem pengirim mendapatkan respon atau tanggapan dari sistem penerima. Pengiriman paket data dilakukan dengan terlebih dahulu membaca semua data yang tersimpan pada file temporary (temp.txt). Pembacaan paket data yang disimpan dilakukan menggunakan fungsi perulangan dengan syarat ada file yang dibaca dan tidak ada data serial yang masuk. Program akan membaca byte setiap karakter paket data yang tersimpan pada file, pembacaan dilakukan berdasarkan nilai desimal simbol atau karakter pada tabel ASCII (American Standard Code for Information Interchange) [28]. Tabel 4.2. menunjukkan simbol ASCII yang digunakan untuk setiap karakter paket data yang tersimpan pada file. Pengiriman paket data dilakukan dengan cara menghitung urutan data yang tersimpan berdasarkan jumlah baris (line). Perhitungan jumlah data dilakukan dengan penambahan variabel setiap pembacaan karakter CR (carriage retrun) atau 13 desimal pada file. Selanjutnya data yang akan dikirimkan dibaca berdasarkan urutan paket data yang sudah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 80 dihitung sebelumnya dan data merupakan byte karakter yang lebih dari 34 desimal dan kurang dari 59 desimal. Pembacaan akan diakhiri jika satu paket data sudah dikirimkan sampai pada karakter terakhir β#β (pagar) atau 35 desimal untuk satu kali pengiriman paket data, hal ini bertujuan untuk mengurangi waktu pembacaan untuk setiap karakter paket data pada file. Selanjutnya program akan mengaktifkan indikator LED kirim data sebagai tanda paket data sedang dikirim, seperti yang ditunjukkan pada gambar 4.8.
Gambar 4.8. Indikator LED Kirim Data Menyala Tabel 4.2. Simbol ASCII Setiap Karakter Paket Data No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Nilai Desimal 13 35 42 44 45 46 48 49 50 51 52 53 54 55 56 57 58
Simbol ASCII CR # * , . 0 1 2 3 4 5 6 7 8 9 :
Keterangan Enter Pagar Bintang Koma Strip Titik Nol Satu Dua Tiga Empat Lima Enam Tujuh Delapan Sembilan Titik Dua
4.2.2. Sistem Penerima 4.2.2.1. Inisialisasi Program aplikasi akuisisi data yang dibuat dibentuk menjadi aplikasi terinstal pada laptop/PC dengan menggunakan aplikasi MATLAB compiler. File aplikasi dilengkapi dengan MATLAB runtime. MATLAB runtime merupakan program aplikasi yang dapat menjalankan file aplikasi mandiri (standalone application) yang dibuat dengan MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 81 guide. Pada saat pertama program aplikasi dijalankan akan tertampil pada layar splash screen aplikasi yang menandakan program sedang melakukan inisialisasi. Inisialisasi program aplikasi dimulai dengan pengaturan default yang terbentuk secara otomatis pada saat pertama membuat program aplikasi dengan MATLAB guide, inisialisasi yang dibentuk adalah fungsi sebagai pembuka gui (gui_OpeningFcn), dan fungsi sebagai penutup gui (gui_OutputFcn). Program akan menjalankan fungsi figure1_CreateFcn untuk mengganti latar belakang aplikasi dengan membaca file gambar latar belakang yang dibuat. Pada fungsi gui_OpeningFcn pertama kali dilakukan pengaturan properti antarmuka diantaranya mengatur nama aplikasi menjadi βSistem Akuisisi Data Kincir Angin Propeler Berbahan Kayuβ, pengosongan tabel, menonaktifkan tombol mulai dan tombol akhiri, dan mengatur grafik. Variabel-variabel global diinisialisasi untuk memasukkan nilai atau perintah kedalam variabel sehingga setiap ada perubahan variabel pada fungsi tertentu variabel-variabel global akan ter-update. Tabel 4.3. menunjukkan variabel global yang digunakan pada program aplikasi. Tabel 4.3. Variabel Global Pada Program Aplikasi Akuisisi Data No 1 2 3
Parameter Fungsi dbanding Berisi paket data benar yang terakhir diterima fsimpan Berisi destinasi folder penyimpanan data fbuka Berisi destinasi folder membuka file
Program selanjutnya memeriksa perangkat serial yang terhubung pada laptop/PC sebagai virtual Port-Com. Apabila perangkat sistem penerima tidak terdeteksi maka akan tampil kotak dialog error, seperti yang ditunjukkan pada gambar 4.9. Maka program akan menonaktifkan properti komunikasi diantaranya masukkan baud rate dan tombol connect. Pengguna dapat menghubungkan perangkat serial dan menekan refresh ports pada pop-up menu untuk membaca perangkat sistem penerima, apabila perangkat terdeteksi maka program akan menampilkan perangkat yang terdeteksi pada pop-up menu, maka selanjutnya program akan mengaktifkan masukan baud rate, tombol connect, dan menampilkan komunikasi terputus.
Gambar 4.9. Kotak Dialog Error - Perangkat Tidak Terdeteksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 82 Nilai masukan baud rate default yang ditetapkan adalah 9600 bps. Tahap akhir inisialisai yang dilakukan adalah mengatur pewaktuan. Pewaktuan yang dibutuhkan program aplikasi diantaranya adalah pewaktuan waktu nyata setiap 1 detik, pewaktuan untuk menerima data setiap 0,1 detik, dan pewaktuan status data masuk setiap 10 detik. Setelah melakukan inisialisasi pada fungsi pembuka maka jendela aplikasi antarmuka akan tertampil pada desktop laptop/PC, seperti yang ditunjukkan pada gambar 4.10.
Gambar 4.10. Tampilan Jendela Aplikasi Sistem Akuisisi Data 4.2.2.2. Program Utama Program utama berisi subrutin-subrutin program yang dapat dijalankan selama jendela aplikasi masih aktif. Pemprograman dengan mengunakan MATLAB guide instruksi program utama dapat dijalankan tidak secara berurutan sesuai dengan perintah dari pengguna. Setiap subrutin program akan dilaksanakan berdasarkan fungsi pada properti yang digunakan seperti tombol tekan, masukkan text, tabel, dan grafik. Properti dapat dijalankan atau dipanggil dengan aksi tertentu berdasarkan fungsi yang digunakan yang diantaranya adalah fungsi Callback, CreateFcn, ButtonDownFcn, dan KeyPressFcn. Didalam fungsi tersebut barulah instruksi akan dijalankan secara berurutan sesuai dengan urutan perintah program. 4.2.2.3. Subrutin Keterangan Subrutin keterangan dikendalikan dengan properti tombol tekan, yaitu tombol prosedur dan tombol tentang ditunjukkan pada gambar 4.11. Masing-masing tombol dijalankan dengan menggunkan fungsi Callback. Instruksi pada tombol prosedur dilakukan jika pada saat pertama pengguna menekan tombol prosedur program akan membaca file
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 83 gambar prosedur aplikasi yang dibuat dan menampilkan pada jendela prosedur aplikasi seperti yang ditunjukkan pada gambar 4.12. Jika pengguna menekan tombol prosedur untuk yang kedua kali, maka jendela prosedur akan tertutup. Instruksi pada tombol tentang dilakukan jika pada saat pertama pengguna menekan tombol tentang, program membaca file gambar prosedur aplikasi yang dibuat dan menampilkan pada jendela tentang aplikasi seperti yang ditunjukkan seperti yang ditunjukkan pada gambar 4.13. Jika pengguna menekan tombol tentang untuk yang kedua kali, jendela tentang aplikasi akan tertutup.
Gambar 4.11. Tampilan Properti Keterangan Pada Jendela Aplikasi
Gambar 4.12. Tampilan Jendela Prosedur Aplikasi
Gambar 4.13. Tampilan Jendela Tentang Aplikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 84 4.2.2.4. Subrutin Komunikasi Subrutin komunikasi terdiri dari beberpa properti diantaranya pop-up menu yang berfungsi untuk menampilkan perangkat serial yang terbaca, properti edit text yang berfungsi sebagai masukan nilai baud rate, properti tombol tekan yang berfungsi sebagai perintah koneksi ke perangkat serial, dan properti static text yang berfungsi menampilkan status koneksi perangkat serial, seperti yang ditunjukkan pada gambar 4.14.
Gambar 4.14. Tampilan Properti Komunikasi Pada Jendela Aplikasi Pop-up menu komunikasi dijalankan dengan fungsi CreateFcn dan fungsi Callback, pada saat pertama jendela aplikasi muncul, pop-up menu akan menampilkan semua perangkat serial yang aktif, jika tidak ada perangkat yang terdeteksi maka pop-up menu menampilkan pesan refresh ports. Pengguna dapat menghubungkan perangkat serial dan selanjutnya menekan refresh ports pada pop-up menu. Masukkan nilai baud rate dijalankan dengan fungsi KeyPressFcn dan fungsi Callback. Fungsi KeyPressFcn akan menginstruksikan tombol connect menjadi tidak aktif selama pengguna merubah nilai baud rate, sedangkan fungsi Callback akan dijalankan setelah pengguna selesai memasukkan nilai baud rate. Jika masukan baud rate kosong maka secara otomatis nilai baud rate menjadi 9600 bps. Masukan nilai baud rate yang diperbolehkan adalah nilai baud rate yang didukung pada modul radio XBee-PRO (S2B) dan MATLAB guide, yaitu 1200 bps, 2400 bps, 4800 bps, 9600 bps, 19200 bps, 38400 bps, 57600 bps, dan 115200 bps. Jika pengguna memasukkan nilai baud rate selain nilai yang diperbolehkan, maka akan tertampil kotak dialog peringatan seperti yang ditunjukkan pada gambar 4.15. dan program akan mengatur kembali nilai baud rate menjadi 9600 bps.
Gambar 4.15. Kotak Dialog Peringatan - Masukkan Baud Rate Salah Tombol connect akan aktif apabila masukkan nilai baud rate sesuai dengan nilai baud rate yang diperbolehkan. Tombol connect dijalankan dengan fungsi Callback setelah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 85 pengguna menekan tombol connect pertama kali program akan mengatur parameter perangkat serial yang dipilih, diantaranya adalah nilai baud rate dan timeout pembacaan setiap 0,01 detik. Selanjutnya program akan menghubungkan perangkat serial, jika tidak dapat terhubung maka akan tampil kotak dialog error seperti gambar 4.16. Apabila perangkat terhubung, label tombol connect berubah menjadi disconnect, status komunikasi menjadi terhubung, dan program akan menonaktifkan pop-up menu dan masukan baud rate.
Gambar 4.16. Kotak Dialog Error - Perangkat Tidak Berhasil Terhubung Tahap terakhir subrutin komunikasi adalah memeriksa apakah ada data pada tabel dari data perekaman sebelumnya atau dari file yang dibuka. Jika ada data pada tabel, maka akan tampil kotak dialog peringatan seperti gambar 4.17. pada saat itu tombol mulai dinonaktifkan pengguna dapat menyimpan file selanjutnya menghapus file pada tabel. Jika tidak ada data tabel, maka program akan mengaktifkan tombol mulai. Selanjutnya untuk menutup atau memutuskan komunikasi serial pengguna menekan tombol disconnect, sehingga akan tampil status komunikasi terputus dan label tombol disconnect kembali menjadi connect.
Gambar 4.17. Kotak Dialog Peringatan - Ada Data Tabel 4.2.2.5. Subrutin Refresh Ports Subrutin refresh ports dilakukan ketika perangkat serial tidak terbaca pada laptop/PC atau untuk membaca perangkat serial sebagai virtual Port-Com yang aktif, sehingga perangkat serial dapat ditampilakan pada properti pop-up menu. Subrutin refresh ports dijalankan dengan fungsi Callback, instruksi dari subrutin refresh ports akan dilakukan setelah pengguna menekan refresh ports pada pop-up menu seperti ditunjukkan pada gambar 4.18. Program akan dijalankan pada saat status komunikasi terputus. Program akan membaca semua perangkat yang terdeteksi sebagai virtual Port-Com pada laptop/PC. Jika tidak ada perangkat serial yang terbaca, maka akan tampil kotak dialog error perangkat tidak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 86 terdeteksi,
secara
bersamaan
program
akan
mengosongkan
status
komunikasi,
menonaktifkan tombol connect dan masukan baud rate. Sedangkan jika ada perangkat serial yang terbaca, maka akan tampil perangkat serial pada properti pop-up menu, secara bersamaan status komunikasi menjadi terputus, tombol connect dan masukan baud rate diaktifkan kembali.
Gambar 4.18. Tampilan Refresh Ports Pada Pop-up Menu Aplikasi 4.2.2.6. Subrutin Penerimaan Data Subrutin penerimaan data dijalankan apabila tombol mulai telah diaktifkan. Tombol mulai dijalankan dengan fungsi Callback, instruksi program akan dilakukan setelah pengguna menekan tombol mulai. Tombol mulai merupakan salah satu properti dari proses data ditunjukkan pada gambar 4.19. Pertama kali program akan mengatur beberapa properti diantaranya adalah mengaktifkan tombol akhiri, menonaktifkan tombol hapus, tombol file, tombol mulai, dan tombol connect, serta mengosongkan status proses data. Selanjutnya program akan membuat folder backup data dengan nama folder βAkuisisi_Data_Kincir_Angin.backupβ di hard drive C\:, jika sebelumnya folder belum dibuat. Selanjutnya program memeriksa data tabel, jika tidak ada data tabel program akan mengambil waktu laptop/PC sebagai nama file backup dengan format βdd-mm-yyyy_HH.MM.SSβ. Tahap terakhir program mengaktifkan pewaktuan penerimaan data untuk memulai menerima data.
Gambar 4.19. Tampilan Properti Proses Data Pada Jendela Aplikasi 4.2.2.7. Subrutin Pemrosesan Data Subrutin pemrosesan data dilakukan berdasarkan fungsi pewaktuan yang diaktifkan dari tombol mulai, fungsi pewaktuan ini akan dilakukan secara terus menerus setiap 0,1 detik sampai pewaktuan penerimaan data dinonaktifkan. Pertama kali program akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 87 menginisialisasi variabel-variabel data, selanjutnya program akan memeriksa kembali folder backup. Jika tidak folder backup atau folder terhapus, maka folder backup dibuat lagi. Program membaca data serial secara asinkron dengan mode continuous. Mode pembacaan continuous membaca data serial dan memasukkan data pada penyangga serial (serial buffer). Jika ada data serial yang masuk, maka program selanjutnya akan membaca data dan panjang data. Data yang dapat diproses adalah data dengan panjang 1 karakter atau 66 karakter, jika data yang masuk selain dengan panjang karakter tersebut, maka akan tampil data salah pada status proses data dan program akan mengirim karakter βtβ. Program memeriksa data dengan panjang 1 karakter, jika data yang diterima karakter βpβ, maka akan tertampil konfirmasi pada status proses data dan program akan mengirimkan balasan karakter βyβ, jika karakter yang diterima bukan karakter βpβ, maka akan tampil data salah dan program akan mengirimkan karakter βtβ. Program memeriksa dan memisahkan paket data dengan panjang data 66 karakter, apakah sesuai dengan format paket data yang telah ditentukan. Jika data yang diterima tidak sesuai dengan format paket data, maka akan tampil data salah, program akan mengirimkan karakter βtβ. Apabila data yang diterima sesuai dengan format paket data, maka terlebih dahulu program akan memeriksa paket data yang masuk, jika paket data yang masuk sama dengan paket data sebelumnya maka akan tertampil data sama dan program mengirimkan balasan karakter βoβ sehingga sistem pengirim dapat mengirimkan data selanjutnya. Apabila paket data yang diterima sesuai format dan berbeda dengan data sebelumnya, maka data akan dimasukan kedalam variabel data yang telah ditentukan yaitu nomer perekaman, tanggal, waktu, tegangan, arus, energi, kecepatan poros, kecepatan angin, dan arah angin. Data selanjutnya akan ditampilkan pada aplikasi mulai dari animasi gauges dan static text berdasarkan data terakhir yang diterima, seperti yang ditunjukkan pada gambar 4.20. Selanjutnya program akan menampilkan data pada tabel secara berurutan sesuai data yang diterima dan menampilkan data pada grafik, masing-masing grafik yang ditampilkan tegangan dan arus, grafik energi, kecepatan poros, dan kecepatan angin berdasarkan waktu dengan format βHH:MMβ seperti yang ditunjukkan pada gambar 4.21.
Gambar 4.20. Tampilan Data Pada Gauges Dan Static Text Aplikasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 88
Gambar 4.21. Tampilan Data Pada Tabel Dan Grafik Aplikasi Setelah data ditampilkan selanjutnya program akan menyimpan paket data secara otomatis dengan ekstensi .txt berdasarkan nama file backup yang sudah ditentukan seperti yang ditunjukkan pada gambar 4.22. Tahap terakhir program akan menyimpan paket data terakhir yang diterima pada variabel dbanding untuk dibandingkan dengan paket data yang masuk lagi, selanjutnya program mengirimkan karakter βoβ ke sistem pengirim yang menandakan program menerima paket data yang benar, sehingga sistem pengirim akan mngirimkan paket data selanjutnya.
Gambar 4.22. File Backup Pada Folder Backup Berdasarkan gambar 4.22. dapat dijelaskan secara lebih rinci pada tabel 4.4. Data dapat diterima oleh sistem penerima berdasarkan format data yang telah ditentukan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 89 Tabel 4.4. Parsing Data Dari Paket Data Yang Diterima Data No
Paket Data Yang Diterima
1
Kecepatan Kecepatan Arah Poros Angin Angin Akhir (rpm) (m/s) (deg)
Awal
No Perekaman
*,0000,13-06-2016,20:53:29,07.01,01.20,00000.01,062,05.88,335.01,#
*
0
13-06-2016 20:53:29
7,01
1,2
0,01
62
5,88
335,01
#
2
*,0001,13-06-2016,20:53:39,07.01,01.20,00000.04,062,05.88,335.01,#
*
1
13-06-2016 20:53:39
7,01
1,2
0,04
62
5,88
335,01
#
3
*,0002,13-06-2016,20:53:49,06.99,01.20,00000.06,108,07.00,335.01,#
*
2
13-06-2016 20:53:49
6,99
1,2
0,06
108
7
335,01
#
4
*,0003,13-06-2016,20:53:59,06.99,01.20,00000.08,108,07.00,335.01,#
*
3
13-06-2016 20:53:59
6,99
1,2
0,08
108
7
335,01
#
5
*,0004,13-06-2016,20:54:09,06.98,01.20,00000.11,140,09.93,197.06,#
*
4
13-06-2016 20:54:09
6,98
1,2
0,11
140
9,93
197,06
#
6
*,0005,13-06-2016,20:54:19,11.14,02.52,00000.15,161,09.93,197.13,#
*
5
13-06-2016 20:54:19
11,14
2,52
0,15
161
9,93
197,13
#
7
*,0006,13-06-2016,20:54:29,12.03,04.35,00000.27,161,09.93,197.27,#
*
6
13-06-2016 20:54:29
12,03
4,35
0,27
161
9,93
197,27
#
8
*,0007,13-06-2016,20:54:39,12.02,04.37,00000.41,161,09.93,069.82,#
*
7
13-06-2016 20:54:39
12,02
4,37
0,41
161
9,93
69,82
#
9
*,0008,13-06-2016,20:54:49,12.02,04.37,00000.56,328,15.52,052.05,#
*
8
13-06-2016 20:54:49
12,02
4,37
0,56
328
15,52
52,05
#
10 *,0009,13-06-2016,20:54:59,20.65,05.01,00000.79,328,15.52,052.08,#
*
9
13-06-2016 20:54:59
20,65
5,01
0,79
328
15,52
52,08
#
11 *,0010,13-06-2016,20:55:09,27.80,07.01,00001.25,328,15.52,052.05,#
*
10
13-06-2016 20:55:09
27,8
7,01
1,25
328
15,52
52,05
#
12 *,0011,13-06-2016,20:55:19,31.26,07.32,00001.83,328,15.52,051.94,#
*
11
13-06-2016 20:55:19
31,26
7,32
1,83
328
15,52
51,94
#
13 *,0012,13-06-2016,20:55:29,31.26,07.33,00002.46,328,15.50,051.94,#
*
12
13-06-2016 20:55:29
31,26
7,33
2,46
328
15,5
51,94
#
14 *,0013,13-06-2016,20:55:39,10.81,02.66,00002.82,162,05.92,051.87,#
*
13
13-06-2016 20:55:39
10,81
2,66
2,82
162
5,92
51,87
#
15 *,0014,13-06-2016,20:55:49,10.91,01.71,00002.88,095,04.93,051.87,#
*
14
13-06-2016 20:55:49
10,91
1,71
2,88
95
4,93
51,87
#
Tanggal
Waktu
Tegangan Arus Energi (V) (A) (Wh)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 90 Berdasarkan tabel 4.4. ditunjukkan bahwa paket data yang diterima memiliki jumlah 66 karakter atau 66 byte. Jumlah data dalam paket data adalah 11 data yang diantaranya adalah data awal, nomer perekaman, tanggal, jam, no perekaman, tegangan, arus, energi, kecepatan poros, kecepatan angin, arah angin, dan akhir data. Masing-masing data memiliki jumlah yang berbeda yaitu awal 1 karakter, nomer perekaman 4 karakter, tanggal 10 karakter, jam 8 karakter, tegangan 5 karakter, arus 5 karakter, energi 8 karakter, kecepatan poros 3 karakter, kecepatan angin 5 karakter, dan arah angin 6 karakter. Data tersebut sudah dapat ditampilkan pada properti aplikasi yaitu teks, animasi (gauges), tabel, dan grafik. Data yang dikirimkan memiliki karakteristik sesuai dengan batas-batas nilai keluaran sensor yang telah dibahas pada bab sebelumnya. Diantaranya adalah sensor tegangan 0 - 60 volt, arus 0 - 25 ampere, energi 0 - 24.000 Watt/jam, kecepatan poros 0 - 500 rpm, kecepatan angin 0 - 20 m/s, dan arah angin 0 - 359,99 deg. Berdasarkan batas keluaran sensor yang ditetapkan dilakukan pengujian dengan variasi data yang dikirimkan hasil pengujian menunjukkan apakah data dapat diterima dan ditampilkan pada aplikasi atau tidak. Hasil pengujian ditunjukkan pada tabel 4.5. Data yang digunakan dalam pengujian ditunjukkan pada gambar 4.23. data tersebut menunjukkan saat keadaan data dibawah batas sensor, data pada batas sensor, dan data diatas batas sensor.
Gambar 4.23. Data Pengujian Batas Sensor Pada Aplikasi Berdasarkan hasil pengujian yang ditunjukkan pada tabel 4.5. Apabila data yang diterima melebihi batas minimal dari sensor atau dibawah nilai 0, maka tampilan pada teks, tabel, dan grafik sesuai dengan nilai yang diterima, sedangkan tampilan pada animasi (gauges) menununjukkaan nilai sensor pada batas minimum yaitu 0. Apabila data yang diterima sesuai dengan rentang batas nilai sensor, maka tampilan pada teks, animasi (gauges), tabel, dan grafik sesuai dengan nilai yang diterima. Apabila data yang diterima melebihi batas maksimal dari sensor, maka tampilan pada teks, tabel, dan grafik sesuai dengan nilai yang diterima, sedangkan tampilan pada animasi (gauges) menunjukkan nilai sensor pada batas maksimal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 91 Tabel 4.5. Hasil Pengujian Batas Sensor Pada Aplikasi No
Paket Data Yang Diterima
1
Tampilan Teks
2
Animasi (gauges )
Tegangan Arus Energi Kecepatan Kecepatan Arah Angin Gambar (V) (A) (Wh) Poros (rpm) Angin (m/s) (deg) -1,14 0
-2,11 -0,02 0
0
-1
-1,16
-2,58
0
0
0
*,0001,22-06-2016,08:51:19,-1.14,-2.11,-0000.02,-01,-1.16,-02.58,#
4.24
3
Tabel
-1,14
-2,11 -0,02
-1
-1,16
-2,58
4
Grafik
-1,14
-2,11 -0,02
-1
-1,16
-2,58
5
Teks
35,02
17,5
1,68
210
11,25
16,08
Animasi (gauges )
35,02
17,5
1,68
210
11,25
16,08
7
Tabel
35,02
17,5
1,68
210
11,25
16,08
8
Grafik
35,02
17,5
1,68
210
11,25
16,08
9
Teks
65
30
31841
620
25,9
372,24
Animasi (gauges )
60
25
24000
500
20
360
11
Tabel
65
30
31841
620
25.9
372.24
12
Grafik
65
30
31841
620
25.9
372.24
6 *,0002,22-06-2016,08:51:29,35.02,17.50,00001.68,210,11.25,016.08,#
10
4.25
*,5880,23-06-2016,01:11:09,65.00,30.00,31840.85,620,25.90,372.24,#
4.26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 92
Gambar 4.24. Data Sensor Lebih Kecil Dari Batas Bawah
Gambar 4.25. Data Sensor Sesuai Batas
Gambar 4.26. Data Sensor Lebih Besar Dari Batas Atas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 93 Dalam pengaplikasiannya aplikasi sistem akuisisi data diharapkan mampu beroperasi selama 24 jam. Berdasarkan hal tersebut dilakukan pengujian kemampuan sistem. Pengujian dilakukan dengan mengaktifkan sistem pengiriman paket data dari sistem data dummy. Data dikirimkan dengan jadwal pengiriman setiap 10 detik, maka dalam waktu 24 jam paket data yang dikirmkan berjumlah 8640 paket data. Data hasil pengujian ditunjukkan pada gambar 4.27.
Gambar 4.27. Kemampuan Program Aplikasi Mengolah Paket Data Berdasarkan hasil pengujian yang ditunjukkan pada gambar 4.27. sistem mampu menerima data benar sampai data ke 7540, yaitu dari data dengan nomer perekaman 0 sampai 7539. Data dengan nomer perekaman 7540 tidak dapat diterima, hal ini terjadi karena data yang ditampilkan pada program aplikasi menyebabkan pemrosesan data menjadi lambat atau MATLAB guide berstatus busy, sehingga balasan kepada sistem pengirim menjadi lambat melebihi waktu jadwal pengiriman paket data yaitu lebih dari 10 detik. Berdasarkan hal tersebut dapat dihitung presentase tingkat keberhasilan sistem yaitu: 8640 β 7540 πΎππππβππ ππππ πππ π‘ππ = 100% β (( ) β 100%) = 87,27% 8640 Dapat disimpulkan bahwa presentase tingkat keberhasilan sistem penerima dapat menerima data dengan jadwal pengiriman setiap 10 detik selama 24 jam adalah 87,27%. 4.2.2.8. Subrutin Akhiri Proses Data Subrutin akhiri proses data dapat dijalankan apabila tombol akhiri telah diaktifkan. Tombol akhiri dijalankan dengan fungsi Callback, instruksi program akan dilakukan setelah tombol akhiri ditekan. Program akan memeriksa apakah pewaktuan terima data aktif, jika pewaktuan aktif maka, program akan menonaktifkan pewaktuan penerimaan data. Program selanjutnya akan mengatur properti dengan mengaktifkan tombol connect, tombol hapus,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 94 tombol mulai, dan menonaktifkan tombol akhiri. Setelah itu program akan memeriksa data pada tabel, jika ada data tabel label tombol mulai menjadi lanjutkan, sehingga proses penerimaan dapat dilanjutkan yaitu dengan cara menekan tombol lanjutkan dan secara bersamaan program akan menonaktifkan masukkan baud rate. Jika tidak ada data tabel, maka proses penerimaan data dilakukan dari pertama. Tahap terakhir program akan menampilkan pesan status proses telah berakhir pada status proses data dan menampilkan kotak dialog proses telah berakhir. 4.2.2.9. Subrutin Simpan Data Subrutin simpan data terdiri dari berapa properti diantaranya adalah properti tombol tekan folder, simpan, dan hapus, properti static text, dan properti edit text ditunjukkan pada gambar 4.28. Proses penyimpanan data dapat dilakukan saat pemrosesan data berlangsung, sedangkan untuk menghapus data dapat dilakukan apabila proses penerimaan data telah diakhiri.
Gambar 4.28. Tampilan Properti Simpan Data Pada Jendela Aplikasi Tombol folder dijalankan dengan fungsi Callback, setelah tombol folder ditekan program akan menampilkan jendela untuk memilih folder, jika folder telah dipilih, maka program memasukkan nama destinasi folder pada variabel fsimpan. Sedangkan jika folder tidak dipilih, maka akan tampil kotak dialog peringatan folder belum dipilih. Untuk dapat melihat destinasi penyimpanan pengguna dapat menekan static text dibawah tampilan tombol folder. Static text destinasi folder peyimpanan dijalankan dengan fungsi ButtonDownFcn, jika folder sudah dipilih program akan menampilkan kotak dialog folder destinasi penyimpanan. sedangkan jika folder belum dipilih maka akan tampil dialog peringatan folder kosong. Pengguna dapat memasukkan nama file pada properti edit text. Terdapat beberapa karakter yang tidak diperbolehkan untuk penamaan file, karakter tersebut diantaranya adalah \ / : * ? β < > | [ ]. Properti edit text dijalankan dengan fungsi KeyPressFcn, instruksi program akan dijalankan pada saat pengguna memasukkan karakter pada edit text. Apabila pengguna memasukkan karakter yang tidak diperbolehkan, maka akan tampil kotak dialog peringatan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 95 masukkan karakter salah, seperti yang ditunjukkan pada gambar 4.29. dan pada saat bersamaan program akan menghapus karakter tersebut.
Gambar 4.29. Kotak Dialog Peringatan - Masukan Karakter Salah Tombol simpan dijalankan dengan fungsi Callback, program dapat dilakukan setelah pengguna menekan tombol simpan. Pertama kali program akan menginisialisasi variabel lokal yaitu variabel folder peyimpanan dan nama file. Program akan kembali memeriksa folder dan nama file apakah folder sudah dipilih dan nama file sudah dimasukkan. Jika folder belum dipilih, maka akan tampil kotak dialog peringatan folder belum dipilih. dan jika nama file kosong, maka akan tampil kotak dialog peringatan nama file kosong. Prosedur penyimpanan file memiliki batasan nama yang berdasarkan nama folder dan nama file yang telah dimasukan. Total panjang karakter nama file dan folder destinasi yang diperbolehkan oleh MATLAB guide adalah panjang nama dibawah 219 karakter. Jika panjang karakter dan destinasi folder lebih dari 218, maka akan tampil kotak dialog peringatan seperti yang ditunjukkan pada gambar 4.30.
Gambar 4.30. Kotak Dialog Peringatan - Masukan Nama File Salah Program selanjutnya memeriksa nama file yang dimasukkan, jika nama file yang dimasukkan sama dengan nama file excel dalam folder penyimpanan maka akan tampil kotak dialog peringatan ganti nama file, seperti yang ditunjukkan pada gambar 4.31. Data disimpan berdasarkan data yang terdapat pada properti tabel, jika tidak ada data, maka akan tampil kotak dialog peringatan belum ada data.
Gambar 4.31. Kotak Dialog Peringatan - Ganti Nama File
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 96 Data yang diterima pada aplikasi dapat disimpan jika kotak dialog peringatan tidak muncul, sebelum menyimpan file program memeriksa folder peyimpanan yang dipilih, jika tidak ada folder penyimpanan atau folder terhapus maka secara otomatis program akan membuat folder yang sama. Data disimpan dalam format ekstensi Microsoft Excel Worksheet (.xlsx) yang didukung oleh MATLAB guide, file excel dengan ekstensi .xlsx memiliki ukuran file lebih ringan atau lebih kecil dibandingkan dengan ekstensi .xls. Format tabel penyimpanan data diatur sebagai berikut yaitu Perekaman, TanggalBulan-Tahun, Waktu, Tegangan (V), Arus (A), Energi (Wh), Kecepatan Poros (rpm), Kecepatan Angin (m/s), dan Arah Angin (deg) pada baris pertama, dan dilanjutkan dengan data berdasarakan data pada properti tabel pada baris kedua. Seperti yang ditunjukkan pada gambar 4.32. file dapat disimpan dengan nama file βAkuisisi Dataβ berdasarkan data percobaan yang dibahas pada subrutin pemrosesan data. Penyimpanan file membutuhkan sedikit waktu berdasarkan jumlah data yang ada pada tabel, hal ini menyebabkan proses pada MATLAB guide menjadi lambat (busy). Jika file sudah tersimpan maka akan tampil pada status proses data peyimpanan berhasil.
Gambar 4.32. File Excel Akuisisi Data.xlsx Tombol hapus merupakan tombol yang berfungsi untuk menghapus data pada properti tabel, tombol hapus dapat ditekan jika sudah diaktifkan. Tombol hapus dijalankan dengan fungsi Callback, pertama kali program akan memeriksa data pada tabel, jika ada data tabel, maka akan muncul kotak dialog pertanyaan βApakah Yakin Ingin Menghapus Data?β yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 97 dilengkapi dengan tombol βYaβ dan tombol βTidakβ seperti yang ditunjukkan pada gambar 4.33.
Gambar 4.33. Kotak Dialog Pertanyaan - Hapus Data Apabila tombol βTidakβ yang ditekan maka tidak ada instruksi yang dilakukan, sedangkan jika tombol βYaβ ditekan, maka program akan mengapus data pada tabel. Selain mengapus data tabel, program juga akan me-reset tampilan grafik, data pada static text, dan mengembalikan nilai pada nilai animasi gauges menjadi 0, selanjutnya program menampilkan pada status proses data, data telah dihapus. Program akan memeriksa tombol connect, jika label tombol disconnect, maka tombol mulai diaktifkan, sedangkan jika label tombol connect, maka tombol mulai dinonaktifkan. 4.2.2.10. Subrutin Buka File Akuisisi Data Subrutin buka file akuisisi data dilakukan dengan pembacaan data akuisisi data dalam bentuk file excel dibuat untuk memudahkan pengguna melihat kembali data dalam file excel yang telah disimpan sebelumnnya, dan menampilkan data tersebut pada properti tabel dan grafik. Pembacaan data dilakukan mulai dari pembacaan file akuisisi data dan dapat dilanjutkan dengan peyimpanan data yang dibuka dengan nama file baru. Pembacaan file akuisisi data dapat dilakukan ketika subrutin penerimaan data tidak dijalankan. Subrutin buka file akuisisi data terdiri dari properti tombol file dan static text nama file yang dibuka, seperti yang ditunjukkan pada gambar 4.34.
Gambar 4.34. Properti Buka File Pada Jendela Aplikasi Tombol file dapat ditekan apabila sudah diaktifkan. Tombol file dijalankan dengan fungsi Callback, instruksi program akan dijalankan setelah pengguna menekan tombol file. Program pertama kali akan mengosongkan properti tabel dan me-reset grafik. Selanjutnya program akan menampilkan jendela pilih file excel untuk memilih file yang akan dibuka. Jenis file excel yang diperbolehkan adalah file excel dengan ekstensi .xls dan .xlsx. jika file belum dipilih, maka akan tampil kotak dialog peringatan file belum dipilih, seperti ditunjukkan pada gambar 4.35.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 98
Gambar 4.35. Kotak Dialog Peringatan - File Belum Dipilih Program akan membaca data hanya pada worksheet pertama, apabila file sudah dipilih selanjutnya program akan membaca isi file, dan memeriksa data pada file apakah data sesuai dengan format penyimpanan yang telah ditentukan sebelumnya. Jumlah kolom file akuisisi data adalah 9 kolom yaitu dari range A sampai I. Jika jumlah kolom pada file tidak 9, maka akan tampil kotak dialog peringatan jumlah kolom salah seperti gambar 4.36. selanjutnya program akan memeriksa tipe data baris pertama setiap kolom mulai dari baris ke dua sampai baris ke-n (baris terakhir file) berdasarkan tabel 4.6. Tabel 4.6. Spesifikasi Tipe Data File Akuisisi Data No 1 2 3 4 5 6 7 8 9 10
Range A1:I9 A2:An B2:Bn C2:Cn D2:Dn E2:En F2:Fn G2:Gn H2:Hn I2:In
Tipe Data Character Numeric Character Numeric Numeric Numeric Numeric Numeric Numeric Numeric
Spesifikasi Text Integer Date and Time Date and Time Floating-point Floating-point Floating-point Integer Floating-point Floating-point
Keterangan Data Nama Kolom Data Nomer Perekaman Data Tanggal Data Waktu Data Tegangan Data Arus Data Energi Data Kecepatan Poros Data Kecepatan Angin Data Arah Angin
Apabila tipe data tidak sesuai pada kolom dan atau pada sel tertentu pada file yang dibuka, maka akan tampil kotak dialog peringatan tipe data salah seperti yang ditunjukkan pada gambar 4.37. Apabila tipe data tanggal pada kolom 3 atau tipe data waktu pada kolom 4 salah, maka akan tampil kotak dialog peringatan data tanggal atau waktu salah seperti yang ditunjukkan pada gambar 4.38. File excel akan dibuka dan ditampilkan pada aplikasi, apabila pesan peringatan tidak muncul. Program akan memasukan data pada properti tabel dan properti grafik sesuai dengan urutan data yang ditampilkan seperti yang dibahas pada subrutin pemrosesan data. Seperti yang ditunjukkan pada gambar 4.39. Pengguna dapat menyimpan kembali file dengan nama file baru atau menghapus file pada tampilan aplikasi menggunakan properti simpan data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 99
Gambar 4.36. Kotak Dialog Peringatan - Jumlah Kolom Salah
Gambar 4.37. Kotak Dialog Peringatan - Tipe Data Salah
Gambar 4.38. Kotak Dialog Peringatan - Data Tanggal Atau Waktu Salah
Gambar 4.39. File Akuisisi Data.xlsx Dibuka Pada Aplikasi 4.2.2.11. Subrutin Menutup Aplikasi Subrutin menutup aplikasi dilakukan dengan menekan tombol keluar, tombol keluar selalu diaktifkan, sehingga pengguna dapat menekan tombol keluar tanpa melalui instruksi dari subrutin sebelumnya. Subrutin menutup aplikasi dijalankan dengan fungsi Callback dan selanjutnya dijalankan dengan fungsi figure1_CloseRequestFcn yang merupakan fungsi default untuk menutup jendela aplikasi MATLAB guide. Apabila pengguna menekan tombol tekan keluar, akan muncul kotak dialog pertanyaan βApakah Yakin Ingin Keluar?β yang dilengkapi dengan tombol βYaβ dan tombol βTidakβ. Jika pengguna menekan tombol
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 100 βTidakβ, maka tidak ada instruksi yang dilakukan dan program aplikasi dapat dilanjutkan kembali. Sedangkan jika pengguna menekan tombol βYaβ, maka program menjalankan fungsi figure1_ColseRequestFcn. Pada fungsi figure1_ColseRequestFcn, pertama kali program akan memeriksa semua pewaktuan yang digunakan yaitu pewaktuan waktu nyata, pewaktuan penerimaan data, dan pewaktuan status data masuk. Jika pewaktuan masih aktif, maka program akan menonaktifkan pewaktuan. Selanjutnya program akan menghapus semua variabel global yang digunakan, menutup semua kotak dialog atau jendela yang masih ditampilkan, dan tahap terakhir program akan menutup semua koneksi serial yang aktif. Apabila semua instruksi sudah dijalankan program akan menutup jendela aplikasi akuisisi data.
4.3. Pengujian Sistem Telemetri Pengujian sistem telemetri bertujuan untuk mengetahui karakteristik dan stabilitas transmisi data menggunakan perangkat radio telemetri XBee-PRO (S2B). Pengujian dilakukan didalam ruangan dan di luar ruangan. Pengujian dilakukan dengan tiga metode yaitu pengujian satu arah, pengujian dua arah, dan pengujian pengiriman paket data. Metode pengiriman data dan penerimaan data ditetapkan berdasarkan waktu untuk mengetahui galat yang terjadi. 4.3.1. Pengujian Dalam Ruang Pengujian sistem telemetri dalam ruang dengan penghalang dinding dilakukan di lorong laboratorium kendali Teknik Elektro Universitas Sanata Dharma. Perangkat sistem penerima diletakkan di dalam ruangan terhalang dinding beton pada laboratorium mikroprosesor dan sistem digital TE USD, seperti yang ditunjukkan pada gambar 4.40. Pengujian dilakukan dengan variasi jarak pancar dengan jarak maksimal pengujian adalah 75 meter, serta dengan variasi kecepatan transfer data (baud rate), yaitu 9600 bps, 38400 bps, dan 115200 bps. Perangkat sistem pengirim dan sistem penerima diletakkan dengan tinggi yang sama yaitu 45,8 cm dari permukaan, hal ini bertujuan untuk memperkecil pantulan sinyal yang ditransmisikan terhadap permukaan.
Gambar 4.40. Ilustrasi Pengujian Sistem Telemetri Dalam Ruang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 101 4.3.1.1. Komunikasi Satu Arah Pengujian komunikasi satu arah dilakukan dengan mengirimkan 10 karakter angka secara berurutan yaitu dari 0 sampai 9 oleh sistem pengirim dan dikirimkan setiap 2 detik per karakter. Oleh karena itu total waktu yang dibutuhkan untuk mengirim data adalah 20 detik. Sistem penerima secara bersamaan akan menetapkan pewaktuan selama 20 detik untuk menerima data, kemudian proses penerimaan data akan berakhir. Pengujian dilakukan dengan perulangan sebanyak 5 kali pada jarak yang sama. Persentase galat dihitung dari selisih total jumlah data yang seharusnya diterima yaitu 50 data, dengan jumlah data yang dapat diterima. Pengujian dilakukan dengan variasi jarak setiap 5 meter sampai jarak maksimal 75 meter. Hasil pengujian komunikasi satu arah dalam ruang ditunjukkan pada tabel 4.7. Tabel 4.7. Hasil Pengujian Komunikasi Satu Arah Dalam Ruang
No
Jarak (m)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75
Baud Rate (bps) 9600 38400 115200 Galat (%) Galat (%) Galat (%) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Berdasarkan data pada tabel 4.7. dengan variasi baud rate dari 9600 bps, 38400 bps, 115200 bps data masih dapat diterima sampai dengan jarak maksimal 75 meter dengan galat 0%. Hal tersebut menunjukkan komunikasi satu arah dari sistem pengirim ke sistem penerima dalam ruang dengan penghalang dinding beton, masih dapat dilakukan dengan baik sampai jarak maksimal 75 meter dengan tingkat keberhasilan 100%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 102 4.3.1.2. Komunikasi Dua Arah Pengujian komunikasi dua arah dilakukan dengan mengirimkan karakter angka mulai dari karakter 0, yang dikirimkan setiap 2 detik. Jika karakter yang diterima sistem penerima benar maka sistem penerima akan membalas dengan mengirimkan karakter βyβ. Jika sistem pengirim menerima karakter βyβ, maka angka yang dikirimkan selanjutnya ditambah 1. Sehingga untuk pengiriman selanjutnya karakter yang dikirimkan adalah 1, begitu seterusnya sampai angka terakhir adalah 9 dalam waktu 20 detik. Sistem penerima secara bersamaan akan menetapkan pewaktuan selama 20 detik untuk menerima data dan mengkonfirmasi data secara bergantian, kemudian proses penerimaan data akan berakhir. Pengujian dilakukan dengan perulangan sebanyak 5 kali pada jarak yang sama. Persentase galat dihitung dari selisih total jumlah data yang seharusnya diterima yaitu 50 data, dengan jumlah data yang dapat diterima. Pengujian dilakukan dengan variasi jarak setiap 5 meter sampai jarak maksimal 75 meter. Hasil pengujian komunikasi dua arah dalam ruang ditunjukkan pada tabel 4.8. Tabel 4.8. Hasil Pengujian Komunikasi Dua Arah Dalam Ruang
No
Jarak (m)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75
Baud Rate (bps) 9600 38400 115200 Galat (%) Galat (%) Galat (%) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Berdasarkan data pada tabel 4.8. dengan variasi baud rate dari 9600 bps, 38400 bps, 115200 bps data masih dapat diterima sampai dengan jarak maksimum 75 meter dengan galat 0%. Hal tersebut menunjukkan komunikasi dua arah secara bergantian sistem pengirim
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 103 dan sistem penerima dalam ruang dengan penghalang dinding beton, masih dapat dilakukan dengan baik sampai jarak maksimal 75 meter dengan tingkat keberhasilan 100%. Dari hasil pengujian dapat dilihat bahwa komunikasi satu arah dan komunikasi dua arah oleh sistem penerima dan sistem pengirim dalam ruang dengan penghalang dinding beton dapat dilakukan sampai jarak maksimal 75 meter dengan tingkat keberhasilan 100%. Hal ini menunjukkan jarak komunikasi dalam ruang satu arah dan dua arah sesuai spesifikasi jarak berdasarkan datasheet radio XBee-PRO (S2B) yaitu sampai jarak 300 ft (90 meter) [19]. 4.3.1.3. Pengiriman Paket Data Pengujian pengiriman paket data dilakukan dengan menggunakan metode handshaking. Data yang diterima sistem pengirim dibangkitkan oleh pengolah data sensor sistem data dummy dan data dikirimkan dengan jadwal pengiriman setiap 10 detik. Sistem pengirim terlebih dahulu memeriksa status sistem penerima. Jika sistem penerima aktif maka paket data akan dikirimkan, jika tidak sistem pengirim akan meyimpan data pada kartu SD. Sistem penerima akan memeriksa data yang diterima, jika data benar atau data yang diterima sama dengan data sebelumnya, maka sistem pengirim akan menerima instruksi untuk mengirimkan data selanjutnya. Jika data yang diterima salah, maka sistem pengirim mengirimkan data yang sama. Pengujian dilakukan dengan mengirimkan 30 paket data yang dilakukan selama 5 menit. Secara bersamaan sistem penerima akan menetapkan pewaktuan selama 5 menit untuk menerima dan mengirimkan balasan secara bergantian, kemudian proses penerimaan data akan berakhir. Pengujian dilakukan dengan perulangan sebanyak 5 kali pada jarak yang sama. Persentase galat dihitung dari selisih total jumlah data yang seharusnya diterima yaitu 150 paket data, dengan jumlah data yang dapat diterima. Pengujian dilakukan dengan variasi jarak yaitu 10 meter, 25 meter, dan 50 meter. Hasil pengujian pengiriman paket data dalam ruang ditunjukkan pada tabel 4.9. Tabel 4.9. Hasil Pengujian Pengiriman Paket Data Dalam Ruang
No
Jarak (m)
1 2 3
10 25 50
Baud Rate (bps) 9600 38400 115200 Galat (%) Galat (%) Galat (%) 0 0 0 0 0 0 8 90 100
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 104 Berdasarkan data pada tabel 4.9. dengan menggunakan baud rate 9600 bps, paket data yang dikirimkan masih dapat diterima namun tidak lengkap sampai jarak maksimal 50 meter, hal ini ditunjukkan dengan perolehan galat 8%. Selain itu, dengan menggunakan baud rate 38400 bps, paket data yang dikirimkan juga masih dapat diterima namun tidak lengkap sampai jarak maksimum 50 meter, hal ini ditunjukkan dengan perolehan galat 90%, sedangkan dengan menggunakan baud rate 115200 bps, paket data tidak dapat diterima pada jarak 50 meter, hal ini ditunjukkan dengan perolehan galat sebesar 100%. Dengan demikian dapat disimpulkan bahwa dengan menggunakan baud rate 9600 bps pengiriman paket data dalam ruang dengan penghalang dinding beton dapat mencapai jarak 50 meter dengan tingkat keberhasilan 92%. 4.3.2. Pengujian Luar Ruang Pengujian sistem telemetri luar ruang tanpa penghalang dilakukan di sepanjang Jl. Barosan, Sumbersari, Moyudan, Sleman, Yogyakarta. Jalan tersebut merupakan jalan lurus yang berada ditengah-tengah persawahan yang memiliki memiliki panjang 1080 meter. Dalam pengujian perangkat sistem pengirim dan sistem penerima diletakkan sejajar dengan tinggi yang sama yaitu 1 meter dari permukaan seperti yang ditunjukkan pada gambar 4.41. Pengujian dilakukan sampai jarak maksimal 1000 meter dengan menggunakan baud rate 9600 bps.
Gambar 4.41. Ilustrasi Pengujian Sistem Telemetri Luar Ruang 4.2.2.1. Komunikasi Satu Arah Pengujian komunikasi satu arah luar ruang menggunakan metode yang sama dengan metode pengujian komunikasi satu arah dalam ruang. Pengujian dilakukan dengan menguji terlebih dahulu jarak terjauh data masih dapat diterima dengan galat 0% sampai data tidak dapat dterima dengan galat 100%, sehingga dapat ditentukan jarak diantara galat 0% sampai 100% untuk menguji dengan jarak yang lebih teliti. Hasil pengujian komunikasi satu arah luar ruang ditunjukkan pada tabel 4.10.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 105 Tabel 4.10. Hasil Pengujian Komunikasi Satu Arah Luar Ruang No 1 2 3 4 5 6 7
Jarak (m) 100 120 140 160 180 200 300
Galat (%) 0 0 0 78 68 98 100
Berdasarkan data pada tabel 4.10. data dapat dikirimkan dengan galat 0% sampai jarak 140 meter. Pada jarak 160 meter sampai 200 meter data yang dikirimkan tidak dapat diterima secara lengkap, hal ini ditunjukkan dengan galat yang terjadi cukup besar. Pada jarak 300 meter data sudah tidak dapat lagi diterima oleh sistem penerima, hal ini ditunjukkan dengan perolehan galat 100%. Oleh karena itu pengujian tidak dilanjutkan lagi sampai pada jarak maksimal 1000 meter. Dengan demikian dapat disimpulkan bahwa kestabilan komunikasi satu arah sistem telemetri luar ruang menggunakan baud rate 9600 bps dengan tingkat keberhasilan 100% adalah sampai jarak 140 meter. 4.2.2.2. Komunikasi Dua Arah Pengujian komunikasi dua arah luar ruang menggunakan metode yang sama dengan metode pengujian komunikasi dua arah dalam ruang. Pengujian dilakukan dengan terlebih dahulu menguji jarak terjauh data masih dapat dikirimkan dan diterima secara bergantian dengan perolehan galat 0%, sampai data tidak dapat diterima dan dikirimkan secara bergantian dengan perolehan galat 100%, sehingga dapat ditentukan jarak diantara galat 0% sampai 100% untuk menguji dengan jarak yang lebih teliti. Hasil pengujian komunikasi dua arah luar ruang ditunjukkan pada tabel 4.11. Tabel 4.11. Hasil Pengujian Komunikasi Dua Arah Luar Ruang No 1 2 3 4 5 6
Jarak (m) 100 120 140 160 180 200
Galat (%) 0 0 22 88 82 100
Berdasarkan data pada tabel 4.11. data dapat diterima dengan galat 0% sampai jarak 120 meter. Pada jarak 140 meter sampai 180 meter data yang diterima tidak lengkap, hal ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 106 ditunjukkan dengan perolehan galat yang cukup besar. Pada jarak 200 meter data sudah tidak dapat diterima lagi, hal ini ditunjukkan dengan perolehan galat 100%. Oleh karena itu pengujian tidak dilanjutkan lagi sampai jarak maksimal 1000 meter. Dengan demikian dapat disimpulkan bahwa kestabilan komunikasi dua arah sistem telemetri luar ruang menggunakan baud rate 9600 bps dengan tingkat keberhasilan 100% adalah sampai jarak 120 meter. 4.2.2.3. Pengiriman Paket Data Pengujian pengiriman paket data luar ruangan menggunakan metode yang sama dengan pengujian pengiriman paket data dalam ruangan. Pengujian dilakukan dengan variasi jarak pengujian yaitu 100 meter, 500 meter, dan 1000 meter. Hasil pengujian pengiriman paket data lua ruang ditunjukkan pada tabel 4.12. Berdasarkan data pengujian pada tabel 4.12 diperoleh galat yang besar pada jarak 100 meter sampai 300 meter. Oleh karena itu untuk mengetahui galat yang diperoleh dengan lebih teliti ditambahkan dua variasi jarak uji diantara jarak 100 meter dan 500 meter dalam pengujian, yaitu jarak 120 meter dan 200 meter. Tabel 4.12. Hasil Pengujian Pengiriman Paket Data Luar Ruang No 1 2 3 4 5
Jarak (m) 100 120 200 500 1000
Galat (%) 0 24 100 100 100
Berdasarkan data pada tabel 4.12. Pada jarak 100 meter paket data dapat diterima dengan lengkap, hal ini ditunjukkan dengan perolehan galat 0%. Pada jarak 120 meter paket data yang dikirimkan tidak dapat diterima dengan lengkap, hal ini ditunjukkan dengan perolehan galat 24%. Pada jarak 200 meter sampai 1000 meter paket data yang dikirimkan tidak dapat diterima oleh sistem penerima, hal ini ditunjukkan dengan perolehan galat 100%. Berdasarkan hasil pengujian dapat disimpulkan bahwa kestabilan pengiriman paket data sistem telemetri luar ruang tanpa penghalang menggunakan baud rate 9600 bps dengan tingkat keberhasilan 100% adalah sampai jarak 100 meter. Pengujian pengiriman paket data tidak dapat mencapai jarak maksimal sesuai yang diharapkan yaitu sampai jarak 1000 meter sesuai dengan spesifikasi XBee-PRO (S2B). Berdasarkan data sheet spesifikasi XBee-PRO
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 107 (S2B) ditunjukkan bahwa kemampuan transmisi data dapat dilakukan sampai 2 mil (3200 meter) [19]. 4.3.3. Pengujian Komunikasi dengan Metode Handshaking Pengujian komunikasi dengan metode handshaking dilakukan untuk mengetahui keberhasilan komunikasi dua arah antara sistem pengirim dan penerima untuk dapat mengirimkan dan menerima paket data dengan benar. Selain itu pengujian dilakukan untuk mengatahui berapa lama waktu yang dibutuhkan untuk sistem pengirim mengirimkan data yang tersimpan pada kartu SD secara otomais ke sistem penerima. Pengujian komunikasi handshaking dilakukan di dalam ruang dengan jarak 1 meter dan menggunakan baud rate 9600 bps, perangkat sistem pengirim dan sistem penerima diletakkan sejajar dengan tinggi yang sama, yaitu 36 cm dari permukaan. Pengujian dilakukan dengan terlebih dahulu mengaktifkan sistem pengirim dan sistem data dummy yang mengirimkan data sensor setiap 10 detik dalam satu paket data. Sistem pengirim akan menerima 180 paket data dalam waktu 1800 detik atau 30 menit, pada saat itu sistem penerima dinonaktifkan sehingga data disimpan pada kartu SD. Sistem penerima diaktifkan kembali pada menit 30 detik ke 5 sehingga paket data dapat dikirimkan. Pengiriman paket data dilakukan berdasarkan paket data yang dikirimkan oleh sistem data dummy, berdasarkan hal tersebut dilakukan dua metode pengujian. 1.
Sistem data dummy dinonaktifkan selama pengiriman data ke sistem penerima.
2.
Sistem data dummy diaktifkan selama pengiriman data ke sistem penerima.
Hasil pengujian komunikasi handshaking ditunjukkan pada tabel 4.13. Tabel 4.13. Hasil Percobaan Komunikasi Handshaking No
Pengujian (ke-)
1 1 2 2 3 3 4 4 5 5 Rerata Waktu Pengiriman
Waktu Pengiriman Metode 1 Metode 2 00:07:04 00:08:29 00:07:05 00:08:28 00:07:06 00:08:26 00:07:06 00:09:06 00:07:09 00:09:05 00:07:06 00:08:43
Berdasarkan tabel 4.13. untuk dapat mengirimkan 180 paket data yang tersimpan pada sistem pengirim membutuhkan waktu rata-rata pengiriman 7 menit 6 detik dengan metode pertama, sedangkan dengan menggunakan metode ke dua waktu rata-rata yang dibutuhkan untuk mengirim 180 paket data adalah 8 menit 43 detik. Pengiriman paket data menggunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 108 metode ke dua membutuhkan waktu yang lebih lama dari metode pertama, hal tersebut terjadi karena selama pengiriman paket data, sistem pengirim juga menerima paket data dari sistem data dummy. Sistem pengirim dapat melakukan pengiriman paket data pada kartu SD selama tidak ada paket data yang masuk dari sistem data dummy, jika selama pembacaan ada interupsi serial maka pembacaan paket data untuk dikirimkan akan berakhir, sehingga pengiriman paket data akan tertunda sementara dan dapat dilanjutkan kembali pada pengiriman berikutnya. Berdasarkan percobaan yang dilakukan dapat disimpulkan komunikasi dengan metode handshaking sudah dapat dilakukan antara sistem pengirim dan penerima dalam mengirimkan paket data. Sistem pengirim mampu menyimpan paket data selama tidak terhubung dengan sistem penerima dan dikirimkan apabila sistem pengirim terhubung dengan sistem penerima. Berdasarkan waktu pengiriman untuk mengirimkan paket data dalam jumlah yang banyak dapat dilakukan dengan terlebih dahulu menonaktifkan sistem data dummy.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan Dari hasil pengujian dan pengambilan data pada sistem akuisisi data kincir angin propeler berbahan kayu, didapatkan kesimpulan sebagai berikut: 1.
Aplikasi akuisisi data dapat menerima data dan menampilkan data pada teks, animasi alat ukur, tabel, dan grafik secara real-time setiap 10 detik selama 24 jam dengan tingkat keberhasilan 87,27%.
2.
Paket data yang diterima pada aplikasi akuisisi data dapat disimpan secara otomatis sebagai backup dalam bentuk file text (.txt) dan secara manual dalam bentuk file excel (.xlsx).
3.
Pada pengujian dalam ruang dengan penghalang dinding beton, pengiriman paket data menggunakan baud rate 9600 bps dapat mencapai jarak 50 meter dengan tingkat keberhasilan 92%.
4.
Pada pengujian luar ruang tanpa penghalang, pengiriman paket data menggunakan baud rate 9600 bps dapat mencapai jarak 100 meter dengan tingkat keberhasilan 100%.
5.2. Saran Saran-saran untuk pengembangan sistem akuisisi data kincir angin propeler berbahan kayu selanjutnya adalah: 1.
Meningkatkan kemampuan program aplikasi akuisisi data untuk dapat mengolah paket data selama 24 jam.
2.
Memaksimalkan jarak pancar sistem telemetri yang digunakan di luar ruangan mencapai jarak 1000 meter.
109
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR PUSTAKA [1]
Iswanjono., Wihadi, D., dan Rines., Optimalisasi Perolehan Energi Listrik Pada Kincir Angin Propeler Berbahan Kayu Secara Otomatis, Usulan Penelitian Hibah Bersaing 433/Teknik Enerji, Universitas Sanata Dharma, Yogyakarta.
[2]
Pribadi, F.S., dan Ananta, H., PC Data Logger Berbasis Telemetri, Jurnal Kompetensi Teknik Vol.3, No.1, (November 2011), Universitas Negeri Semarang, Semarang.
[3]
http://www.windmill.co.uk/, diakses tanggal 5 Desember 2015.
[4]
Murbantoro, F.B., 2015, Unjuk Kerja Kincir Angin Propeler Tiga Sudu Lengkung Silindris Dari Bahan Dasar Kayu Dengan Tiga Variasi Perlakuan Permukaan Sudu, Tugas Akhir Jurusan Teknik Mesin, Fakultas Sains Dan Teknologi, Universitas Sanata Dharma, Yogyakarta.
[5]
Carden, F., Jedlicka, R., dan Henry, R., 2002, Telemetry Systems Engineering, Artec House, Inc, London.
[6]
Setiawan, R., 2008, Teknik Akuisisi Data, Graha Ilmu, Yogyakarta.
[7]
http://robby.c.staff.gunadarma.ac.id/Downloads/files/16720/konsep-akuisisidata.pdf, diakses tanggal 23 November 2015.
[8]
Purbo, O.W., 2006, Buku Pegangan Internet Wireless Dan Hospot, PT Elex Media Komputindo, Jakarta.
[9]
Prasetyawan, T.O., 2011, Pemantau Perjalanan Kereta Api Menggunakan Komunikasi Radio Dengan Frekuensi 2,4 GHz, Tugas Akhir Jurusan Teknik Elektro, Fakultas Sains Dan Teknologi, Universitas Sanata Dharma, Yogyakarta.
[10] http://comp-eng.binus.ac.id/files/2012/06/Mengenal-Teknologi-ZigBee-SebagaiStandart-Pengiriman-Data-Secara-Wireless-Winardi.pdf, diakses tanggal 9 Desember 2015. [11] http://luckyhermanto.dosen.narotama.ac.id/files/2011/10/konsep-komunikasiserial.pdf, diakses tanggal 3 Desember 2015. [12] Artanto, D., 2012, Interaksi Arduino Dan LabVIEW, Gramedia, Jakarta. [13] https://www.arduino.cc/en/Main/ArduinoBoardUno, diakses tanggal 1 Desember 2015. [14] Fauzi, F.D., 2012, Model Prototyping System Pengendali Jarak Jauh Dengan Embeded System Arduino Berbasis Webserver HTTP 1.1, Skripsi Jurusan Teknik Informatika, Fakultas Sains Dan Teknologi, Universitas Sanata Dharma, Yogyakarta.
110
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 111 [15] Banzi, M., Cuartilles, D., Igoe, T., Martino, T., dan Mellis, D., Arduino, https://www.arduino.cc/en/Main/Credits, diakses tanggal 1 Desember 2015. [16] https://learn.sparkfun.com/tutorials/data-types-in-arduino,
diakses
tanggal
4
Desember 2015. [17] https://www.arduino.cc/en/Reference/HomePage, diakses tanggal 3 Desember 2015. [18] https://www.arduino.cc/en/Reference/SD, diakses tanggal 19 Januari 2015. [19] ----------, 2010, Data Sheet XBee/XBee-PRO ZB RF Modules, Digi International. [20] http://www.digi.com/, diakses tanggal 9 Desember 2015. [21] ----------, 2011, Data Sheet XBee Shield V1.1, Itead Studio. [22] http://searchstorage.techtarget.com/definition/Secure-Digital-card, diakses tanggal 19 Januari 2015. [23] https://www.sdcard.org/downloads/pls/simplified_specs/part1_410.pdf,
diakses
tanggal 19 Januari 2015. [24] Martanto., Prabowo, P.S., Widyastuti, W., Harini, B.W., Tjendro., Data Logger Energi Listrik Untuk Pembangkit Listrik Tenaga Angin Produksi IbIKK TE USD, Makalah, Jurusan Teknik Elektro, Fakultas Sains Dan Teknologi, Universitas Sanata Dharma, Yogyakarta. [25] https://www.led-tech.de/en/3mm-LEDs_DB-3.pdf, diakses tanggal 12 Desember 2015. [26] Melina, L., 2009, Simulasi Penyandi Dan Pengawasandi Sandi Biorthogonal 8 Bit Dengan Matlab, Tugas Akhir Jurusan Teknik Elektro, Fakultas Sains Dan Teknologi, Universitas Sanata Dharma, Yogyakarta. [27] http://www.mathworks.com/products/compiler/, diakses tanggal 12 Desember 2015. [28] http://www.cis.udel.edu/~amer/CISC651/ASCII-Conversion-Chart.pdf,
diakses
tanggal 6 Juni 2016. [29] Sadewo, A.B., 2015, Remote Unit Dengan RFM12-433S Untuk Sistem Telemetri Kualitas Air Kolam Ikan, Tugas Akhir Jurusan Teknik Elektro, Fakultas Sains Dan Teknologi, Universitas Sanata Dharma, Yogyakarta.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
112
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1-1
LAMPIRAN 1 Sistem Pengirim
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1-2
Diagram Alir Program Sistem Pengirim Program Utama Mulai
Inisialisasi Papan Arduino
Kartu SD Siap?
Tidak
LED Terima Data Menyala
Ya
Subrutin Hapus File Temporary LED Terima Data Menyala Tiga Kali
Inisialisasi Pewaktuan Subrutin Penerimaan Paket Data
Jumlah Data Kirim < Data Simpan
Tidak
Ya Subrutin Ping
Subrutin Konfirmasi
LED Terima Data Padam
LED Kirim Data Padam
Void Loop ()?
Tidak Selesai
Ya
Subrutin Hapus File Temporary
LED Kirim Data Menyala
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1-3 Subrutin Hapus File Temporary Mulai
Ada File Temp?
Tidak
Ya Hapus File Temporary
Kembali
Subrutin Penerimaan Paket Data
Subrutin Pengiriman Paket Data
Mulai
Mulai
Terima Paket Data String Sampai Terminator n
Baca Setiap Byte Data File Temporary
Ubah Paket Data Menjadi Array Karakter = 13?
Tidak
Awal Data = * & Akhir Data = # ?
Tidak
Ya Data++
Ya LED Terima Data Menyala Simpan Paket Data Sebagai Backup
Data Kirim = Data & 59 < Karakter > 32?
Ya
Simpan Paket Data Sebagai Temporary
Kirim Paket Data
Data Simpan++
LED Kirim Data Menyala Kembali
Ada Data Yang Dikirim?
Tidak Kirim Karakter p Kembali
Ya
Tidak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1-4 Subrutin Ping Mulai
Overflow 1 Detik?
Tidak
Ya Count++
Count = 10?
Tidak
Ya Kirim Karakter p
Count = 0
Kembali
Subrutin Konfirmasi Mulai
Tekan Tombol
Tombol A?
Tidak
Tombol B?
Ya
Tidak
Ya
Pilih++
Pilih > 4
Tidak
Pilih--
Pilih < 0
Ya
Ya Pilih = 0
Pilih = 0? Ya Tampil Data Dummy Kincir Angin
Kembali
Tidak
Pilih = 1? Ya Subrutin Tanggal Dan Waktu
Tidak
Pilih = 0
Tidak
Pilih = 2? Ya Tampil Mulai?
Tidak
Pilih = 3?
Tidak
Ya Subrutin Perekaman
Tampil Akhiri?
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1-5
Program Arduino Sistem Pengirim 1. 2. 3. 4. 5. 6.
/*Sistem Akuisisi Data Kincir Angin Propeler Berbahan Kayu Program sistem pengirim Oleh: Fransiscus Firgia I Wayan Sambu Respatia Nim: 125114008 Teknik Elektro, Fakultas Sains Dan Teknologi Universitas Sanata Dharma Yogyakarta 2016*/
7. 8. 9. 10. 11. 12.
//Header #include #include #include #include #include
13. 14.
//Atribut header SoftwareSerial xbee(8,9); //DO DI, RX TX
15. 16. 17.
//Port indikator #define lterima 2 #define lkirim 3
18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
//Variabel String dterima=""; char *temp=(char*)"temp.txt"; int ping=0; int bacad=0; int jumlahs=0; int kirim=0; int jumlahd=0; int rutin=LOW; unsigned int dkirim=0; volatile int count;
29. 30. 31. 32. 33.
void setup() { //Baudrate komunikasi Serial.begin(9600); xbee.begin(9600);
<SPI.h> <SD.h> <SoftwareSerial.h>
34. 35. 36.
pinMode(lterima,OUTPUT); pinMode(lkirim,OUTPUT); dterima.reserve(66);
37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.
//SD siap? while(!SD.begin(10)) { digitalWrite(lterima,HIGH); digitalWrite(lkirim,HIGH); } digitalWrite(lterima,LOW); digitalWrite(lkirim,LOW); delay(1000); digitalWrite(lterima,HIGH); delay(300); digitalWrite(lterima,LOW); delay(300); digitalWrite(lterima,HIGH); delay(300); digitalWrite(lterima,LOW); delay(300); digitalWrite(lterima,HIGH); delay(300); digitalWrite(lterima,LOW); delay(300);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1-6
58. 59.
//Panggil subrutin hapus data temporary hapus();
60. 61. 62. 63. 64. 65. 66. 67. 68.
//Internal Timer cli(); //Non-aktif interrupt TCCR1A=0; TCCR1B=0; TCNT1=49911; //Preload timer 1Hz TCCR1B|=(1<
69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82.
//Service routin internal timer ISR(TIMER1_OVF_vect) { TCNT1=49911; //Preload timer if(rutin==HIGH) { count++; if(count==10) //10s { ping=1; count=0; } } }
83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99.
void loop() { //Rutin if(bacad<jumlahd) { rutin=HIGH; //Panggil subrutin ISR } else //Jika data sudah terkirim semua hapus data temporary { rutin=LOW; //Tidak memanggil subrutin ISR ping=0; //Tidak memanggil rutin ping count=0; //Reset counter ke 0 kirim=0; //Flag kirim tidak aktif bacad=0; //Reset jumlah data kirim 0 dkirim=0; //Reset jumlah loop data kirim 0 hapus(); //Panggil subrutin hapus data temporary }
100. 101. 102. 103. 104. 105.
//Ping if(ping==1) //Interupsi 10s { xbee.write('p'); //Kirim p (Ping) ping=0; }
106. 107.
//Panggil subrutin keadaan keadaan();
108. //Off indikator 109. digitalWrite(lterima,LOW); //LED terima data padam 110. digitalWrite(lkirim,LOW); //LED kirim data pada 111. } 112. //Interupsi serial 113. void serialEvent() 114. { 115. dterima=Serial.readStringUntil('n'); //Baca data string sampai terminator n 116. int dstring=dterima.length()+1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1-7 117. 118. 119. 120. 121. 122. 123. 124.
char darray[dstring]; dterima.toCharArray(darray,dstring); //Merubah data string ke array if((darray[0]=='*')&&(darray[65]=='#')) //Jika data sesuai format * sampai # { ping=0; //Stop rutin ping count=0; //Ulangi perhitungan 10s digitalWrite(lterima,HIGH); //Indikator terima data menyala Serial.print(dterima); //Monitor data serial yang masuk
125. 126. 127. 128. 129. 130. 131.
//Simpan data (Backup) File backup=SD.open("backup.txt", FILE_WRITE); if(backup) { backup.print(dterima); backup.close(); }
132. 133. 134. 135. 136. 137. 138. 139. 140.
//Simpan data (Temporary) File simpan=SD.open(temp, FILE_WRITE); if(simpan) { simpan.print(dterima); simpan.close(); jumlahd++; //Saat simpan jumlah data temporary bertambah dkirim=jumlahd*68; //Jumlah setiap karakter data termporary tersimpan }
141. //Ping saat data masuk 142. if(kirim==0) 143. { 144. ping=1; //Panggil rutin ping 145. } 146. kirim=0; //Flag kirim tidak aktif 147. } 148. } 149. 150. 151. 152. 153. 154. 155. 156. 157.
//Subrutin hapus data temporary void hapus() { if(SD.exists(temp)) { SD.remove(temp); jumlahd=0; //Reset jumlah temp data sd card 0 } }
158. //Subrutin konfirmasi dari Sistem Penerima 159. void keadaan() 160. { 161. //Jika ada data dari XBee 162. if(xbee.available()) 163. { 164. int konfirm=xbee.read(); 165. switch(konfirm) 166. { 167. case 'y': //Terima karakter y (Ya) 168. kirimdata(); //Panggil subrutin kirimdata 169. break; 170. case 'o': //Terima karakter o (Oke) 171. bacad++; //Kirim data selanjutnya 172. jumlahs=0; 173. kirimdata(); //Panggil subrutin kirimdata 174. break; 175. case 't': //Terima karakter t (Tidak) 176. jumlahs++; 177. if(jumlahs<=4) 178. {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1-8 179. bacad=bacad; //Kirim data yang sama 180. } 181. else 182. { 183. bacad++; //Kirim data selanjutnya 184. jumlahs=0; 185. } 186. kirimdata(); //Panggil subrutin kirimdata 187. break; 188. } 189. } 190. } 191. //Subrutin mengirim data 192. void kirimdata() 193. { 194. ping=0; //Stop rutin ping 195. count=0; //Ulangi perhitungan 10s 196. kirim=1; //Flag kirim aktif 197. File baca=SD.open(temp, FILE_READ); 198. if(baca) 199. { 200. int datan=0; 201. //Membaca data temporary untuk dikirim 202. for(unsigned int i=1; ((baca.available())&&(!Serial.available())&&(i<=dkirim)); i++) 203. { 204. byte data=baca.read(); 205. if(data==13) 206. { 207. datan++; //Jumlah data 208. } 209. if((datan==bacad)&&(data>34)&&(data<59)) 210. { 211. xbee.write(data); //Kirim data 212. digitalWrite(lkirim,HIGH); //Indikator kirim data menyala 213. if(data==35) //Membaca sampai karakter '#' 214. { 215. break; 216. } 217. } 218. } 219. baca.close(); 220. } 221. }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1-9
Skematik Rangkaian Sistem Pengirim
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L1-10
Foto Perangkat Sistem Pengirim
Bagian Luar Tampak Atas
Bagian Luar Tampak Bawah
Bagian Luar Samping Kiri
Bagian Luar Samping Kanan
Bagian Dalam Samping Kiri
Bagian Luar Samping Kanan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-1
LAMPIRAN 2 Sistem Penerima
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-2
Diagram Alir Program Sistem Penerima Program Utama Mulai Inisialisasi Aplikasi Aktifkan Pewaktuan Waktu Nyata Tampil Jam dan Tanggal
Subrutin Buka File Akuisisi Data
Port Serial Terdeteksi?
Tidak
Tombol Connect dan Masukan Baud Rate Tidak Aktif, Status Komunikasi Kosong, Port Komunikasi Kosong
Ya Tombol Connect dan Masukan Baud Rate Aktif, Status Komunikasi Terputus
Subrutin Keterangan
Subrutin Komunikasi
Subrutin Penerimaan Data
Subrutin Simpan Data Subrutin Buka File Akuisisi Data
Tekan Keluar
Tidak
Keluar? Ya Subrutin Menutup Aplikasi Selesai
Tampil Perangkat Tidak Terdeteksi
Subrutin Refresh Port Serial
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-3 Subrutin Keterangan Mulai
Tekan Prosedur
Ada Jendela Prosedur?
Tutup Jendela Prosedur Aplikasi
Ya
Tidak Tampil Jendela Prosedur Aplikasi
Tekan Tentang
Ada Jendela Tentang?
Tutup Jendela Tentang Aplikasi
Ya
Tidak Tampil Jendela Prosedur Tentang
Kembali
Subrutin Refresh Ports Mulai Tekan Refresh Ports
Membaca Perangkat Serial
Ada Perangkat Serial?
Tidak
Ya Label Tombol Connect?
Tidak
Ya Tampil Perangkat Serial Yang Aktif
Status Komunikasi Terputus, Tombol Connect Dan Masukan Baud Rate Aktif
Kembali
Status Komunikasi Kosong, Tombol Connect Dan Masukan Baud Rate Tidak Aktif
Tampil Port Tidak Terdeteksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-4 Subrutin Komunikasi Mulai Pilih Port Komunikasi
Ada Port Serial?
Tidak
Tampil Perangkat Tidak Terdeteksi
Subrutin Refresh Port Serial
Ya Masukkan Nilai Baud Rate Tombol Connect Tidak Aktif
Baud Rate Kosong?
Ya
Nilai Baud Rate 9600
Tidak Masukkan Sesuai?
Tidak
Tombol Connect Tidak Aktif
Nilai Baud Rate 9600
Ya Tombol Connect Aktif
Tekan Connect
Inisialisasi Komunikasi Serial
Berhasil Terhubung?
Tidak
Tampil Perangkat Tidak Terdeteksi
Ya Tampil Terhubung Port Komunikasi dan Masukan Baud Rate Tidak Aktif
Ada Data Tabel?
Ya
Tidak
Tombol Mulai Aktif
Tekan Disconnect
Tampil Terputus Port Komunikasi dan Masukan Baud Rate Aktif, Tombol Mulai Tidak Aktif
Kembali
Tombol Mulai Tidak Aktif
Tampil Ada Data Tabel
Tampil Nilai Baud Rate Standar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-5 Subrutin Penerimaan Data Mulai
Tekan Mulai
Tombol Akhiri Aktif, Tombol Hapus, File, Mulai, Connect, dan Masukan Baud Rate Tidak Aktif, Status Data Kosong
Ada Folder Backup?
Tidak
Buat Folder Backup
Ya Ada Data Tabel?
Tidak
Nama File Backup = Waktu Sekarang
Ya Pewaktuan Terima Data Aktif?
Ya
Tidak Aktifkan Pewaktuan Penerimaan Data
Subrutin Pemrosesan
Kembali
Subrutin Menutup Aplikasi Mulai
Pewaktuan Terima Data Aktif?
Ya
Non-Aktifkan Pewaktuan Terima Data
Ya
Non-Aktifkan Pewaktuan Belum Ada Data
Tidak Pewaktuan Belum Ada Data Aktif?
Tidak Non-Aktifkan Pewaktuan Waktu Nyata
Hapus Variabel
Menutup Jendela Yang Aktif
Menutup Port Serial
Kembali
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-6 Subrutin Pemrosesan Data Mulai Inisialisasi Variabel Data Tidak Tampil Belum Ada Data
Ada Port Serial?
Ya
Kirim Karakter y
Ya
Lebih Dari 10 Detik?
Data = p?
Ada Data Serial?
Tidak
Ya
Tidak Tidak
Panjang = 66? Ya
Tidak
Awal Data = * & Akhir = #
Ya Ya
Data Sama? Tidak
Kirim Karakter o
Data Tersimpan di C:\
Tampil Data Pada Gauges Tampil Data Pada Teks
Tampil Data Pada Tabel Tampil Data Pada Grafik
Simpan Data Banding
Akhiri Proses? Ya Subrutin Akhiri Proses Data
Kembali
Akhiri Pewaktuan Belum Ada
Ya
Memisahkan Data Delimiter ,
Kirim Karakter o
Tidak
Data
Panjang = 1?
Ya
Tidak Kirim Karakter t
Ada Folder Backup?
Buat Folder Backup
Ya
Tidak Mulai Pewaktuan Belum Ada Data
Ya
Tidak
Panjang = 1 | 66?
Tidak
Membaca Panjang Data
Kirim Karakter t
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-7 Subrutin Akhiri Proses Data Mulai
Tekan Akhiri
Pewaktuan Terima Data Aktif?
Tidak
Ya Non-Aktifkan Pewaktuan Terima Data Tombol Mulai, Hapus, File, Connect Aktif, Tombol Akhiri Tidak Aktif, Status Data Kosong
Ada Data Pada Tabel?
Tidak
Aktif
Ya Tombol Mulai Menjadi Lanjutkan, Masukan Baud Rate Tidak Aktif
Tampil Proses Telah Berakhir
Pewaktuan Belum Ada Data Aktif?
Tidak
Ya Non-Aktifkan Pewaktuan Belum Ada Data Kembali
Masukan Baud Rate
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-8 Subrutin Simpan Data
Mulai
Tekan Folder
Folder Sudah Dipilih?
Tidak
Tampil Ulangi Memilih Folder
Ya Tekan Destinasi Folder
Folder Kosong?
Ya
Tampil Pilih Folder Penyimpanan
Ya
Hapus Karakter Yang Salah
Tidak Tampil Destinasi Penyim panan
Masukkan Nama File
Karakter Salah?
Tidak Tampil Karakter Tidak Diperbolehkan
Tekan Simpan
Memeriksa Panjang Karakter Nama Dan Folder Destinasi
Tampil Nama File Kosong
Tampil M asukan Nama Salah
Ya
Memeriksa Nama File
Ya
Panjang Karakte r > 218?
Tidak
Tidak
Nama File Kosong?
Folder Kosong?
Ya
Folder Destinas i Terhapus?
Tidak
Tampil Folder Kosong
Tidak
Nama File Sudah Ada?
Ya Tampil Ganti Nama File
Tidak
Ada Data Tabel?
Tidak
Ya Tampil Belum Ada Data
Ya Buat Folder Yang Sama
Kosongkan Data Tabel
Data Tersimpan di Folder Destinasi
Kosongkan Tampilan Grafik
Tekan Hapus
Kosongkan Tampilan Teks
Tidak
Kosongkan Tampilan Gauges
Ada Data Tabel?
Ya Hapus Data?
Ya
Tidak
Kembali
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-9 Subrutin Buka File Mulai
Tekan File
Inisialisasi Folder Buka File
Kosongkan Data Tabel
Kosongkan Tampilan Grafik
Kosongkan Nama File
File Sudah Dipilih?
Tidak
Tampil File Belum Dipilih
Ya
Membaca File Excel
Jumlah Kolom = 9?
Tidak
Tampil Jumlah Kolom Salah
Tidak
Tampil Tipe Data Salah
Ya Tipe Data Sesuai?
Ya Data Tanggal atau Waktu Sesuai?
Tidak
Ya
Tampil Data Pada Tabel Tampil Data Pada Grafik Tampil Nama File Tombol Mulai Tidak Aktif, Kosongkan Status Data
Kembali
Tampil Data Tanggal atau Waktu Salah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-10
Program MATAB guide Aplikasi Akuisisi Data Sistem Penerima 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
%% -----------------------------------------------------------------------% Tugas Akhir % Program Sistem Akuisisi Data Kincir Angin Propeler Berbahan Kayu % % Oleh: % Fransiscus Firgia I Wayan Sambu Respatia % Nim: 125114008 % Teknik Elektro Fakultas Sains dan Teknologi % Universitas Sanata Dharma Yogyakarta % 2016 %% ------------------------------------------------------------------------
12. 13. 14.
29. 30. 31. 32. 33.
function varargout = DAQKincirAngin(varargin) % DAQKINCIRANGIN MATLAB code for DAQKincirAngin.fig % DAQKINCIRANGIN, by itself, creates a new DAQKINCIRANGIN or raises the existing % singleton*. % % H = DAQKINCIRANGIN returns the handle to a new DAQKINCIRANGIN or the handle to % the existing singleton*. % % DAQKINCIRANGIN('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in DAQKINCIRANGIN.M with the given input arguments. % % DAQKINCIRANGIN('Property','Value',...) creates a new DAQKINCIRANGIN or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before DAQKincirAngin_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to DAQKincirAngin_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
34.
% Edit the above text to modify the response to help DAQKincirAngin
35.
% Last Modified by GUIDE v2.5 08-Jun-2016 16:21:27
36. 37. 38.
39. 40. 41.
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @DAQKincirAngin_OpeningFcn, ... 'gui_OutputFcn', @DAQKincirAngin_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
42. 43. 44. 45. 46.
if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end
15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-11 47.
% End initialization code - DO NOT EDIT
48. 49. 50. 51. 52. 53. 54.
% --- Executes just before DAQKincirAngin is made visible. function DAQKincirAngin_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to DAQKincirAngin (see VARARGIN)
55. 56.
% Choose default command line output for DAQKincirAngin handles.output = hObject;
57. 58.
% Update handles structure guidata(hObject, handles);
59. 60.
% UIWAIT makes DAQKincirAngin wait for user response (see UIRESUME) % uiwait(handles.figure1);
61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95.
%% Pengaturan pembuka GUI-------------------------------------------------%Mengganti nama antarmuka set(handles.figure1, 'Name', ... 'Sistem Akuisisi Data Kincir Angin Propeler Berbahan Kayu'); %% Variabel global global dbanding %Pembanding data benar yang diterima global fsimpan %Destinasi folder simpan data global fbuka %Destinasi folder buka data dbanding = ''; fsimpan = []; fbuka = []; %% Mengtur tabel set(handles.dtabel, 'Data', []); set(handles.dtabel, 'Data', cell(size(get(handles.dtabel, 'Data')))); %% Mengatur push button set(handles.tmulai, 'Enable', 'Off'); set(handles.takhiri, 'Enable', 'Off'); %% Mengatur grafik cla(handles.gtegarus, 'reset'); cla(handles.genergi, 'reset'); cla(handles.gkporos, 'reset'); cla(handles.gkangin, 'reset'); set(handles.gtegarus, 'FontSize', 7); set(handles.genergi, 'FontSize', 7); set(handles.gkporos, 'FontSize', 7); set(handles.gkangin, 'FontSize', 7); %% Identifikasi perangkat serial ports = getappdata(handles.comport, 'serialp'); if (isempty(ports) == 1) %Port serial tidak terbaca set(handles.comport, 'String', {'Refresh Ports';[]}); set(handles.brate, 'Enable', 'Off'); set(handles.tcondiscon, 'Enable', 'Off'); set(handles.cdstatus, 'String', ''); msgbox({'- Hubungkan Perangkat Sistem Penerima' '- Tekan Refresh Ports untuk Membaca Perangkat Sistem Penerima'}, 'Perangkat Tidak Terdeteksi','Error'); else set(handles.brate, 'Enable', 'On'); set(handles.tcondiscon, 'Enable', 'On'); set(handles.cdstatus, 'String', 'Terputus'); end %% Timer waktu nyata 1 detik Timer_waktunyata = timer('TimerFcn', {@waktunyata, hObject}, ... 'ExecutionMode', 'fixedRate', ... 'Period', 1, ... 'TasksToExecute', inf, ...
96. 97. 98. 99. 100. 101. 102. 103. 104. 105.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-12 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123.
'BusyMode', 'drop'); setappdata(hObject, 'timer_waktunyata', timer_waktunyata); start(timer_waktunyata); %Mulai timer waktu nyata %% Timer pengambilan data 0.1 detik handles.terimadata = timer('Period', 0.1, ... 'StartDelay', 1, ... 'TasksToExecute', inf, ... 'ExecutionMode', 'fixedSpacing', ... 'BusyMode', 'drop', ... 'TimerFcn', {@terimadata, hObject}); %% Timer data masuk dalam 10 detik? handles.datamasuk = timer('Period', 10, ... 'StartDelay', 10, ... 'TasksToExecute', inf, ... 'ExecutionMode', 'fixedSpacing', ... 'BusyMode', 'drop', ... 'TimerFcn', {@datamasuk, hObject}); guidata(hObject, handles);
124. function waktunyata(~,~,fig_handle) 125. %% Tampilkan waktu nyata--------------------------------------------------126. handles = guihandles(fig_handle); 127. set(handles.waktujam, 'String', datestr(now, 'HH:MM:SS')); %Menampilkan jam 'HH:MM:SS' 128. %Merubah nama hari dan bulan 'Indonesia' 129. rtc = datetime('now'); 130. hari = day(rtc, 'dayofweek'); 131. bulan = month(rtc); 132. rtctanggal = datestr(now, 'dd'); 133. rtctahun = datestr(now, 'yyyy'); 134. %% Hari 135. switch hari 136. case 1 137. thari = 'Minggu'; 138. case 2 139. thari = 'Senin'; 140. case 3 141. thari = 'Selasa'; 142. case 4 143. thari = 'Rabu'; 144. case 5 145. thari = 'Kamis'; 146. case 6 147. thari = 'Jumat'; 148. case 7 149. thari = 'Sabtu'; 150. end 151. %% Bulan 152. switch bulan 153. case 1 154. tbulan = 'Januari'; 155. case 2 156. tbulan = 'Februari'; 157. case 3 158. tbulan = 'Maret'; 159. case 4 160. tbulan = 'April'; 161. case 5 162. tbulan = 'Mei'; 163. case 6 164. tbulan = 'Juni'; 165. case 7 166. tbulan = 'Juli'; 167. case 8 168. tbulan = 'Agustus';
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-13 169. case 9 170. tbulan = 'September'; 171. case 10 172. tbulan = 'Oktober'; 173. case 11 174. tbulan = 'November'; 175. case 12 176. tbulan = 'Desember'; 177. end 178. set(handles.waktutanggal, 'String', ... [thari ',' rtctanggal '-' tbulan '-' rtctahun]); 179. 180. 181. 182. 183. 184.
% --- Outputs from this function are returned to the command line. function varargout = DAQKincirAngin_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
185. % Get default command line output from handles structure 186. varargout{1} = handles.output; 187. 188. 189. 190. 191.
% --- Executes during object creation, after setting all properties. function figure1_CreateFcn(hObject, eventdata, handles) % hObject handle to figure1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
192. 193. 194. 195. 196. 197. 198.
%% Mengatur latar GUI-----------------------------------------------------handles.output = hObject; jendelalatar = axes('unit', 'normalized', 'position', [0 0 1 1]); latar = imread('DAQKincirAngin.png'); imagesc(latar); set(jendelalatar, 'handlevisibility', 'off', 'visible', 'off') uistack(jendelalatar, 'bottom');
199. 200. 201. 202. 203.
% --- Executes during object creation, after setting all properties. function comport_CreateFcn(hObject, eventdata, handles) % hObject handle to comport (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
204. % Hint: popupmenu controls usually have a white background on Windows. 205. % See ISPC and COMPUTER. 206. if ispc && isequal(get(hObject,'BackgroundColor'), ... get(0,'defaultUicontrolBackgroundColor')) 207. set(hObject,'BackgroundColor','white'); 208. end 209. 210. 211. 212. 213. 214.
%% Membaca port serial yang aktif-----------------------------------------delete(instrfindall); items = instrhwinfo('serial'); s = items.SerialPorts; setappdata(hObject, 'serialp', s); set(hObject, 'String',{'Refresh Ports';char(s)});
215. 216. 217. 218. 219.
% --- Executes on selection change in comport. function comport_Callback(hObject, eventdata, handles) % hObject handle to comport (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
220. % Hints: contents = cellstr(get(hObject,'String')) returns comport contents 221. as cell array 222. % contents{get(hObject,'Value')} returns selected item from comport
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-14
223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246.
%% Refresh port serial delete(instrfindall); items = instrhwinfo('serial'); s = items.SerialPorts; if (strcmp(get(handles.tcondiscon,'String'),'Connect')) if (isempty(s) == 1) %Apakah port kosong? if (get(handles.comport, 'Value') == 1) set(handles.comport, 'String',{'Refresh Ports';[]}) set(handles.brate, 'Enable', 'Off'); set(handles.tcondiscon, 'Enable', 'Off'); set(handles.cdstatus, 'String', ''); msgbox({'- Hubungkan Perangkat Sistem Penerima' '- Tekan Refresh Ports untuk Membaca Perangkat Sistem Penerima'}, ... 'Perangkat Tidak Terdeteksi', 'Error'); end return end if (get(handles.comport, 'Value') == 1) set(handles.comport, 'String',{'Refresh Ports';char(s)}) set(handles.brate, 'Enable', 'On'); set(handles.tcondiscon, 'Enable', 'On'); set(handles.cdstatus, 'String', 'Terputus'); end end
247. 248. 249. 250. 251.
% --- Executes on button press in tprosedur. function tprosedur_Callback(hObject, eventdata, handles) % hObject handle to tprosedur (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
252. %% Menampilkan jendela prosedur-------------------------------------------253. adaprosedur = ~isempty(findall(0, 'Type', 'Figure', 'Name', 'Prosedur Aplikasi')); 254. tampilanprosedur = findall(0, 'Type', 'Figure', 'Name', 'Prosedur Aplikasi'); 255. if (adaprosedur == 0) 256. figureprosedur = figure('position', [350, 125, 650, 500]); 257. prosedur = imread('DAQProsedur.png'); 258. image(prosedur); 259. figureprosedur = gcf; 260. axesprosedur = gca; 261. set(axesprosedur, 'Unit', 'normalized', 'Position', [0 0 1 1]); 262. set(figureprosedur, 'menubar', 'none'); 263. set(axesprosedur, 'xtick', []); 264. set(axesprosedur, 'ytick', []); 265. set(figureprosedur, 'NumberTitle', 'off'); 266. set(figureprosedur, 'Name', 'Prosedur Aplikasi'); 267. else 268. close(tampilanprosedur); 269. end 270. 271. 272. 273. 274.
% --- Executes on button press in ttentang. function ttentang_Callback(hObject, eventdata, handles) % hObject handle to ttentang (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
275. %% Menampilkan jendela tentang--------------------------------------------276. adatentang = ~isempty(findall(0, 'Type', 'Figure', 'Name', 'Tentang Aplikasi')); 277. tampilantentang = findall(0, 'Type', 'Figure', 'Name', 'Tentang Aplikasi'); 278. if (adatentang == 0) 279. figuretentang = figure('position', [350, 220, 649, 289]); 280. tentang = imread('DAQTentang.png');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-15 281. image(tentang); 282. figuretentang = gcf; 283. axestentang = gca; 284. set(axestentang, 'Unit', 'normalized', 'Position', [0 0 1 1]); 285. set(figuretentang, 'menubar', 'none'); 286. set(axestentang, 'xtick', []); 287. set(axestentang, 'ytick', []); 288. set(figuretentang, 'NumberTitle', 'off'); 289. set(figuretentang, 'Name', 'Tentang Aplikasi'); 290. else 291. close(tampilantentang); 292. end 293. 294. 295. 296. 297. 298. 299. 300.
% --- Executes on key press with focus on brate and none of its controls. function brate_KeyPressFcn(hObject, eventdata, handles) % hObject handle to brate (see GCBO) % eventdata structure with the following fields (see MATLAB.UI.CONTROL.UICONTROL) % Key: name of the key that was pressed, in lower case % Character: character interpretation of the key(s) that was pressed % Modifier: name(s) of the modifier key(s) (i.e., control, shift) pressed % handles structure with handles and user data (see GUIDATA)
301. %% Saat memasukkan Baud Rate tombol connect/disconnect off 302. set(handles.tcondiscon, 'Enable', 'Off'); 303. 304. 305. 306.
function brate_Callback(hObject, eventdata, handles) % hObject handle to brate (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
307. % Hints: get(hObject,'String') returns contents of brate as text 308. % str2double(get(hObject,'String')) returns contents of brate as a 309. double 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329.
%% Mengatur masukan nilai baud rate %Baud rate standar 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 bd = get(hObject,'String'); if (isempty(bd) == 0) bdstandar = {'1200' '2400' '4800' '9600' '19200' '38400' '57600' '115200'}; if any(strcmp(get(hObject, 'String'), bdstandar)) set(handles.tcondiscon, 'Enable', 'On'); %Tombol connect/disconnect aktif jika buadrate benar else set(hObject, 'String', '9600'); %Kembali ke nilai baud rate default 9600 msgbox({'Nilai Baud Rate Standar:' '1200, 2400, 4800, 9600, 19200, 38400,57600, 115200'},'Masukan Baud Rate Salah', 'Warn'); set(handles.tcondiscon, 'Enable', 'Off'); %Tombol connect/disconnect non-aktif jika buadrate salah end else set(hObject, 'String', '9600'); %Kembali ke nilai baud rate default 9600 end default = get(hObject,'String'); if (strcmp(default,'9600')) set(handles.tcondiscon, 'Enable', 'On'); %Tombol connect/disconnect aktif end
330. function brate_CreateFcn(hObject, eventdata, handles) 331. % hObject handle to brate (see GCBO) 332. % eventdata reserved - to be defined in a future version of MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-16 333. % handles
empty - handles not created until after all CreateFcns called
334. % Hint: edit controls usually have a white background on Windows. 335. % See ISPC and COMPUTER. 336. if ispc && isequal(get(hObject,'BackgroundColor'), ... get(0,'defaultUicontrolBackgroundColor')) 337. set(hObject,'BackgroundColor','white'); 338. end 339. 340. 341. 342. 343.
% --- Executes on button press in tcondiscon. function tcondiscon_Callback(hObject, eventdata, handles) % hObject handle to tcondiscon (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
344. 345. 346. 347. 348.
369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382.
%% Memulai komunikasi serial----------------------------------------------delete(instrfindall); portserial = get(handles.comport, 'String'); baudrate = str2num(get(handles.brate, 'String')); sp = serial(portserial(get(handles.comport, 'Value')), 'BaudRate', ... baudrate); set(sp, 'Timeout', 0.01); datatabel = get(handles.dtabel, 'Data'); %% Mengidentifikasi port serial if (strcmp(get(hObject,'String'),'Connect')) try %Membuka port serial fopen(sp); setappdata(hObject, 'serialport', sp); set(handles.cdstatus, 'String', 'Terhubung'); set(hObject, 'String', 'Disconnect'); set(handles.comport, 'Enable', 'Off'); set(handles.brate, 'Enable', 'Off'); if (isempty(datatabel) == 1) set(handles.tmulai, 'Enable', 'On'); else set(handles.tmulai, 'Enable', 'Off'); msgbox('Simpan Data Tabel dan Hapus Data Tabel', ... 'Ada Data Tabel', 'Warn'); end catch msgbox({'- Tekan Refresh Ports untuk Membaca Perangkat Sistem Penerima' '- Pilih Port-Com Perangkat Sistem Penerima'}, ... 'Perangkat Tidak Berhasil Terhubung', 'Error'); end else %Menutup port serial fclose(sp); clear sp; fclose(instrfind); delete(instrfind); set(hObject, 'String', 'Connect'); set(handles.cdstatus, 'String', 'Terputus'); set(handles.comport, 'Enable', 'On'); set(handles.brate, 'Enable', 'On'); set(handles.tmulai, 'Enable', 'Off'); end guidata(hObject, handles);
383. 384. 385. 386. 387.
% --- Executes on button press in tmulai. function tmulai_Callback(hObject, eventdata, handles) % hObject handle to tmulai (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368.
388. %% Memulai penerimaan data-------------------------------------------------
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-17 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414.
sp = getappdata(handles.tcondiscon, 'serialport'); handles.sp = sp; %Mengatur pushbutton set(handles.takhiri, 'Enable', 'On'); set(handles.thapus, 'Enable', 'Off'); set(handles.tcondiscon, 'Enable', 'Off'); set(handles.dstatus, 'String', ''); set(handles.tmulai, 'Enable', 'Off'); set(handles.bdata, 'Enable', 'Off'); datatabel = get(handles.dtabel, 'Data'); %Folder cadangan data foldertemp = fullfile('C:\', 'Akuisisi_Data_Kincir_Angin.backup'); if (exist(foldertemp) == 0) %Jika folder kosong mkdir(foldertemp); %Buat folder end if (isempty(datatabel) == 1) %File text berdasarkan tanggal dan jam sekarang waktuambil = datestr(now, 'dd-mm-yyyy_HH.MM.SS'); namafile = sprintf([waktuambil ' backup' '.txt']); namatext = fullfile(foldertemp, namafile); setappdata(hObject, 'namatext', namatext); end if (strcmp(handles.terimadata.Running,'off')) %Pastikan timer tidak aktif start(handles.terimadata); %Mulai timer terima data end guidata(hObject, handles);
415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439.
function terimadata(~,~,hObject) %% Penerimaan data-------------------------------------------------------handles = guidata(hObject); %% Inisialisasi variabel global dbanding perekaman = 0; tegangan = 0; arus = 0; energi = 0; kecepatanporos = 0; kecepatanangin = 0; arahangin = 0; %% Selalu memeriksa folder cadangan data foldertemp = fullfile('C:\', 'Akuisisi_Data_Kincir_Angin.backup'); if (exist(foldertemp) == 0) %Jika folder terhapus mkdir(foldertemp); %Buat folder end namatext = getappdata(handles.tmulai, 'namatext'); %Nama temporary file .txt %% Apakah serial teridentifikasi? if (isfield(handles,'sp')) try readasync(handles.sp); n = handles.sp.BytesAvailable; if (n > 0) %Jika ada data serial warning('off', 'MATLAB:serial:fscanf:unsuccessfulRead'); %Menonaktifkan peringatan stop(handles.datamasuk); %Stop timer data masuk scandata = fscanf(handles.sp); %Menerima data serial pdata = length(scandata); %Membaca panjang data %% Filter Data if ((pdata == 1)||(pdata == 66)) %Menerima data dengan panjang 1 karakter atau 66 karakter if (pdata == 1) %Menerima data dengan panjang 1 karakter if (scandata == 'p') %Terima ping fprintf(handles.sp, '%c', 'y'); %Balas y (yes) set(handles.dstatus, 'String', 'Ada Data, Konfirmasi'); elseif (scandata ~= 'p') %Terima data salah
440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-18 452. 453. 454. 455. 456. 457. 458. 459. 460.
461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504.
fprintf(handles.sp, '%c', 't'); %Balas t (tidak lengkap) set(handles.dstatus, 'String', 'Ada Data, Data Salah'); dsalah = dsalah + 1; tsalah = tsalah + 1; end elseif (pdata == 66) %Menerima data dengan panjang 66 karakter pisahdata = textscan(scandata, ... '%s %d %{dd-MM-uuuu}D %{HH:mm:ss}D %f %f %f %d %f %f %s', 'delimiter', ','); %Memisahkan data berdasarkan koma [dpawaldata, dpnrekam, dptanggal, dpwaktu, ... dptegangan, dparus, dpenergi, dpkporos, ... dpkangin, dpaangin, dpakhirdata] = deal(pisahdata{:}); %% Memeriksa awal dan akhir data if ((strcmp(dpawaldata,'*') == 1)&& ... (strcmp(dpakhirdata,'#') == 1)) %Terima data benar if (strcmp(dbanding,scandata) == 0) %Jika data yang dikirimkan berbeda kirim o, data ditampilkan %% Konfirmasi data benar fprintf(handles.sp, '%c', 'o'); %Balas o (oke) set(handles.dstatus, 'String', 'Ada Data, Data Benar'); %% Menyimpan data sebagai backup ekstensi .txt simpantemp = fopen(namatext, 'a'); fprintf(simpantemp, scandata); fprintf(simpantemp, '\r\n'); fclose(simpantemp); %% Memasukkan data GUI perekaman = dpnrekam(1); tanggal = cellstr(dptanggal); waktu = cellstr(dpwaktu); tegangan = dptegangan(1); arus = dparus(1); energi = dpenergi(1); kecepatanporos = dpkporos(1); kecepatanangin = dpkangin(1); arahangin = dpaangin(1); %% Menampilkan pada gauges set(handles.activex1, 'NeedleValue', tegangan); set(handles.activex2, 'NeedleValue', arus); set(handles.activex3, 'NeedleValue', energi); set(handles.activex4, 'NeedleValue', ... kecepatanporos); set(handles.activex5, 'NeedleValue', ... kecepatanangin); set(handles.activex7, 'NeedleValue', ... arahangin); %% Meerubah format data tnrekam = sprintf('%.0f', perekaman); ttegangan = sprintf('%.2f', tegangan); tarus = sprintf('%.2f', arus); tenergi = sprintf('%.2f', energi); tkecepatanporos = sprintf('%.0f', ... kecepatanporos); tkecepatanangin = sprintf('%.2f', ... kecepatanangin); tarahangin = sprintf('%.2f', arahangin); %% Menampilkan pada teks set(handles.dtanggal, 'String', tanggal); set(handles.dwaktu, 'String', waktu); set(handles.ddatake, 'String', tnrekam); set(handles.dtegangan, 'String', ttegangan); set(handles.darus, 'String', tarus); set(handles.denergi, 'String', tenergi);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-19 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552.
set(handles.dkporos, 'String', ... tkecepatanporos); set(handles.dkangin, 'String', ... tkecepatanangin); set(handles.daangin, 'String', tarahangin); %% Menampilkan pada tabel datahasil = [tnrekam tanggal waktu ttegangan tarus tenergi tkecepatanporos tkecepatanangin tarahangin]; formatkolom = {'bank', 'char', 'char', 'bank', 'bank', 'bank', 'bank', 'bank', 'bank'}; datatabel = get(handles.dtabel, 'Data'); datatabel(end+1,:) = datahasil; set(handles.dtabel, 'Data', datatabel, ... 'ColumnFormat', formatkolom, 'ColumnEditable', false); %% Menampilkan pada grafik datanum = ... str2double(get(handles.dtabel,'Data')); datastr = get(handles.dtabel,'Data'); gtanggal = datastr(:,2); gwaktu = datastr(:,3); gtegangan = datanum(:,4); garus = datanum(:,5); energi = datanum(:,6); kporos = datanum(:,7); kangin = datanum(:,8); ubahwaktu = [datestr(datenum(gtanggal, ... 'dd-mm-yyyy'), 'dd-mm-yyyy') ... datestr(gwaktu, 'HH:MM:SS')]; swaktu = (datenum(ubahwaktu, ... 'dd-mm-yyyyHH:MM:SS')); %Tegangan dan arus cla(handles.gtegarus, 'reset'); hold(handles.gtegarus, 'on'); grid(handles.gtegarus, 'on'); plot(handles.gtegarus, swaktu, ... gtegangan, 'r','LineWidth', 1.5); plot(handles.gtegarus, swaktu, garus, ... '-k', 'LineWidth', 1.5); legend(handles.gtegarus, ... 'Tegangan (V)', 'Arus (A)', 'Location', ... 'northwest'); set(handles.gtegarus, 'FontSize', 7); datetick(handles.gtegarus, 'x', ... 'HH:MM', 'keeplimits'); %Energi cla(handles.genergi, 'reset'); hold(handles.genergi, 'on'); grid(handles.genergi, 'on'); plot(handles.genergi, swaktu, energi, ... 'color',[0.9 0.75 0], 'LineWidth', 1.5); legend(handles.genergi, 'Energi (Wh)', ... 'Location', 'northwest'); set(handles.genergi, 'FontSize', 7); datetick(handles.genergi, 'x', 'HH:MM', ... 'keeplimits'); set(handles.genergi, 'YTickLabel', ... num2str(get(handles.genergi, 'YTick').')); %Kecepatan poros cla(handles.gkporos, 'reset'); hold(handles.gkporos, 'on'); grid(handles.gkporos, 'on'); plot(handles.gkporos, swaktu, kporos, ... 'color', [0.3 0.8 0], 'LineWidth', 1.5); set(handles.gkporos, 'FontSize', 7); legend(handles.gkporos, ...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-20
553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568.
'Kec.Poros (rpm)','Location', 'northwest'); datetick(handles.gkporos, 'x', 'HH:MM', ... 'keeplimits'); %Kecepatan angin cla(handles.gkangin, 'reset'); hold(handles.gkangin, 'on'); grid(handles.gkangin, 'on'); plot(handles.gkangin, swaktu, kangin, ... 'color', [0 0.8 0.8], 'LineWidth', 1.5); set(handles.gkangin, 'FontSize', 7); legend(handles.gkangin, ... 'Kec.Angin (m/s)','Location', 'northwest'); datetick(handles.gkangin, 'x', 'HH:MM', ... 'keeplimits'); dbanding = scandata; %Paket data terakhir yang diterima else %Jika data yang dikirimkan sama kirim o, data tidak ditampilkan fprintf(handles.sp, '%c', 'o'); %Balas o (oke) set(handles.dstatus, 'String', 'Ada Data, Data Sama'); end else %Awal data dan atau akhir data salah fprintf(handles.sp, '%c', 't'); %Balas t (tidak lengkap) set(handles.dstatus, 'String', 'Ada Data, Data Salah'); end
569. 570. 571. end 572. else %Terima data dengan panjang karakter lainnya 573. fprintf(handles.sp, '%c', 't'); %Balas t (tidak lengkap) 574. set(handles.dstatus, 'String', 'Ada Data, Data Salah'); 575. end 576. else 577. start(handles.datamasuk); %Mulai timer data masuk 578. end 579. catch 580. end 581. end 582. guidata(hObject, handles); 583. function datamasuk(~,~,hObject) 584. %% Tidak ada data lebih dari 10 detik 585. handles = guidata(hObject); 586. set(handles.dstatus, 'String', 'Belum Ada Data'); 587. 588. 589. 590. 591.
% --- Executes on button press in takhiri. function takhiri_Callback(hObject, eventdata, handles) % hObject handle to takhiri (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
592. %% Mengakhiri penerimaan data---------------------------------------------593. datatabel = get(handles.dtabel, 'Data'); %Membaca data tabel 594. if (strcmp(handles.terimadata.Running,'on')) %Pastikan timer menerima data aktif 595. stop(handles.terimadata); %Stop timer menerima data 596. %Mengatur pushbutton 597. set(handles.tcondiscon, 'Enable', 'On'); 598. set(handles.thapus, 'Enable', 'On'); 599. set(handles.tmulai, 'Enable', 'On'); 600. set(handles.takhiri, 'Enable', 'Off'); 601. if (isempty(datatabel) == 1) 602. set(handles.bdata, 'Enable', 'On'); 603. set(handles.tmulai, 'String', 'Mulai'); 604. else
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-21 605. set(handles.bdata, 'Enable', 'Off'); 606. set(handles.tmulai, 'String', 'Lanjutkan'); 607. end 608. set(handles.dstatus, 'String', 'Proses Telah Berakhir'); 609. msgbox('Proses Telah Berakhir', 'Selesai'); 610. end 611. if (strcmp(handles.datamasuk.Running,'on')) %Pastikan timer data masuk aktif 612. stop(handles.datamasuk); %Stop timer data masuk 613. end 614. 615. 616. 617. 618.
% --- Executes on button press in tbrowse. function tbrowse_Callback(hObject, eventdata, handles) % hObject handle to tbrowse (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
619. 620. 621. 622. 623. 624. 625. 626. 627. 628. 629.
%% Memilih tempat menyimpan data------------------------------------------global fsimpan %Inisialisasi variabel fsimpan = uigetdir(fsimpan, 'Pilih Folder untuk Menyimpan Data'); setappdata(hObject, 'folders', fsimpan); set(handles.sdirektori, 'String', fsimpan); if (fsimpan == 0) %Jika folder tidak dipilih fsimpan = []; setappdata(hObject, 'folders', fsimpan); set(handles.sdirektori, 'String', ''); msgbox('Ulangi Memilih Folder', 'Folder Belum Dipilih', 'Warn'); end
630. % --- If Enable == 'on', executes on mouse press in 5 pixel border. 631. % --- Otherwise, executes on mouse press in 5 pixel border or over sdirektori. 632. function sdirektori_ButtonDownFcn(hObject, eventdata, handles) 633. % hObject handle to sdirektori (see GCBO) 634. % eventdata reserved - to be defined in a future version of MATLAB 635. % handles structure with handles and user data (see GUIDATA) 636. 637. 638. 639. 640. 641. 642.
%% Informasi folder peyimpanan--------------------------------------------folder = getappdata(handles.tbrowse, 'folders'); if (isempty(folder) == 1) %Jika folder kosong msgbox('Pilih Folder Penyimpanan', 'Folder Kosong', 'Warn'); else msgbox(folder, 'Folder Penyimpanan', 'Modal'); end
643. 644. 645. 646. 647.
% --- Executes during object creation, after setting all properties. function snfile_CreateFcn(hObject, eventdata, handles) % hObject handle to snfile (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
648. % Hint: edit controls usually have a white background on Windows. 649. % See ISPC and COMPUTER. 650. if ispc && isequal(get(hObject,'BackgroundColor'), ... get(0,'defaultUicontrolBackgroundColor')) 651. set(hObject,'BackgroundColor','white'); 652. end 653. 654. 655. 656.
% --- Executes on key press with focus on snfile and none of its controls. function snfile_KeyPressFcn(hObject, eventdata, handles) % hObject handle to snfile (see GCBO) % eventdata structure with the following fields (see MATLAB.UI.CONTROL.UICONTROL) 657. % Key: name of the key that was pressed, in lower case 658. % Character: character interpretation of the key(s) that was pressed 659. % Modifier: name(s) of the modifier key(s) (i.e., control, shift) pressed
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-22 660. % handles
structure with handles and user data (see GUIDATA)
661. %% Memeriksa karakter nama------------------------------------------------662. masukan = (eventdata.Character); 663. if (isempty(masukan) == 0) 664. %Karakter/simbol yang tidak diperbolehkan dalam penamaan adalah \ / : * ? " < > | [ ] 665. if (regexp(masukan, '[[\\/*:?"<>|]]', 'once')) 666. msgbox('Karakter \ / : * ? " < > | [ ] Tidak Diperbolehkan', ... 'Masukan Karakter Salah', 'Warn'); 667. %Memeriksa masukkan karakter 668. masukannama = get(hObject, 'String'); 669. hapussalah = regexprep(masukannama, '[[\\/*:?"<>|]]', ''); %Menghapus karakter yang salah pada text 670. set(hObject, 'String', hapussalah); 671. end 672. end 673. 674. 675. 676. 677.
% --- Executes on button press in tsimpan. function tsimpan_Callback(hObject, eventdata, handles) % hObject handle to tsimpan (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
678. 679. 680. 681. 682. 683. 684. 685. 686.
%% Menyimpan data yang diterima-------------------------------------------datatabel = get(handles.dtabel, 'Data'); %Folder yang telah dipilih folder = getappdata(handles.tbrowse, 'folders'); nama = char(get(handles.snfile, 'String')); %Periksa panjang karakter folder dan nama foldernama = [folder '\' nama '.xlsx']; pfoldernama = length(foldernama); cekfile = exist(fullfile(folder, [nama '.xlsx']), 'file'); %Periksa file dalam folder set(handles.dstatus, 'String', ''); %% Pesan warning, saat folder belum dipilih, nama file kosong, dan melebihi 218 karakter if (isempty(folder) == 1) msgbox('Pilih Folder Penyimpanan', 'Folder Kosong', 'Warn'); end if (isempty(nama) == 1) msgbox('Masukkan Nama File', 'Nama File Kosong', 'Warn'); end if (pfoldernama > 218) msgbox('Nama Folder dan Nama File Lebih dari 218 Karakter', ... 'Masukan Nama File Salah', 'Warn'); end %% Prosedur meyimpan data if ((isempty(nama) == 0)&&(isempty(folder) == 0)&&(pfoldernama < 219)) if (cekfile == 2) msgbox('Nama File Sudah Ada', 'Ganti Nama File', 'Warn'); elseif (cekfile == 0) if (isempty(datatabel) == 1) %Saat tidak ada data tidak dapat meyimpan msgbox('Tekan Tombol Mulai', 'Belum Ada Data', 'Warn'); else %Saat ada data dapat meyimpan %Selalu memeriksa folder peyimpanan if (exist(folder) == 0) %Jika folder terhapus buat folder yang sama mkdir(folder); end namakolom = {'Perekaman', 'Tanggal-Bulan-Tahun', 'Waktu', ... 'Tegangan (V)', 'Arus (A)', 'Energi (Wh)', ... 'Kecepatan Poros (rpm)', 'Kecepatan Angin (m/s)', ... 'Arah Angin (deg)'}; xlswrite([folder '\' nama '.xlsx'], namakolom, '', 'A1');
687. 688. 689. 690. 691. 692. 693. 694. 695. 696. 697. 698. 699. 700. 701. 702. 703. 704. 705. 706. 707. 708. 709. 710.
711.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-23 712. xlswrite([folder '\' nama '.xlsx'], datatabel, '', 'A2'); 713. set(handles.tsimpan, 'String', 'Simpan...'); 714. set(handles.dstatus, 'String', 'Penyimpanan Berhasil'); 715. end 716. end 717. end 718. 719. 720. 721. 722.
% --- Executes on button press in thapus. function thapus_Callback(hObject, eventdata, handles) % hObject handle to thapus (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
723. 724. 725. 726. 727. 728. 729. 730. 731. 732. 733. 734.
%% Menghapus data yang diterima-------------------------------------------adahapus = ~isempty(findall(0, 'Type', 'Figure', 'Name', 'Hapus Data')); datatabel = get(handles.dtabel,'Data'); %Lihat data pada tabel if (adahapus == 0) %Mengatasi kotak dialog muncul 2 kali if (isempty(datatabel) == 0) pesan = sprintf('Apakah Yakin Ingin Menghapus Data?'); pilih = questdlg(pesan, 'Hapus Data', 'Ya', 'Tidak', 'Tidak'); switch pilih case 'Ya' %% Reset tabel set(handles.dtabel, 'Data', []); set(handles.dtabel, 'Data', cell(size(get(handles.dtabel, ... 'Data')))); %% Reset grafik cla(handles.gtegarus, 'reset'); cla(handles.genergi, 'reset'); cla(handles.gkporos, 'reset'); cla(handles.gkangin, 'reset'); set(handles.gtegarus, 'FontSize', 7); set(handles.genergi, 'FontSize', 7); set(handles.gkporos, 'FontSize', 7); set(handles.gkangin, 'FontSize', 7); %% Hapus data string set(handles.dtanggal, 'String', ''); set(handles.dwaktu, 'String', ''); set(handles.ddatake, 'String', ''); set(handles.dtegangan, 'String', ''); set(handles.darus, 'String', ''); set(handles.denergi, 'String', ''); set(handles.dkporos, 'String', ''); set(handles.dkangin, 'String', ''); set(handles.daangin, 'String', ''); %% Kembalikan ke nilai awal gauges '0' set(handles.activex1, 'NeedleValue', 0); set(handles.activex2, 'NeedleValue', 0); set(handles.activex3, 'NeedleValue', 0); set(handles.activex4, 'NeedleValue', 0); set(handles.activex5, 'NeedleValue', 0); set(handles.activex7, 'NeedleValue', 0); set(handles.ndata, 'String', ''); set(handles.tsimpan, 'String', 'Simpan'); set(handles.dstatus, 'String', 'Data Telah Dihapus'); set(handles.bdata, 'Enable', 'On'); set(handles.tmulai, 'String', 'Mulai'); if (strcmp(get(handles.tcondiscon,'String'),'Disconnect')) set(handles.tmulai, 'Enable', 'On'); else set(handles.tmulai, 'Enable', 'Off'); end case 'Tidak' end end end
735. 736. 737. 738. 739. 740. 741. 742. 743. 744. 745. 746. 747. 748. 749. 750. 751. 752. 753. 754. 755. 756. 757. 758. 759. 760. 761. 762. 763. 764. 765. 766. 767. 768. 769. 770. 771. 772. 773. 774.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-24
775. 776. 777. 778. 779.
% --- Executes on button press in bdata. function bdata_Callback(hObject, eventdata, handles) % hObject handle to bdata (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
780. 781. 782. 783. 784. 785. 786. 787. 788. 789. 790. 791. 792. 793. 794. 795. 796.
%% Membuka file menampilkan pada tabel dan grafik-------------------------global fbuka %Inisialisasi variabel %% Reset tabel dan grafik set(handles.dtabel, 'Data', []); set(handles.dtabel, 'Data', cell(size(get(handles.dtabel, 'Data')))); cla(handles.gtegarus, 'reset'); cla(handles.genergi, 'reset'); cla(handles.gkporos, 'reset'); cla(handles.gkangin, 'reset'); set(handles.gtegarus, 'FontSize', 7); set(handles.genergi, 'FontSize', 7); set(handles.gkporos, 'FontSize', 7); set(handles.gkangin, 'FontSize', 7); set(handles.ndata, 'String', ''); set(handles.tsimpan, 'String', 'Simpan'); %% Membuka data dalam folder [file fbuka]= uigetfile({'*.xls;*.xlsx','File Excel'}, ... 'Pilih File Excel', fbuka); if (fbuka == 0) %Jika cancle folder = 0 fbuka = []; msgbox('Ulangi Memilih File Excel', 'File Belum Dipilih', 'Warn'); end if (isempty(fbuka) == 0) filename = strcat(fbuka,file); [~,~,raw] = xlsread(filename); %% Memeriksa kolom dan baris (panjang kolom 9) ukuranbkr = size(raw); barisr = ukuranbkr(1); %Membaca jumlah baris kolomr = ukuranbkr(2); %Membaca jumlah kolom 9 kolom %% Filter berdasarkan jumlah kolom dan baris [num,text,raw] if (isequal(kolomr,9) == 0) msgbox('Jumlah Kolom Salah', 'File Salah', 'Warn'); return else %Semua Header:Char, Perekaman:Numeric, Tangggal:Char, Waktu:Numeric, Tegangan:Numeric, %Arus:Numeric, Energi:Numeric, Kporos:Numeric, Kangin:Numeric, Aangin:Numeric %% Baca header baris 1, kolom 1 sampai 9 fhdata = raw(1,1:1:9); nhdata = cellfun(@ischar,fhdata); %Apakah tipe char? hhdata = all(ismember(nhdata(1,:),1)); %% Baca file mulai dari baris 2, kolom 1 sampai kolom 9 fdata = raw(2:1:barisr,1:1:9); fperekaman = fdata(:,1); ftanggal = fdata(:,2); fwaktu = fdata(:,3); ftegangan = fdata(:,4); farus = fdata(:,5); fenergi = fdata(:,6); fkporos = fdata(:,7); fkangin = fdata(:,8); faangin = fdata(:,9); %Apakah tipe data masing-masing kolom, NaN adalah numeric nperekaman = cellfun(@isnumeric,fperekaman); ntanggal = cellfun(@ischar,ftanggal); nwaktu = cellfun(@isnumeric,fwaktu); ntegangan = cellfun(@isnumeric,ftegangan); narus = cellfun(@isnumeric,farus);
797. 798. 799. 800. 801. 802. 803. 804. 805. 806. 807. 808. 809. 810. 811. 812. 813. 814. 815. 816. 817. 818. 819. 820. 821. 822. 823. 824. 825. 826. 827. 828. 829. 830. 831. 832. 833. 834. 835. 836. 837.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-25 838. 839. 840. 841. 842. 843. 844. 845. 846. 847. 848. 849. 850. 851. 852. 853. 854. 855. 856. 857. 858. 859. 860. 861. 862. 863. 864. 865. 866. 867. 868. 869. 870. 871. 872. 873. 874. 875. 876. 877. 878. 879. 880. 881. 882. 883. 884. 885. 886. 887. 888. 889. 890. 891. 892. 893. 894. 895.
nenergi = cellfun(@isnumeric,fenergi); nkporos = cellfun(@isnumeric,fkporos); nkangin = cellfun(@isnumeric,fkangin); naangin = cellfun(@isnumeric,faangin); %Jika sesuai tipe data maka bernilai 1 hperekaman = all(ismember(nperekaman(:,1),1)); htanggal = all(ismember(ntanggal(:,1),1)); hwaktu = all(ismember(nwaktu(:,1),1)); htegangan = all(ismember(ntegangan(:,1),1)); henergi = all(ismember(nenergi(:,1),1)); harus = all(ismember(narus(:,1),1)); hkporos = all(ismember(nkporos(:,1),1)); hkangin = all(ismember(nkangin(:,1),1)); haangin = all(ismember(naangin(:,1),1)); %% Filter berdasarkan tipe data char atau numeric if ((hhdata == 1)&&(hperekaman == 1)&&(htanggal == 1)&& ... (hwaktu == 1)&&(htegangan == 1)&&(harus == 1)&& ... (henergi == 1)&&(hkporos == 1)&&(hkangin == 1)&&(haangin == 1)) msgbox('Tipe Data Salah', 'File Salah', 'Warn'); return else datab=raw(2:1:barisr,1:1:9); perekamanb = datab(:,1); tanggalb = datab(:,2); waktub = datab(:,3); teganganb = datab(:,4); arusb = datab(:,5); energib = datab(:,6); kporosb = datab(:,7); kanginb = datab(:,8); aanginb = datab(:,9); %Nilai ba & bb nbatanggal = datab(1,2); nbawaktu = datab(1,3); nbbtanggal = datab(end,2); nbbwaktu = datab(end,3); %Merubah data array dnrekam = cell2mat(perekamanb); dwaktu = cell2mat(waktub); dtegangan = cell2mat(teganganb); darus = cell2mat(arusb); denergi = cell2mat(energib); dkporos = cell2mat(kporosb); dkangin = cell2mat(kanginb); daangin = cell2mat(aanginb); %Nilai waktu ba & bb unbawaktu = cell2mat(nbawaktu); unbbwaktu = cell2mat(nbbwaktu); %Memeriksa format data tanggal dan waktu try tnrekam = arrayfun(@(x) sprintf('%.0f',x), dnrekam,'uni',false).'; ttanggal = cellstr(datestr(datenum(tanggalb,'dd-mmyyyy'),'ddmm-yyyy')); twaktu = cellstr(datestr(dwaktu ,'HH:MM:SS')); ttegangan = arrayfun(@(x) sprintf('%.2f',x), dtegangan,'uni',false).'; tarus = arrayfun(@(x) sprintf('%.2f',x), darus,'uni',false).'; tenergi = arrayfun(@(x) sprintf('%.2f',x), denergi,'uni',false).'; tkecepatanporos = arrayfun(@(x) sprintf('%.0f',x), dkporos,'uni',false).'; tkecepatanangin = arrayfun(@(x) sprintf('%.2f',x), dkangin,'uni',false).'; tarahangin = arrayfun(@(x) sprintf('%.2f',x), daangin,'uni',false).';
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-26 896. 897.
898. 899. 900. 901. 902. 903. 904. 905. 906. 907. 908. 909. 910. 911. 912. 913. 914. 915. 916. 917. 918. 919. 920. 921. 922. 923. 924. 925. 926. 927. 928. 929. 930. 931. 932. 933. 934. 935. 936. 937. 938. 939. 940. 941. 942. 943.
%% Menampilkan dalam tabel dattabel = [tnrekam' ttanggal twaktu ttegangan' tarus' tenergi' ... tkecepatanporos' tkecepatanangin' tarahangin']; formatkolom = {'char', 'char', 'char', 'bank', 'bank', ... 'bank', 'char', 'bank', 'bank'}; set(handles.dtabel, 'Data', dattabel, 'ColumnFormat', formatkolom, ... 'ColumnEditable', false); %Tetapakan ba & bb x axis ubahba = [datestr(datenum(nbatanggal,'dd-mm-yyyy'), ... 'dd-mm-yyyy') datestr(unbawaktu, 'HH:MM:SS')]; bawaktu = (datenum(ubahba, 'dd-mm-yyyyHH:MM:SS')); ubahbb = [datestr(datenum(nbbtanggal,'dd-mm-yyyy'), ... 'dd-mm-yyyy') datestr(unbbwaktu, 'HH:MM:SS')]; bbwaktu = (datenum(ubahbb, 'dd-mm-yyyyHH:MM:SS')); handles.gtegarus.XLim = [bawaktu bbwaktu]; handles.genergi.XLim = [bawaktu bbwaktu]; handles.gkporos.XLim = [bawaktu bbwaktu]; handles.gkangin.XLim = [bawaktu bbwaktu]; handles.gkangin.XLim = [bawaktu bbwaktu]; %% Menampilkan pada grafik ubahwaktu = [datestr(datenum(tanggalb,'dd-mm-yyyy'),'dd-mmyyyy') datestr(dwaktu, 'HH:MM:SS')]; swaktu = (datenum(ubahwaktu, 'dd-mm-yyyyHH:MM:SS')); %Tegangan dan arus hold(handles.gtegarus, 'on'); grid(handles.gtegarus, 'on'); plot(handles.gtegarus, swaktu, dtegangan, '-r', 'LineWidth', 1.5); plot(handles.gtegarus, swaktu, darus, '-k', 'LineWidth', 1.5); legend(handles.gtegarus, 'Tegangan (V)', 'Arus(A)','Location','northwest'); set(handles.gtegarus, 'FontSize', 7); datetick(handles.gtegarus, 'x', 'HH:MM', 'keeplimits'); set(handles.gtegarus, 'YTickLabel', ... num2str(get(handles.gtegarus, 'YTick').')); %Energi hold(handles.genergi, 'on'); grid(handles.genergi, 'on'); plot(handles.genergi, swaktu, denergi, 'color', [0.9 0.75 0], 'LineWidth', 1.5); legend(handles.genergi, 'Energi (Wh)', 'Location', 'northwest'); set(handles.genergi, 'FontSize', 7); datetick(handles.genergi, 'x', 'HH:MM', 'keeplimits'); set(handles.genergi, 'YTickLabel', ... num2str(get(handles.genergi, 'YTick').')); %Kecepatan poros hold(handles.gkporos, 'on'); grid(handles.gkporos, 'on'); plot(handles.gkporos, swaktu, dkporos, 'color', [0.3 0.8 0], 'LineWidth', 1.5); set(handles.gkporos, 'FontSize', 7); legend(handles.gkporos, 'Kec.Poros (rpm)', 'Location', 'northwest'); datetick(handles.gkporos, 'x', 'HH:MM', 'keeplimits'); set(handles.gkporos, 'YTickLabel', ... num2str(get(handles.gkporos,'YTick').')); %Kecepatan angin hold(handles.gkangin, 'on'); grid(handles.gkangin, 'on'); plot(handles.gkangin, swaktu, dkangin, 'color', [0 0.8 0.8], 'LineWidth', 1.5); set(handles.gkangin, 'FontSize', 7);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-27 944. 945. 946. 947. 948. 949. 950. 951. 952. 953. 954. end 955. end 956. end
legend(handles.gkangin, 'Kec.Angin (m/s)', 'Location', 'northwest'); datetick(handles.gkangin, 'x', 'HH:MM', 'keeplimits'); set(handles.gkangin, 'YTickLabel', ... num2str(get(handles.gkangin, 'YTick').')); set(handles.ndata, 'String', file); set(handles.tmulai, 'Enable', 'Off'); set(handles.tsimpan, 'String', 'Simpan...'); set(handles.dstatus, 'String', ''); catch msgbox(Data Tanggal atau Waktu Salah', 'File Salah', 'Warn'); end
957. 958. 959. 960. 961.
% --- Executes on button press in tkeluar. function tkeluar_Callback(hObject, eventdata, handles) % hObject handle to tkeluar (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
962. 963. 964. 965. 966. 967. 968. 969. 970. 971. 972.
%% Menutup jendela antarmuka----------------------------------------------adaakhiri = ~isempty(findall(0, 'Type', 'Figure', 'Name', 'Keluar')); if (adaakhiri == 0) %Mengatasi kotak dialog muncul dua kali pesan = sprintf('Apakah Yakin Ingin Keluar?'); pilih = questdlg(pesan, 'Keluar', 'Ya', 'Tidak', 'Tidak'); switch pilih case 'Ya' close; case 'Tidak' end end
973. 974. 975. 976. 977.
% --- Executes when user attempts to close figure1. function figure1_CloseRequestFcn(hObject, eventdata, handles) % hObject handle to figure1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
978. % Hint: delete(hObject) closes the figure 979. %% Jendela antarmuka tertutup---------------------------------------------980. If (strcmp(handles.terimadata.Running,'on')) %Pastikan timer menerima data aktif 981. stop(handles.terimadata); %Stop timer menerima data 982. end 983. if (strcmp(handles.datamasuk.Running,'on')) %Pastikan timer data masuk aktif 984. stop(handles.datamasuk); %Stop timer data masuk 985. end 986. stop(getappdata(hObject, 'timer_waktunyata')); %Non-aktifkan timer waktu nyata 987. delete(getappdata(hObject, 'timer_waktunyata')); %Hapus variabel timer waktu nyata 988. delete(findall(0, 'Type', 'figure')) %Menutup jendela yang aktif 989. clear global; %Menghapus semua variabel global 990. delete(instrfindall); %Menghapus/menutup port serial 991. delete(hObject);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L2-28
Foto Perangkat Sistem Penerima
Bagian Luar Tampak Atas
Bagian Luar Tampak Bawah
Bagian Luar Tampak Samping Kiri
Bagian Luar Tampak Samping Kanan
Bagian Dalam Tampak Samping Kiri
Bagian Dalam Tampak Samping Kanan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-1
LAMPIRAN 3 Sistem Data Dummy
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-2 Sistem data dummy dibuat untuk mensimulasikan data yang digunakan dalam pengujian sistem akuisisi data kincir angin propeler berbahan kayu. Setiap sensor dimodelkan dengan potensiometer, yaitu sensor tegangan, sensor arus, sensor kecepatan poros, sensor kecepatan angin, dan sensor arah angin. Nilai keluaran dari potensio diatur sesuai dengan rentang target dari sistem data logger kincir angin propeler berbahan kayu. masing-masing nilai keluaran dari sensor adalah tegangan (0 volt - 60 volt), arus (0 ampere - 25 ampere), kecepatan poros (0 rpm - 500 rpm), kecepatan angin (0 m/s - 20 m/s), dan arah angin (0 deg - 359,99 deg). Pengolahan nilai sensor dilakukan dengan menggunakan Arduino Nano v.3. yang memiliki 8 pin ADC (A0 - A7). Potensiometer disuplai dengan sumber 5 volt, dan pembacaan ADC pada Arduino Nano v.3 memiliki resolusi 10 bit (0 - 1023). Maka untuk setiap pembacaan ADC sensor dapat ditetapkan variabel dengan persamaan sebagai berikut: πππππ ππ =
(π΅ππ‘ππ πππ₯ β π΅ππ‘ππ πππ ) (1023 β 0)
πππππ ππ = π΄π·πΆ β πππππ ππ Berdasarkan persamaan tersebut variabel untuk masing-masing sensor adalah: Variabel Pembacaan ADC Setiap Sensor No 1 2 3 4 5
Sensor Tegangan Arus Kecepatan Poros Kecepatan Angin Arah Angin
Batas (min - max) 0 - 60 0 - 25 0 - 500 0 - 20 0 - 359,99
mSensor 0,05865103 0,02443793 0,48875855 0,01955034 0,35189638
Dalam mengolah data sensor ditetapkan pewaktuan untuk melakukan perekaman nilai-nilai sensor. Pewaktuan yang dibutuhkan adalah pewaktuan sampling nilai ADC setiap 40 ms, pewaktuan rerata nilai sensor setiap 400 ms, pewaktuan update tampilan nilai sensor pada LCD setiap 1 s, dan pewaktuan kirim serta simpan nilai sensor setiap 10 s. Untuk membuat pewaktuan tersebut digunakan internal timer yaitu timer 1 pada mikrokontroler ATmega328 pada papan Arduino Nano v.3. Untuk dapat merekam setiap data sensor dengan basis waktu perangkat keras sistem data dummy dilengkapi dengan rangkaian RTC (Realtime Clock), dan rangkaian kartu SD. Data pada sistem dikirimkan dalam bentuk paket data dengan perantara kabel yaitu pin (Tx) papan Arduino Nano v.3.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-3
Diagram Alir Program Sistem Data Dummy Program Utama Mulai Inisialisasi Papan Arduino
Tampil Init...
Tampil Status:
Tidak
RTC Siap?
Tampil RTC.E
Ya Tampil RTC.R
Kartu SD Siap?
Tidak
Ya
Tampil SD.R
Inisialisasi Pewaktuan Prosedur Perekaman Data
Void Loop ()?
Tidak Selesai
Ya
Tampil SD.E
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-4 Subrutin Prosedur Perekaman Mulai
Tekan Tombol
Tombol A?
Tidak
Tombol B?
Ya
Tidak
Ya
Pilih++
Tidak
Pilih > 4
Pilih--
Pilih < 0
Ya
Ya Pilih = 0
Pilih = 0?
Tidak
Ya
Pilih = 0
Tidak
Pilih = 1? Ya
Tampil Data Dummy Kincir Angin
Tidak
Pilih = 2?
Tidak
Ya Tampil
Subrutin Tanggal Dan Waktu
Mulai?
Pilih = 3?
Tidak
Ya Subrutin Perekaman
Tampil Akhiri?
Kembali
Subrutin Perekaman Mulai
Overflow 40ms?
Tidak
Ya Tidak
Counta++
Counta = 1?
Ya
Subrutin Sampling Sensor
Counta = 0
Ya
Subrutin Rerata Data Sensor
Countb = 0
Ya
Subrutin Tampil Data Sensor
Countc = 0
Ya
Subrutin Kirim Dan Simpan Data Sensor
Countd = 0
Tidak Countb++
Countb = 10?
Tidak Countc++
Counta = 25?
Tidak Countd++
Kembali
Counta = 250?
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-5 Subrutin Tanggal Dan Waktu Mulai
Overflow 40ms?
Tidak
Ya Counte++
Counte = 25?
Tidak
Ya
Tampil Waktu: Ubah Format Jam 8 Karakter
Tampil Jam
Ubah Format Tanggal 10 Karakter
Tampil Tanggal
Pilih Hari
Hari = 0?
Tidak
Hari = 1?
Tidak
Hari = 2?
Tidak
Hari = 3?
Ya
Ya
Ya
Ya
Tampil Min
Tampil Sen
Tampil Sel
Tampil Rab
Tidak
Tampil Sab
Counte = 0
Kembali
Hari = 5?
Tidak
Hari = 4?
Ya
Ya
Tampil Jum
Tampil Kam
Tidak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-6 Subrutin Sampling Data Sensor Mulai
Total K.Poros += Nilai K.Poros
Baca ADC Tegangan Baca ADC K.Angin Nilai Tegangan = ADC Tegangan * 0.05865103 Total Tegangan += Nilai Tegangan
Nilai K.Angin = ADC K.Angin * 0.01955034
Total K.Angin += Nilai K.Angin
Baca ADC Arus Baca ADC A.Angin Nilai Arus = ADC Arus * 0.02443793
Subrutin Sampling Data Sensor Mulai
Rerata K.Poros = Total K.Poros * 0.1
Rerata Tegangan = Total Tegangan * 0.1 Total K.Poros = 0 Rerata Arus = Total Arus * 0.1
Rerata K.Angin = Total K.Angin * 0.1
Daya = Rerata Tegangan * Rerata Arus Total K.Angin = 0 Energi += Daya * 0.00011111
Nilai A.Angin = ADC A.Angin * 0.35189638
Total Tegangan = 0
Total A.Angin += Nilai A.Angin
Total Arus = 0
Rerata A.Angin = Total A.Angin * 0.1
Total A.Angin = 0
Total Arus += Nilai Arus
Kembali
Baca ADC K.Poros
Nilai K.Poros = ADC K.Poros * 0.48875855
Kembali
Tampil Data Sensor Mulai
Kirim Dan Simpan Data Sensor Mulai
Ubah Format Data K.Poros 3 Karakter
Ubah Format Data Rerata Tegangan 4 Karakter
Rekam++
Tampil p Tampil v
Rekam = 0
Ya
Rekam > 8639?
Tidak
Tampil K.Poros Tampil Rerata Tegangan
Tidak
Ubah Format Data Sensor
Ubah Format Data K.Angin 4 Karakter
Ubah Format Data Rerata Arus 4 Karakter
Kirim Paket Data
Tampil s Tampil i
Tampil Kirim
Tampil K.Angin
Tampil Rerata Arus
Simpan Paket Data
Ubah Format Data A.Angin 5 Karakter
Ubah Format Data Energi 5 Karakter
Tampil x
Tampil a
Tidak
Berhasil Meyimpan?
Ya
Tampil e
Tampil Energi
Tampil A.Angin
Paket Data Tersimpan
Kembali
Kembali
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-7
Program Arduino Sistem Data Dummy 1. 2. 3. 4. 5. 6.
/*Sistem Akuisisi Data Kincir Angin Propeler Berbahan Kayu Program sistem data dummy Oleh: Fransiscus Firgia I Wayan Sambu Respatia Nim: 125114008 Teknik Elektro, Fakultas Sains Dan Teknologi Universitas Sanata Dharma Yogyakarta 2016*/
7. 8. 9. 10. 11. 12. 13. 14.
//Header #include #include #include #include #include #include #include
15. 16. 17.
//Komponen library LiquidCrystal lcd(9,8,7,6,5,4); RTC_DS1307 rtc;
18. 19. 20. 21. 22. 23.
//Inisialisasi port sensor #define stegangan A0 //Tegangan #define sarus A1 //Arus #define skporos A2 //Kecepatan Poros #define skangin A3 //Kecepatan Angin #define saangin A7 //Arah Angin
24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
//Kustom karakter byte kirim [8]= { 0b00000, 0b00100, 0b00110, 0b11111, 0b11111, 0b00110, 0b00100, 0b00000 };
36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59.
//Inisialisasi nilai awal //Inisialisasi debouncing tombol volatile int pilih=0; long debouncinga=500; volatile unsigned long akhira; long debouncingb=500; volatile unsigned long akhirb; //Inisialisasi nilai perekaman int nrekam=-1; float btegangan=0; float ntegangan=0; float nvolt=0; float tvolt=0; float rvolt=0; float barus=0; float narus=0; float namper=0; float tamper=0; float ramper=0; float dkincir=0; float ekincir=0; int bkporos=0; int nkporos=0; int nrpm=0;
<Wire.h> <SPI.h> <SD.h> "RTClib.h"
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-8 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85.
int trpm=0; int rrpm=0; float bkangin=0; float nkangin=0; float nmps=0; float tmps=0; float rmps=0; float baangin=0; float naangin=0; float ndeg=0; float tdeg=0; float rdeg=0; int sampeld=0; int reratad=0; int tampild=0; int kirimd=0; int tampilj=0; //Inisialisasi counter interupsi volatile int counta; volatile int countb; volatile int countc; volatile int countd; volatile int counte; //Inisialisasi kontrol interupsi int rutina=LOW; int rutinb=LOW;
86. void setup() 87. { 88. //Komunikasi serial 89. Serial.begin(9600); 90. lcd.begin(16,2); 91. lcd.createChar(0,kirim); 92. //Interrupt pin 93. attachInterrupt(0,debouncea,RISING); 94. attachInterrupt(1,debounceb,RISING); 95. //Inisialisasi 96. lcd.setCursor(0,0); 97. lcd.print("Init"); 98. delay(700); 99. lcd.setCursor(4,0); 100. lcd.print("."); 101. delay(700); 102. lcd.setCursor(5,0); 103. lcd.print("."); 104. delay(700); 105. lcd.setCursor(6,0); 106. lcd.print("."); 107. delay(900); 108. //Tampil status 109. lcd.setCursor(0,0); 110. lcd.print("Status:"); 111. //Status RTC 112. #ifdef AVR 113. Wire.begin(); 114. #else 115. Wire1.begin(); 116. #endif 117. rtc.begin(); 118. while (!rtc.isrunning()) 119. { 120. lcd.setCursor(0,1); 121. lcd.print("RTC.E"); 122. rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); 123. //rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); 124. } 125. lcd.setCursor(0,1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-9 126. lcd.print("RTC.R"); 127. delay(2000); 128. //Status SD card 129. while (!SD.begin(10)) 130. { 131. lcd.setCursor(0,1); 132. lcd.print("SD.E "); 133. } 134. lcd.setCursor(0,1); 135. lcd.print("SD.R "); 136. delay(2000); 137. //Internal timer 138. cli(); //Non-aktif interrupt 139. TCCR1A=0; 140. TCCR1B=0; 141. TCNT1=63036; //Preload timer 25Hz 142. TCCR1B|=(1<
//Service routin internal timer ISR(TIMER1_OVF_vect) { TCNT1=63036; //Preload timer 25Hz if(rutina==HIGH) //Kontrol rutin a { counta++; countb++; countc++; countd++; if(counta==1) //0.04s { sampeld=1; counta=0; } if(countb==10) //0.4s { reratad=1; countb=0; } if(countc==25) //1s { tampild=1; countc=0; } if(countd==250) //10s { kirimd=1; countd=0; } } if(rutinb==HIGH) //Kontrol rutin b { counte++; if(counte==25) //1s { tampilj=1; counte=0; } } }
187. //Debouncing tombol A 188. void debouncea() 189. { 190. if((long)(micros()-akhira)>=debouncinga*1000)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-10 191. { 192. tambah(); 193. akhira=micros(); 194. } 195. } 196. 197. 198. 199. 200. 201. 202. 203. 204.
//Debouncing tombol B void debounceb() { if((long)(micros()-akhirb)>=debouncingb*1000) { kurang(); akhirb = micros(); } }
205. 206. 207. 208. 209. 210.
//Tombol A void tambah() { pilih++; if (pilih>4){pilih=0;} }
211. 212. 213. 214. 215. 216.
//Tombol B void kurang() { pilih--; if (pilih<0){pilih=0;} }
217. void loop() 218. { 219. DateTime now=rtc.now(); 220. switch(pilih) 221. { 222. //Tampil indentitas data dummy 223. case 0: 224. rutina=LOW; //Non-aktifkan interupsi a 225. rutinb=LOW; //Non-aktifkan interupsi b 226. lcd.setCursor(0, 0); 227. lcd.print(" - DATA DUMMY - "); 228. lcd.setCursor(0, 1); 229. lcd.print(" KINCIR ANGIN "); 230. break; 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252.
//Tampil waktu setiap 1s case 1: rutina=LOW; //Non-aktifkan rutin a rutinb=HIGH; //Aktifkan rutin b if(tampilj==1) //Interupsi 1s { lcd.setCursor(0,0); lcd.print("Waktu: "); //Jam 8 karakter char tamjam[50]; sprintf(tamjam, "%02d:%02d:%02d",now.hour(), now.minute(), now.second()); lcd.setCursor(8,0); lcd.print(tamjam); //Tanggal 10 karakter char tamtanggal[50]; sprintf(tamtanggal, "%02d-%02d-%02d",now.day(), now.month(), now.year()); lcd.setCursor(6,1); lcd.print(tamtanggal); int tampilhari = now.dayOfWeek(); switch(tampilhari) { case 0:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-11 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283.
lcd.setCursor(0,1); lcd.print(" Min,"); break; case 1: lcd.setCursor(0,1); lcd.print(" Sen,"); break; case 2: lcd.setCursor(0,1); lcd.print(" Sel,"); break; case 3: lcd.setCursor(0,1); lcd.print(" Rab,"); break; case 4: lcd.setCursor(0,1); lcd.print(" Kam,"); break; case 5: lcd.setCursor(0,1); lcd.print(" Jum,"); break; case 6: lcd.setCursor(0,1); lcd.print(" Sab,"); break; } break;
284. 285. 286. 287. 288. 289. 290. 291. 292.
//Tampil mulai? case 2: rutina=LOW; //Non-aktifkan rutinb=LOW; //Non-aktifkan lcd.setCursor(0, 0); lcd.print("MULAI? lcd.setCursor(0, 1); lcd.print(" break;
293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317.
//Mengolah data sensor case 3: rutina=HIGH; //Aktifkan rutin a rutinb=LOW; //Non-aktifkan rutin b //Sampling ADC sensor setiap 40ms if(sampeld==1) //Interupsi setiap 0.04s { //Baca ADC Tegangan btegangan=analogRead(stegangan); ntegangan=btegangan*0.05865103F; //(60./1023.) Range 0 - 60 volt tvolt+=ntegangan; //Baca ADC Arus barus=analogRead(sarus); narus=barus*0.02443793F; //(25./1023.) Range 0 - 25 amper tamper+=narus; //Baca ADC Kecepatan Poros bkporos=analogRead(skporos); nkporos=bkporos*0.48875855F; //(500./1023.) Range 0 - 500 rpm trpm+=nkporos; //Baca ADC Kecepatan Angin bkangin=analogRead(skangin); nkangin=bkangin*0.01955034F; //(20./1023.) Range 0 - 20 mps tmps+=nkangin; //Baca ADC Kecepatan Angin baangin=analogRead(saangin);
} tampilj=0;
rutin a rutin b "); ");
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-12 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384.
naangin=baangin*0.35189638F; //(359.99/1023.) Range 0 - 359 deg tdeg+=naangin; sampeld=0; } //Rerata dan kalkulasi energi setiap 400ms if(reratad==1) //Interupsi setiap 0.4s { rvolt=tvolt*0.1F; ramper=tamper*0.1F; dkincir=rvolt*ramper; ekincir+=dkincir*0.00011111F; //energi*(0.4/3600) tvolt=0; tamper=0; rrpm=trpm*0.1F; trpm=0; rmps=tmps*0.1F; tmps=0; rdeg=tdeg*0.1F; tdeg=0; reratad=0; } //Tampil pada LCD setiap 1s if(tampild==1) //Interupsi setiap 1s { lcd.setCursor(15,1); lcd.print(' '); //Tegangan char lvolt[1]; dtostrf(rvolt,4,1,lvolt); String lcdv = lvolt; lcdv.replace(' ','0'); lcd.setCursor(0,0); lcd.print('v'); lcd.setCursor(1,0); lcd.print(lcdv); //Arus char lamp[1]; dtostrf(ramper,4,1,lamp); String lcda = lamp; lcda.replace(' ','0'); lcd.setCursor(0,1); lcd.print('i'); lcd.setCursor(1,1); lcd.print(lcda); //Energi char lwatt[1]; dtostrf(ekincir,5,0,lwatt); String lcdw = lwatt; lcdw.replace(' ','0'); lcd.setCursor(5,0); lcd.print('e'); lcd.setCursor(6,0); lcd.print(lcdw); //Arah angin char ldeg[1]; dtostrf(rdeg,5,1,ldeg); String lcdd = ldeg; lcdd.replace(' ','0'); lcd.setCursor(5,1); lcd.print('a'); lcd.setCursor(6,1); lcd.print(lcdd); //Kecepatan angin char lmps[1]; dtostrf(rmps,4,1,lmps); String lcdm = lmps; lcdm.replace(' ','0');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-13 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451.
lcd.setCursor(11,0); lcd.print('s'); lcd.setCursor(12,0); lcd.print(lcdm); //Kecepatan poros char lcdr[10]; sprintf(lcdr,"%03d",rrpm); lcd.setCursor(11,1); lcd.print('p'); lcd.setCursor(12,1); lcd.print(lcdr); tampild=0; } //Kirim dan simpan data sensor setiap 10s if(kirimd==1) //Interupsi setiap 10s { //Merubah format data //Nomer perekaman 4 karakter nrekam++; if (nrekam>8639){nrekam=0;} //Batas perekaman dalam 24 jam 8640 data char rekam[10]; sprintf(rekam,"%04d",nrekam); //Tanggal 10 karakter char kirtanggal[50]; sprintf(kirtanggal, "%02d-%02d-%02d",now.day(), now.month(), now.year()); //Jam 8 karakter char kirjam[50]; sprintf(kirjam, "%02d:%02d:%02d",now.hour(), now.minute(), now.second()); //Tegangan 5 karakter char avolt[1]; dtostrf(rvolt,5,2,avolt); String volt=avolt; volt.replace(' ','0'); //Arus 5 karakter char aarus[1]; dtostrf(ramper,5,2,aarus); String arus=aarus; arus.replace(' ','0'); //Energi 8 karakter char awatt[1]; dtostrf(ekincir,8,2,awatt); String watt = awatt; watt.replace(' ','0'); //Kecepatan poros 3 karakter char rpm[10]; sprintf(rpm,"%03d",rrpm); //Kecepatan angin 5 karakter char amps[1]; dtostrf(rmps,5,2,amps); String mps=amps; mps.replace(' ','0'); //Arah angin 6 karakter char adeg[1]; dtostrf(rdeg,6,2,adeg); String deg=adeg; deg.replace(' ','0'); //Kirim data Serial.print('*'); Serial.print(','); Serial.print(rekam); Serial.print(','); Serial.print(kirtanggal); Serial.print(','); Serial.print(kirjam); Serial.print(','); Serial.print(volt); Serial.print(',');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-14 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500.
Serial.print(arus); Serial.print(','); Serial.print(watt); Serial.print(','); Serial.print(rpm); Serial.print(','); Serial.print(mps); Serial.print(','); Serial.print(deg); Serial.print(','); Serial.println('#'); //Tampilkan kirim lcd.setCursor(15,1); lcd.write(byte(0)); //Simpan data File simpan=SD.open("ddummy.txt",FILE_WRITE); if(simpan) { simpan.print('*'); simpan.print(','); simpan.print(rekam); simpan.print(','); simpan.print(kirtanggal); simpan.print(','); simpan.print(kirjam); simpan.print(','); simpan.print(volt); simpan.print(','); simpan.print(arus); simpan.print(','); simpan.print(watt); simpan.print(','); simpan.print(rpm); simpan.print(','); simpan.print(mps); simpan.print(','); simpan.print(deg); simpan.print(','); simpan.println('#'); simpan.close(); } else { lcd.setCursor(15,1); lcd.print('x'); //Gagal menyimpan data } kirimd=0; } break;
501. //Tampil akhiri? 502. case 4: 503. rutina=LOW; //Non-aktifkan rutin a 504. rutinb=LOW; //Aktifkan rutin b 505. lcd.setCursor(0, 0); 506. lcd.print("AKHIRI? "); 507. lcd.setCursor(0, 1); 508. lcd.print(" "); 509. break; 510. } 511. }
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-15
Skematik Rangkaian Sistem Data Dummy
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L3-16
Foto Perangkat Keras Sistem Data Dummy
Bagian Luar Perangkat Keras Sistem Data Dummy
Bagian Dalam Perangkat Keras Sistem Data Dummy
Tampilan Data Sensor Pada LCD Sistem Data Dummy
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-1
LAMPIRAN 4 Data Percobaan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-2
Pengujian Dalam Ruang Komunikasi Satu Arah Data Pengujian Komunikasi Satu Arah Dalam Ruang No Jarak (m) Pengujian (ke-) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
5
10
15
20
25
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Baud Rate (bps) 38400
9600 Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
115200 Tanggal 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-3 Data Pengujian Komunikasi Satu Arah Dalam Ruang (Lanjutan) No Jarak (m) Pengujian (ke-) 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
30
35
40
45
50
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Baud Rate (bps) 38400
9600 Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
115200 Tanggal 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 25-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-4 Data Pengujian Komunikasi Satu Arah Dalam Ruang (Lanjutan) No Jarak (m) Pengujian (ke-) 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
55
60
65
70
75
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Baud Rate (bps) 38400
9600 Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
115200 Tanggal 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016 25-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016 23-05-2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-5 Komunikasi Dua Arah Data Pengujian Komunikasi Dua Arah Dalam Ruang No Jarak (m) Pengujian (ke-) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
5
10
15
20
25
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Baud Rate (bps) 38400
9600 Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
115200 Tanggal 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-6 Data Pengujian Komunikasi Dua Arah Dalam Ruang (Lanjutan) No Jarak (m) Pengujian (ke-) 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
30
35
40
45
50
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Baud Rate (bps) 38400
9600 Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
115200 Tanggal 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-7 Data Pengujian Komunikasi Dua Arah Dalam Ruang (Lanjutan) No Jarak (m) Pengujian (ke-) 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
55
60
65
70
75
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Baud Rate (bps) 38400
9600 Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016 26-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
115200 Tanggal 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10
Tanggal 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016 24-05-2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-8 Komunikasi Pengirman Data Data Pengujian Komunikasi Pengiriman Data Dalam Ruang No Jarak (m) Pengujian (ke-) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
10
25
50
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Baud Rate (bps) 38400
9600 Terima Data (ke-) Jumlah Data Galat (%) 0-29 30 0-29 30 0 0-29 30 0-29 30 0-29 30 0-29 30 0-29 30 0 0-29 30 0-29 30 0-29 30 0-26 27 0-28 29 8 0-29 30 0-29 30 0-21 22
Tanggal 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016 01-06-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-29 30 0-29 30 0 0-29 30 0-29 30 0-29 30 0-29 30 0-29 30 0 0-29 30 0-29 30 0-29 30 0-7 8 0 90 0 1 0-1 2 0-3 4
115200 Tanggal 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016
Terima Data (ke-) Jumlah Data Galat (%) 0-29 30 0-29 30 0 0-29 30 0-29 30 0-29 30 0-29 30 0-29 30 0 0-29 30 0-29 30 0-29 30 0 0 100 0 0 0
Tanggal 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016 31-05-2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-9
Pengujian Luar Ruang Komunikasi Satu Arah Data Hasil Pengujian Komunikasi Satu Arah Luar Ruang No Jarak (m) Pengujian (ke-) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
100
120
140
160
180
200
300
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Baud Rate (bps) 9600 Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0,5 2 6 1 78 2,6 2 0,5,8 3 0,1,2 3 0,6,9 3 0,8 2 68 1,2,3 3 0,3,4,5 4 0,1,2,5 4 0 0 98 2 1 0 0 0 0 100 0 0 0
Tanggal 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-10 Komunikasi Dua Arah Data Hasil Pengujian Komunikasi Dua Arah Luar Ruang No Jarak (m) Pengujian (ke-) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
100
120
140
160
180
200
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Baud Rate (bps) 9600 Terima Data (ke-) Jumlah Data Galat (%) 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0-9 10 0-9 10 0 0-9 10 0-9 10 0-9 10 0,1,2,5,6 5 0,1,3,4,5,6,7,8,9 9 22 0-9 10 0-9 10 0,1,3,4,5 5 0 1 0,1 2 88 0 1 0 1 0 1 1,3 2 0,1 2 82 0,1,4 3 0 1 0 1 0 0 100 0 0 0
Tanggal 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016 28-05-2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-11 Komunikasi Pengiriman Paket Data Data Hasil Pengujian Komunikasi Pengiriman Paket Data Luar Ruang No Jarak (m) Pengujian (ke-) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
100
120
200
500
1000
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Baud Rate (bps) 9600 Terima Data (ke-) Jumlah Data Galat (%) 0-29 30 0-29 30 0 0-29 30 0-29 30 0-29 30 0-22 23 0-28 29 24 0-19 20 0-18 19 0-22 23 0 0 100 0 0 0 0 0 100 0 0 0 0 0 100 0 0 0
Tanggal 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016 29-05-2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-12
Dokumentasi Foto Pengujian Jarak Pancar Sistem Telemetri Pengujian Dalam Ruang
Lokasi Pengujian Di Lorong Laboratorium Kendali TE USD
Sistem Penerima Diletakkan Di Dalam Ruang
Sistem Pengirim Menjauhi Sistem Penerima
Data Yang Diterima Aplikasi Akuisisi Data
Sistem Data Dummy dan Sistem Pengirim dengan Catu Daya Accu 12 volt / 5Ah
Tampilan Data Yang Dikirimkan Sistem Data Dummy
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI L4-13 Pengujian Luar Ruang
Lokasi Pengujian Di Jl. Barosan, Sumbersari, Moyudan, Sleman, Yogyakarta.
Perangkat Sistem Penerima Dan Pengirim Diletakkan Dengan Tinggi 1 Meter
Perangkat Sistem Penerima Pada Papan Penyangga
Perangkat Sistem Pengirim Pada Papan Penyangga
Perangkat Sistem Data Dummy
Perangkat Sistem Pengirim Menjauhi Sistem Penerima