Anda di halaman 1dari 18

RANCANG BANGUN SISTEM ABSENSI DENGAN MIKROKONTROLER DAN RFID PADA PC BERBASIS GNU/LINUX OS

Disusun Oleh : Afrizal Setiawan


2006010334

PENDAHULUAN
Latar Belakang Masalah Sistem Absensi Karyawan Menggunakan RFID, bekerja cukup sederhana sehingga sangat bermanfaat untuk Instansi yang memiliki jumlah karyawan cukup banyak agar bisa memantau dan memeriksa keterlambatan (disiplin) setiap karyawan. Alat ini bisa membantu pekerjaan dalam mengumpulkan data karyawan untuk di nilai dari kehadiran setiap harinya. Dengan dukungan LINUX sebagai sistem operasi, sangat menekan biaya dari pengadaan Sistem absensi untuk sebuah Instansi yang sedang berkembang. Itulah yang membuat alat ini layak untuk dikembangan terutama di Indonesia. Tujuan Perancangan Merancang dan membuat alat sistem absensi dengan teknologi RFID berbasis mikrokontroler MCS-51 dengan tampilan PC pada Linux OS. Mengaplikasikan alat yang telah dibuat untuk melakukan proses absensi agar dapat bekerja sesuai dengan yang diinginkan. Membantu dalam menangani absensi di Instansi dengan jumlah karyawan yang banyak. Memaksimalkan sistem operasi Linux selain dari sistem operasi Windows yang umum digunakan, sehingga dapat memangkas biaya operasional.

PENDAHULUAN
Batasan Masalah Agar dalam proses pengerjaannya menjadi lebih optimal dan maksimal, ada beberapa batasan masalah dalam perancangan alat ini. Diantaranya adalah sebagai berikut : Alat ini menampilkan nama karyawan dan jam masuk saat pengambilan data dari tag RFID pada PC dalam bentuk Graphic User Interface (GUI). LCD akan menampilkan waktu real time sama dengan waktu yang ditunjukan di PC dan menampilakan kode RFID pada saat RFID reader membaca ID tag yang aktif untuk kemudian mengirimkannya ke PC melalui port serial. Menggunakan Operating System berbasis Linux, yaitu Linux Mint 13 MAYA dengan Desktop Environment MATE dan Perangkat lunak Gambas for Linux IDE. Pembahasan RFID hanya sebagai aplikasi tanda pengenal pada masukan dan digunakan oleh user yang terdaftar terlebih dahulu. Tag RFID yang digunakan mewakili data satu karyawan, dan dalam tugas akhir ini terdapat 3 tag yang mewakili 3 data karyawan.

LANDASAN TEORI
RFID (Radio Frequency Identification) atau Identifikasi Frekuensi Radio adalah sebuah metode identifikasi dengan menggunakan sarana yang disebut label RFID atau transponder untuk menyimpan dan mengambil data jarak jauh. Label atau kartu RFID adalah sebuah benda yang bisa dipasang atau dimasukkan di dalam sebuah produk, hewan atau bahkan manusia dengan tujuan untuk identifikasi menggunakan gelombang radio. Label RFID berisi informasi yang disimpan secara elektronik dan dapat dibaca hingga beberapa meter jauhnya. Sistem pembaca RFID tidak memerlukan kontak langsung seperti sistem pembaca barcode. RFID menawarkan keunggulan dibandingkan sistem manual atau penggunaan barcode. Label dapat dibaca jika melewati dekat pembaca label, bahkan jika pembaca tertutup oleh objek atau tidak terlihat. Label dapat dibaca di dalam sebuah wadah, karton, kotak atau lainnya. Label RFID dapat membaca ratusan pada satu waktu, sedangkan barcode hanya dapat dibaca satu per satu.

LANDASAN TEORI
RFID dapat digunakan dalam berbagai aplikasi, seperti: Manajement Akses Pelacakan barang Pengumpulan dan pembayaran toll tanpa kontak langsung Mesin pembaca dokumen berjalan Pelacakan identitas untuk memverifikasi keaslian Pelacakan bagasi di bandara Sistem Absensi dan perparkiran Ada empat macam RFID tag yang sering digunakan bila dikategorikan berdasarkan frekuensi radio, yaitu: Low frequency tag (antara 125 ke 134 kHz) High frequency tag (13.56 MHz) UHF tag (868 sampai 956 MHz) Microwave tag (2.45 GHz)

AT89S51 memiliki komunikasi data serial yang terdiri dari register SBUF, Register Serial Port Control (SCON), dan register Power Mode Control (PCON). Register SBUF untuk menahan data dan merupakan bit dalam register SFR. Register Serial Port Control (SCON). Dalam komunikasi serial AT89S51 terdapat dua jenis transmisi serial : Synchronous, yaitu detak (clock) yang dikirim bersama dengan data serial itu sendiri. Asynchronous, yaitu detak dibangkitkan oleh masing-masing sistem, baik pengirim maupun penerima.

KOMUNIKASI SERIAL MIKROKONTROLER AT89S51

Untuk perhitungan efisiensi pengiriman data serial secara Asinkron dapat dihitung dengan rumus Efisiensi () berikut : Data sebenarnya 100%
Data yang dikirim 8 100% 80% 10 58 untuk 5 data 100% 80% 5 10

untuk 1 data

Inisialisai UART Dalam proses inisialisasi ada beberapa buah register yang perlu ditentukan nilainya, yaitu TMOD, SCON, dan PCON. TMOD merupakan register 8 bit yang berfungsi untuk mengatur kerja Timer/Counter. Dengan memanfaatkan bit TMOD.5 dan TMOD.1 (Timer 1) atau dengan TMOD.4 dan TMOD.0 (Timer 0), dapat memilih mode operasi pencacah biner yang diinginkan. Dengan bantuan register SCON, dapat menentukan besarnya baud rate yang diinginkan dengan memanfaatkan bit SCON.7 dan SCON.6 untuk memilih mode jenis baud rate. Perhitungan baud rate dari mode 1 adalah:

KOMUNIKASI SERIAL MIKROKONTROLER AT89S51

Fosc TH1 256 384 Baud Rate 20 11059200 TH1 256 384 9600 11059200 TH1 256 3686400 TH1 256 - 3 253(Desimal)/0xFD(Heksa) 2

SMOD

SEJARAH LINUX
SEJARAH LINUX Awalnya dibuat oleh mahasiswa Finladia yang bernama : Linus Tovalds Inspirasi dari MINIX yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Agustus 1991 keluar LINUX versi 0.01 dan 5 Oktober 1991, Linus mengumumkan versi resmi LINUX yaitu versi 0.02 yang hanya dapat dijalankan SHELL BASH (GNU Bourne Again Shell) dan GCC (GNU C compiler). Saat ini LINUX adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software, dan bahkan untuk pekerjaan sehari-hari. LINUX bisa diperoleh dalam berbagai distribusi (sering disebut DISTRO). DISTRO adalah bundel dari kernel LINUX, beserta sistem dasar LINUX, program instalasi, tools basic dan program-program lain yang bermanfaat sesuai dengan tujuan pembuatan DISTRO. Distro Linux yang terkenal diantaranya RedHat, Slackware, Debian, Ubuntu, OpenSUSE, dan PCLinuxOS serta beberapa distro Linux buatan anak Bangsa seperti BlankON, IGOS Nusantara, dsb.

GAMBAS IDE
Beberapa Kelebihan Gambas Memiliki tampilan interface GUI yang familiar dan simpel Memiliki license sama dengan linux, yaitu free dan opensource Lingkungan kerja gambas dibuat dengan Gambas itu sendiri Gambas dapat dijadikan debugger yang baik Gambas sangat mudah diterjemahkan ke bahasa apapun Mendukung database Postgree,SQL Mysql, SQLite

Blok Diagram Sistem Absensi RFID

Prinsip Kerja
Setiap RFID tag memiliki ID yang berbeda, kode tersebut kemudian dideteksi oleh RFID reader dengan jarak baca 5-10 cm dari pemancarnya. Karena RFID tag yang digunakan bersifat pasif, sehingga harus didekatkan kepemancar agar bisa dikenali sebagai masukan berupa gelombang frekuensi. Kemudian diproses oleh RFID reader dan dikirimkan ke Mikrokontroler melalui Port P3.0 (Rx)/Pin 10 pada IC AT89S51, dalam format data ASCII (UART/RS-232) dan menampilkannya pada LCD, tampilan di layar LCD berupa kode pembacaan RFID reader yang sudah diterjemahkan oleh Mikrokontroler untuk menandakan bahwa RFID tag sudah terbaca dengan baik yang diikuti dengan suara buzer. COM Serial berfungsi sebagai jalur komunikasi antara perangkat keras (mesin absensi) dengan PC berbasis Linux OS, berbeda dengan Windows pada Linux port serial diberi nama dengan /dev/ttyS0. Antarmuka pada Linux OS menggunakan software Gambas, dengan bahasa program BASIC akan menampilkan masukan yang sudah diterima dari port serial yang berasal dari mikrokontroler. Sehingga memudahkan dalam pembacaan dan pembuatan laporan untuk absensi karyawan dengan jumlah besar karna hasilnya berupa teks yang bisa dibaca oleh manusia. Selain untuk absensi RFID tag juga bisa difungsikan banyak hal seperti kartu mahasiswa, kartu parkir kendaraan, kartu anggota perpustakaan dsb. Dengan mengintegrasikannya pada sebuah pusat informasi database kegunaan RFID bisa lebih luas dan kompleks untuk memudahkan bertukar informasi serta memperbaharuinya.

Flow Chart

Rangkaian Keseluruhan

Program Utama
;Program Utama org 00000h main: mov sp,#050h ajmp prog org 00023h acall ser_int setb sts_ser reti org 00030h prog2: acall init_sys acall dsp_utm acall dsp_welcome setb ea nop nop nop nop nop nop clr ea jb sw_reset,prog2 mov dat_detik,#0 acall set_time acall set_jam acall set_menit acall set_detik acall get_time acall dsp_welcome acall dly_key acall dly_key ajmp prog1 acall get_clock acall cek_clock jnb sts_ser,prog1 acall uji_rfid acall dly_key acall dsp_utm acall uji_ser clr sts_ser acall dly_key acall dly_key acall dly_key acall dsp_utm acall dsp_welcome ajmp prog1
;Inisialisasi Sistem init_sys: mov dat_sts,#0 mov tmod,#020h mov th1,#0fdh mov scon,#050h setb tr1 setb lamp_lcd acall set_lcd acall get_time acall clr_reg acall dsp_utm acall dly_key setb es acall clr_lcd ret uji_rfid: mov a,37h acall ser_out mov a,38h acall ser_out mov a,39h acall ser_out mov a,3ah acall ser_out mov a,3bh acall ser_out mov a,3ch acall ser_out mov a,3dh acall ser_out ret

prog:

Prog1:

cek_clock: clc01:

clr_reg:
reg1:

ser_out:

halt:

ser_int:

loop2:

sys_ser: rcv_dat:

mov r7,#jum_reg mov r0,#addr_reg mov @r0,#020h inc r0 djnz r7,reg1 ret mov r0,a mov sbuf,r0 jnb ti,halt clr ti ret mov dat_loop,#0 mov r1,#addr_reg mov r7,#jum_reg acall dly_ser jnb ri,sys_ser acall rcv_dat mov @r1,dat_ser inc r1 inc dat_loop djnz r7,loop2 clr ti ret push psw push acc mov r0,sbuf clr ri mov dat_ser,r0 pop acc pop psw ret

exit_clc: add_menit:

mnt01:

add_jam:

jam01:

get_clock:

sys_clk: exit_clk:

jb sw_menit,clc01 acall add_menit jb sw_jam,exit_clc acall add_jam ret inc dat_menit mov a,dat_menit cjne a,#60,mnt01 mov dat_menit,#0 acall set_time acall set_jam acall set_menit acall get_time acall dsp_utm acall dly_key ret inc dat_jam mov a,dat_jam cjne a,#24,jam01 mov dat_jam,#0 acall set_time acall set_jam acall set_menit acall get_time acall dsp_utm acall dly_key ret jnb clock,sys_clk setb led_run jb sts_clock,exit_clk acall get_time acall dsp_utm setb sts_clock ajmp exit_clk clr led_run clr sts_clock ret

set_lcd:

clr rw_lcd mov a,#00001100b acall clk_ctrl mov a,#00111000b acall clk_ctrl ret dsp_utm: acall c_home mov dptr,#tab_utm mov r2,#0 mov r3,#7 acall display mov a,dat_jam acall two_dat mov a,#':' acall one_clk mov a,dat_menit acall two_dat mov a,#':' acall one_clk mov a,dat_detik acall two_dat mov dptr,#tab_utm mov r2,#15 mov r3,#27 acall display ret dsp_welcome: mov dptr,#tab_welcome mov r2,#0 mov r3,#16 acall display ret

PERANCANGAN PROGRAM GAMBAS

PERANCANGAN PROGRAM GAMBAS

SEKIAN DAN TERIMA KASIH

Anda mungkin juga menyukai