BAB II DASAR TEORI 5.1 Tinjauan Ringkas Organisasi - Perancangan Sistem Verifikasi Keanggotaan Dengan Kartu Cerdas Nirkontak Berbasis Arduino Mega 2560
5 BAB II DASAR TEORI
5.1 Tinjauan Ringkas Organisasi
Organisasi atau lembaga merupakan sekelompok orang yang bekerja sama dalam struktur dan koordinasi tertentu dalam mencapai serangkaian tujuan tertentu. Pada umumnya organisasi memiliki anggota yang terdiri atas pimpinan dan pegawai. Setiap anggota organisasi memiliki hak dan kewajiban serta pembagian tugas kerja untuk menjalankan suatu fungsi tertentu yang tunduk pada peraturan untuk mengadakan kerjasama dan interaksi guna mencapai suatu tujuan bersama[3].
Pada organisasi ataupun lembaga modern umumnya telah mengaplikasikan sistem informasi serta teknologi sebagai sarana yang membantu untuk meningkatkan efisiensi serta efektifitas kerja. Selain itu juga membantu dalam meningkatkan keamanan pada aset dan privasi organisasi tersebut. Semakin besar suatu organisasi maka akan semakin membutuhkan keamanan yang tinggi.
Aset menyangkut kekayaan suatu organisasi seperti fasilitas-fasilitas yang disediakan oleh organisasi. Sedangkan privasi menyangkut hal-hal yang pribadi yang tidak boleh disebarluaskan tanpa seizin organisasi tersebut. Baik aset maupun privasi organisasi hanya boleh diperuntukkan bagi anggota organisasi tentunya dengan mengacu kepada peraturan serta prosedur yang telah ditetapkan.
7
5.2 Mikrokontroler Kit Arduino
Arduino merupakan kit mikrokontroler yang bersifat Open-Source baik perangkat keras maupun perangkat lunaknya. Perangkat keras yang diprogram menggunakan bahasa pemrogaman berbasis Wiring (sintaks + pustaka) menyerupai C++ dengan beberapa penyederhanaan dan modifikasi.Untuk perangkat lunak IDE yang dibangun berbasis Proccessing[4].
Arduino ditemukan dan dikembangkan pertama kali di Ivrea, italia oleh Massimo Banzi dan David Cuertilles.Ide terciptanya Arduino didasari dari mahalnya komponen perangkat keras elektronik yang tersedia. Hal ini menjadi penghambat utama para mahasiswa dan pelajar dalam bereksplorasi. Selain harga yang murah, kemudahan dan fleksibilitas penggunaan menjadi pertimbangan oleh pengguna-pengguna Arduino masa kini. Pengguna tidak lagi terkendala waktu untuk mendalami elektronika dan mikrokontroler. Pengguna juga tidak akan disulitkan dalam merancang suatu sistem eletktronika karena banyak komunitas yang menyediakan tutorial proyek berbasis Arduino secara gratis di dunia maya.
Munculnya Arduino menjadikannya sebagai tren teknologi yang revolusioner. Arduino terbuka untuk semua orang yang ingin mengembangkan suatu sistem interaktif berbasis mikrokontroler, baik untuk kalangan mahasiswa, pelajar, profesional bahkan pemula sekalipun. Pengguna dapat memiliki Arduino sesuai kebutuhannnya karena Arduino dibuat dalam beberapa jenis diantaranya yaitu Arduino Diecimila, Duemilanove, UNO, Lenardo, Mega, Nano, Due, Yun dan berbagai jenis Arduino lainnya.
5.3 Arduino Mega 2560
Arduino Mega 2560 adalah tipe jenis Arduino yang cukup populer digunakan. Selain memiliki pin masukan dan keluaran yang banyak, Arduino jenis ini memiliki kapasitas memori yang lebih besar dibandingkan dengan beberapa jenis Arduino lainnya.Untuk ukuran dimensi perangkatnya Arduino Mega 2560 termasuk jenis Arduino dengan ukuran board yang besar. Gambar 2.1 menunjukan bentuk fisik Arduino Mega 2560. Adapun spesifikasi singkat mengenai Arduino Mega 2560 adalah sebagai berikut[5] :
Mikrokontroler : ATmega2560 Tegangan Operasional : 5V Tegangan Masukan (direkomendasi) : 7-12V Tegangan Masukan (batas) : 6-20V Pin Digital I/O : 54 ( 14 pin untuk keluaran PWM) Analog Input Pins : 16 Arus DC per I/O Pin : 40 mA Arus DC for 3.3V Pin : 50 mA Memori Flash :256 KB(8 KB digunakan untuk bootloader) SRAM : 8 KB EEPROM : 4 KB Clock Speed : 16 MHz
Gambar 2.1 Arduino Mega 25605.3.1 Mikrokontroler
Mikrokontroler yang digunakan pada Arduino Mega 2560 ini adalah Mikrokontroler ATMega 2560. Mikrokontroler inimenjadi komponen utama dari sistem minimum Arduino Mega 2560. Setiap pin mikrokontroler ATMega 2560 dipetakan sesuai dengan kebutuhan standar Arduino pada umumnya. Pemetaan pin (pin mapping) ATMega 2560 dapat dilihat pada gambar 2.2.
Gambar 2.2Konfigurasi Pin ATMega2560[6]
5.3.2 Memori Program
Arduino Mega 2560 memiliki 250 Kbyte On-chip In-System
Reprogrammable Flash Memory sebagai tempat menyimpan program. Memori
flash ini dibagi kedalam dua bagian, yaitu bagian program bootloader dan aplikasi. Bootloader adalah program kecil yang dieksekusi saat setelah pertama kali sistem dinyalakan. Bootloader ini bekerja sebagai perantara antara memori program dengan software compiler Arduino. Bootloader akan menerimafile hasil kompilasi yang telah diupload ke Arduino dan akan menyimpannya ke memori program kemudian Arduino akan langsung mengeksekusi program tersebut. Peta memori program dapat dilihat pada gambar 2.3.
Gambar 2.3Peta Memori Program[7]
5.3.3 Memori Data
Memori data pada Arduino Mega2560 terbagi atas SRAM dan EEPROM. SRAM bersifat volatileatau dengan kata lain tidak memiliki kemampuan untuk menyimpan data secara konsisten setelah catu daya dimatikan sedangkan EEPROM bersifat nonvolatile. SRAM yang dimiliki Arduino Mega 2560 berukuran 8KB dan EEPROM yang dimiliki Arduino Mega 2560 berukuran
4KB. Ukuran EEPROM yang dimiliki Arduino jenis ini adalah ukuran EEPROM yang paling besar diantara beberapa jenis Arduino lainnya sehingga EEPROM yang dimiliki Arduino jenis ini dapat dimanfaatkan untuk kebutuhan sistem dengan memori data yang besar.
5.3.4 Pin Input/Output
Arduino Mega 2560 memiliki 54 pin digital yang dapat digunakan sebagai masukan atau keluaran menggunakan fungsi pinMode(), dan menentukan proses penulisan atau pembacaan data I/O menggunakan fungsi digitalWrite() dan
digitalRead() . Setiap pin beroperasi pada tegangan 5 volt, mampu menerima atau
menghasilkan arus maksimum sebesar 40 mA dan memiliki 20 - 50 Kohm resistor pull-up internal (diputus secara default).
Pin digital ini selain berfungsi sebagai masukan dan keluaran digital namun juga dapat berfungsisebagai pin dengan fungsi khusus seperti untuk komunikasi UART (pin 0 sebagai RX dan pin 1 sebagai TX), komunikasi SPI,
2
komunikasi I
C, external interrupt dan PWM. Untuk memanfaatkan pin digital Arduino sebagai pin dengan fungsi khusus, maka register yang terkait dengan fungsi khusus tersebut harus dikonfigurasi terlebih dahulu. Konfigurasi register- register tersebut telah disediakan di pustaka(library) Arduino. Selain fitur pin digital, Arduino Mega 2560 juga memiliki 16 pin analog yaitu pin A0 sampai A15 dan setiap pin menyediakan resolusi sebesar 10 bit.
5.3.5 Catu Daya
Arduino dapat diberikan catu daya melalui koneksi USB atau catu daya dari luar non-USB seperti melalui Adaptor AC to DCdan baterai. Jangkauan tegangan yang dapat disuplai ke Arduino sebesar 6 – 20 Volt. Namun tegangan yang direkomendasikan yaitu dari 7 – 12 Volt.
5.3.6 Komunikasi Serial
Komunikasi serial merupakan metode pengiriman data berurut bit demi bit melalui sebuah saluran transmisi[8].Komunikasi serialmemiliki kelebihan diantaranya adalah transimisi data yang dapat dilakukan hanya dengan melalui sebuah saluran sehingga mengurangi costyang dikeluarkan untuk kebutuhan saluran transmisi[9]. Karena hanya membutuhkan satu saluran, maka cara komunikasi ini selalu digunakan untuk komunikasi jarak jauh. Walaupun jarak dekat, komunikasi ini juga sering digunakan dalam komunikasi jarak dekat yang tidak membutuhkan kecepatan tinggi[10]. Namun saat ini teknologi yang digunakan pada perkembangan komunikasi serial semakin canggih sehingga masalah kecepatan transmisi sudah cukup teratasi.
Komunikasi serial dapat dilakukan dengan dua cara yaitu sinkron atau asinkron. Dikatakan sinkron ketika sisi pengirim dan sisi penerima menggunakan
clock bersama. Dikatakan asinkron ketika sisi pengirim dan sisi penerima
menggunakan clock masing-masing (tersendiri) dan dengan frekuensi clock yang hampir sama[10]. Arduino menyediakan kedua jenis komunikasi serial tersebut baik sinkron ataupun asinkron. Jenis komunikasi serial asinkron yang disediakan oleh Arduino adalahUART (TTL logic)sedangkanjenis komunikasi serial sinkron salah satunya adalah SPI.
UART (Universal Asynchronous Rece iver/Transmitter ) merupakan
perangkat komunikasi serial yang bekerja dengan metode asinkron.Pada komunikasi serial ini setiap pengiriman 1 byte data akan diawali dengan pengiriman bit pertama berupa start bit yang berlogika 0 (low) dan diakhiri dengan stop bit yang berlogika 1 (high). Sehingga setiap pengiriman 1 byte data setidaknya dibutuhkan dibutuhkan 10bit data untuk satu kali pengiriman.Selain itu untuk penambahan fungsi pengecekan eror dengan menggunakan bit paritas (parity bit) dapat dilakukan dengan menyisipkan bit tersebut pada akhir frame sebelum stop bit. Format data UART dapat dilihat pada gambar 2.7.
Gambar 2.4 Format Data UART[7]UART memiliki beberapa fitur yang digunakan dalam melakukan komunikasi diantaranya seperti: receive/transmit buffer, shift register,clock
generator , parity generator, parity checker[7]. Sebelum melakukan pengiriman
atau penerimaan data clock generator akan bekerja dengan membangkitkan clock lokal milik pengirim/penerima. Setiap data yang akan dikirim akan dimuati ke
transmit buffer kemudian ditransfer ke shift register PISO untuk dikirim ke
penerima. Sama seperti pada proses pengiriman data, data yang diterima akan dimuatishift register PISO kemudian data tersebut dimuati ke receive buffer.
Pengaturan format data, pengaturan baudrate serta beberapa pengaturan fitur-fitur perangkat UART lainnya diatur pada register-register khusus UART.
Pada Arduino Mega 2560 terdapat pin TX dan RX yang digunakan sebagai saluran transmit dan receive bagi perangkat komunikasi serial UART.
Pada Arduino, inisialisasi komunikasi serialUART dilakukan dengan memanfaatkan fungsi Serial.begin(n) dengann adalah nilai baudrate. Inisialisasi ini melakukan penentuan baudrate, penentuan format datadan memampukan perangkat UART sebagai receiver atau transmitter. Selanjutnya dengan menggunakan fungsi Serial.print(), Arduino dapat mengirimkan serangkaian karakter-karakter dengan tipe data char(char array/string) ke komputer. Data yang diterima atau dikirim oleh Arduino dapat dimonitor menggunakan serial terminal yang telah disediakan di IDE Arduino.
Salah satu jenis komunikasi serial sinkron yang dimiliki oleh Arduino adalah SPI (Serial Peripheral Interface). Komunikasi antara dua perangkat yang menggunakan SPI berlandaskan hubungan master (induk) dan slave (budak)[10]. Master dapat berupa mikrokontroler sedangkan slave (budak) dapat berupa mikrokontroler atau perangkat selain mikrokontroler. Pin yang diperlukan dalam komunikasi SPI umumnya menggunakan empat pin yaitu pin MOSI(Master Out
Serial In ) atau dalam istilah lain SDO(Serial Data Out), pin MISO(Master Out
Serial In ) atau dalam istilah lain SDO(Serial Data Out), pin SCK (Serial Clock),SS (Slave Select). Perangkat yang dikonfigurasi sebagai master selain bertindak sebagai sumber clock bersama melalui pin SCK. juga bertindak sebagai pemilih perangkat slave melalui pin SS. Konfigurasi fungsi SPI dapat dilihat pada gambar dibawah pada gambar 2.6.
Slave Master
Gambar 2.5 Konfigurasi Pin SPISaat inisialisasi SPI akan master akan mendisable pin SS sebagai kondisi default, menentukan bit order MSB atau LSB yang terlebih dahulu untuk dikirim, menentukan kecepatan clock, menentukan kapan slave membaca bit data di tepi naik(rising edge) atau tepi jatuh(falling edge) dari pulsa clockdan sekaligus menentukan kapan clock dianggap menganggur apakah pada saat keadaan tinggi atau rendah. Langkah inisialisasi tersebut berada pada fungsi SPI.begin().
Dalam proses pengiriman data, master memilih perangkat slave yang akan diajak berkomunikasi dengan mengkatifkan pin SS berlogika low dilanjutkan pengiriman data melalui pin MOSI dan pengaktifan clock melalui pin SCK. Proses ini dilakukan dengan memanfaatkan fungsi SPI.transfer() untuk memilih perangkat slave. Sama seperti perangkat komunikasi serial yang lain, SPI memiliki shift register yang berfungsi mengkonversi data paralel ke serial pada sisi pengirim maupun sebaliknya pada sisi penerima.
Pada komunikasi antara Arduino dengan komputer, digunakan chip ATMega8U2 yang telah diprogram oleh pabrikan Arduino sebagai serial to USB
converter on board .Chip ATMega8U2 ini mengantarai komunikasi antara
ATMega2560(main processor) dengan komputer.5.4 Radio Frequency Identification (RFID)
RFID merupakan suatu teknologi yang menggunakan gelombang radio
dengan frekuensi tertentu untuk mengenali suatu benda. Komponen RFID terdiri
dari dua komponen utama yaitu tag dan reader. RFID tagatau yangjugadikenaldengan transpondertersusun atas sebuah mikroprosesor, memori dan antena.
Setiap komponen penyusun RFID tag memiliki fungsi tersendiri seperti
mikroprosesor sebagai pengolah data, memori berguna tempat penyimpanan
data,antena berguna memungkinkan mikroprosesor dapat menerima atau
mengirim data dari atau ke RFID reader secara nirkabel pada jangkauan yang
lebih jauh[11]. baik RFID tag ataupun RFID reader masing-masing harus
memiliki saluran frekuensi yang sama juga harus dalam standar protokol yang
sama pula sehingga keduanya dapat saling bertukar informasi.Sedangkan RFID reader tersusun atas control unit dan RF interface.
Control unit umumnya berisi mikrokontroler, serial interface dan memori. Pada
prakteknya RFID reader mengirimkan sinyal analog ke RFID tag. sehingga mengaktifkan (wake up) sirkuit RFID tag. Selanjutnya RFID reader akan mengirim permintaan informasi ke RFID tag. Hal tersebut direspon oleh RFID tagdengan mengirim sinyal balik (backscatter) yang berisi informasi yang diminta
oleh RFID reader[11]. Informasi balasan berupa gelombang analog tersebut akanditerima oleh RFID reader dan diubah menjadi informasi digital. Informasi
tersebut kemudian akanditeruskan ke middleware (komputer, mikrokontroler).
Komponen dasar sistem RFID dapat dilihat pada gambar 2.7.
Gambar 2.6Sistem RFID[11]
5.5 Kartu Cerdas (Smart Card)
Kartu cerdas (Smart Card) merupakan sebuah kartu yang didalamnya
tertanam IC. Kartu cerdas juga dikenal dengan sebutan Integrated Circuit
Card (ICC). Dimensi fisik kartu cerdas telah ditentukan didalam ISO IEC 7810
yang mendefinisikan bahwa ukuran kartu yang digunakan adalah ID-1
(85.60x53.98 mm). Ukuran kartu dengan standar ISO 7810 terlihat pada
gambar 2.8.Gambar 2.7Standard Ukuran Identification Card[12] Kartu cerdas dibedakan menurut cara transmisi datanya menjadi dua
yaitu kontak (contact) dan nirkontak (contactless). Kartu cerdas kontak memiliki
area konduktor yang harus kontak ke reader ketika ingin melakukan komunikasi.
Sedangkan nirkontak, kartu dapat melakukan komunikasi dengan reader tanpa
harus melakukan kontak langsung dengan jarak tertentu.5.6 Biometrik Sidik Jari
Biometrik sidik jari merupakan teknologi biometrik dengan karakteristik
fisik yang diukur adalah sidik jari. Biometrik jenis ini memiliki keunikan yang
baik. Selain itu sidik jari bersifat permanen dan seumur dengan hidup seseorang sehingga dapat dipergunakan dalam waktu yang lama. Di sisilain sidik jari memiliki kelemahan seperti, jika jari mengalami kecelakaan, lembab, serta kondisi buruk lainnya maka akan menyebabkan karakteristik fisik sidik jari berubah bentuk. Sidik jari dapat diklasifikasikan berdasarkan bentuk guratan sidikjari. Pola guratan pada sidik jari dapat berbentuk pola bukit (ridge) atau lembah (valley).