• Tidak ada hasil yang ditemukan

BAB 3 PERANCANGAN SISTEM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 PERANCANGAN SISTEM"

Copied!
38
0
0

Teks penuh

(1)

PERANCANGAN SISTEM

Sistem absensi yang digunakan terbagi menjadi dua bagian dasar, yaitu bagian perangkat keras (hardware) dan bagian perangkat lunak (software). Sistem yang dirancang dibagi atas beberapa bagian modul perangkat keras seperti diagram dibawah ini : A T M E G A 1 6 LC D 16x2 M A X 2 3 2 U S B to S E R IA L P C R T C (D S 1 3 0 7 ) E E -P R O M

M odul S is tem A bs ens i

R F ID reader

Gambar 3.1 Blok Diagram Sistem Absensi

Perancangan perangkat keras terdiri dari :

• Modul komputer yang digunakan sebagai database, pengolahan data yang akan menampilkan data absensi mahasiswa dan interface bagi pengguna. Semua data yang disimpan di dalam memori EEPROM alat absensi yang kemudian akan dikirim ke komputer database melalui komunikasi serial RS-232.

(2)

• Modul sistem minimum yang terdiri dari AVR ATmega 16 berfungsi sebagai kontrol utama yang diantaranya mengatur pembacaan data dari RFID, menyimpan ke dalam memori eksternal EEPROM 24C08, mengontrol tampilan LCD, dan mengatur komunikasi antara sistem minumum dengan komputer melalui protokol komunikasi RS-232. EEPROM 24C08 adalah memori eksternal yang digunakan untuk menyimpan data dan DS1307 atau sering disebut Real Time Clock berfungsi sebagai penyedia tanggal dan waktu.

• Modul RFID reader ID-12 berfungsi untuk membaca data yang ada di dalam tag dan kemudian data tersebut akan disimpan didalam EEPROM 24C08 melalui AVR ATmega 16.

• ID tag yang tersimpan di EEPROM 24C08 data akan diolah ke komputer

database, setelah dikirim ke komputer melalui komunikasi serial RS-232.

Perancangan piranti lunak terdiri dari:

• Pemrograman utama pada AVR ATmega 16 sebagai pengendali utama dalam sistem minimum yaitu mengatur sekaligus mengontrol komunikasi data secara bidirectional ke komputer dengan komunikasi serial RS-232, pengaturan pada pengiriman data ke EEPROM 24C08, kontrol LCD serta RFID.

• Program Visual Basic digunakan sebagai media penyimpanan data, melakukan kontrol terhadap sistem minimum seperti menghapus data di EEPROM 24C08, format data, pengambilan data, cetak absensi.

(3)

3.1. Perancangan Perangkat Keras

3.1.1. Modul Utama Sistem Minimum

Gambar 3.2 Rangkaian Sistem Absensi Keseluruhan.

Mikrokontroler AVR ATmega 16 dalam alat absensi berfungsi sebagai pengendali utama pada perangkat keras. Sistem mulai bekerja ketika ada kartu RFID tag yang mendekat pada RFID reader. RFID reader akan membaca ID yang ada didalam tag dengan cara membangkitkan gelombang elektromagnetik. Gelombang elektromagnetik yang mengenai tag ini akan membangkitkan integrated

(4)

yang ada di dalam tag tersebut. Kemudian data yang terbaca oleh RFID

reader akan diproses AVR ATmega 16 untuk disimpan di memori

eksternal EEPROM 24C08. Besar data tiap - tiap kartu sebesar 22 byte, yang datanya terdiri dari 16 byte data ID tag dan 6 byte berupa data waktu yang diambil dari Real Time Clock DS1307.

Memori eksternal EEPROM 24C08 yang digunakan memiliki kapasitas penyimpanan data sebesar 1Kb atau 1024 byte. Sehingga jika dihitung, maka EEPROM 24C08 dapat menyimpan data sebanyak 46 kartu. Sistem akan melakukan pengiriman data ketika modul utama sistem minimum dihubungkan ke PC melalui komunikasi serial RS-232 dan selanjutnya dilakukan pengambilan dan pengolahan data oleh Visual Basic.

3.1.2. Mikrokontroler AVR

Mikrokontroler AVR ATmega 16 dalam sistem merupakan modul utama sebagai pengkontrol slave device seperti Real Time Clock DS1307 dan EEPROM 24C08. Selain itu juga berfungsi sebagai pengkontrol LCD 16x2, RFID, Digital Switch 4006. Mikrokontroler yang digunakan adalah AVR ATmega 16 produksi ATMEL.

(5)

Gambar 3.3 Modul Mikrokontroler AVR.

3.1.3. RFID reader dan RFID tag

RFID reader ID-12 ini merupakan jenis RFID yang tidak

membutuhkan antena eksternal karena sudah memiliki antena internal. RFID reader ID-12 memiliki jarak pembacaan ke ID tag hingga ±12 cm. Daya yang dibutuhkan untuk mengaktifkan RFID sebesar 5 Volt. Format data output yang digunakan adalah ASCII. Data yang disimpan pada setiap ID tag sebesar 16 byte dimana tiap satu karakter dalam ASCII direpresentasikan dalam 8 bit. Dalam melakukan pengiriman data selalu diawali dengan start bit dan diakhiri dengan stop bit.

(6)

Gambar 3.4 Format Output Data ASCII.

RFID digunakan sebagai modul utama untuk membaca data berupa nomor ID tag yang terdapat dalam tag. Setiap mahasiswa akan memiliki nomor ID tag yang akan disinkronisasikan dengan nomor induk mahasiswa yang disimpan di database Microsoft Access. Nomor ID tag inilah yang akan menjadi identifikasi mahasiswa pada komputer database.

RFID terdiri dari dua komponen utama yaitu ID tag dan RFID

reader. Reader akan menghasilkan gelombang elektromagnetik yang

akan membangkitkan integrated circuit didalam tag yang berisi nomor ID unik. Sehingga ketika tag berada dalam area gelombang elektromagnetik dari reader, maka ID unik dalam tag akan dapat dibaca oleh reader. Saat RFID reader berhasil membaca ID tag maka akan terdengar bunyi beep dan nyala LED, yang menandakan bahwa data telah terbaca dan kemudian akan disimpan di EEPROM 24C08.

(7)

Gambar 3.5 Rangkaian RFID reader

3.1.4. Real Time Clock DS1307

DS1307 merupakan serial real time clock yang bekerja pada

tegangan 5 Volt. DS1307 juga memiliki tegangan baterai / VBAT 3 Volt

yang berfungsi sebagai baterai cadangan sehingga informasi waktu dan tanggal akan tetap tersimpan. Prinsip kerjanya sederhana, ketika tegangan Vcc berada dibawah 3 Volt maka secara otomatis akan melakukan

switching dan menggunakan supply baterai 3 Volt. Dalam kondisi

tegangan Vcc dibawah 1.25xVBAT operasi baca tulis tidak dapat

dilakukan.

DS1307 digunakan sebagai penunjuk waktu dan tanggal. Sebagai penunjuk waktu tersedia informasi mengenai jam, menit dan detik. Sedangkan sebagai tanggal tersedia informasi tanggal, bulan dan tahun

(8)

yang valid sampai tahun 2100. Dalam implementasinya pada rangkaian, pin SDA dan SCL di RTC membutuhkan resistor pull up sebagai jaminan agar data dapat tersalurkan dengan baik.

Gambar 3.6 Rangkaian DS1307

3.1.5. Komunikasi Serial RS-232

Dalam sistem ini, digunakan komunikasi serial RS-232 dengan IC( integrated circuit ) MAX-232. MAX-232 sebagai jalur komunikasi serial antara AVR dengan komputer yang memiliki baud rate sebesar 9600 baud per second.

(9)

Gambar 3.7 Rangkaian MAX232 3.1.6. LCD (Liquid Crystal Display)16x2

LCD yang digunakan dalam alat absensi ini menggunakan tipe 16x2, yang dapat menampilkan 16 karakter perbaris dan mempunyai 2 baris. Dalam sistem ini digunakan mode 4 bit.

Gambar 3.8 LCD 16x2

Pin – pin LCD yang digunakan: 1. Pin VSS atau power

2. Pin VDD atau ground 3. Pin register select (RS) 4. Pin read/write (R/W)

(10)

5. Pin enable (E)

6. Pin 11-14 merupakan pin data (DB4…DB7)

Gambar 3.9 Hubungan LCD dengan Mikrokontroler AVR.

3.1.7. EEPROM (Electrically Erasable Programmable Memory) 24C08

EEPROM 24C08 merupakan memori eksternal yang dapat dihapus dan dibaca secara elektronik. Memiliki kapasitas penyimpanan data sebesar 1024 byte dengan mode 8 bit dalam mengakses data. EEPROM 24C08 bekerja pada tegangan 3V – 5.5V dan memiliki daya tahan baca/tulis hingga 1 juta kali dan penyimpanan data yang valid hingga 40 tahun. Dalam implementasinya, pada pin SDA dan pin SCL dibutuhkan resistor pullup sebagai jaminan agar data dapat tersalurkan dengan baik, sedangkan untuk pin lainnya hanya digunakan pin VCC dan pin ground.

(11)

EEPROM 24C08 menggunakan standar komunikasi I2C dengan 2

wire serial interface yang menggunakan data bus dan serial clock secara bi-directional. Pada Device code yaitu 4 bit pertama menyatakan identification code yang berhubungan dengan I2C bus. Bit enable

menyatakan input dan diikuti dengan penempatan block B2 dan B1 masing – masing 256 byte tiap blocknya. Serta bit ke 8 yaitu mode R/W, perintah baca/tulis yaitu ’1’ sebagai mode read, ’0’ sebagai mode write dan diakhiri dengan acknowledge sebagai pemberitahuan bahwa data berhasil dikirim, setelah itu akan dilakukan pembacaan data mulai dari awal lagi yaitu kondisi START dan diakhiri kondisi STOP dimana terjadi setelah bit ke 9.

Tabel 3.1 Device select code

Device Code Chip

Enable Block Select RW BIT B7 B6 B5 B4 B3 B2 B1 B0 DEVICE SELECT 1 0 1 0 E A9 A8 RW

(12)

3.1.8. Digital Switching 4066

Dalam sistem, IC 4066 digunakan untuk switching jalur input serial antara RFID dan MAX-232 ke AVR pin Rx dan Tx. Switching ini diperlukan karena AVR ATmega 16 hanya mempunyai satu jalur untuk komunikasi serial receive dan transmit, yaitu pada port D. Dalam kondisi

default, dimana port USB tidak dihubungkan ke alat absensi maka

tegangan Vcc dari mosfet 09n03 akan langsung turun dan mentrigger digital switching 4066, sehingga RFID pin 9 akan terhubung ke pin Rx di AVR.

Gambar 3.10 Jalur RFID ke AVR melalui 4066.

Bila port USB dihubungkan ke komputer, tegangan +5V dari port USB menjadi trigger untuk switching 4066, sehingga Vcc dari mosfet

(13)

akan langsung turun ke ground dan jalur RFID ke AVR terputus. Sehingga yang terhubung akan menjadi MAX-232 ke AVR ATmega16.

Gambar 3.11 Jalur MAX-232 ke AVR. 3.1.9. Modul Catu Daya

Rangkaian catu daya pada alat absensi menggunakan regulator LM317 sebagai penstabil tegangan sehingga dihasilkan output 5 Volt yang digunakan dalam sistem. Rangkaian catu daya ini juga dapat melakukan fungsi charging pada battery yang digunakan.

(14)

Gambar 3.12 Modul Catu Daya. 3.1.10. Modul Battery Monitor

Dalam sistem, digunakan rangkaian battery monitor sebagai indikator tegangan pada battery. Kondisi tegangan battery ditunjukan oleh nyala 4 lampu LED. Apabila semua lampu menyala, menunjukkan tegangan battery penuh. Komparator LM339 sebagai pembanding tegangan Vbatt dengan Vcc, sehingga akan didapat kondisi tegangan pada saat itu. Dalam rangkaian, Vbatt dihubungkan ke battery, sedangkan Vcc dihubungkan ke output regulator LM317.

(15)

Gambar 3.13 Modul Battery Monitor.

3.2. Perancangan Piranti Lunak

Perancangan piranti lunak terbagi atas piranti lunak pada AVR dan piranti lunak pada PC. Pada piranti lunak AVR menggunakan bahasa pemrograman C, sementara pada piranti lunak pada PC menggunakan bahasa

(16)

pemrograman Visual Basic sebagai user interface dan untuk perancangan database digunakan Microsoft Access.

3.2.1. Perancangan Piranti Lunak Pada Alat Absensi.

Perancangan piranti lunak yang diprogram pada mikrokontroler AVR di dalam alat absensi meliputi perancangan untuk tampilan LCD, penyimpanan data RFID dan data RTC ke memori eksternal EEPROM 24C08, dan komunikasi dari dan ke komputer melalui protokol komunikasi serial RS-232.

(17)

tampilkan "WELCOME BINUSIAN" Start Ada data serial? Tampung data di array Tampung data == data RFID ?

Ambil waktu dan tanggal dari RTC. Simpan waktu dan tanggal ke EEPROM Simpan data RFID ke EEPROM. Jumlah karakter di Tampung data == 1 ? Tampung Data == 0xFA ? Hapus data Ya Tidak Ya Ya Ya Ya Ya Ya Tidak Tidak Tidak Tidak Tampung Data == 0xFB ? Format data Tampung Data == 0xFC ? Transfe r data Tampung Data == 0xFD ? Reset address transfer inisialisasi timeOut == 1 ? Tidak Ya Tampilkan “Waktu absensi sudah ditutup!”

Set waktu & tanggal di RTC Ya Karakter awal di Tampung Data == 0xFE ? PINB.1 == 0 ? timer_starte d ==1 ? Start_time = waktu sekarang Waktu sekarang -Start_time >=30 ? Tampilkan “Waktu absensi sudah ditutup!” Tampilkan sisa waktu absen Tidak Ya Ya Tidak Tidak timeOut=1 timer_started =1 USB terkoneksi ? Tampilkan “USB disconnected, EDIT MODE OFF”

Tidak Tidak Ya Tidak Tidak Ya Tampilkan “USB Connected, EDIT MODE ON” timeOut = 0 timer_started = 0

(18)

Pada diagram alir AVR, pertama dilakukan inisialisasi serial meliputi inisialisasi LCD(Liquid Crystal Display), I2C, dan RTC (Real Time Clock). Jika proses inisialisasi telah selesai dijalankan maka pada LCD akan menampilkan tulisan berupa “HELLO BINUSIAN”. Kemudian sistem akan menunggu apakah ada data serial yang masuk . Jika terdapat data serial yang masuk, maka data akan ditampung di sebuah array dan setelah tidak terdapat data yang terbaca lagi maka dilakukan validasi apakah data yang terdapat di variabel tampung sama dengan data RFID, jika merupakan data RFID maka dilakukan pengecekan apakah timeout = 1 atau tidak. Jika timeout = 1 maka mahasiswa tidak dapat melakukan absen (dalam hal ini batas waktu absen sudah lebih dari 30 menit.). Jika timeout ≠ 1, mahasiswa masih dapat melakukan absen dan dilakukan pengambilan data berupa waktu dan tanggal dari RTC yang kemudian data-data tersebut akan disimpan pada EEPROM berupa data dari RFID dan data waktu serta tanggal.

Jika bukan data dari RFID maka ke statement berikutnya. Data yang bukan data RFID adalah data command yang terdapat pada modul. Berikut

command yang ada pada modul:

FA : Command untuk menghapus data di EEPROM.

FB : Command untuk melakukan format data di EEPROM.

FC : Command untuk melakukan transfer data di EEPROM . FD : Command untuk mereset address transfer.

(19)

Pada perintah selanjutnya akan dicek apakah ada port USB yang terhubung. Jika tidak terhubung akan ditampilan pada LCD berupa tulisan “USB disconnected. EDIT MODE OFF”, jika ya akan muncul pada LCD berupa tulisan “USB Connected.EDIT MODE ON”. Setelah USB terkoneksi kemudian dilakukan pengesetan waktu dan tanggal di RTC.

Perintah penggunaan tombol timer, Pada perintah tersebut mula – mula dilakukan pengecekan apakah terdapat penekanan tombol timer (PINB.1 = 1). Jika terdapat penekanan tombol timer maka akan mulai dilakukan penghitungan waktu 30 menit kedepan. Percabangan berikutnya akan dicek apakah waktu sudah lewat dari 30 menit, jika sudah melewati waktu yang ditentukan maka akan ditampilkan ke LCD bahwa “Waktu absensi sudah ditutup”, sehingga mahasiswa sudah tidak dapat melakukan absen. Sebaliknya jika waktu belum melewati 30 menit, maka akan ditampilkan pada LCD berupa sisa waktu absen.

Diagram alir perancangan piranti lunak pada hardware akan selalu

(20)

3.2.2. Perancangan Piranti Lunak Pada User Interface. Start Inisialisasi Pilih Jurusan Pilih Semester Pilih Kelas PIlih Matakuliah Pilih Dosen Isi combo B

(21)

Tampilkan Data Absensi

Button Pilih Button Hapus Isi Tabel Execute button

Hapus Isi Tabel

buka dan refresh tabel "absen_mahasiswa"

cek tabel "absen mahasiswa"

tabel kosong ?

delete semua record

click button Refresh Tabel

Tidak Ya

Button Refresh Tabel

buka dan refresh tabel "absen_mahasiswa" kirim 0xFDh ke modul absen kirim 0xFCh ke modul absen delay mscomm1_onComm data byte ke 22 != 0x03h ?

buka dan refresh tabel "absen_mahasiswa" statusBar= "Validasi data" validate_data statusbar = "OK" statusBar="baca data" Ya Tidak A End button ambil Absensi B extract data matakuliah

extract data dosen

insert mahasiswa

(22)

A hapus ? statusBar="Hapus data" kirim 0xFAh ke modul absen mscomm1_onComm format ? statusBar="Format data" kirim 0xFBh ke modul absen mscomm1_onComm tutup database keluar program Ya Tidak Ya Tidak button Hapus Data button Format

Data button Exit

End button Cetak Tabel buka data_absen.mdb tampilkan database di data report.

cetak data report

Gambar 3.15 Diagram Alir Utama Program Visual Basic.

Pada diagram alir perangkat lunak dilakukan inisialisasi serial port dan database. Setelah sistem minimum dihubungkan ke komputer melalui USB to serial, maka pada program Visual Basic akan dilakukan sinkronisasi waktu dan tanggal pada komputer ke sistem minimum. Kemudian pada Visual Basic terdapat tampilan kontrol modul berisi combo box jurusan, semester, kelas, matakuliah, dosen yang harus kita isi terlebih dahulu. Urutan pertama adalah pilihan jurusan, kemudian pilih semester. Dari pilihan jurusan dan semester langkah berikutnya adalah memilih kelas dan matakuliah dan yang terakhir adalah memilih dosen sesuai dengan pilihan jurusan, semester dan kelas yang telah dipilih diatas.

(23)

Jika combo box jurusan belum terpilih, maka kelas combo,mata kuliah combo dan dosen combonya tidak akan terisi.

Apabila semua combo sudah terisi lengkap, langkah berikutnya adalah menekan tombol Pilih, yang akan mengekstrak data yang telah kita pilih dari database dan kemudian ditampilkan ke dalam tabel.

Jika tombol Hapus ditekan maka akan muncul peringatan ”anda yakin mau menghapus data dalam modul”. Jika tidak maka data dalam EEPROM tidak jadi dihapus. Jika dilakukan hapus data maka akan muncul status bar “ hapus data” pada Visual Basic, kemudian data

command FA akan dikirim ke sistem minimum melalui serial port.

Setelah alat absensi menerima command FA, maka data di EEPROM akan dihapus.

Jika tombol Format ditekan maka akan muncul peringatan ”anda yakin mau format data dalam modul”. Jika tidak maka data dalam EEPROM tidak jadi dihapus. Jika dilakukan format data maka ajan muncul status bar ”format data” pada Visual Basic, kemudian data

command FB akan dikirim ke sistem minimum melalui serial port.

Setelah sistem minimum menerima command FB, data di EEPROM akan dihapus.

Jika tombol Cetak Tabel ditekan maka data_absen.mdb akan diextract, kemudian datanya ditampilkan di data report untuk selanjutnya dilakukan pencetakan data report.

Jika tombol Exit ditekan maka koneksi ke database akan ditutup dan keluar dari program Visual Basic.

(24)

Ketika tombol Ambil Absensi ditekan maka command FD akan dikirim ke alat absensi melalui serial port yang digunakan untuk mereset Address EEPROM pada alat absensi. Kemudian status bar pada Visual Basic akan tampil “baca data”. Kemudian command FC akan dikirim ke sistem minimum yang merupakan command untuk mentransfer data yang ada di EEPROM. Program akan terus memeriksa apakah data byte ke 22 adalah 0x03h yang merupakan akhir dari data RFID. Bila Ya, maka status bar akan menampilkan “Validasi Data” dan data RFID akan diekstrak, bila data RFID nya benar, maka status bar berubah menjadi “OK”. Setelah semua data selesai, yang ditandai dengan data byte ke 22 bukan 0x03h, maka tabel absen_mahasiswa akan dibuka dan direfresh.

(25)

3.2.3. Diagram Alir Isi Combo.

Jurusan combo = SK

isi kelas combo dg field "kelas_sk"

isi matakul combo dg field "mtkul_sk"

isi dosen combo dg field "mtkul_sk"

Jurusan combo = SI

isi kelas combo dg field "kelas_si"

isi matakul combo dg field "mtkul_si"

isi dosen combo dg field "mtkul_si"

Jurusan combo = KA

isi kelas combo dg field "kelas_ka"

isi matakul combo dg field "mtkul_ka"

isi dosen combo dg field "mtkul_ka"

Jurusan combo = TI

isi kelas combo dg field "kelas_ti"

isi matakul combo dg field "mtkul_ti"

isi dosen combo dg field "mtkul_ti" Isi Combo

Return

Gambar 3.16 Diagram Alir Isi Combo.

Ketika dipilih jurusan SK maka field kelas akan diisi kelas SK, field mata kuliah akan diisi mata kuliah SK, dan field dosen akan diisi dengan dosen_sk.

(26)

3.2.4. Diagram Alir Extract Data Dosen

Extract data dosen

pisah (split) text di combo setiap ada

tanda "/" variabel kode_dosen = data_dosen (0) variabel dosen = data_dosen (1) jurusan combo ="SK" ? ambil id tag dosen sk dari tabel "ilmu kiomputer" berdasarkan nama dosen dari variabel "dosen" jurusan combo ="SI" ? jurusan combo ="KA" ? jurusan combo ="TI" ? ambil id tag dosen si dari tabel "ilmu kiomputer" berdasarkan nama dosen dari variabel "dosen" ambil id tag dosen ka dari tabel "ilmu kiomputer" berdasarkan nama dosen dari variabel "dosen" ambil id tag dosen ti dari tabel "ilmu kiomputer" berdasarkan nama dosen dari variabel "dosen" End simpan hasil pemisahan di array data_dosen Ya

Tidak Tidak Tidak Tidak

Ya Ya Ya

(27)

Pada diagram alir anak extract data dosen, pertama dilakukan pemisahan text jika ditemui karakter “/”. Setelah sudah dilakukan pemisahan text, maka text yang sudah dipisah akan disimpan di array data_dosen. Ada 2 text yang akan disimpan dalam array. Data pada variabel kode_dosen = data_dosen array yang (0) data kode dosen akan ditampung di variabel kode_dosen. Data variabel_dosen = data_dosen

array yang (1) data nama dosen akan ditampung di variabel_dosen.

Kemudian diperiksa apakah jurusan SK, SI, KA atau TI. Jika salah satu jurusan terpenuhi maka akan di ambil id tag dosen jurusan dari tabel “ilmu komputer berdasarkan nama dosen dari variabel “dosen”.

(28)

3.2.5. Diagram Alir Extract Data Mata Kuliah

Extract Data Matakuliah

Pisah (split) text di matakuliah combo setiap tanda "/" Simpan hasil pemisahan di array data_mtkul variabel kode_mtkul = data_mtkul (0) variabel mtkul = data_mtkul (1) variabel sks = data_mtkul (2) End

Gambar 3.18 Diagram Alir Extract Data Mata Kuliah.

(29)

Pada diagram alir anak extract data mata kuliah pertama dilakukan pemisahan text di mata kuliah setiap ada tanda “/”. Setelah text sudah dipisah maka data akan disimpan di array data_mtkul. Data text yang disimpan ini ada 3. Data variabel kode_mtkul = data_mtkul(0) data dari kode mata kuliah ini akan ditampung di variabel kode_mtkul, Data variabel mtkul = data_mtkul(1) data nama mata kuliah akan ditampung di variabel mtkul, dan variabel sks = data_mtkul(2) data jumlah sks akan ditampung di variabel sks.

(30)

3.2.6. Diagram Alir Extract Data RFID Extract data RFID

isi var time_card = ascii byte pertama dari var each_card + ":" + ascii byte kedua dari var each_card + ":" + ascii byte ketiga dari

var each_card

isi var date_card = ascii byte ke 4 dari var each_card + "/" + ascii

byte ke5 dari var each_card + "/" + ascii

byte ke6 dari var each_card

isi var raw_card sebanyak 8 byte dimulai

dari urutan byte ke 10 dari variabel each_card

konversi 8 byte dari string (aslinya) menjadi

integer

konversi integer tersebut dari hexadesimal(aslinya)

menjadi desimal

simpan hasil konversi ke variabel card_number

End

(31)

Variabel utama each card yang berisi 22 Byte dipisah antara tgl dan waktu sebanyak 6 Byte. Pertama diambil 3 Byte waktu yang ditampung di isi var time_card, kemudian 3 Byte data tanggal ditampung di isi var date_card. Data kartu RFID yang berisi 16 Byte di ambil 8 Byte yang dimulai dari dari urutan byte ke 10 dari variabel each_card. kemudian dilakukan konversi dari 8 byte data yang sudah di ambil dari

String menjadi integer, hasil konversi integer tersebut dari heksadesimal

diubah menjadi desimal. Hasil konversi ke desimal tersebut disimpan dalam konversi ke variabel card_number.

(32)

3.2.7. Diagram Alir Insert Mahasiswa

Insert Mahasiswa

ambil semua record yang field "kelas"-nya = kelas combo,

dari tabel "data_mahasiswa" Ada record ? masukan semua record mahasiswa ke dalam tabel "absen mahasiswa" masukkan record dosen dalam tabel "absen mahasiswa"

End

msgbox "kelas yang anda pilih belum

mendaftarkan mahasiswa" Tidak

Ya

Gambar 3.20 Diagram Alir Insert Mahasiswa.

Pada diagram alir insert mahasiswa, mula - mula di ambil semua

record yang field "kelas"-nya = kelas combo, dari tabel

(33)

atau tidak, jika tidak ada record maka akan muncul message box "kelas yang anda pilih belum mendaftarkan mahasiswa". Jika ada record maka

record mahasiswa akan dimasukkan ke dalam tabel “absen mahasiswa”, record dosen akan dimasukkan ke dalam tabel “absen mahasiswa”.

mscomm1_onComm Terima data (Rx) dari modul absensi byte pertama = 0xFAh statusBar = "Hapus OK" End byte pertama = 0xFBh statusBar = "Format OK" byte pertama = else simpan data Rx ke variabel each_card. ya tidak ya tidak

Gambar 3.21 Diagram Alir Inisialisais Serial dan Database.

Ketika serial menerima data dari modul absensi, periksa apakah byte pertama dari Rx itu FA atau bukan, jika FA maka di status bar akan muncul “hapus ok”( data EEPROM di modul dihapus) jika byte pertama FB, maka di status bar akan muncul ”format ok” (data EEPROM di

(34)

modul di Format). Jika byte pertama bukan FA dan FB maka data akan disimpan ke variabel each_card.

(35)

3.2.8. Diagram Alir Validasi Data

Validasi Data

ambil record yang isi field "rfid_tag" nya = isi variabel

card_number, dari tabel "absen_mahasiswa"

Ada record

tambahkan sebuah record di tabel "absen mahasiswa"

dengan field "nama mahasiswa" = "tidak terdaftar" dan field "rfid tag"

= isi var card_number

Simpan hasil perubahan update isi record di field

"absensi" = "sudah absen", field ""tanggal" = isi var date_card , field "waktu" =

isi var time_card

Simpan hasil perubahan

End

Ya

Tidak

Gambar 3.22 Diagram Alir Validasi Data.

Pada diagram alir validasi ini pertama Diambil record yang isi field rfid_tagnya = isi variabel card_number dari tabel absen_mahasiswa

(36)

( Nomor Id tag yang masuk dicari yang ada dalam tabel absen_mahasiswa). Jika ada record maka tabel akan di update menjadi sudah absen dan dimasukkan tanggal dan waktu absensi, jika tidak RFIDnya tidak ada record maka akan ditambahkan sebuah record tabel yang menjelaskan bahwa mahasiswa tidak terdaftar dalam kelas. Setelah tabel record di update maka hasil perubahan tabel “absen_mahasiswa”.

3.2.9. Microsoft Access

Microsoft Access digunakan sebagai database. Dalam perancangan sistem, digunakan dua buah file yaitu source.mdb dan data_absen.mdb. Di dalam file source.mdb berisi tabel ilmu_komputer dan tabel data_mahasiswa. Tabel ilmu_komputer berisi kelas, dosen, tag_dosen, dan matakuliah jurusan. Tabel data_mahasiswa berisi jurusan, nama_mahasiswa, kelas, NIM dan ID tag.

(37)

Gambar 3.23 Contoh Tabel ilmu_komputer difile Source.mdb

(38)

Sedangkan data_absen.mdb berisi data hasil absensi mahasiswa yang berisi field jurusan, mata_kuliah, kode_matakuliah, SKS, kelas, nama mahasiwa, NIM, ID tag, status absensi, tanggal dan waktu.

Gambar

Gambar 3.1 Blok Diagram Sistem Absensi
Gambar 3.2 Rangkaian Sistem Absensi Keseluruhan.
Gambar 3.3 Modul Mikrokontroler AVR.
Gambar 3.5 Rangkaian RFID reader
+7

Referensi

Dokumen terkait

Setelah mengaku dosa, Zakheus inisiatif lagi untuk mengembalikan uang yang telah diambil dari orang lain sebanyak 4x lipat dari yang dia ambil.. Jadi, kalau

Perlakuan varietas berpengaruh sangat nyata terhadap tinggi tanaman pada 1,2,7MST: jumlah ruas pada 1,2,3,6,7MST; jumlah bunga betina gugur pada 4MST; jumlah bunga jantan

Turbin Propeler disebut juga turbin baling-baling poros horizontal adalah turbin yang bekerja di dalam air yang dapat mengubah head kecil atau rendah menjadi power yang

Perlu dilakukan penelitian mengenai perbedaan pola ruge palatal padapenduduk keturunan Deutro Melayu dengan keturunan Cina dengan metode yang berbeda dengan sampel

0511 11.Sejauh mana program pengembangan profesional TVE telah berhasil dalam meningkatkan keterampilan guru Anda dalam pembelajaran siswa. 6 Sikap terhadap

Sistem klasifikasi diatas disusun berdasarkan kriteria berikut: (1) tingkat ketelitian interpretasi minimum dengan menggunakan penginderaan jauh harus tidak kurang dari 85%,

Gastropoda yang ditemukan di Pantai Batu Bao Desa Tesabela Kecamatan Kupang Barat Kabupaten Kupang pada Bulan November- Desember 2014 ada 19 jenis gastropoda

Perubahan-perubahan yang terjadi pada ketiga sistem tersebut mendorong Wiersum (1982) membedakan tree gardening menjadi : home garden (pekarangan), mixed garden (kebun campuran)