3.4.1. Perangkat Lunak Modul Pencatat Kehadiran
Pada bagian ini dibahas tentang hal – hal yang berkaitan dengan perangkat lunak pada mikrokontroler yang ada pada modul pencatat kehadiran. Bagian – bagian
dari perangkat lunak meliputi instruksi yang digunakan, header data, format data pada EEPROM, program utama dan beberapa bagian program.
3.4.1.1. Instruksi Modul Pencatat Kehadiran
Modul pencatat kehadiran mempunyai beberapa instruksi yang digunakan untuk berkomunikasi dengan server. Instruksi – instruksi tersebut yaitu CNNCT,
TMNW dan JDWL. Setiap instruksi yang dikirimkan kepada server, akan mendapatkan respon yang berbeda.
Penjelasan dan keterangan mengenai respon – respon terhadap instruksi sebagai berikut:
1. CNNCT
Perintah CNNCT digunakan untuk memeriksa koneksi dengan server
. Tanggapan yang diberikan server terhadap instruksi ini yaitu CNNCTOK. Ketika perintah ini dikirimkan dan tidak ada data respon,
dapat diketahui bahwa koneksi dengan server terputus. 2.
TMNW Instruksi TMNW berfungsi untuk meminta data waktu pada saat
itu. Respon dari server digunakan untuk membandingkan dengan data waktu RTC, dan melakukan penyesuaian jika terjadi perbedaan dengan
RTC. Data yang diterima berupa tanggal, jam, menit dan detik.
3. JDWL
Perintah ini digunakan untuk meminta data jadwal sesuai dengan waktu modul dinyalakan. Data yang diterima berupa kode matakuliah,
nama matakuliah, dan nama pengajar.
Pada bagian instruksi TMNW dan JDWL, respon yang dikirimkan oleh server
disertai dengan informasi yang diperlukan sesuai permintaan instruksi. Respon data terhadap ketiga instruksi ini dapat dilihat pada tabel 3.3.
Tabel 3.3. Tabel Respon instruksi.
Instruksi Respon
CNNCT CNNCTOK
TMNW D[hari][bulan][tahun][jam]:[menit]:[detik]
JDWL [kode matakuliah];[nama matakuliah];[nama pengajar]
3.4.1.2. Header Data Modul Pencatat Kehadiran
Pengiriman data ke server dilakukan dengan memberikan tambahan berupa header
data pada awal data. Header berfungsi sebagai penanda terhadap data yang dibawa sehingga memudahkan server dalam pembacaan data. Sistem yang dibuat
pada modul pencatat kehadiran menggunakan dua buah header untuk mengirim data utama berupa NIM dan data presensi mahasiswa yang tersimpan di EEPROM.
Pada saat mahasiswa mengisi daftar presensi dan modul dalam keadaan online
, data NIM yang didapat dari barcode KTM tidak dikirimkan secara langsung ke server. Mikrokontroler terlebih dahulu akan memberi tambahan header data
berupa NIM. Adanya header ini, akan mempermudah server untuk mengenali bahwa data yang diterima mengandung NIM.
Bagian data kedua yang diberi header sebelum dikirimkan ke server adalah data presensi mahasiswa yang tersimpan di EEPROM. Data ini merupakan data
yang tersimpan ketika ada pengisian daftar presensi saat modul berkondisi offline mode
. Pemeriksaan data di EEPROM terjadi saat modul menyala dan berada pada online mode
, modul akan memeriksa apakah di EEPROM ada data presensi mahasiswa. Bila di EEPROM terdapat data, maka data ini tidak dikirimkan langsung
melainkan diberi header data terlebih dahulu. header data yang digunakan yaitu RDDT.
Kedua header data tersebut memiliki tanggapan dari server yang berbeda – beda, tanggapan ini dapat dilihat pada tabel 3.4.
Tabel 3.4. Respon data NIM dan RTC.
Format Data Respon
[9 digit NIM];BHL;[status] NIM[9 digit nim]
NODT RDDT[data EEPROM]
RDDTOK
Pada bagian NIM terdapat dua respon, respon NODT diberikan ketika NIM tidak ditemukan pada daftar presensi. Pada respon yang pertama, bagian status
menyatakan informasi tentang jumlah kehadiran total dari mahasiswa. Penjelasan mengenai status dapat dilihat pada tabel 3.5.
Tabel 3.5. Keterangan status.
Status Keterangan
OK kehadiran 100
OK-1 tidak hadir 1 kali
OK-2 tidak hadir 2 kali
OK-3 tidak hadir 3 kali
GAGAL tidak hadir lebih dari 3 kali
3.4.1.3. Format Data Presensi Mahasiswa di EEPROM