3.4.1.4.2. Offline mode
Pada  saat  offline  mode,  modul  akan  menampilkan  informasi  di  LCD berupa  waktu  dan  pesan.  Pesan  yang  tertampil  mewakili  apakah  modul  dapat
digunakan  atau  tidak.  Modul  tidak  dapat  digunakan  jika  waktu  pada  RTC  salah atau  EEPROM  sudah  penuh  terisi  data.  Kesalahan  pada  RTC  dapat  terjadi  saat
baterai  cadangan  RTC  sudah  habis  atau  ada  gangguan  saat  RTC  diakses.  Pada mode
ini, data – data berupa NIM dan waktu disimpan di EEPROM.
Gambar 3.16. Diagram alir modul saat offline mode.
3.4.1.5. Subrutin Penerima Data Barcode Scanner
Interupsi  eksternal  digunakan  untuk  menangani  bagian  pengambilan  data dari barcode scanner, protokol yang digunakan yakni PS2. Pin mikrokontroler yang
digunakan  adalah  PD.5  dan  PD.2.  Clock  diterima  oleh  PD.2,  sedangkan  data diterima PD.5.
Metode  yang  digunakan  adalah  meletakkan  setiap  bit  yang  diterima  ke posisi MSB, dan menggeser ke arah kanan sebanyak satu kali setiap ada data yang
masuk. Setelah data yang masuk mencapai satu byte, data disimpan ke dalam sebuah variabel. Berikut ini potongan kode program pada bagian interupsi eksternal 0, yang
digunakan untuk melakukan proses penerimaan data barcode scanner.
interrupt [EXT_INT0] void ext_int0_isrvoid {
asmcli jml++;
ifjml10jml1 {  ifPIND.5==1
{ karakter=karakter|0x80;
} ifjml=8
{ karakter=karakter1;
} }
ifjml==11 {
jml=0; krk[ttl]=karakter;
ttl++; krk[ttl]=0x00;
} asmsei
}
Setelah  menerapkan  subrutin  di  atas  diperoleh  kode  untuk  setiap  digit angka. Kode tersebut dapat dilihat pada tabel 3.10, nilai data tersebut sama dengan
kode angka keyboard komputer. Tabel 3.10. Kode heksadesimal untuk digit angka.
Angka Kode
heksadesimal Angka
Kode heksadesimal
45 5
2E 1
16 6
36 2
1E 7
3D 3
26 8
3E 4
25 9
46
Gambar 3.17. Kode pada  keyboard komputer.
3.4.2. Perangkat Lunak Aplikasi Desktop
Bagian  ini  akan  membahas  perancangan  perangkat  lunak  pada  PC  berupa aplikasi  desktop.  Aplikasi  desktop  yang  dibuat  terdiri  dari  dua  bagian  yaitu  bagian
pengolah data dan aplikasi server. Pengolahan data meliputi penanganan jadwal kuliah dan  peserta  perkuliahan.  Aplikasi  server  digunakan  untuk  menangani  komunikasi
terhadap  modul  pencatat  kehadiran.  Oleh  karena  aplikasi  desktop  cukup  kompleks, maka aplikasi desktop yang dibuat terdiri dari beberapa form.
Form  –  form yang  digunakan  untuk  menangani  jadwal  dan  peserta  kuliah
terdiri dari empat buah form data, yaitu pengajar dan mahasiswa, matakuliah, jadwal, dan peserta. Form – form untuk aplikasi server yakni form koneksi dan halaman utama.
Selain beberapa form tersebut tedapat dua buah form lain yaitu form laporan dan input file
.
3.4.2.1. Perancangan Form Data Pengajar dan Mahasiswa
Form pengajar  dan  mahasiswa  digunakan  untuk  mengolah  data  yang
berkaitan  dengan  pengajar  maupun  mahasiswa.  Data  yang  diolah  meliputi  NIM, nama  mahasiswa,  kode  pengajar,  dan  nama  pengajar.  Pada  form  ini,  terdapat  tiga
menu utama yaitu input, edit, dan delete. Setiap menu dapat dioperasikan untuk data