LKP : Rancang Bangun Keamanan Kunci Pintu Otomatis Berbasis RFID Pada PT. PAL INDONESIA.
RANCANG BANGUN KEAMANAN KUNCI PINTU
OTOMATIS BERBASIS RFID PADA P.T. PAL INDONESIA
KERJA PRAKTIK
Program Studi S1 Sistem Komputer
Oleh
BUANA TERA CAHYA 09410200020
FAKULTAS TEKNOLOGI DAN INFORMATIKA
INSTITUT BISNIS DAN INFORMATIKA STIKOM SURABAYA 2015
(2)
x
MOTTO ... ii
PERSEMBAHAN ... iii
LEMBAR PENGESAHAN ... iv
PERNYATAAN ... v
SURAT PERNYATAAN PERSETUJUAN PUBLIKASI ...vi
ABSTRAK ... vii
KATA PENGANTAR ... viii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ...1
1.3 Batasan Masalah ...1
1.4 Tujuan ...2
1.5 Manfaat ...2
1.6 Sistematika Penulisan ...2
BAB II GAMBARAN UMUM PERUSAHAAN ...5
2.1 Sejarah Singkat P.T. PAL INDONESIA ...5
2.2 Visi dan Misi P.T. PAL INDONESIA ...10
2.2.1 Visi ...10
2.2.2 Misi ...10
2.3 Struktur Organisasi P.T. PAL INDONESIA ...11
BAB III LANDASAN TEORI ...12
(3)
xi
3.2 MIFARE RC522 RFID Reader Module ...15
3.3 Tag RFID ...16
3.4 Solenoid Door Lock 5V ...18
3.5 Buzzer ...19
3.6 Limit Switch ...19
BAB IV METODE PENELITIAN ...21
4.1 Flowchart Alur Kerja Pintu Otomatis ...21
4.2 Arduino 1.05 ...22
4.3 Skema Rangkaian Pengkabelan RFID Serta Solenoid ...31
BAB V HASIL DAN PEMBAHASAN ...32
5.1 Listing Program MFRC522.h ...32
5.2 Listing Program ...38
BAB VI PENUTUP ...45
6.1 Kesimpulan ...45
6.2 Saran ...45
DAFTAR PUSTAKA ...46
LAMPIRAN ...47
(4)
1 1. 1 Latar Belakang Masalah
Keamanan merupakan kebutuhan vital. Salah satu cara meningkatkan
keamanan dengan membatasi akses masuk orang-orang tertentu ke dalam suatu
ruangan. Pintu dengan RFID reader dan mikro yang berisi ID orang tertentu yang
dapat memasuki ruangan sehingga ruangan tersebut akan lebih terjaga
keamanannya. Setiap karyawan memiliki RFID card yang berisi ID, ID ini yang
digunakan sebagai acuan siapa saja pengguna ruangan. Sehingga orang yang tidak
berkepentingan dalam ruangan itu bila ingin memasuki ruangan harus dengan ijin
khusus, tidak dapat masuk langsung.
1. 2 Rumusan Masalah
Berdasarkan latar belakang masalah yang ada, rumusan masalah pada
Kerja Praktik ini adalah sebagai berikut:
1. Bagaimana merancang bangun pintu dengan RFID sebagai pembaca ID.
2. Bagaimana merancang mikrokontroler Arduino Uno untuk menyimpan data
ID karyawan serta mengontrol kunci pintu.
1. 3 Batasan Masalah
Pelaksanaan Kerja Praktik dalam pembuatan pintu otomatis dibatasi pada
hal-hal berikut:
(5)
2
2. Inputan data ID dimasukkan melalui program ke dalam mikro, tidak
dimasukkan dari luar.
1. 4 Tujuan
Berdasarkan rumusan masalah yang ada, tujuan yang ingin dicapai
adalah:
1. Untuk merancang pintu dengan keamanan akses orang-orang tertentu saja
yang dapat memasuki ruangan.
2. Untuk merancang pintu dengan auto lock untuk lebih memperaman ruangan.
1. 5 Manfaat
Manfaat dari pelaksanaan Kerja Praktik ini adalah:
1. Tingkat keamanan dari suatu ruangan meningkat dengan terbatasnya orang
yang dapat memasuki ruangan.
2. Tidak perlu membawa kunci pintu, cukup dengan RFID card masing-masing
karyawan.
1. 6 Sistematika Penulisan
Di dalan penulisan laporan Kerja Praktik ini secara sistematika diatur dan
disusun dalam lima bab, yang masing-masing terdiri dari beberapa sub bab.
(6)
BAB I PENDAHULUAN
Berisi latar belakang masalah yang ada, perumusan masalah berdasarkan
tujuan, batasan masalah yang akan dibahas, tujuan dari pembuatan alat, kontribusi
serta sistematika penulisan.
BAB II GAMBARAN UMUM INSTANSI
Berisi kilas sejarah instansi, visi dan misi, struktur organisasi yang ada
pada tempat Kerja Praktik.
BAB III LANDASAN TEORI
Berisi teori-teori pendukung yang digunakan dalam rancang bangun
keamanan kunci pintu otomatis berbasis RFID.
BAB IV METODE PENELITIAN
Berisi tentang metode yang digunakan dalam pembuatan alat.
BAB V HASIL DAN PEMBAHASAN
Berisi tentang desain sistem berupa flowchart, rangkaian elektronika,
program.
BAB IV DESKRIPSI PEKERJAAN
Berisi uraian tentang tugas-tugas yang dikerjakan pada saat Kerja
(7)
4
BAB V PENUTUP
Berisi kesimpulan dari pembahasan implementasi sistem yang dibuat
sedangkan saran untuk perbaikan dan harapan-harapan untuk pengembangan
(8)
5 BAB II
GAMBARAN UMUM PERUSAHAAN
2.1 Sejarah Singkat P.T. PAL INDONESIA
P.T. PAL INDONESIA (PERSERO), bermula dari sebuah galangan
kapal yang bernama MARINE ESTABLISHMENT (ME) dan diresmikan oleh
pemerintah Belanda pada tahun 1939. Pada masa pendudukan Jepang, perusahaan
ini beralih nama menjadi Kaigun SE 2124. Setelah kemerdekaan, Pemerintah
Indonesia menasionalisasi Perusahaan ini dan mengubah namanya menjadi
Penataran Angkatan Laut (PAL). Pada tanggal 15 April 1980, Pemerintah
mengubah status Perusahaan dari Perusahaan Umum menjadi Perseroan Terbatas
sesuai dengan akta No. 12, yang dibuat oleh Notaris Hadi Moentoro, SH.
Lokasi Perusahaan di Ujung, Surabaya, dengan kegiatan utama
memproduksi kapal perang dan kapal niaga, memberikan jasa perbaikan dan
pemeliharaan kapal, serta rekayasa umum dengan spesifikasi tertentu berdasarkan
pesanan.
Kemampuan rancang bangun yang menonjol dari P.T. PAL INDONESIA
(Persero) telah memasuki pasaran internasional dan kualitasnya telah diakui
dunia. Kapal-kapal produksi P.T. PAL INDONESIA (Persero) telah melayari
perairan di seluruh dunia.
Sebagai galangan kapal dengan pengalaman lebih dari dua dasawarsa,
P.T. PAL INDONESIA (PERSERO) memiliki beragam produk-produk
(9)
6
PRODUK KAPAL NIAGA
Pengembangan produk kapal niaga diarahkan pada pasar internasional,
pengembangan model-model industri pelayaran nasional dan pelayaran perintis
bagi penumpang dan barang (cargo). Kapasitas produksi per tahun saat ini
mencapai 3 unit kapal dengan ukuran 50,000 DWT dan 2 unit kapal dengan
ukuran 20,000 DWT per tahun.
Pada saat ini P.T. PAL INDONESIA (PERSERO) telah menguasai
teknologi produksi untuk kapal-kapal seperti Kapal Bulker sampai dengan 50,000
DWT, kapal container sampai dengan 1.600 TEUS, kapal tanker sampai dengan
30,000 DWT, kapal penumpang sampai dengan 500 PAX. Sementara itu produk
yang telah dikembangkan antara lain kapal container sampai dengan 2.600 TEUS,
kapal Chemical Tanker sampai dengan 30,000 DWT, kapal LPG Carrier sampai
dengan 5.500 DWT.
PRODUK KAPAL CEPAT KAPAL KHUSUS
Saat ini P.T. PAL INDONESIA (PERSERO) tengah mengembangkan
produk-produk yang akan dipasarkan di dalam negeri, terutama untuk memenuhi
kebutuhan badan-badan pemerintah pusat seperti Departemen Pertahanan,
Kepolisian Rl, Departemen Kelautan, Departemen Keuangan/Direktorat Jenderal
Bea & Cukai serta Otonomi Daerah maupun swasta.
Produk yang telah dikuasai antara lain:
1. Kapal Landing Platform Dock 125 M.
(10)
3. Kapal Patroli Cepat/ Kapal Khusus Lambung Aluminium klas sampai dengan
38 m.
4. Kapal Tugboat dan Anchor Handling Tug/Supply sampai dengan klas 6.000
BHP.
5. Kapal Ikan sampai dengan 600 GRT.
6. Kapal Ferry dan Penumpang sampai dengan 500 pax.
PRODUK JASA HARKAN
Produk Jasa harkan kapal maupun non kapal meliputi jasa pemeliharaan
dan perbaikan kapal tingkat depo dengan kapasitas docking 600,000 DWT per
tahun.
Selain itu jasa yang disediakan adalah annual/ special survey dan
overhaul bagi kapal niaga dan kapal perang, pemeliharaan dan perbaikan
elektronika dan senjata serta overhaul kapal selam. Peluang pasar untuk kategori
pelayanan jasa seperti ini berasal dari TNI - AL, swasta, pemerintah serta
kapal-kapal yang singgah dan berlabuh di Surabaya, dengan jumlah yang mencapai
6.800 kapal per tahun.
REKAYASA UMUM
Pada saat ini P.T. PAL INDONESIA (PERSERO) telah menguasai
teknologi produksi komponen pendukung industri pembangkit tenaga listrik
seperti Boiler dan Balance of Point. Kemampuan ini akan terus ditingkatkan
sampai pada taraf kemampuan modular dan EPC bagi industri pembangkit tenaga
(11)
8
Saat ini P.T. PAL INDONESIA (PERSERO) telah menguasai produk
Rekayasa Umum seperti Steam Turbine Assembly sampai dengan 600 MW,
Komponen Balance of Plant dan Boiler sampai dengan 600 MW, Compressor
Module 40 MW, Barge Mounted Power Plant 30 MW, Pressure Vessels dan Heat
Exchangers, Generator Stator Frame s.d 600 MW. Sementara itu produk rekayasa
umum yang sedang dikembangkan adalah Steam Turbine Power Plant, Jacket's
structure sampai dengan 1000 ton serta Monopod dan Anjungan (Platform)
sampai dengan 1000 ton.
PENGEMBANGAN SUMBER DAYA MANUSIA
Sejarah telah membuktikan kemampuan insan Indonesia sebagai pelaut
yang tersohor, namun untuk dapat bersaing di arena internasional yang semakin
keras, P.T. PAL INDONESIA (Persero) menyadari bahwa sejarah dan tradisi
dapat menjadi pendorong, namun pendidikan dan training bagi para karyawannya
adalah mutlak untuk menghasilkan Sumber Daya manusia yang tangguh dan
memiliki kemampuan tinggi. Sebagai tulang punggung perusahaan, bidang
Sumber Daya Manusia mendapat perhatian yang khusus dengan beragam kegiatan
yang bertujuan meningkatkan basis kompetensi dari para karyawan P.T. PAL
INDONESIA (Persero).
Dengan jumlah karyawan mencapai 2.685 personil, P.T. PAL
INDONESIA (Persero) menerapkan langkah-langkah strategis pengelolaan
Sumber Daya Manusia yang meliputi :
1. Pemangkasan bisnis proses dengan membangun sistim informasi SDM
(12)
2. Penataan fungsi organisasi, dengan memisahkan fungsi-fungsi Non-core/
pendukung tidak lagi dikelola oleh perusahaan tetapi dengan cara
outsourcing.
3. Peningkatan kompetensi, dengan membangun standard kompetensi baik
fungsional maupun structural sebagai bahan assessment.
4. Restrukturisasi personil yang kompetensinya tidak bisa dikembangkan secara
optimal.
5. Penggunaan outsourcing.
6. Mendukung peningkatan produksi disertai dengan pelatihan peningkatan
keahlian seperti misalnya pengelasan.
Selama kurun waktu 5 tahun terakhir ini, P.T. PAL INDONESIA
(Persero) telah berhasil menerapkan sistem yang dapat meningkatkan
kompetensi, keahlian dan manajemen sumber daya manusia serta pemagangan
(apprenticeship) Kesemuanya ini menunjukkan upaya yang sungguh-sungguh
dari P.T. PAL INDONESIA (Persero) untuk meningkatkan kemampuan inti (core
competence) dari para karyawannya.
PENGEMBANGAN MASYARAKAT DAN LINGKUNGAN
P.T. PAL INDONESIA (Persero) menyadari posisinya sebagai sebuah
perusahaan besar di tengah-tengah masyarakat Indonesia yang majemuk dan
tugasnya dalam melestarikan alam sekitarnya. Kepedulian P.T. PAL INDONESIA
(Persero) terhadap masyarakat dan lingkungannya tersebut diwujudkan dalam
(13)
10
Perusahaan menerapkan standar manajemen lingkungan ISO 14001 dan
memberikan bantuan untuk korban bencana alam, pendidikan (beasiswa) dan
fasilitas sekolah, sarana ibadah (mushola, mesjid dan gereja), pembangunan
prasarana umum, peningkatan kesehatan masyarakat dan peningkatan prestasi
olahraga masyarakat.
Bentuk-bentuk kemitraan yang telah dikembangkan oleh perusahaan
meliputi pemberian pinjaman lunak untuk modal kerja dan investasi kepada para
pengusaha berskala kecil di wilayah Jawa Timur dan program pelatihan untuk
mitra binaan. Saat ini jumlah mitra binaan mencapai 880 usaha kecil.
2.2 Visi dan Misi P.T. PAL INDONESIA
2.2.1 Visi
Menjadi Perusahaan Galangan Kapal dan Rekayasa Berkelas Dunia,
Terpercaya, dan Bernilai Tambah Bagi Para Pemangku Kepentingan.
2.2.2 Misi
1. Meningkatkan kepuasan pelanggan dengan mutu produk berstandar
Internasional dan penyerahan produk tepat waktu, serta meningkatkan
pengelolaan perusahaan yang akuntabel dan transparan.
2. Meningkatkan peran dalam mendukung program pertahanan dan keamanan
(14)
3. Memberikan kemampu-labaan dan kesejahteraan secara berkesinambungan bagi para pemegang saham, karyawan, pelanggan, mitra usaha, dan
pengembangan usaha kecil.
2.3 Struktur Organisasi P.T. PAL INDONESIA
(15)
12 BAB III LANDASAN TEORI
3.1 Arduino Uno
Arduino UNO adalah board berbasis mikrokontroler pada ATmega328.
Board ini memiliki 14 digital input / output pin (dimana 6 pin dapat digunakan
sebagai output PWM), 6 input analog, 16 MHz osilator kristal, koneksi USB, jack
listrik tombol reset. Pin-pin ini berisi semua yang diperlukan untuk mendukung
mikrokontroler, hanya terhubung ke komputer dengan kabel USB atau sumber
tegangan bisa didapat dari adaptor AC-DC atau baterai untuk menggunakannya.
Gambar 3.1 Arduino Uno
Beberapa keistimewaan ATMEGA 328 antara lain:
1. Advanced RISC Architecture
131 Powerful Instructions
(16)
32 x 8 General Purpose Working Registers
Fully Static Operation
Up to 20 MIPS Throughput at 20MHz
On-chip 2-cycle Multiplier
2. High Endurance Non-volatile Memory Segments
32KBytes of In-System Self-Programmable Flash program memory
1KBytes EEPROM
2KBytes Internal SRAM
Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
Data retention: 20 years at 85C/100 years at 25C(1)
Optional Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program
True Read-While-Write Operation
Programming Lock for Software Security
3. Atmel® QTouch® library support
Capacitive touch buttons, sliders and wheels
QTouch and QMatrix® acquisition
Up to 64 sense channels
4. Peripheral Features
Two 8-bit Timer/Counters with Separate Prescaler and Compare Mode
One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and
Capture Mode
Real Time Counter with Separate Oscillator
(17)
14
6-channel 10-bit ADC in PDIP Package
Temperature Measurement
Programmable Serial USART
Master/Slave SPI Serial Interface
Byte-oriented 2-wire Serial Interface (Philips I2 C compatible)
Programmable Watchdog Timer with Separate On-chip Oscillator
On-chip Analog Comparator
Interrupt and Wake-up on Pin Change
5. Special Microcontroller Features
Power-on Reset and Programmable Brown-out Detection
Internal Calibrated Oscillator
External and Internal Interrupt Sources
Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down,
Standby, and Extended Standby
6. I/O and Packages
23 Programmable I/O Lines
28-pin PDIP
7. Operating Voltage:
1.8 - 5.5V
8. Temperature Range: ̶ -40C to 85C
9. Speed Grade: ̶ 0 - 4MHz@1.8 - 5.5V, 0 - 10MHz@2.7 - 5.5.V, 0 - 20MHz @
(18)
10.Power Consumption at 1MHz, 1.8V, 25C
Active Mode: 0.2mA
Power-down Mode: 0.1µA
Power-save Mode: 0.75µA (Including 32kHz RTC)
3.2 MIFARE RC522 RFID Reader Module
RFID (Radio Frequency Identification) adalah teknologi identifikasi
berbasis gelombang radio. Teknologi ini mampu mengidentifikasi berbagai objek
secara simultan tanpa diperlukan kontak langsung (atau dalam jarak pendek).
RFID dikembangkan sebagai pengganti atau penerus teknologi barcode. RFID
bekerja pada HF (High Frekuency) untuk aplikasi jarak dekat (proximity) dan
bekerja pada UHF (Ultra High Frekuency) untuk aplikasi jarak jauh (vicinity).
Sensor RFID adalah sensor yang mengidentifikasi suatu barang dengan
menggunakan frekuensi radio. Sensor ini terdiri dari dua bagian penting:
transceiver (reader) dan transponder (tag). Setiap tag tersimpan data yang
berbeda. Data tersebut merupakan data identitas tag. Reader akan membaca data
dari tag dengan perantara gelombang radio. Pada reader biasanya berhubungan
dengan suatu mikrokontroler.
13,56 MHz RFID modul kit dengan SPI interface yang dapat
dihubungkan ke mikrokontroler seperti Arm/AVR/Pic/Arduino. RFID modul
dapat digunakan untuk berbagai hobi dan aplikasi komersil, seperti akses kontrol,
indentifikasi otomatis, robotik, navigasi, inventory tracking, sistem pembayaran
(19)
16
Supply Voltage 3.3V
Current 13-26mA
Operating frequency 13.56MHz
Read Range 0 ~ 60mm
Interface SPI ,Data Transfer Rate: Max 10Mbit / s
Dimensions 40mm x 60mm
Size of Round Tag 0.87 x 85.5 x 54 mm
Size of Rectangle Tag 32 x 40.5 x 4.2 mm
Supported card types mifare1 S50, the mifare1 S70, Mifare
UltraLight, Mifare Pro, mifare DESFire
(20)
3.3 Tag RFID
Tag RFID adalah perangkat yang dibuat dari rangkaian elektronika dan
antena yang terintegrasi di dalam rangkaian tersebut. Rangkaian elektronik dari
tag RFID umumnya memiliki memori sehingga tag ini mempunyai kemampuan
untuk menyimpan data. Memori pada tag secara dibagi menjadi sel-sel. Beberapa
sel menyimpan data Read Only, RFID Reader Reader signal Tag response RFID
Tag 10 misalnya serial number yang unik yang disimpan pada saat tag tersebut
diproduksi. Selain pada RFID mungkin juga dapat ditulis dan dibaca secara
berulang.
Berdasarkan catu daya tag, tag RFID dapat digolongkan menjadi:
a. Tag Aktif: yaitu tag yang catu dayanya diperoleh dari baterai, sehingga akan
mengurangi daya yang diperlukan oleh pembaca RFID dan tag dapat
mengirimkan informasi dalam jarak yang lebih jauh. Kelemahan dari tipe tag
ini adalah harganya yang mahal dan ukurannya yang lebih besar karena lebih
komplek. Semakin banyak fungsi yang dapat dilakukan oleh tag RFID maka
rangkaiannya akan semakin komplek dan ukurannya akan semakin besar.
b. Tag Pasif: yaitu tag yang catu dayanya diperoleh dari medan yang dihasilkan
oleh pembaca RFID. Rangkaiannya lebih sederhana, harganya jauh lebih
murah, ukurannya kecil, dan lebih ringan. Kelemahannya adalah tag hanya
dapat mengirimkan informasi dalam jarak yang dekat dan pembaca RFID
harus menyediakan daya tambahan untuk tag RFID.
Tag RFID telah sering dipertimbangkan untuk digunakan sebagai
barcode pada masa yang akan datang. Pembacaan informasi pada tag RFID tidak
(21)
18
modern, maka tag RFID dapat menyimpan jauh lebih banyak informasi
dibandingkan dengan barcode.
Gambar 3.3 Tag RFID yang sudah berbentuk kartu
3.4 Solenoid Door Lock 5V
Solenoid adalah alat yang digunakan untuk mengubah sinyal listrik atau
arus listrik menjadi gerakan mekanis linear. Solenoid disusun dari kumparan
dengan inti besi yang dapat bergerak. Apabila kumparan diberi tenaga, inti atau
jangkar, akan ditarik ke dalam kumparan. Semakin besar arus yang mengalir di
dalam suatu kumparan, semakin besar kuat medannya. Begitu juga semakin
banyak lilitan kawatnya, semakin banyak dihasilkan garis gaya magnet. Perkalian
antara kuat arus dan jumlah lilitan disebut dengan ampere-turns (ampere-lilitan),
(22)
Gambar 3.4 Solenoid Door Lock
3.5 Buzzer
Buzzer adalah suatu alat yang dapat mengubah sinyal listrik menjadi
sinyal suara. Buzzer terdiri dari alat penggetar yang berupa lempengan yang tipis
dan lempengan logam tebal. Bila kedua lempengan diberi tegangan maka electron
dan proton akan mengalir dari lempengan satu ke lempengan lain.
(23)
20
3.6 Limit Switch
Limit switch merupakan jenis saklar yang dilengkapi dengan katup yang
berfungsi menggantikan tombol. Prinsip kerja limit switch sama seperti saklar
Push ON yaitu hanya akan menghubungkan pada saat katupnya ditekan pada
batas penekanan tertentu yang telah ditentukan. Dan akan memutuskan saat katup
tidak ditekan. Limit switch termasuk dalam kategori sensor mekanis yaitu sensor
yang akan memberikan perubahan elektrik saat terjadi perubahan mekanik pada
sensor tersebut.
Gambar 3.6 Limit Switch
3.7 Transistor NPN TIP31C
Transistor adalah komponen elektronika yang terbuat dari bahan
semikonduktor dan mempunyai tiga elektroda (triode) yaitu dasar (basis),
pengumpul (kolektor) dan pemancar (emitor). Dengan ketiga elektroda (terminal)
tersebut, tegangan atau arus yang dipasang di satu terminalnya mengatur arus
yang lebih besar melalui dua terminal lainnya.
Transistor NPN adalah transistor positif dimana transistor dapat bekerja
(24)
(25)
22 BAB IV
METODE PENELITIAN
4.1 Flowchart Alur Kerja Pintu Otomatis
(26)
RFID akan membaca data karyawan yang ada di dalam tag RFID
kemudian mencocokkan dengan data karyawan yang tersimpan dalam
mikrokontroler Arduino Uno. Apabila karyawan tersebut merupakan karyawan
pada bagian ruangan yang bersangkutan, maka pintu akan dibuka otomatis.
Apabila bukan, maka pintu akan tetap terkunci. Setelah 1 menit pintu akan
otomatis mengunci kembali dan buzzer berbunyi sebagai penanda pintu telah
dikunci kembali. Pintu dapat dibuka dari dalam tanpa menggunakan RFID tag,
cukup dengan menekan tuas gagang pintu ke bawah layaknya orang membuka
pintu. Maka sensor akan mendeteksi bahwa ada orang dari dalam ruangan ingin
keluar, dan kunci pintu akan terbuka.
4.2 Arduino 1.05
Sebuah mikrokontroler tidak akan bekerja bila tidak diberikan program.
Pemrograman yang digunakan adalah Arduino Programming. Arduino
Programming adalah compiler untuk board mikrokontroler AVR yang berbasis
open-source, dirancang untuk memudahkan penggunaan elektronik dalam
berbagai bidang. Arduino membuka semua source, mulai dari diagram rangkaian,
(27)
24
Gambar 4.2 Tampilan Arduino Software versi 1.05
Untuk mendownload software ini dapat diakses di
(28)
Gambar 4.3 Langkah Penginstalan 1
Pilih Operating System yang digunakan. Penulis menggunakan Windows
8.1, sehingga penulis memilih opsi windows untuk mendownload.
Gambar 4.4 Langkah Penginstalan 2
Setelah proses download selesai, sekarang penginstalan Arduino 1.05.
Klik kiri dua kali pada arduino1.05-r2 windows.exe. maka akan muncul
(29)
26
Gambar 4.5 Langkah Penginstalan 3
Klik I Agree untuk melanjutkan proses. Kemudian akan muncul window
seperti gambar di bawah.
Gambar 4.6 Langkah Penginstalan 4
Centang semua opsi pilihan kemudian klik Next. Maka akan muncul
(30)
Gambar 4.7 Langkah Penginstalan 5
Pilih direktori folder untuk mengistall atau ikut dengan default setting
folder penyimpanan. Kemudian klik Install.
Gambar 4.8 Langkah Penginstalan 6
(31)
28
Gambar 4.9 Langkah Penginstalan 7
Ini tanda penginstalan telah selesai. Klik Close.
Kemudian pengistalan library MFRC 522. Download file library pada
https://github.com/ljos/MFRC522.
Gambar 4.10 Langkah Penginstalan Library 1
Klik Donwload ZIP untuk mendownload keseluruhan isi file. Kemudian
(32)
Gambar 4.11 Langkah Penginstalan Library 2
(33)
30
Gambar 4.12 Langkah Penginstalan Library 3
(34)
Gambar 4.13 Langkah Penginstalan Library 4
Apabila telah muncul MFRC 522 di dalam Import Library, maka proses
(35)
32
4.3 Skema Rangkaian Pengkabelan RFID Serta Solenoid
(36)
33
BAB V
HASIL DAN PEMBAHASAN
5.1 Listing Program MFRC522.h
///////////////////////////////////////////////////////////////////// //º¯ ÊýÔ-ÐÍ ///////////////////////////////////////////////////////////////////// char PcdReset(void); void PcdAntennaOn(void); void PcdAntennaOff(void);
char PcdRequest(unsigned char req_code,unsigned char *pTagType);
char PcdAnticoll(unsigned char *pSnr);
char PcdSelect(unsigned char *pSnr);
char PcdAuthState(unsigned char auth_mode,unsigned char addr,unsigned
char *pKey,unsigned char *pSnr);
char PcdRead(unsigned char addr,unsigned char *pData);
char PcdWrite(unsigned char addr,unsigned char *pData);
char PcdValue(unsigned char dd_mode,unsigned char addr,unsigned char
*pValue);
char PcdBakValue(unsigned char sourceaddr, unsigned char goaladdr);
char PcdHalt(void);
char PcdComMF522(unsigned char Command,
unsigned char *pInData,
(37)
34
unsigned char *pOutData,
unsigned int *pOutLenBit);
void CalulateCRC(unsigned char *pIndata,unsigned char len,unsigned
char *pOutData);
void WriteRawRC(unsigned char Address,unsigned char value);
unsigned char ReadRawRC(unsigned char Address);
void SetBitMask(unsigned char reg,unsigned char mask);
void ClearBitMask(unsigned char reg,unsigned char mask);
/////////////////////////////////////////////////////////////////////
//MF522ÃüÁî×Ö
/////////////////////////////////////////////////////////////////////
#define PCD_IDLE 0x00 //È¡Ïûµ±Ç°ÃüÁî
#define PCD_AUTHENT 0x0E //ÑéÖ¤ÃÜÔ¿
#define PCD_RECEIVE 0x08 //½ÓÊÕÊý¾Ý
#define PCD_TRANSMIT 0x04 //·¢ËÍÊý¾Ý
#define PCD_TRANSCEIVE 0x0C //·¢ËͲ¢½ÓÊÕÊý¾Ý
#define PCD_RESETPHASE 0x0F //¸´Î»
#define PCD_CALCCRC 0x03 //CRC¼ÆËã
/////////////////////////////////////////////////////////////////////
//Mifare_One¿¨Æ¬ÃüÁî×Ö
/////////////////////////////////////////////////////////////////////
(38)
#define PICC_REQALL 0x52 //Ñ°ÌìÏßÇøÄÚÈ«²¿¿¨
#define PICC_ANTICOLL1 0x93 //·À³åײ
#define PICC_ANTICOLL2 0x95 //·À³åײ
#define PICC_AUTHENT1A 0x60 //ÑéÖ¤AÃÜÔ¿
#define PICC_AUTHENT1B 0x61 //ÑéÖ¤BÃÜÔ¿
#define PICC_READ 0x30 //¶Á¿é
#define PICC_WRITE 0xA0 //д¿é
#define PICC_DECREMENT 0xC0 //¿Û¿î
#define PICC_INCREMENT 0xC1 //³äÖµ
#define PICC_RESTORE 0xC2 //µ÷¿éÊý¾Ýµ½»º³åÇø
#define PICC_TRANSFER 0xB0 //±£´æ»º³åÇøÖÐÊý¾Ý
#define PICC_HALT 0x50 //ÐÝÃß
/////////////////////////////////////////////////////////////////////
//MF522 FIFO³¤¶È¶¨Òå
/////////////////////////////////////////////////////////////////////
#define DEF_FIFO_LENGTH 64 //FIFO size=64byte
/////////////////////////////////////////////////////////////////////
//MF522¼Ä´æÆ÷¶¨Òå
/////////////////////////////////////////////////////////////////////
// PAGE 0
#define RFU00 0x00
(39)
36
#define ComIEnReg 0x02
#define DivlEnReg 0x03
#define ComIrqReg 0x04
#define DivIrqReg 0x05
#define ErrorReg 0x06
#define Status1Reg 0x07
#define Status2Reg 0x08
#define FIFODataReg 0x09
#define FIFOLevelReg 0x0A #define WaterLevelReg 0x0B #define ControlReg 0x0C #define BitFramingReg 0x0D #define CollReg 0x0E #define RFU0F 0x0F // PAGE 1 #define RFU10 0x10
#define ModeReg 0x11
#define TxModeReg 0x12
#define RxModeReg 0x13
#define TxControlReg 0x14
#define TxAutoReg 0x15
#define TxSelReg 0x16
#define RxSelReg 0x17
(40)
#define DemodReg 0x19
#define RFU1A 0x1A #define RFU1B 0x1B #define MifareReg 0x1C #define RFU1D 0x1D #define RFU1E 0x1E #define SerialSpeedReg 0x1F // PAGE 2 #define RFU20 0x20
#define CRCResultRegM 0x21
#define CRCResultRegL 0x22
#define RFU23 0x23
#define ModWidthReg 0x24
#define RFU25 0x25
#define RFCfgReg 0x26
#define GsNReg 0x27
#define CWGsCfgReg 0x28
#define ModGsCfgReg 0x29
#define TModeReg 0x2A
#define TPrescalerReg 0x2B
#define TReloadRegH 0x2C
#define TReloadRegL 0x2D
#define TCounterValueRegH 0x2E
(41)
38
// PAGE 3
#define RFU30 0x30
#define TestSel1Reg 0x31
#define TestSel2Reg 0x32
#define TestPinEnReg 0x33
#define TestPinValueReg 0x34
#define TestBusReg 0x35
#define AutoTestReg 0x36
#define VersionReg 0x37
#define AnalogTestReg 0x38
#define TestDAC1Reg 0x39
#define TestDAC2Reg 0x3A #define TestADCReg 0x3B #define RFU3C 0x3C #define RFU3D 0x3D #define RFU3E 0x3E #define RFU3F 0x3F ///////////////////////////////////////////////////////////////////// //ºÍMF522ͨѶʱ·µ»ØµÄ´íÎó´úÂë ///////////////////////////////////////////////////////////////////// #define MI_OK 0
#define MI_NOTAGERR (-1)
(42)
5.2 Listing Program
#include <MFRC522.h>
//Get library from https://github.com/ljos/MFRC522
#include <SPI.h>
/*
Pins SPI UNO
1 (NSS) SAD (SS) 10
2 SCK 13
3 MOSI 11
4 MISO 12
5 IRQ *
6 GND GND
7 RST 8
8 +3.3V (VCC) 3V3
* Not needed
1 on ICPS header
*/
#define SAD 10
#define RST 8
MFRC522 nfc(SAD, RST);
#define ledPinOpen 2
(43)
40
#define in 9
void setup() {
pinMode(ledPinOpen , OUTPUT);
pinMode(ledPinClosed, OUTPUT);
pinMode(in,INPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
SPI.begin();
Serial.begin(115200);
Serial.println("Looking for MFRC522.");
nfc.begin();
byte version = nfc.getFirmwareVersion();
if (! version) {
Serial.print("Didn't find MFRC522 board.");
while(1); //halt
}
Serial.print("Found chip MFRC522 ");
Serial.print("Firmware ver. 0x");
(44)
Serial.println(".");
}
#define AUTHORIZED_COUNT 2 /*jumlah kartu yg di auten*/
byte Authorized[AUTHORIZED_COUNT][6] = {
{0xB1, 0x1, 0x4C, 0xB5, 0xFF, 0xFF, } /*code kartu*/
,{0xD4, 0xFE, 0x46, 0xCD, 0xFF, 0xFF, }
};
void printSerial(byte *serial);
boolean isSame(byte *key, byte *serial);
boolean isAuthorized(byte *serial);
void loop() {
byte status;
byte data[MAX_LEN];
byte serial[5];
boolean Opening = false;
digitalWrite(ledPinOpen, Opening);
digitalWrite(ledPinClosed, !Opening);
status = nfc.requestTag(MF1_REQIDL, data);
(45)
42
status = nfc.antiCollision(data);
memcpy(serial, data, 5);
if(isAuthorized(serial)) //if the tag ID known
{
Serial.println("Authenticated");
Opening = true;
digitalWrite(4,HIGH);
delay(10000);
digitalWrite(4,LOW);
}
else
{
printSerial(serial);
Serial.println("is NOT authenticated");
Opening = false;
}
nfc.haltTag();
digitalWrite(ledPinOpen, Opening);
digitalWrite(ledPinClosed, !Opening);
(46)
}//if (status == MI_OK)
delay(500);
int kondisi=digitalRead(in);
if(kondisi==LOW){ //if open from inside
digitalWrite(4,HIGH);
delay(1000);
digitalWrite(4,LOW);
delay(1000);
}//if(in==LOW)
}//void loop()
boolean isSame(byte *key, byte *serial)
{
for (int i = 0; i < 4; i++) {
if (key[i] != serial[i])
{
return false;
(47)
44
}
return true;
}
boolean isAuthorized(byte *serial)
{
for(int i = 0; i<AUTHORIZED_COUNT; i++)
{
if(isSame(serial, Authorized[i]))
return true;
}
return false;
}
void printSerial(byte *serial)
{
Serial.print("Serial:");
for (int i = 0; i < 4; i++) {
Serial.print(serial[i], HEX);
Serial.print(" ");
}
(48)
(49)
45 BAB VI PENUTUP
5.1 Kesimpulan
Kesimpulan yang dapat diambil dari pembuatan kunci pintu otomatis
berbasis RFID adalah sebagai berikut:
1. Kunci pintu akan membatasi akses untuk orang yang bukan karyawan
saat ingin memasuki ruangan. Hanya karyawan yang bekerja dalam ruangan
tersebut yang dapat membuka kunci pintu ini menggunakan RFID card yang
berisi data karyawan mereka.
2. Kunci pintu akan mengunci otomatis setelah waktu yang telah diatur.
Untuk menghindari kelupaan karyawan mengunci pintu.
5.2 Saran
Berdasarkan analisis dan perancangan sistem yang sudah dilakukan,
saran yang dapat disampaikan oleh penulis untuk pembuatan kunci pintu otomatis
berbasis RFID yaitu:
Prototype ini dapat dikembangkan dengan menambah perangkat penyimpanan
data seperti SD card untuk menyimpan siapa saja karyawan yang mengakses
(50)
46
Arduino RC522 RFID Door Unlock 2014, Diakses 6 Juli 2014 dari: http://www.instructables.com/id/Arduino-RC522-RFID-Door-Unlock/
GUIDELINES FOR SECURING RFID SYSTEMS 2007 , Diakses 5 Juli 2014 dari: http://csrc.nist.gov/publications/nistpubs/800-98/SP800-98_RFID-2007.pdf
Kadir, Abdul. 2012. Panduan Praktis Mempelajari Aplikasi Mikrokontroler
dan Pemrogramannya Menggunakan Arduino. Yogyakarta: Penerbit Andi
RFID Controlled Door 2014, Diakses 2 Agustus 2014 dari: http://www.instructables.com/id/RFID-Controlled-Door/
(1)
status = nfc.antiCollision(data); memcpy(serial, data, 5);
if(isAuthorized(serial)) //if the tag ID known {
Serial.println("Authenticated"); Opening = true;
digitalWrite(4,HIGH); delay(10000);
digitalWrite(4,LOW);
} else {
printSerial(serial);
Serial.println("is NOT authenticated"); Opening = false;
}
nfc.haltTag();
digitalWrite(ledPinOpen, Opening); digitalWrite(ledPinClosed, !Opening); delay(1000);
(2)
43
}//if (status == MI_OK)
delay(500);
int kondisi=digitalRead(in);
if(kondisi==LOW){ //if open from inside digitalWrite(4,HIGH);
delay(1000);
digitalWrite(4,LOW); delay(1000);
}//if(in==LOW)
}//void loop()
boolean isSame(byte *key, byte *serial) {
for (int i = 0; i < 4; i++) { if (key[i] != serial[i]) {
return false; }
(3)
}
return true;
}
boolean isAuthorized(byte *serial) {
for(int i = 0; i<AUTHORIZED_COUNT; i++) {
if(isSame(serial, Authorized[i])) return true;
}
return false; }
void printSerial(byte *serial) {
Serial.print("Serial:"); for (int i = 0; i < 4; i++) { Serial.print(serial[i], HEX); Serial.print(" ");
} }
(4)
(5)
45 5.1 Kesimpulan
Kesimpulan yang dapat diambil dari pembuatan kunci pintu otomatis berbasis RFID adalah sebagai berikut:
1. Kunci pintu akan membatasi akses untuk orang yang bukan karyawan saat ingin memasuki ruangan. Hanya karyawan yang bekerja dalam ruangan tersebut yang dapat membuka kunci pintu ini menggunakan RFID card yang berisi data karyawan mereka.
2. Kunci pintu akan mengunci otomatis setelah waktu yang telah diatur. Untuk menghindari kelupaan karyawan mengunci pintu.
5.2 Saran
Berdasarkan analisis dan perancangan sistem yang sudah dilakukan, saran yang dapat disampaikan oleh penulis untuk pembuatan kunci pintu otomatis berbasis RFID yaitu:
Prototype ini dapat dikembangkan dengan menambah perangkat penyimpanan data seperti SD card untuk menyimpan siapa saja karyawan yang mengakses pintu serta jam aksesnya.
(6)
46
DAFTAR PUSTAKA
Arduino RC522 RFID Door Unlock 2014, Diakses 6 Juli 2014 dari: http://www.instructables.com/id/Arduino-RC522-RFID-Door-Unlock/
GUIDELINES FOR SECURING RFID SYSTEMS 2007 , Diakses 5 Juli 2014 dari: http://csrc.nist.gov/publications/nistpubs/800-98/SP800-98_RFID-2007.pdf
Kadir, Abdul. 2012. Panduan Praktis Mempelajari Aplikasi Mikrokontroler dan Pemrogramannya Menggunakan Arduino. Yogyakarta: Penerbit Andi
RFID Controlled Door 2014, Diakses 2 Agustus 2014 dari: http://www.instructables.com/id/RFID-Controlled-Door/