Data Dummy PERANCANGAN PENELITIAN

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 laptopPC 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. a b c d e f

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 subrutin- subrutin 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 Tabel 4.1. Variabel Global Pada Memori EEPROM 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]: 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: No Subsistem Parameter Tipe Data Fungsi 1 Penerimaan Paket Data dterima String Berisi paket data yang diterima jumlahd int Berisi perhitungan jumlah paket data yang diterima dkirim unsigned int Berisi perhitungan jumlah setiap karakter paket data yang diterima 2 Pengiriman Paket Data jumlahs int Berisi perhitungan jumlah data yang salah dalam pengiriman data kirim int Berfungsi sebagai flag yang menandakan paket data sedang dikirim bacad int Berisi perhitungan jumlah paket data yang telah dikirim temp char Berisi paket data yang tersimpan 3 Pewaktuan count volatile int Berisi perhitungan nilai pewaktuan rutin int Berfungsi sebagai flag untuk mengendalikan pewaktuan ping int Berfungsi sebagai flag untuk mengendalikan ping � = − � � � . ∗ � � � = − ∗ 6 ∗ =