Anda di halaman 1dari 52

PEMAMFAATAN TEKNOLOGI RFID UNTUK

PENCATATAN KEHADIRAN DI INSTITUT


TEKNOLOGI DEL

TUGAS AKHIR
Karya tulis sebagai salah satu syarat untuk memperoleh gelar Sarjana

Oleh
Grace La Rosa Sihotang
NIM 14S14010

Program Studi Sarjana Teknik Elektro


Fakultas Teknik Informatika dan Elektro
INSTITUT TEKNOLOGI DEL
2019
Lembar Pengesahan

Tugas Akhir Sarjana

PEMAMFAATAN TEKNOLOGI RFID UNTUK PENCATATAN


PENCATATAN KEHADIRAN DI INSTITUT TEKNOLOGI
DEL
Adalah benar dibuat oleh saya sendiri dan belum pernah dibuat dan diserahkan
sebelumnya baik sebagian atau pun seluruhnya, baik oleh saya mau pun orang
lain, baik di IT Del maupun institusi pendidikan lainnya.

Laguboti, Januari 2019

Penulis
Pasfoto 3x4

Grace La Rosa Sihotang


NIM 14S14010

Laguboti, Januari 2019

Pembimbing

I Gde Eka Dirgayussa, M.Si


NIDN 0103058901

Mengetahui:

Program Studi Sarjana Teknik Elektro


Ketua,

Indra Hartarto Tambunan, Ph.D.


NIDN 0128048403
PROGRAM STUDI S1 TEKNIK ELEKTRO
FAKULTAS TEKNIK INFORMATIKA DAN
ELEKTRO
INSTITUT TEKNOLOGI DEL

Diberikan kepada :
Nama : Grace La Rosa Sihotang
NIM : 14S14010

Judul Tugas Akhir adalah Pemamfaatan Teknologi RFID untuk Pencatatan


Pencatatan kehadiran di Institut Teknologi Del.

Dengan isi Tugas Akhir sebagai berikut:

BAB I Pendahuluan
BAB II Tinjauan Pustaka
BAB III Metodologi Penelitian
BAB IV Hasil dan Pembahasan
BAB V Kesimpulan

Tugas Akhir ini dibuat rangkap 4 (empat):

1. Untuk Pembimbing ( 1 buah )


2. Untuk Penguji Sidang Tugas Akhir ( 1 buah )
3. Untuk Tata Usaha Program Studi Sarjana Teknik Elektro ( 1 buah )
4. Untuk Perpustakaan ( 1 buah )

Laguboti, Januari 2019

Menyetujui

Koordinator Tugas Akhir, Pembimbing,

Santi Febri Arianti, S.Si, M.Sc I Gde Eka Dirgayussa,M.Si


NIDN 0104028502 NIDN 0103058901
ABSTRAK

PEMAMFAATAN TEKNOLOGI RFID UNTUK PENCATATAN


PENCATATAN KEHADIRAN DI INSTITUT TEKNOLOGI DEL

Oleh
Grace La Rosa Sihotang
NIM : 14S14010

Jumlah mahasiswa di Institut Teknologi Del pada awalnya tidak terlalu banyak, dan
penggunaan sistem pencatatan kehadiran manual masih tergolong efisien apabila
dilihat dari segi jumlah mahasiswa saat itu dan jumlah penggunaan kertas. Namun,
seiring berjalannya waktu, jumlah mahasiswa Institut Teknologi Del mengalami
peningkatan yang cukup signifikan, sehingga saat ini dibutuhkan sebuah sistem yang
efisien baik dari segi waktu maupun material yang digunakan untuk mendata kehadiran
mahasiswa dan dosen. Oleh sebab itu, dibutuhkan sebuah sistem yang dapat
meminimalisir hal tersebut. Teknologi RFID merupakan sebuah metode identifikasi
dengan menggunakan sarana yang disebut label RFID yang terdiri dari microchip
silicon dan antena. Sistem pencatatan kehadiran ini akan bekerja dengan
membandingkan id RFID pengguna yang sedang melakukan pencatatan kehadiran
dengan data id RFID yang sudah didaftar sebelumnya. Sistem pencatatan kehadiran
telah berhasil dibangun dan digunakan untuk mengatasi masalah pendataan kehadiran
yang masih dilakukan secara manual di IT Del. Sistem pencatatan ini dibangun
menggunakan Raspberry PI sebagai micro controller, MySQL sebagai database, dan
diimplementasikan dengan menggunakan bahasa pemrograman Python. Sistem
pencatatan kehadiran tersebut berhasil mencapai akurasi sebesar 86,8% dengan total
waktu yang digunakan ketika mebandingkan id RFID yang masuk dengan id RFID
yang telah disimpan adalah ± 1 detik.

Kata Kunci: RFID , Raspberry PI, MySQL, Python

I
KATA PENGANTAR
Puji serta syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah
melimpahkan rahmat-Nya sehingga penulis dapat melaksanakan Tugas Akhir serta
dapat menyelesaikan skripsi yang berjudul “Pemanfaatan Teknologi RFID untuk
Pencatatan Pencatatan kehadiran di Institut Teknologi Del”. Keberhasilan
pengerjaan Tugas Akhir tidak lepas dari dukungan berbagai pihak yang sangat
membantu, oleh sebab itu penulis sampaikan rasa terimakasih kepada :
1. Bapak I Gde Eka Dirgayussa,S.Pd, M.Si, selaku Dosen Pembimbing I, yang
telah membimbing pengerjaan Tugas Akhir ini hingga selesai.
2. Bapak Marojahan Mula Timbul Sigiro, S.T, M.Sc, selaku Dosen
Pembimbing II yang telah membimbing pengerjaan Tugas Akhir ini hingga
selesai.
3. Bapak Indra Hartarto Tambunan, Ph.D, selaku Ketua Program Studi Teknik
elektro yang telah mengdukung dan memberikan izin untuk keberlangsungan
penelitian ini.
4. Keluarga besar, terkhusus orang tua yang telah banyak memberikan doa dan
dukungan hingga skripsi ini selesai.
5. Semua Pihak yang telah banyakk membantu dalam penyusunan skripsi ini,
yang tidak dapat penulis sebutkan satu persatu.

Akhir kata penulis menyadari bahwa dalam skripsi ini masih terdapat
kekurangan dan jauh dari sempurna, hal ini dikarenakan oleh keterbatasan,
pengalaman, dan pengetahuan penulis. Untuk itu saran dan kritik yang membangun
sangat diperlukan demi kesempurnaan skripsi ini di kemudian hari. Penulis berharap
semoga skripsi ini bermanfaat bagi penulis dan pihak lain yang tertarik untuk
membacanya.
Sitoluama, Januari 2019

Penulis
Grace La Rosa Sihotang
14S14010

II
DAFTAR ISI
ABSTRAK ..................................................................................................................... i
DAFTAR ISI ................................................................................................................ iii
DAFTAR GAMBAR .................................................................................................... v
DAFTAR TABEL ........................................................................................................ vi
DAFTAR SINGKATAN DAN LAMBANG.............................................................. vii
BAB 1 Pendahuluan ................................................................................................ 1
1.1. Latar Belakang ............................................................................................... 1
1.2. Rumusan Masalah .......................................................................................... 3
1.3. Tujuan Penelitian ............................................................................................ 3
1.3.1 Tujuan ................................................................................................... 3
1.3.2 Manfaat ................................................................................................. 3
1.4. Ruang Lingkup dan Batasan........................................................................... 4
1.5. Sistematika Penyajian .................................................................................... 4
BAB 2 Tinjauan Pustaka ......................................................................................... 5
2.1. RFID ............................................................................................................... 5
2.2. LCD (Liquid Crystal Display) 4x20 ............................................................... 6
2.3. Raspberry Pi ................................................................................................... 7
2.4. Python ............................................................................................................. 9
2.5. MySQL Database ........................................................................................... 9
BAB 3 Metode Penelitian ..................................................................................... 10
3.1. Lokasi dan Waktu Penelitian ........................................................................ 10
3.2. Bahan dan Alat Penelitian ............................................................................ 10
3.2.1 Bahan Penelitian.................................................................................. 10
3.2.2 Alat Penelitian ..................................................................................... 10
3.3. Teknik Pengambilan Data ............................................................................ 11
3.3.1 Studi Literatur ............................................................................................ 11
3.3.2 Observasi .................................................................................................... 11
3.3.3 Wawancara ................................................................................................. 12
3.4. Perancangan dan Pembuatan Alat ................................................................ 12
3.4.1 Perancangan Desain Sistem ................................................................ 12
3.4.2 Perancangan Desain Hardware ........................................................... 28

III
3.4.3 Perancangan Desain Database............................................................. 35
BAB 4 Hasil dan Pembahasan .............................................................................. 38
4.1. Tampilan Utama pada Sistem....................................................................... 38
4.2. Tampilan User ketika sistem berhasil membaca RFID card ....................... 39
4.3. Tampilan User Tidak Dikenal Sistem .......................................................... 40
BAB 5 Kesimpulan dan Saran .............................................................................. 41
5.1. Kesimpulan ................................................................................................... 41
5.2. Saran ............................................................................................................. 41
DAFTAR PUSTAKA ................................................................................................. 42

IV
DAFTAR GAMBAR

Gambar 2.1 RFID .......................................................................................................... 6


Gambar 3.1 Diagram sistem secara umum ................................................................. 12
Gambar 3.2 Flowchart Registrasi untuk user .............................................................. 13
Gambar 3.3 Flowchart enroll user ketika hendak mamasuki kelas ............................ 17
Gambar 3.4 Integrasi antara LCD 4x20 dengan Raspberry Pi .................................... 28
Gambar 3.5 Integrasi antara modul RFID dengan Raspberry Pi ............................... 32
Gambar 3.6 Tampilan Tabel User ............................................................................... 35
Gambar 3.7 Tampilan Tabel Dosen ............................................................................ 36
Gambar 3.8 Tampilan Tabel Mahasiswa .................................................................... 36
Gambar 3.9 Tampilan Tabel log ................................................................................. 37
Gambar 4.1 Tampilan Utama ...................................................................................... 38
Gambar 4.2 Tampilan pada LCD ketika berhasil membaca RFID card ..................... 39

V
DAFTAR TABEL

Tabel 2.1 Fungsi Pin pada LCD 4x20 ........................................................................... 7


Tabel 3.1 Alat dan Spesifikasi untuk membangun Sistem Pencatatan kehadiran....... 10

VI
DAFTAR SINGKATAN DAN LAMBANG

RFID Radio Frequency Identification 1

BAAK Biro Administrasi Akademik dan 2


Kemahasiswaan
EEPROM Electrically Erasable Programmable Read-Only 17
Memory
GB Giga Byte 13

VII
Tugas Akhir Sarjana BAB 1

BAB 1 Pendahuluan

1.1. Latar Belakang


Dewasa ini teknologi berkembang dengan sangat cepat. Segala upaya dilakukan demi
mempermudah pekerjaan manusia, terlebih untuk orang yang membutuhkan
mobilitas tinggi dan otomatisasi dalam melakukan pekerjaannya, sehingga manusia
mendapat kemudahan dari teknologi. Salah satu contoh perkembangan teknologi yang
secara signifikan telah membantu manusia dalam mempermudah pekerjaannya adalah
alat pencatatan kehadiran otomatis. Dengan bantuan alat ini, manusia dimudahkan
dalam melakukan rekapitulasi data kehadiran. Sistem pencatatan kehadiran otomatis
ini, sangat dibutuhkan di berbagai instansi, baik kecil maupun besar.

Institusi yang memiliki jumlah mahasiswa ribuan tentunya sangat membutuhkan


sistem pencatatan kehadiran yang terintegrasi. Salah satu institusi yang masih
menggunakan sistem pencatatan kehadiran manual adalah Institut Teknologi Del.
Dalam proses perkuliahan di Institut Teknologi Del, dibutuhkan sebuah sistem untuk
mendata kehadiran mahasiswa ataupun dosen. Sejauh ini, sistem yang digunakan
masih bersifat manual, dan dianggap tidak efisien. Hal ini disebabkan oleh jumlah
kertas yang dibutuhkan untuk mendata kehadiran terbilang banyak, dan disana juga
terdapat celah untuk memalsukan data kehadiran. Oleh sebab itu, dibutuhkan sebuah
sistem yang dapat meminimalisir kekurangan diatas.

RFID merupakan sebuah teknologi yang biasa digunakan saat merancang alat
pencatatan kehadiran yang otomatis.RFID terdiri dari microchip dan antena, microchip
tersebut akan digunakan sebagai tanda pengenal untuk setiap user melalui kartu yang
disebut RFID tag. Selanjutnya, pembacaan antara RFID tag dan RFID reader akan
dibantu oleh antena sebagai receiver dan transceiver. Penelitian ini bertujuan untuk
menerapkan teknologi RFID tersebut pada sistem pencatatan kehadiran yang
berguna untuk meminimalisir jumlah penggunaan kertas dan menghindari
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 1
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 1

kecurangan berupa pemalsuan identitas yang ada di Institut Teknologi Del. Sistem
pencatatan kehadiran ini akan bekerja dengan membandingkan data id RFID
pengguna yang sedang melakukan pencatatan kehadiran dengan data id RFID yang
sudah didaftar sebelumnya. Dengan adanya sistem pencatatan kehadiran ini,
diharapkan pihak BAAK lebih dimudahkan dalam proses pendataan kehadiran. Salah
satu aspek penting dalam penelitian ini adalah bagaimana proses matching antara data
yang masuk ketika melakukan pencatatan kehadiran, dengan data yang sudah disimpan
sebelumnya pada database, dalam penelitian ini database yang digunakan adalah My
Sql. Kedepannya, diharapkan penelitian ini boleh menjadi acuan penulis dalam
mengembangkan penelitian nya.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 2


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 1

1.2. Rumusan Masalah

Adapun rumusan masalah penelitian ini adalah:


1. Bagaimana proses pembangunan sistem pencatatan kehadiran menggunakan
RFID ?
2. Bagaimana cara membandingkan (proses matching) data hasil pencatatan
kehadiran dengan data yang sudah disimpan di database?

1.3. Tujuan Penelitian

1.3.1 Tujuan
Adapun tujuan dari penelitian yang dilakukan dalam pembuatan sistem pencatatan
kehadiran dengan RFID adalah sebagai berikut:
1. Membangun sistem pencatatan kehadiran dengan menggunakan RFID sebagai
alat pencatat kehadiran mahasiswa atau dosen.
2. Meningkatkan sistem paperless (perpindahan dari paper-based environment ke
electronic-based environment) sehingga dapat mengurangi biaya operasional.
3. Memberikan kemudahan dalam proses pencatatan kehadiran bagi mahasiswa
atau dosen dan meningkatkan efisiensi waktu dalam pencatatan kehadiran di
Institut Teknologi Del.

1.3.2 Manfaat

Adapun manfaat dari pembuatan sistem pencatatan kehadiran mahasiswa dan dosen
berbasis RFID yaitu:
1. Menghindari kesalahan dan manipulasi data karena hanya mahasiswa yang
bersangkutan saja yang dapat melakukan pencatatan kehadiran.
2. Memberikan kemudahan dalam proses pencatatan kehadiran bagi para
mahasiswa dan meningkatkan efisiensi waktu.
3. Memberikan informasi kepada administrator mengenai kehadiran mahasiswa
yang dapat dijadikan dasar penilaian kedisiplinan mahasiswa.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 3


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 1

1.4. Ruang Lingkup dan Batasan


Dalam membangun sistem pencatatan kehadiran menggunakan RFID bagi mahasiswa
ini, terdapat beberapa batasan, yaitu sebagai berikut:
1. Peneliti hanya membuat alat pencatatan kehadiran dengan RFID tanpa
membahas mengenai algoritma yang digunakan untuk proses matching
(membandingkan id RFID ).
2. Hanya administrator yang dapat menambah, menghapus, mengubah dan
melihat data-data mahasiswa di database.
3. Peneliti tidak membahas hardware yang berhubungan dengan push button
(tombol) karena secara keseluruhan implementasi alat ini juga menggunakan
modul fingerprint yang tidak dibahas dalam penelitian ini.

1.5. Sistematika Penyajian

Adapun Dokuman Skripsi ini disusun dalam 5 Bab yang terdiri dari:

BAB 1 PENDAHULUAN berisi latar belakang penelitian, rumusan masalah, tujuan,


ruang lingkup dan batasan, dan sistematika penyajian dari dokumen penelitian.

BAB 2 TINJAUAN PUSTAKA berisi informasi dan teori para ahli yang diperoleh
berdasarkan tinjauan pustaka yang relevan dengan topik penelitian skripsi untuk
memperluas informasi dalam melakukan kajian dalam penelitian.

BAB 3 METODOLOGI PENELITIAN berisi informasi perancangan alat yang


meliputi perancangan hardware.

BAB 4 HASIL DAN PEMBAHASAN berisi hasil implementasi dari pembangunan


sistem dan pengujian yang dilakukan terhadap sistem yang dirancang.

BAB 5 KESIMPULAN berisi kesimpulan yang diperoleh dari pelaksanaan penelitian


dan untuk pengembangan hasil dari penelitian.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 4


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 2

BAB 2 Tinjauan Pustaka

2.1. RFID
RFID (Radio Frequency Identification) adalah teknologi identifikasi berbasis
gelombang. Metode identifikasi menggunakan sarana yang disebut label RFID atau
transponder (tag) untuk menyimpan dan mengambil data jarak jauh. Teknologi ini
mampu mengidentifikasi berbagai objek secara simultan tanpa diperlukan kontak
langsung (atau dalam jarak pendek).
Secara utuh RFID terdiri atas 2 komponen yaitu :

1. RFID Tag
RFID tag dapat berupa stiker, kertas, atau plastic dengan beragam ukuran.
Dalam setiap tag terdapat chip yang mampu menyimpan sejumlah informasi
tertentu. Sebuah tag yang dipasang tidak menggunakan sumber energi seperti
batere sehingga dapat digunakan dalam waktu yang sangat lama.

2. RFID Reader
RFID reader terdiri dari RFID reader dan antenna yang akan mempengaruhi
jarak ortimal identifikasi. Reader mengirim gelombang electromagnet, yang
kemudian di terima oleh antenna pada label RFID. Label RFID mengirim data
berupa nomer serial (id RFID ) yang tersimpan dalam label, dengan mengirim
kembali gelombang radio ke RFID reader. Gambar 2.1. merupakan RFID tag
dan RFID reader.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 5


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 2

RFID
tag

RFID reader RFID tag

Gambar 2.1 RFID

2.2. LCD (Liquid Crystal Display) 4x20

LCD (Liquid Crystal Display) atau display elektronik adalah salah satu
komponen elektronika yang berfungsi sebagai tampilan suatu data, baik karakter,
huruf ataupun grafik. LCD (Liquid Cristal Display) adalah salah satu jenis display
elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak
menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya
terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD merupakan
lapisan dari campuran organik antara lapisan kaca bening dengan elektroda
transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan
elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik
(tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan
elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertikal
depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan
reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang
telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan
membentuk karakter data yang ingin ditampilkan. [1] Bentuk fisik dari LCD 4x20
ditunjukkan pada Gambar 2.2. [4]

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 6


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 2

Gambar 2.2 LCD 4x20

Untuk lebih jelas tentang fungsi masing-masing pin dari LCD 4x20 dapat dilihat pada
Tabel 2.1 [2]
Tabel 2.1 Fungsi Pin pada LCD 4x20

No Simbol Fungsi
1 VSS GND, 0V
2 VDD +5V
3 VO Contrast adjustment
4 RS Function Select
5 R/W Read/Write
6 E Enable Signal
7-10 DB0-DB3 Data Bus Line (Not Required)
11-14 DB4-DB7 Data Bus Line
15 A LED Backlight Anode (+)
16 K LED Backlight Cathode (-)

2.3. Raspberry Pi

Raspberry Pi adalah komputer berukuran kartu kredit yang dihubungkan ke monitor


dan keyboard. Raspberry Pi adalah komputer kecil yang mampu digunakan dalam
proyek-proyek elektronik, dan untuk banyak hal yang PC desktop dapat lakukan,
seperti spreadsheet, pengolah kata, browsing internet, dan bermain game. Raspberry
Pi juga dapat memainkan video berkualitas tinggi. Raspberry Pi digunakan oleh orang
dewasa dan anak-anak di seluruh dunia untuk belajar pemrograman dan pembuatan
perangkat digital. [2]
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 7
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 2

Untuk penelitian ini, peneliti menggunakan Raspberry Pi 3 Model B. Adapun bentuk


fisik dari Raspberry Pi dapat dilihat pada Gambar 2.3.

Gambar 2.3. Raspberry Pi 3 Model B.

Untuk lebih jelas tentang fungsi masing-masing pin pada Raspberry Pi dapat dilihat
pada Gambar 2.4.

Gambar 2.4 Pinout GPIO pada Raspberry Pi

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 8


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 2

2.4. Python

Python adalah bahasa pemrograman tingkat tinggi yang ditafsirkan, berorientasi objek,
dengan semantik yang dinamis. Tingkatannya yang tinggi dalam struktur data,
dikombinasikan dengan pengetikan yang dinamis dan pengikatan dinamis,
membuatnya sangat menarik untuk pengembangan aplikasi yang cepat, serta
digunakan sebagai bahasa scripting untuk menghubungkan komponen yang ada secara
bersamaan. Python merupakan bahasa pemograman yang sederhana, dengan sintaks
yang mudah dipelajari dan karenanya mengurangi biaya pemeliharaan program.
Python mendukung modul dan paket, yang mendorong modularitas program.
Interpreter Python dan pustaka standar yang luas tersedia dalam bentuk sumber tanpa
biaya untuk semua platform utama, dan dapat didistribusikan secara bebas. [3]

2.5. MySQL Database

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL. MySQL
adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS)
yang didistribusikan secara gratis dibawah lisensi GPL (General Public License).
Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan
perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial.
MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang
telah ada sebelumnya; SQL(Structured Query Language). SQL adalah sebuah konsep
pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data,
yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
MySQL sangat populer untuk aplikasi web-hosting karena banyak fitur Web yang
dioptimalkan seperti tipe data HTML, dan karena tersedia secara gratis. Ini adalah
bagian dari arsitektur Linux, Apache, MySQL, PHP (LAMP), kombinasi dari platform
yang sering digunakan untuk membuat dan mendukung aplikasi Web yang canggih.
MySQL menjalankan basis data back-end dari beberapa situs web terkenal, termasuk
Wikipedia, Google, dan Facebook - sebuah bukti stabilitas dan ketangguhannya
terlepas dari filosofi yang terdesentralisasi dan bebas untuk semua. [5]

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 9


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

BAB 3 Metode Penelitian

3.1. Lokasi dan Waktu Penelitian

Penelitian dilakukan di Lab Sistem Kendali Institut Teknologi Del pada bulan Februari-
Juni 2018. Dengan melakukan penelitian pada RFID tag, RFID reader dan Raspberry
Pi sehingga dapat mengumpulkan data mengenai alat yang akan dibuat.

3.2. Bahan dan Alat Penelitian

3.2.1 Bahan Penelitian


Mempelajari seluruh komponen yang berhubungan dengan alat yang akan di bangun,
melalui berbahai jurnal ilmiah yang diambil dari berbagai blog di internet.
3.2.2 Alat Penelitian
Adapun alat yang akan digunakan dalam pembuatan sistem pencatatan kehadiran
dengan RFID adalah:
Tabel 3.1 Alat dan Spesifikasi untuk membangun Sistem Pencatatan kehadiran

No. Nama Alat Spesifikasi Jumlah (buah)


1. Modul RFID RC522 - Jarak Pembacaan kartu : 1
<3cm
- Kecepatan transmisi :
424kbps
- Kecepatan pembacaan : 3,6s
- Arus : 13 – 26 mA
- Tegangan : 3,3 Volt
- Frekuensi : 13,56 MHz

2. LCD - White LED 1


- 20 characters x 4 lines
- 5 Volt Power source

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 10


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

- Contrast Adjustment

3. Kabel Jumper - Male to male 30


- Male to Female
- Female to female

4. Power adapter 5 Volt, 2 Ampere / 1 Ampere 1


5. Resistor 10 K Ohm 1
6. Raspberry Pi - 900Mhz quad-core ARM 1
Cortex-A7 CPU
- 1 GB SDRAM
- 40 pin GPIO
- Micro SD slot
- Multiple Port: 4 USB Port,
HDMI, CSI camera port, DSI
display port
- Micro USB power source

7. Kabel Ethernet 155 MHz or 250 MHz, 2,5 1


Gigabit
8. SD Card 32 GB 1

3.3. Teknik Pengambilan Data

3.3.1 Studi Literatur


Studi literatur yang dilakukan untuk penelitian meliputi:
1. Jurnal dari internet.
2. Situs open source yaitu Github dan Stackoverflow.

3.3.2 Observasi
Observasi dilakukan di ruang kelas dan Lab Sistem Kendali di Institut Teknologi Del,
untuk mendapatkan data yang diperlukan dalam merancang hardware.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 11


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

3.3.3 Wawancara
Wawancara dilakukan langsung kepada mahasiswa dan dosen yang ada di Institut
Teknologi Del agar diperoleh sistem yang baik sesuai kebutuhan mahasiswa dan dosen.

3.4. Perancangan dan Pembuatan Alat

3.4.1 Perancangan Desain Sistem

Gambar 3.1 Diagram sistem secara umum

Pada Gambar 3.1 dapat dilihat bagaimana diagram sistem yang telah dirancang untuk
diimplementasikan. Raspberry Pi sebagai main controller akan menyimpan dan
membandingkan data yang masuk dengan data yang sudah disimpan di database. Main
controller tersebut terhubung dengan jaringan LAN (Local Area Network)
menggunakan kabel ethernet. LCD 4x20 bertindak untuk menampilkan identitas dari
user ketika melakukan pencatatan kehadiran. Seluruh komponen diatas akan bekerja
dengan sangat baik, sesuai dengan yang diharapkan oleh peneliti, dosen dan mahasiswa
apabila dihubungkan dengan sangat baik, dan tentunya juga dengan berbagai kode
program yang sesuai dengan apa yang sudah dirancang diatas. Untuk lebih jelas dan
rinci, seluruh kode program tersebut akan penulis cantumkan di masing-masing
komponen.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 12


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

3.4.1.1 Registration

Gambar 3.2 Flowchart Registrasi untuk user

Flowchart pada Gambar 3.2 menunjukkan bagaimana proses registrasi untuk semua
mahasiswa dan dosen. Pada flowchart dapat dilihat bahwa proses akan terus
berlangsung apabila administrator hendak mendaftarkan terus mahasiswa/dosen yang
baru. Proses registrasi akan dimulai saat admin merekam data mahasiswa atau dosen
yang akan diregistasi berupa nama, nim, NIDN, kelas dan mata kuliah. Kemudian
setelah data yang dibutuhkan terpenuhi, dilakukanlah pembacaan id RFID mahasiswa
atau dosen, id RFID ini kemudian akan disimpan dalam database dan proses registrasi
selesai. Apabila id RFID gagal dibaca dan tidak dapat disimpan dalam database, akan
dilakukan pembacaan ulang. Proses ini akan dilakukan terus menerus, hingga semua
mahasiswa atau dosen terdaftar. Berikut ini adalah kode program yang digunakan
untuk proses registarsi tersebut :

import serial
import time
import datetime
import MySQLdb
import MFRC522
import RPi.GPIO as GPIO

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 13


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

from pyfingerprint.pyfingerprint import PyFingerprint

db = MySQLdb.connect(host="172.37.40.40", user="root",
passwd="password", db="rfid")
curs= db.cursor()

#ser=serial.Serial('/dev/ttyACM1', 9600)

def fingerscan ():


try:
f = PyFingerprint('/dev/ttyUSB0', 57600, 0xFFFFFFFF,
0x00000000)

if ( f.verifyPassword() == False ):
raise ValueError('The given fingerprint sensor password
is wrong!')

except Exception as e:
print('The fingerprint sensor could not be initialized!')
print('Exception message: ' + str(e))
exit(1)

## Tries to enroll new finger


try:
print('Waiting for finger...')

## Wait that finger is read


while ( f.readImage() == False ):
pass

## Converts read image to characteristics and stores it in


charbuffer 1
f.convertImage(0x01)

## Checks if finger is already enrolled


result = f.searchTemplate()
positionNumber = result[0]

if ( positionNumber >= 0 ):
print('Template already exists at position #' +
str(positionNumber))
exit(0)

print('Remove finger...')
time.sleep(2)

print('Waiting for same finger again...')

## Wait that finger is read again


while ( f.readImage() == False ):
pass

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 14


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

## Converts read image to characteristics and stores it in


charbuffer 2
f.convertImage(0x02)

## Compares the charbuffers


if ( f.compareCharacteristics() == 0 ):
raise Exception('Fingers do not match')

## Creates a template
f.createTemplate()

## Saves template at new position number


positionNumber = f.storeTemplate()

print('Finger enrolled successfully!')

f.loadTemplate(positionNumber, 0x01)
char_store = str (f.downloadCharacteristics(0x01))
char_store1= char_store.translate(None, ',[]')

return positionNumber, char_store1

except Exception as e:
print('Operation failed!')
print('Exception message: ' + str(e))
exit(1)

def main ():

#GPIO.setmode(GPIO.BCM)
print("Type DONE to exit!")
status=" kosong"
while (status!='DONE'):
status=raw_input("Enter Status : ")
if(status=='Mahasiswa'):
nama=raw_input ("Enter Name : ")
nim=raw_input ("Enter Nim : ")
kelas=raw_input("Enter Class : ")
print('Scan RFID Card!')
MIFAREReader = MFRC522.MFRC522()
(status1,TagType) =
MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)
(status1,uid) = MIFAREReader.MFRC522_Anticoll()
while status1 != MIFAREReader.MI_OK :
MIFAREReader = MFRC522.MFRC522()
(status1,TagType) =
MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)
(status1,uid) = MIFAREReader.MFRC522_Anticoll()
if status1 == MIFAREReader.MI_OK:
rt_rfid = str (uid)
read_rfid = rt_rfid.translate(None, ',[] ')
print('ID RFID : %s' %read_rfid)
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 15
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

result=fingerscan()
id_finger=result[0]
print('ID Fingerprint: %i' %id_finger)
print(' \n')
templ_finger=result[1]
curs.execute("INSERT INTO user (rfid, nomor_induk,
status, nama, id_finger, temp_finger) VALUES ('%s', '%s', '%s',
'%s', '%i', '%s')" %(read_rfid, nim, status, nama, id_finger,
templ_finger ))
curs.execute("INSERT INTO Mahasiswa(rfid,
id_finger, Nama, Nim, Class)VALUES ('%s', '%i', '%s', '%s',
'%s')" %(read_rfid, id_finger, nama, nim, kelas))
db.commit()
else :
nama=raw_input ("Enter Name : ")
nidn=raw_input ("Enter Nidn : ")
matkul1=raw_input("Enter Subject : ")
matkul2=raw_input("Enter Subject : ")
matkul3=raw_input("Enter Subject : ")
matkul4=raw_input("Enter Subject : ")
print('Scan RFID Card!')
MIFAREReader = MFRC522.MFRC522()
(status1,TagType) =
MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)
(status1,uid) = MIFAREReader.MFRC522_Anticoll()
while status1 != MIFAREReader.MI_OK :
MIFAREReader = MFRC522.MFRC522()
(status1,TagType) =
MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)
(status1,uid) = MIFAREReader.MFRC522_Anticoll()
if status1 == MIFAREReader.MI_OK:
rt_rfid = str (uid)
read_rfid = rt_rfid.translate(None, ',[] ')
print('ID RFID : %s' %read_rfid)
result=fingerscan()
id_finger=result[0]
print('ID Fingerprint: %i' %id_finger)
print(' \n')
templ_finger=result[1]
curs.execute("INSERT INTO user (rfid, nomor_induk,
status, nama, id_finger, temp_finger) VALUES ('%s', '%s', '%s',
'%s', '%i', '%s')" %(read_rfid, nidn, status, nama, id_finger,
templ_finger ))
curs.execute("INSERT INTO Dosen (rfid, id_finger,
nidn, Nama, matakuliah1, matakuliah2, matakuliah3, matakuliah4)
VALUES ('%s', '%i', '%s', '%s', '%s', '%s', '%s',
'%s')" %(read_rfid, id_finger, nidn, nama, matkul1, matkul2,
matkul3, matkul4 ))
db.commit()

status=raw_input("Enter Status : ")

if __name__ == '__main__':
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 16
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

try:
main()
except KeyboardInterrupt:
pass
finally:
print "Goodbye!"

#lcd_byte(0x01, LCD_CMD)
#lcd_string("Goodbye!",LCD_LINE_2,2)
GPIO.cleanup()

3.4.1.2 Matching

Gambar 3.3 Flowchart enroll user ketika hendak mamasuki kelas

Flowchart pada Gambar 3.3 menunjukkan ketika user yang melakukan pencatatan
kehadiran berstatus dosen, maka user tersebut akan melakukan pemilihan matakuliah,
dan selanjutnya data waktu pencatatan kehadiran akan tersimpan di database.
Proses matching akan dimulai ketika mahasiswa atau dosen ingin memasuki ruangan
kelas. Ketika kartu RFID mahasiswa atau dosen diletakkan pada modul RFID, id RFID
akan dibaca untuk dikenali. Jika RFID modul gagal membaca id RFID , maka akan
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 17
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

muncul perintah “COBA LAGI !” yang meminta user untuk meletakkan kembali RFID
tag pada modul RFID .Apabila id RFID berhasil dibaca, sistem akan memeriksa data
pemilik id RFID tersebut dengan data yang ada di database. Apabila berstatus
mahasiswa, sistem akan menampilkan nama mahasiswa, kelas, dan waktu mahasiswa
tersebut melakukan enroll. Selanjutnya sistem akan menyimpan data enroll tersebut ke
dalam database table log. Apabila pemilik id RFID berstatus dosen, sistem akan
menampilkan nama dosen, kelas, dan waktu. Kemudian sistem akan menampilkan
daftar mata kuliah yang dibawakan dosen tersebut dan meminta dosen untuk memilih
mata kuliah yang akan diajarkannya pada kelas yang akan dimasuki. Setelah mata
kuliah dipilih, sistem akan menyimpan data tersebut ke dalam database sebagai log.
Kode program yang dibangun untuk proses matching dapat dilihat pada : [4]. Kode
program dibawah ini akan membantu seluruh rancangan untuk matching diatas berjalan
dengan baik dan sesuai dengan fungsi yang telah dirancang.

import serial
import time
import datetime
import MySQLdb
import MFRC522
import Adafruit_GPIO.SPI as SPI
from pyfingerprint.pyfingerprint import PyFingerprint

#from datetime import datetime

from time import sleep


import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)

# Define GPIO to LCD mapping


LCD_RS = 7
LCD_E = 16
LCD_D4 = 22
LCD_D5 = 24
LCD_D6 = 23
LCD_D7 = 18
#LED_ON = 15

# Define some device constants


LCD_WIDTH = 20

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 18


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

# Maximum characters per line


LCD_CHR = True
LCD_CMD = False

LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line


LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line
LCD_LINE_3 = 0x94 # LCD RAM address for the 3rd line
LCD_LINE_4 = 0xD4 # LCD RAM address for the 4th line

# Timing constants
E_PULSE = 0.0005
E_DELAY = 0.0005

GPIO.setmode(GPIO.BCM)
GPIO.setup(26,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) #tombol1
GPIO.setup(13,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) #tombol2
GPIO.setup(6,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) #tombol3
GPIO.setup(5,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) #tombol4
GPIO.setup(12,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) #tombol_OK
GPIO.setup(19,GPIO.IN,pull_up_down=GPIO.PUD_DOWN) #tombol update
GPIO.setup(21,GPIO.OUT) #BUZZER

db = MySQLdb.connect(host="172.37.40.40", user="root", passwd="password",


db="rfid")
curs= db.cursor()

def lcd_init():

# Initialise display
lcd_byte(0x33,LCD_CMD) # 110011 Initialise
lcd_byte(0x32,LCD_CMD) # 110010 Initialise
lcd_byte(0x06,LCD_CMD) # 000110 Cursor move direction
lcd_byte(0x0C,LCD_CMD) # 001100 Display On,Cursor Off, Blink Off
lcd_byte(0x28,LCD_CMD) # 101000 Data length, number of lines, font size
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
time.sleep(E_DELAY)

def lcd_byte(bits, mode):

# Send byte to data pins


# bits = data
# mode = True for character
# False for command

GPIO.output(LCD_RS, mode) # RS

# High bits
GPIO.output(LCD_D4, False)
GPIO.output(LCD_D5, False)
GPIO.output(LCD_D6, False)
GPIO.output(LCD_D7, False)
if bits&0x10==0x10:
GPIO.output(LCD_D4, True)
if bits&0x20==0x20:
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 19
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

GPIO.output(LCD_D5, True)
if bits&0x40==0x40:
GPIO.output(LCD_D6, True)
if bits&0x80==0x80:
GPIO.output(LCD_D7, True)

# Toggle 'Enable' pin


lcd_toggle_enable()

# Low bits
GPIO.output(LCD_D4, False)
GPIO.output(LCD_D5, False)
GPIO.output(LCD_D6, False)
GPIO.output(LCD_D7, False)
if bits&0x01==0x01:
GPIO.output(LCD_D4, True)
if bits&0x02==0x02:
GPIO.output(LCD_D5, True)
if bits&0x04==0x04:
GPIO.output(LCD_D6, True)
if bits&0x08==0x08:
GPIO.output(LCD_D7, True)

# Toggle 'Enable' pin


lcd_toggle_enable()

def lcd_toggle_enable():

# Toggle enable
time.sleep(E_DELAY)
GPIO.output(LCD_E, True)
time.sleep(E_PULSE)
GPIO.output(LCD_E, False)
time.sleep(E_DELAY)

def lcd_string(message,line,style):

# Send string to display


# style=1 Left justified
# style=2 Centred
# style=3 Right justified

if style==1:
message = message.ljust(LCD_WIDTH," ")
elif style==2:
message = message.center(LCD_WIDTH," ")
elif style==3:
message = message.rjust(LCD_WIDTH," ")

lcd_byte(line, LCD_CMD)

for i in range(LCD_WIDTH):
lcd_byte(ord(message[i]),LCD_CHR)

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 20


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

def tampilayar(data1,data2):
lcd_byte(0x01, LCD_CMD)
lcd_string("WELCOME",LCD_LINE_1,2)
lcd_string("Ruangan 715",LCD_LINE_2,2)
lcd_string(data2,LCD_LINE_3,2)
lcd_string(data1,LCD_LINE_4,2)

time.sleep(2) # 2 second delay

# Blank display
#lcd_byte(0x01, LCD_CMD)

def tampilayardosen(ntemp,data1,data2,data3,data4):
today= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
str(today)
GPIO.input(26)==0
GPIO.input(13)==0
GPIO.input(6)==0
GPIO.input (5)==0
GPIO.input (12)==0
lcd_byte(0x01, LCD_CMD)
lcd_string("Choose",LCD_LINE_2,2)
lcd_string("Your Subject!",LCD_LINE_3,2)

#lcd_string("Subject!",LCD_LINE_4,2)
time.sleep(1.5)

#draw.text((0,8), 'CHOOSE!', font=font)


lcd_string("1."+data1,LCD_LINE_1,1)
lcd_string("2."+data2,LCD_LINE_2,1)
lcd_string("3."+data3,LCD_LINE_3,1)
lcd_string("4."+data4,LCD_LINE_4,1)

ruang = "GD715"
while( GPIO.input(12)!=1):
if GPIO.input(26):
curs.execute("INSERT INTO Log (nama, datetime, ruangan,
matakuliah) VALUES ('%s', '%s', '%s', '%s')" %(ntemp, today, ruang,
data1))
print "26 masuk"
db.commit()
sleep(.2)

elif GPIO.input(13):
curs.execute("INSERT INTO Log (nama, datetime, ruangan,
matakuliah) VALUES ('%s', '%s', '%s', '%s')" %(ntemp, today, ruang,
data2))
print "13 masuk"
db.commit()
sleep(.2)

elif GPIO.input(6):
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 21
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

curs.execute("INSERT INTO Log (nama, datetime, ruangan,


matakuliah) VALUES ('%s', '%s', '%s', '%s')" %(ntemp, today, ruang,
data3))
print "6 masuk"
db.commit()
sleep(.2)

elif GPIO.input(5):
curs.execute("INSERT INTO Log (nama, datetime, ruangan,
matakuliah) VALUES ('%s', '%s', '%s', '%s')" %(ntemp, today, ruang,
data4))
print "5 masuk"
db.commit()
sleep(.2)
else:
pass

def main():
#MIFAREReader = MFRC522.MFRC522()
GPIO.setmode(GPIO.BCM) # Use BCM GPIO numbers
GPIO.setup(LCD_E, GPIO.OUT) # E
GPIO.setup(LCD_RS, GPIO.OUT) # RS
GPIO.setup(LCD_D4, GPIO.OUT) # DB4
GPIO.setup(LCD_D5, GPIO.OUT) # DB5
GPIO.setup(LCD_D6, GPIO.OUT) # DB6
GPIO.setup(LCD_D7, GPIO.OUT) # DB7
lcd_init()

while (True):
MIFAREReader = MFRC522.MFRC522()
lcd_string("ATTENDANCE SYSTEM",LCD_LINE_1,2)
lcd_string("TA-2 ELEKTRO 2014",LCD_LINE_4,2)

#today= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")


rdy = datetime.datetime.now().strftime("%b %d %Y")

#str(today)
clk= datetime.datetime.now().strftime("%H:%M:%S")
lcd_string(rdy,LCD_LINE_2,2)
lcd_string(clk,LCD_LINE_3,2)
if GPIO.input(19):
lcd_byte(0x01, LCD_CMD)
lcd_string("UPDATING..",LCD_LINE_2,2)
try:
f = PyFingerprint('/dev/ttyUSB0', 57600, 0xFFFFFFFF,
0x00000000)

if ( f.verifyPassword() == False ):
raise ValueError('The given fingerprint sensor
password is wrong!')

except Exception as e:
print('The fingerprint sensor could not be initialized!')
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 22
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

print('Exception message: ' + str(e))

## Tries to delete the template of the finger


try:

curs.execute ("SELECT max(id_finger)FROM user")


maks=curs.fetchone()
y=maks[0]
print y
for x in range (0,y):
curs.execute("SELECT temp_finger FROM user WHERE
id_finger = ('%i')" %x)
temp = curs.fetchone()
t_temp=temp[0]
t1_temp=t_temp.split()
t2_temp=list (map (int, t1_temp))
f.uploadCharacteristics(0x01,t2_temp)
f.storeTemplate(x,0x01 )
db.commit()

except Exception as e:
print('Operation failed!')
print('Exception message: ' + str(e))
lcd_byte(0x01, LCD_CMD)
print('Duplicated Data')
lcd_string("Duplicated Data",LCD_LINE_2,2)
lcd_string("Please Contact",LCD_LINE_3,2)
lcd_string("Administrator",LCD_LINE_4,2)
print('Exception message: ' + str(e))
time.sleep(2)
lcd_byte(0x01, LCD_CMD)

try:
(status,TagType) =
MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)
if status == MIFAREReader.MI_OK:
(status,uid) = MIFAREReader.MFRC522_Anticoll()
if status == MIFAREReader.MI_OK:

lcd_byte(0x01, LCD_CMD)
rt_rfid = str (uid)
rt_rfid1 = rt_rfid.translate(None, ',[] ')
print rt_rfid1

curs.execute("SELECT status FROM user WHERE rfid =


('%s')" %rt_rfid1)
status_1 = curs.fetchone()
t_stat=status_1[0]
print t_stat
GPIO.output(21, True)
time.sleep(.085)
GPIO.output(21, False)
if(t_stat == "Dosen"):
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 23
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

curs.execute("SELECT Nama FROM Dosen WHERE rfid


= ('%s')" %rt_rfid1)
nama = curs.fetchone()
ntemp = nama[0]
print ntemp

#print today
curs.execute("SELECT matakuliah1 FROM Dosen
WHERE rfid = ('%s')" %rt_rfid1)
matkul1 = curs.fetchone()
t_matkul1 = matkul1[0]
curs.execute("SELECT matakuliah2 FROM Dosen
WHERE rfid = ('%s')" %rt_rfid1)
matkul2 = curs.fetchone()
t_matkul2 = matkul2[0]
curs.execute("SELECT matakuliah3 FROM Dosen
WHERE rfid = ('%s')" %rt_rfid1)
matkul3 = curs.fetchone()
t_matkul3 = matkul3[0]
curs.execute("SELECT matakuliah4 FROM Dosen
WHERE rfid = ('%s')" %rt_rfid1)
matkul4 = curs.fetchone()
t_matkul4 = matkul4[0]
tampilayar(ntemp,clk)
print "Memilih matakuliah"
tampilayardosen(ntemp, t_matkul1, t_matkul2,
t_matkul3, t_matkul4)
print "Data sudah masuk"
lcd_byte(0x01, LCD_CMD)
lcd_string("DATA RECORDED",LCD_LINE_2,2)
time.sleep(1)
lcd_byte(0x01, LCD_CMD)

else:
today=
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
str(today)
curs.execute("SELECT nama FROM user WHERE rfid =
('%s')" %rt_rfid1)
nama = curs.fetchone()
ntemp = nama[0]
print ntemp
print today
ruang = "GD715"
mat="-"
tampilayar(ntemp,clk)
curs.execute("INSERT INTO Log (nama, datetime,
ruangan, matakuliah) VALUES ('%s', '%s', '%s', '%s')" %(ntemp, today,
ruang, mat))
db.commit()
lcd_byte(0x01, LCD_CMD)

except Exception as e:
GPIO.output(21, True)
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 24
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

time.sleep(.075)
GPIO.output(21, False)
time.sleep(.045)
GPIO.output(21, True)
time.sleep(.075)
GPIO.output(21, False)
time.sleep(.045)
GPIO.output(21, True)
time.sleep(.075)
GPIO.output(21, False)
lcd_byte(0x01, LCD_CMD)
print('RFID belum didaftar!!!')
lcd_string("COBA LAGI",LCD_LINE_2,2)
print('Exception message: ' + str(e))
time.sleep(2)
lcd_byte(0x01, LCD_CMD)

try:
f = PyFingerprint('/dev/ttyUSB0', 57600, 0xFFFFFFFF,
0x00000000)

if ( f.verifyPassword() == False ):
raise ValueError('The given fingerprint sensor password
is wrong!')

except Exception as e:
print('The fingerprint sensor could not be initialized!')
print('Exception message: ' + str(e))

try:
key= f.readImage()
if (key != False ):
## Converts read image to characteristics and stores it in charbuffer 1
f.convertImage(0x01)

## Searchs template
result = f.searchTemplate()

positionNumber = result[0]

lcd_byte(0x01, LCD_CMD)
curs.execute("SELECT status FROM user WHERE id_finger=
('%s')" %positionNumber)
status = curs.fetchone()
t_stat=status[0]
print t_stat
GPIO.output(21, True)
time.sleep(.085)
GPIO.output(21, False)
ruang = "GD715"
if(t_stat == "Dosen"):
curs.execute("SELECT Nama FROM Dosen WHERE id_finger
= ('%s')" %positionNumber)
nama = curs.fetchone()
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 25
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

ntemp = nama[0]
print ntemp
#print today
curs.execute("SELECT matakuliah1 FROM Dosen WHERE
id_finger = ('%s')" %positionNumber)
matkul1 = curs.fetchone()
t_matkul1 = matkul1[0]
curs.execute("SELECT matakuliah2 FROM Dosen WHERE
id_finger = ('%s')" %positionNumber)
matkul2 = curs.fetchone()
t_matkul2 = matkul2[0]
curs.execute("SELECT matakuliah3 FROM Dosen WHERE
id_finger = ('%s')" %positionNumber)
matkul3 = curs.fetchone()
t_matkul3 = matkul3[0]
curs.execute("SELECT matakuliah4 FROM Dosen WHERE
id_finger = ('%s')" %positionNumber)
matkul4 = curs.fetchone()
t_matkul4 = matkul4[0]
tampilayar(ntemp,clk)
print "Memilih matakuliah"
tampilayardosen(ntemp, t_matkul1, t_matkul2,
t_matkul3, t_matkul4)
print "Data sudah masuk"
lcd_byte(0x01, LCD_CMD)
lcd_string("DATA RECORDED",LCD_LINE_2,2)
time.sleep(1)
lcd_byte(0x01, LCD_CMD)

else:
today=
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
str(today)
curs.execute("SELECT nama FROM user WHERE id_finger
= ('%s')" %positionNumber)
nama = curs.fetchone()
ntemp = nama[0]
print ntemp
print today
mat="-"
tampilayar(ntemp,clk)
curs.execute("INSERT INTO Log (nama, datetime,
ruangan, matakuliah) VALUES ('%s', '%s', '%s', '%s')" %(ntemp, today,
ruang, mat))
db.commit()
lcd_byte(0x01, LCD_CMD)

except Exception as e:
GPIO.output(21, True)
time.sleep(.075)
GPIO.output(21, False)
time.sleep(.045)
GPIO.output(21, True)
time.sleep(.075)
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 26
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

GPIO.output(21, False)
time.sleep(.045)
GPIO.output(21, True)
time.sleep(.075)
GPIO.output(21, False)
print('Fingerprint belum didaftar!!!')
lcd_string("COBA LAGI",LCD_LINE_2,2)
print('Exception message: ' + str(e))
time.sleep(2)
lcd_byte(0x01, LCD_CMD)

if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
pass
finally:
lcd_byte(0x01, LCD_CMD)
lcd_string("Goodbye!",LCD_LINE_2,2)
GPIO.cleanup()

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 27


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

3.4.2 Perancangan Desain Hardware

3.4.2.1 Modul LCD 4X20


LCD diperlukan untuk menampilkan identitas dari user ketika melakukan pencatatan
kehadiran. Proses menampilkan data pada LCD dapat dilakukan dengan adanya
dukungan library GPIO, sehingga pemograman dengan Bahasa Python lebih mudah
dilakukan. Panduan untuk instalasi dan proses penggunaan modul LCD 4x20 dapat
dilihat pada : [5].

Gambar 3.4 Integrasi antara LCD 4x20 dengan Raspberry Pi

Pada Gambar 3.4 dapat dilihat bagaimana integrasi antara LCD dan Raspberry Pi. Pada
gambar terdapat Potensiometer yang berfungsi untuk mengatur kontras/kecerahan
layar LCD. Raspberry dan LCD diatas akan berjalan dengan baik apabila dihubungkan
dengan baik sesuai dengan pinnya, dan juga dengan bantuan kode program yang
berfungsi untuk menjalankan seluruh fungsi yang telah dirancang. Berikut ini adalah
kode program konfugarasi Raspberry Pi dengan LCD.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 28


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

# Define some device constants


LCD_WIDTH = 20 # Maximum characters per line
LCD_CHR = True
LCD_CMD = False

LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line


LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line
LCD_LINE_3 = 0x94 # LCD RAM address for the 3rd line
LCD_LINE_4 = 0xD4 # LCD RAM address for the 4th line

# Timing constants
E_PULSE = 0.0005
E_DELAY = 0.0005

def lcd_init():
# Initialise display
lcd_byte(0x33,LCD_CMD) # 110011 Initialise
lcd_byte(0x32,LCD_CMD) # 110010 Initialise
lcd_byte(0x06,LCD_CMD) # 000110 Cursor move direction
lcd_byte(0x0C,LCD_CMD) # 001100 Display On,Cursor Off, Blink Off
lcd_byte(0x28,LCD_CMD) # 101000 Data length, number of lines,
font size
lcd_byte(0x01,LCD_CMD) # 000001 Clear display
time.sleep(E_DELAY)

def lcd_byte(bits, mode):

# Send byte to data pins


# bits = data
# mode = True for character
# False for command

GPIO.output(LCD_RS, mode) # RS

# High bits
GPIO.output(LCD_D4, False)
GPIO.output(LCD_D5, False)
GPIO.output(LCD_D6, False)
GPIO.output(LCD_D7, False)
if bits&0x10==0x10:
GPIO.output(LCD_D4, True)
if bits&0x20==0x20:
GPIO.output(LCD_D5, True)
if bits&0x40==0x40:
GPIO.output(LCD_D6, True)
if bits&0x80==0x80:
GPIO.output(LCD_D7, True)

# Toggle 'Enable' pin


lcd_toggle_enable()

# Low bits
GPIO.output(LCD_D4, False)
GPIO.output(LCD_D5, False)
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 29
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

GPIO.output(LCD_D6, False)
GPIO.output(LCD_D7, False)
if bits&0x01==0x01:
GPIO.output(LCD_D4, True)
if bits&0x02==0x02:
GPIO.output(LCD_D5, True)
if bits&0x04==0x04:
GPIO.output(LCD_D6, True)
if bits&0x08==0x08:
GPIO.output(LCD_D7, True)

# Toggle 'Enable' pin


lcd_toggle_enable()

def lcd_toggle_enable():

# Toggle enable
time.sleep(E_DELAY)
GPIO.output(LCD_E, True)
time.sleep(E_PULSE)
GPIO.output(LCD_E, False)
time.sleep(E_DELAY)

def lcd_string(message,line,style):
# Send string to display
# style=1 Left justified
# style=2 Centred
# style=3 Right justified

if style==1:
message = message.ljust(LCD_WIDTH," ")
elif style==2:
message = message.center(LCD_WIDTH," ")
elif style==3:
message = message.rjust(LCD_WIDTH," ")

lcd_byte(line, LCD_CMD)

for i in range(LCD_WIDTH):
lcd_byte(ord(message[i]),LCD_CHR)

lcd_init()

lcd_string("ATTENDANCE SYSTEM",LCD_LINE_1,2)

lcd_string("TA-2 ELEKTRO 2014",LCD_LINE_4,2)

#today= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")


rdy = datetime.datetime.now().strftime("%b %d %Y")

#str(today)
clk= datetime.datetime.now().strftime("%H:%M:%S")
lcd_string(rdy,LCD_LINE_2,2)
lcd_string(clk,LCD_LINE_3,2)

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 30


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

3.4.2.2 Modul RFID RC522


Modul RFID berfungsi untuk membaca id RFID setiap user. Id RFID di
dapatkan melalui pembacaan terhadap RFID tag berupa kartu, yang dapat di baca oleh
RFID reader dengan jarak maksimal hingga 5-6cm. Dengan bantuan teknologi
frekuensi radio, kartu RFID tidak harus ditempel langsung pada RFID reader karena id
RFID tetap bisa terbaca oleh modul RFID dan id tersebut di kirimkan ke Raspberry
Pi. Berdasarkan cara kerjanya, user hanya perlu meletakkan KTM/RFID Card pada
modul RFID, lalu modul akan men-generate sebuah ID yang unik, yang nantinya akan
disimpan ke database. Tampilan pada modul LCD ketika berhasil dan gagal akan
memiliki tampilan yang sama seperti saat menggunakan modul fingerprint.
 Apabila ID RFID sudah terdaftar maka akan muncul tulisan “Welcome”
beserta dengan informasi ruangan, waktu melakukan proses pembacaan ID
RFID dan nama yang melakukan proses pembacaan ID.
 Apabila ID RFID belum didaftar maka akan muncul tulisan “Coba lagi “
pada layar LCD.
Semua ID RFID dari setiap user yang sudah terdaftar, disimpan di tabel user
pada database. Sehingga ketika melakukan presensi dengan menggunakan RFID,
proses matching akan dilakukan dengan mencocokkan ID yang masuk dengan ID pada
database. Panduan untuk instalasi dan penggunaan modul RFID dapat diakses pada :
[6].

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 31


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

Gambar 3.5 Integrasi antara modul RFID dengan Raspberry Pi

Pada Gambar 3.5 dapat dilihat bagaimana integrasi antara modul RFID dengan
Raspbery Pi. Raspberry Pi akan membantu mengirim dan membandingkan data dari
RFID reader ke database. Agar seluruh alat diatas bekerja dengan baik, maka selain
pengunnaan pin nya harus tepat, kode program yang tepat dan sesuai dengan rancangan
juga harus di implementasikan. Berikut ini adalah kode Program Untuk Konfigurasi
RFID RC 522 ke Raspberry Pi.
try:
#membaca rfid card yang diletakkan pada modul MFRC522
(status,TagType) =
MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)
if status == MIFAREReader.MI_OK:
(status,uid) = MIFAREReader.MFRC522_Anticoll()
if status == MIFAREReader.MI_OK:
lcd_byte(0x01, LCD_CMD)

#membaca UID (Unique ID)


rt_rfid = str (uid)
rt_rfid1 = rt_rfid.translate(None, ',[] ')
print rt_rfid1

#mencari status user pada database berdasarkan UID


curs.execute("SELECT status FROM user WHERE rfid =
('%s')" %rt_rfid1)
status_1 = curs.fetchone()
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 32
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

t_stat=status_1[0]
print t_stat
GPIO.output(21, True)
time.sleep(.085)
GPIO.output(21, False)
if(t_stat == "Dosen"):
curs.execute("SELECT Nama FROM Dosen WHERE rfid =
('%s')" %rt_rfid1)
nama = curs.fetchone()
ntemp = nama[0]
print ntemp

#print today
curs.execute("SELECT matakuliah1 FROM Dosen WHERE
rfid = ('%s')" %rt_rfid1)
matkul1 = curs.fetchone()
t_matkul1 = matkul1[0]
curs.execute("SELECT matakuliah2 FROM Dosen WHERE
rfid = ('%s')" %rt_rfid1)
matkul2 = curs.fetchone()
t_matkul2 = matkul2[0]
curs.execute("SELECT matakuliah3 FROM Dosen WHERE
rfid = ('%s')" %rt_rfid1)
matkul3 = curs.fetchone()
t_matkul3 = matkul3[0]
curs.execute("SELECT matakuliah4 FROM Dosen WHERE
rfid = ('%s')" %rt_rfid1)
matkul4 = curs.fetchone()
t_matkul4 = matkul4[0]
tampilayar(ntemp,clk)
print "Memilih matakuliah"
tampilayardosen(ntemp, t_matkul1, t_matkul2,
t_matkul3, t_matkul4)
print "Data sudah masuk"
lcd_byte(0x01, LCD_CMD)
lcd_string("DATA RECORDED",LCD_LINE_2,2)
time.sleep(1)
lcd_byte(0x01, LCD_CMD)

else:
today=
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
str(today)
curs.execute("SELECT nama FROM user WHERE rfid =
('%s')" %rt_rfid1)
nama = curs.fetchone()
ntemp = nama[0]
print ntemp
print today
ruang = "GD715"
mat="-"
tampilayar(ntemp,clk)

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 33


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

curs.execute("INSERT INTO Log (nama, datetime,


ruangan, matakuliah) VALUES ('%s', '%s', '%s',
'%s')" %(ntemp, today, ruang, mat))
db.commit()
lcd_byte(0x01, LCD_CMD)

except Exception as e:
GPIO.output(21, True)
time.sleep(.075)
GPIO.output(21, False)
time.sleep(.045)
GPIO.output(21, True)
time.sleep(.075)
GPIO.output(21, False)
time.sleep(.045)
GPIO.output(21, True)
time.sleep(.075)
GPIO.output(21, False)
lcd_byte(0x01, LCD_CMD)
print('RFID belum didaftar!!!')
lcd_string("COBA LAGI",LCD_LINE_2,2)
print('Exception message: ' + str(e))
time.sleep(2)
lcd_byte(0x01, LCD_CMD)

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 34


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

3.4.3 Perancangan Desain Database


Dalam penelitian ini, data identitas mahasiswa/dosen disimpan pada database. Adapun
database yang digunakan adalah MySQL database. Database yang dirancang terdiri
dari 4 tabel, yaitu tabel user, tabel dosen, tabel mahasiswa, dan tabel log. Tabel user
akan menyimpan data: id RFID , status user, nomor induk user dan nama. Tabel user
dapat dilihat pada Gambar 3.6.

Gambar 3.6 Tampilan Tabel User

Tabel dosen akan menyimpan data: ID RFID , NIDN, Nama, dan matakuliah yang
diajarkan. Tabel dosen dapat dilihat pada Gambar 3.7.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 35


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

Gambar 3.7 Tampilan Tabel Dosen

Tabel mahasiswa akan menyimpan data: id RFID , NIM, Nama dan Kelas. Tabel
mahasiswa dapat dilihat pada Gambar 3.8.

Gambar 3.8 Tampilan Tabel Mahasiswa

Tabel log akan menyimpan data nama dan waktu ketika user melakukan pencatatan
kehadiran. Tabel log dapat dilihat pada Gambar 3.9.
Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 36
kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 3

Gambar 3.9 Tampilan Tabel log

Integrasi Database dan web server yang dibangun pada sistem ini, menggunakan
bantuan software XAMPP yang di-install pada PC. Agar bisa diakses oleh client
lainnya, perlu dilakukan setting-an dengan mengganti file Apache (httpd.conf), pada
file tersebut terdapat baris script : Listen: localhost:80, ganti script tersebut menjadi:
Listen: ip_address:80 (Misalnya Listen 172.37.40.40:80). Apabila sudah selesai,
jalankan apache web server dan mysql database pada aplikasi XAMPP.
.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 37


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 4

BAB 4 Hasil dan Pembahasan


Sistem pencatatan kehadiran berbasis RFID yang digunakan untuk pembuatan tugas
akhir ini memiliki beberapa tampilan pada antarmuka hardware. Antarmuka hardware
digunakan untuk menampilkan identitas mahasiswa/dosen.
4.1. Tampilan Utama pada Sistem

Gambar 4.1 Tampilan Utama


Gambar 4.1 merupakan tampilan utama sistem pencatatan kehadiran menggunakan
RFID . Pada tampilan ini terdapat jam, tanggal, bulan dan tahun saat sistem sedang
berjalan. Gambar diatas menunjukkan bahwa secara umum, rancangan hardware sistem
telah selesai daan seluruh komponen sudah dalam kondisi on. Hal ini membuktikan
bahwa konfigurasi pin yang digunakan sudah benar, terlepas dari fungsi yang
dimasukkan sudah berjalan dengan baik atau tidak.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 38


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 4

4.2. Tampilan User ketika sistem berhasil membaca RFID card

Gambar 4.2 Tampilan pada LCD ketika berhasil membaca RFID card

Pada Gambar 4.2 ditunjukkan tampilan user dengan status adalah mahasiswa. Pada
LCD terdapat informasi berupa ruangan yang dimasuki, waktu ketika dilakukan
pencatatan kehadiran dan nama dari mahasiswa tersebut. Gambar diatas menunjukkan
bahwa fungsi registrasi berhasil, fungsi matching berhasil dan LCD mampu
menampilkan identitas user.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 39


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 4

4.3. Tampilan User Tidak Dikenal Sistem

Gambar 4.3 Tampilan ketika user tidak dikenali sistem

Pada Gambar 4.3 ditunjukkan tampilan sistem ketika user yang melakukan pencatatan
kehadiran tidak dikenali oleh sistem. Modul RFID kadang kala tidak baik menangkap
gelombang radio dari RFID card yang dimiliki user. Jarak yang baik agar hasil
tangkapan gelombang radio yang dihasilkan baik adalah posisi dimana RFID tag dan
RFID reader, tidak lebih dari 6cm. Gambar diatas menunjukkan bahwa fungsi
matching bekerja dengan baik, tidak hanya untuk user yang sudah di daftarkan namun
juga untuk user yang belum terdaftar, demikian juga hal nya dengan LCD. LCD bekerja
dengan baik, tidak hanya sebagai disply untuk user terdaftar tetapi juga sebagai disply
untuk user yang belum terdaftar.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 40


kehadiran di Institut Teknologi Del
Tugas Akhir Sarjana BAB 5

BAB 5 Kesimpulan dan Saran


5.1. Kesimpulan
Dari setiap tahapan yang dilakukan dalam pembuatan alat pencatatan kehadiran
berbasis RFID maka dapat disimpulkan:
1. Pembangunan sistem pencatatan kehadiran berbasis RFID menggunakan
Raspberri-Pi dan MySQL Database telah berhasil diimplementasikan dan
bekerja dengan baik.
2. Pembangunan sistem pencatatan kehadiran menggunakan RFID dilakukan
melalui 2 tahap, pembangunan hardware dan pembangunan software.
Pembangunan hardware meliputi integrasi modul RFID dan panel LCD ke
Raspberry Pi. Pembangunan software meliputi program untuk registrasi dan
matching.
3. Ketika user melakukan pencatatan kehadiran, modul RFID akan men-generate
id RFID , id RFID merupakan bilangan decimal. id RFID tersebut nantinya
akan dibandingkan dengan id RFID yang tersimpan di database. Setelah data
yang dibandingkan diperoleh, maka data identitas user akan ditampilkan di
LCD.

5.2. Saran
Adapun saran untuk penelitian selanjutnya adalah menambahkan fitur-fitur lainnya,
membuat enkripsi keamanan data, membangun sistem informasi untuk data yang
disimpan di database, dan merancang tampilan hardware yang lebih baik.

Pemamfaatan Teknologi RFID untuk Pencatatan Pencatatan 41


kehadiran di Institut Teknologi Del
DAFTAR PUSTAKA

[1] Elektronika Dasar, "Elektronika Dasar," 10 June 2012. [Online]. Available:


http://elektronika-dasar.web.id/lcd-liquid-cristal-display/. [Accessed 13 July
2018].
[2] Raspberrypi, "Raspberrypi," [Online]. Available:
https://www.raspberrypi.org/help/faqs/#introWhatIs. [Accessed 16 July 2018].
[3] Python Software Foundation, "python," python, [Online]. Available:
https://www.python.org/doc/essays/blurb/. [Accessed 15 July 2018].
[4] F. Dachi, Y. Sitorus and G. La Rosa, "Fingerprint dan RFID Based Attendance
System Using Microcontroller," in B400, Institut Teknologi Del, 2018.
[5] Matt, "Raspberrypi-spy," 9 Agustus 2012. [Online]. Available:
https://www.raspberrypi-spy.co.uk/2012/08/20x4-lcd-module-control-using-
python/. [Accessed 10 April 2018].
[6] B. Raschke, "Sicherheitskritisch," 17 Maret 2015. [Online]. Available:
https://sicherheitskritisch.de/2015/03/fingerprint-sensor-fuer-den-raspberry-pi-
und-debian-linux-en/. [Accessed 14 April 2018].
[7] S. Watson, "Howstuffworks," HowStuffWorks, [Online]. Available:
https://science.howstuffworks.com/fingerprinting1.htm. [Accessed 17 July
2018].
[8] Techopedia, "Techopedia," Techopedia Inc., [Online]. Available:
https://www.techopedia.com/definition/3498/mysql. [Accessed 20 July 2018].
[9] Techopedia, "Techopedia," Techopedia Inc., [Online]. Available:
https://www.techopedia.com/definition/29808/fingerprint-scanner. [Accessed
13 July 2018].
[10] G. Hendarko, A. Hidayatno and R. R. Isnanto, Identifikasi Citra Sidik Jari
Menggunakan Alihragam Wavelet dan Jarak Euclidean, Universitas
Diponegoro.
[11] F. Dachi, Y. Sitorus and G. La Rosa, "Fingerprint dan RFID Based Attendance
System Using Microcontroller," in B100, Institut Teknologi Del, 2018.
[12] F. Dachi, Y. Sitorus and G. La Rosa, "Fingerprint dan RFID Based Attendance
System Using Microcontroller," in B200, Institut Teknologi Del, 2018.
[13] F. Dachi, Y. Sitorus and G. La Rosa, "Fingerprint dan RFID Based Attendance
System Using Microcontroller," in B300, Institut Teknologi Del, 2018.
[14] F. Dachi, Y. Sitorus and G. La Rosa, "Fingerprint dan RFID Based Attendance
System Using Microcontroller," in B500, Institut Teknologi Del, 2018.

Anda mungkin juga menyukai