PROTEKSI SISTEM MANAJEMEN KARTU MIFARE UNTUK PERANGKAT KEAMANAN SEPEDA MOTOR
MENGGUNAKAN ALGORITMA AES
SKRIPSI
BAGUS WICAKSONO 101402106
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
iii
PROTEKSI SISTEM MANAJEMEN KARTU MIFARE UNTUK
PERANGKAT KEAMANAN SEPEDA MOTOR
MENGGUNAKAN ALGORITMA AES
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana
Teknologi Informasi
BAGUS WICAKSONO
101402106
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
PERSETUJUAN
Judul : PROTEKSI SISTEM MANAJEMEN KARTU MIFARE
UNTUK PERANGKAT KEAMANAN SEPEDA
MOTOR MENGGUNAKAN ALGORITMA AES.
Kategori : SKRIPSI
Nama : BAGUS WICAKSONO
Nomor Induk Mahasiswa : 101402106
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dr. Erna Budhiarti Nababan, M.IT Dr. Syahril Efendi, S.Si, M.IT
NIP. - NIP. 19671110 199602 1 001
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,
Muhammad Anggia Muchtar, ST., MM.IT
iii
PERNYATAAN
PROTEKSI SISTEM MANAJEMEN KARTU MIFARE UNTUK
PERANGKAT KEAMANAN SEPEDA MOTOR
MENGGUNAKAN ALGORITMA AES
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Mei 2015
Bagus Wicaksono
UCAPAN TERIMA KASIH
Alhamdulillah, segala puji bagi Allah SWT yang telah memberikan rahmat, karunia,
taufik dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini. Penulis
mengucapkan terima kasih kepada:
1. Bapak Prof. Dr. M. Zarlis, selaku dekan Fakultas Ilmu Komputer dan
Teknologi Informasi (Fasilkom-TI) yang telah banyak memberikan dukungan
dan bimbingannya.
2. Bapak Dr. Syahril Efendi, S.Si, M.IT, selaku pembimbing 1 dan Dr. Erna
Budhiarti Nababan, M.IT, selaku pembimbing 2 yang telah banyak
memberikan bimbingan, motivasi dan dukungannya selama penyusunan dan
penulisan skripsi ini.
3. Bapak M. Anggia Muchtar, ST., MM.IT dan Bapak Baihaqi Siregar S.Si.,M.T
sebagai tim penguji, atas segala koreksi, kritik dan saran dalam
penyempurnaan penulisan skripsi ini.
4. Ketua program studi Teknologi Informasi, Bapak Muhammad Anggia
Muchtar, ST., MM.IT dan sekretaris program studi Teknologi Informasi,
Bapak M. Fadly Syahputra, B.Sc, M.Sc.IT, serta seluruh Bapak dan Ibu dosen
yang telah memberikan ilmu yang bermanfaat bagi penulis.
5. Ayahanda Bapak Sugiono S.Pd, Ibunda ibu Siti Asni S.Pd, Adinda Ayu
Rahmadhani, Gita Anisa Utami dan Utari Anggita yang selalu mendoakan,
mendukung dan senantiasa memberikan kasih sayang sepanjang masa.
6. Teman-teman program studi teknologi informasi khususnya angkatan 2010
atas segala doa dan dukungannya.
Akhirnya, penulis berharap agar skripsi ini berguna dan memberikan manfaat
kepada seluruh pembaca.
Penulis
v
ABSTRAK
Sistem manajemen kartu mifare adalah sistem yang mengelola penggunaan kartu
mifare pada perangkat keamanan sepeda motor. Perangkat keamanan sepeda motor
adalah perangkat keamanan yang memanfaatkan teknologi Radio Frequency identification (RFid) untuk membaca serial kartu mifare lalu diproses oleh arduino uno untuk mencocokkan serial kartu yang telah dibaca dengan yang disimpan di
dalam EEPROM. Jika sesuai, arduino uno akan mengaktifkan relay untuk
mengembalikan fungsi kunci kontak sepeda motor. Dalam penggunaannya sistem
manajemen kartu mifare harus terkoneksi dengan perangkat keamanan sepeda motor
melalui slot USB komputer. Kode id perangkat keamanan sepeda motor digunakan
sebagai key untuk mengkoneksikan sistem dengan perangkat. Namun, sistem ini perlu diproteksi dengan mengenkripsi kode id (plainteks) didalam sistem dan menyimpan hasil enkripsi atau kode sandi (chiperteks) diluar sistem manajemen kartu mifare.
Algoritma AES adalah algoritma yang dapat digunakan untuk mengenkripsi dan
mendekripsikan kode id di dalam sistem. Dengan menggunakan metode ini, sistem
manajemen kartu mifare dapat diproteksi.
MIFARE CARD MANAGEMENT SYSTEM PROTECTION FOR MOTORCYCLE SECURITY DEVICES
USING AES ALGHORITM
ABSTRACT
Mifare card management system is a system that manages the use of mifare card
security devices on motorcycles. Motorcycle security devices is a security device that
utilizes Radio Frequency identification technology (RFid) to read the serial card
mifare and processed by an arduino uno to match the cards read with series that are
stored in the EEPROM. If appropriate, the arduino uno will activate the relay contacts
key functions to return the motorcycle. In its use of management systems should be
connected with mifare card security devices through a USB slot on a motorcycle.
Device id code security motorcycle is used as a key to connect to the system with the
device. However, these systems need to be protected with the encrypt code id
(plaintext) in the system and save the results of the encryption or password code
(chippertext) outside the system management card mifare. The AES algorithm is an
algorithm that can be used to encrypt and decrypt id code in the system. By using this
method, the system management card mifare can be protected.
vii
DAFTAR ISI
Hal.
PERSETUJUAN ii
PERNYATAAN iii
UCAPAN TERIMA KASIH iv
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL x
DAFTAR GAMBAR xi
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 3
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Sistematika Penulisan 4
BAB 2 LANDASAN TEORI 5
2.1 Algoritma AES 5
2.2 Teori Umum 6
2.2.1 Konsep Dasar Sistem
A. Karakteristik Sistem 6
B. Klasifikasi Sistem 8
2.2.2 Konsep Dasar Pengontrolan 9
2.2.3 Konsep Dasar Sinyal 10
2.3 Perangkat Keras 11
2.3.1 Rangkaian Relay 11
2.3.3 Physical Computing 13
2.3.4 Modul Arduino Uno 15
2.3.5 Radio Frequency Identification 15
2.3.6 Mifare 17
2.3.7 Buzzer 17
2.3.8 Light Emitting Diode (LED) 18
2.4 Perangkat Lunak 18
2.4.1 Software Arduino 18
2.4.2 Bahasa Pemrograman 19
2.5 Penelitian Terdahulu 20
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 21
3.1 Identifikasi Masalah 21
3.2 Arsitektur Umum 22
3.3 Metode Penelitian 23
3.4 Analisis Sistem 25
3.5 Perancangan Instalasi Perangkat Keras 31
3.5.1 Perancangan Radio Frequency Identification Pada Arduino 31 3.5.2 Perancangan Rangkaian Catu Daya Dan Kunci Kontak 32
3.5.3 Perancangan Buzzer dan LED 33
3.5.4 Perancangan Pin Arduino 34
3.5.5 Perancangan Sistem Perangkat Keras Keseluruhan 35 3.5.6 Perancangan Aplikasi Manajemen Kartu Mifare 37 3.5.7 Perancangan Aplikasi Proteksi Sistem Arduino 38 3.5.8 Perancangan Aplikasi Manajemen Database Pengguna Sistem 39
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 41
4.1 Implementasi Sistem 41
4.1.1 Spesifikasi software dan hardware yang digunakan 41
4.2 Implementasi Perangkat Keras 41
4.2.1 Implementasi Rangkaian relay 41
4.2.2 Implementasi Rangkaian RFid 43
ix
4.2.4 Pengujian Perangkat 44
4.3 Tampilan Antar Muka 44
4.3.1 Tampilan Menu Utama 44
4.3.2 Tampilan Menu Data Customer 45
4.3.3 Tampilan Menu RFid 46
BAB 5 KESIMPULAN DAN SARAN 48
5.1 Kesimpulan 48
5.2 Saran 48
DAFTAR TABEL
Hal.
Tabel 3.1. Tabel SBox 25
Tabel 4.1. Perbandingan anatara cara manual dan otomatis 43
xi
DAFTAR GAMBAR
Hal.
Gambar 2.1. Sistem Pengendali loop terbuka 8
Gambar 2.2. Sistem Pengendali loop tertutup 9
Gambar 2.3. Relay 11
Gambar 2.4. Konfigurasi PIN Arduino Uno 15
Gambar 2.5. RFid reader jenis MFRC522 18
Gambar 2.6. Kartu mifare 19
Gambar 2.7. Buzzer 20
Gambar 2.8. Rangkaian LED 20
Gambar 3.1. Arsitektur Umum 26
Gambar 3.2. Flowchart Sistem Proses Enkripsi dan Dekripsi 29
Gambar 3.3. Matriks 4x4 state dan chipper key 27
Gambar 3.4. Illustrasi Sub Bytes 27
Gambar 3.5. Visualisasi dari pemilihan subbyte dengan nilai pada state E0 28
Gambar 3.6. Hasil dari state yang telah disubtitusi 29
Gambar 3.7. Gambar pergeseran elemen 29
Gambar 3.8. Hasil dari proses kedua hingga keenam 30
Gambar 3.9. Hasil dari proses ketujuh hingga mendapatkan Chiperteks 30
Gambar 3.10. Relasi RFid pada Arduino 32
Gambar 3.11. Rangkaian catu daya pada arduino 32
Gambar 3.12. Relasi relay pada rangkaian kunci kontak 33
Gambar 3.13. Rangkaian LED 33
Gambar 3.14. Rangkaian buzzer 34
Gambar 3.15. Arsitektur Arduino 34
Gambar 3.16. Sistem Keseluruhan 35
Gambar 3.17. Flowchart Sistem Perangkat Keamanan Sepeda Motor 36
Gambar 3.18. Aplikasi Manajemen Mifare 37
Gambar 3.19. Rancangan Aplikasi Konektifitas antara Arduino dengan sistem 38
Gambar 3.21. Form user management 40
Gambar 4.1. Rangkaian Relay 42
Gambar 4.2. Rangkaian Relay Pada Arduino 42
Gambar 4.3. Jalur Rangkaian Pada PCB 43
Gambar 4.4. RFid reader Pada Rangkaian Relay 43
Gambar 4.5. Tampilan Menu Utama 45
Gambar 4.6. Tampilan Menu Daftar Customer 45
Gambar 4.7. Tampilan Menu Data Customer 46
Gambar 4.8. Menu RFid 46
Gambar 4.9. Menu Manajemen Mifare 47
Gambar 4.10. Menu Manajemen Mifare Aktif 47
v
ABSTRAK
Sistem manajemen kartu mifare adalah sistem yang mengelola penggunaan kartu
mifare pada perangkat keamanan sepeda motor. Perangkat keamanan sepeda motor
adalah perangkat keamanan yang memanfaatkan teknologi Radio Frequency identification (RFid) untuk membaca serial kartu mifare lalu diproses oleh arduino uno untuk mencocokkan serial kartu yang telah dibaca dengan yang disimpan di
dalam EEPROM. Jika sesuai, arduino uno akan mengaktifkan relay untuk
mengembalikan fungsi kunci kontak sepeda motor. Dalam penggunaannya sistem
manajemen kartu mifare harus terkoneksi dengan perangkat keamanan sepeda motor
melalui slot USB komputer. Kode id perangkat keamanan sepeda motor digunakan
sebagai key untuk mengkoneksikan sistem dengan perangkat. Namun, sistem ini perlu diproteksi dengan mengenkripsi kode id (plainteks) didalam sistem dan menyimpan hasil enkripsi atau kode sandi (chiperteks) diluar sistem manajemen kartu mifare.
Algoritma AES adalah algoritma yang dapat digunakan untuk mengenkripsi dan
mendekripsikan kode id di dalam sistem. Dengan menggunakan metode ini, sistem
manajemen kartu mifare dapat diproteksi.
MIFARE CARD MANAGEMENT SYSTEM PROTECTION FOR MOTORCYCLE SECURITY DEVICES
USING AES ALGHORITM
ABSTRACT
Mifare card management system is a system that manages the use of mifare card
security devices on motorcycles. Motorcycle security devices is a security device that
utilizes Radio Frequency identification technology (RFid) to read the serial card
mifare and processed by an arduino uno to match the cards read with series that are
stored in the EEPROM. If appropriate, the arduino uno will activate the relay contacts
key functions to return the motorcycle. In its use of management systems should be
connected with mifare card security devices through a USB slot on a motorcycle.
Device id code security motorcycle is used as a key to connect to the system with the
device. However, these systems need to be protected with the encrypt code id
(plaintext) in the system and save the results of the encryption or password code
(chippertext) outside the system management card mifare. The AES algorithm is an
algorithm that can be used to encrypt and decrypt id code in the system. By using this
method, the system management card mifare can be protected.
BAB 1
PENDAHULUAN
1.1Latar Belakang
Sistem manajemen pengguna perangkat keamanan sepeda motor adalah sistem yang
digunakan oleh admin untuk mengelola pengguna perangkat keamanan sepeda motor.
Adapun pengelolaan yang dapat dilakukan pada sistem ini adalah pengelolaan data
pengguna perangkat keamanan sepeda motor dan pengelolaan kartu mifare.
Perangkat keamanan sepeda motor adalah perangkat yang terdiri atas
rangkaian perangkat elektronika dan RFid reader yang terhubung pada Arduino Uno
sebagai pusat sistemnya. Perangkat ini memanfaatkan fungsi relay untuk
memanipulasi fungsi kunci kontak sepeda motor.
Arduino uno adalah salah satu kit mikrokontroller yang berbasis pada
ATMega28 yang dapat mengontrol komponen elektronika. kelebihan dari board Arduino uno adalah terdapat modul yang bisa dipasang pada board arduino uno. Salah satu modul yang bisa dipasang pada board arduino adalah modul MFRC522 yang menggunakan teknologi Radio Frequency identification (RFid).
Teknologi Radio Frequency Identification (RFid) adalah teknologi untuk mengidentifikasi seseorang atau objek benda menggunakan transmisi frekuensi radio
dari 125kHz, 13.65Mhz sampai 800-900MHz. RFid adalah sistem identifikasi tanpa
kabel yang memungkinkan pengambilan data tanpa harus bersentuhan. RFID kini
banyak dipakai diberbagai bidang seperti sistem absensi, kartu identitas, rekam medis,
data pegawai, sistem pembayaran dan sistem keamanan sepeda motor.
Salah satu pemanfaatan teknologi Radio Frequency identification (RFid) adalah sebagai sistem keamanan sepeda motor. RFid digunakan sebagai media untuk
selanjutnya akan diproses oleh Arduino uno untuk memberi perintah kepada relay untuk menyalakan atau mematikan sepeda motor.
Relay adalah saklar remote listrik yang dikendalikan oleh saklar/ switch,
komputer, atau modul kontrol lainnya. Relay memungkinkan penggunaan arus kecil
untuk mengontrol arus yang lebih besar guna mengurangi beban kerja batre/ aki pada
kendaraan. Hal ini dimungkinkan karena relay memiliki kumparan (coil) yg akan
bersifat magnetik saat diberi arus, sehingga menghasilkan arus yang lebih besar.
Secara sederhana relay memiliki rangkaian mirip coil (lilitan kawat dengan inti besi)
untuk pengapian pada busi. Sifat magnetik kumparan mempengaruhi dan
memperbesar kontak di sebelahnya yang berfungsi sebagai kontinuitas suplai arus
bagi beban (lampu atau klakson). Sehingga relay memiliki lebih dari 2 pin, di mana
pin-pin tersebut terkoneksi sebagai kumparan, dan kontinuitas arus listrik.
Untuk mengelola kartu mifare perangkat keamanan sepeda motor di dalam
sistem manajemen kartu mifare harus mengkoneksikan perangkat keamanan dengan
sistem manajemen kartu mifare terlebih dahulu. Konektifitas antara perangkat
keamanan dengan sistem ini menggunakan kode id sebagai key. Kode id merupakan kode identitas yang disimpan didalam arduino uno dan juga disimpan di dalam
database sistem pengguna perangkat.
Namun, sistem pengguna perangkat keamanan rentan dicuri. Sehingga sistem
pengelolaan kartu mifare dapat disalah gunakan. Kode id Sebagai key untuk konektifitas perangkat keamanan dengan sistem perlu di proteksi. Proteksi kode id
dilakukan dengan cara mengenkripsi kode id dan menyimpan file hasil enkripsi diluar
sistem pengguna perangkat keamanan sepeda motor.
Advanced Encryption Standard (AES) merupakan algoritma cryptographic yang dapat digunakan untuk mengamankan data. Algoritma AES adalah block
3
Berdasarkan latar belakang tersebut, penulis mencoba untuk memproteksi
sistem manajemen kartu mifare dengan mengenkripsi kode id didalam sistem
menggunakan algoritma AES.
1.2. Rumusan Masalah
Sistem manajemen kartu mifare rentan dicuri. Sehingga kartu mifare yang terdaftar
pada perangkat keamanan sepeda motor juga rentan disalahgunakan. Kode id
perangkat keamanan sepeda motor yang berfungsi sebagai key untuk konektifitas antara perangkat dengan sistem perlu diproteksi dengan cara mengenkripsi kode id
didalam sistem dan menyimpan hasil enkripsi tersebut diluar sistem. Proses enkripsi
tersebut dilakukan dengan menggunakan algoritma AES.
1.3. Batasan Masalah
Untuk mencegah meluasnya pembahasan dan agar lebih terarah maka dibuat batasan
masalah. Batasan-batasan tersebut adalah sebagai berikut.
1. Penulis menggunakan algoritma AES. 2. Jenis file hasil enkripsi .txt
3. Alat yang digunakan dalam penelitian ini adalah
a. Sistem relay.
b. Modul MFRC522.
c. Mikrokontroller jenis Arduino Uno (ATMega328).
4. Sepeda motor yang menggunakan CDI DC.
5. Penelitian fokus pada memproteksi sistem manajemen kartu mifare.
1.4. Tujuan Penelitian
Dengan memanfaatkan algoritma AES untuk mengenkripsi kode id, tujuan penelitian
ini adalah untuk melindungi sistem manajemen kartu mifare perangkat keamanan
sepeda motor.
1.5. Manfaat Penelitian
Manfaat penelitian ini adalah sebagai berikut.
1. Mengetahui penggunaan algoritma AES untuk memproteksi sistem
2. Penelitian dapat dijadikan bahan rujukan untuk penelitian lain.
1.6. Sistematika Penulisan
Sistematika penulisan skripsi ini terdiri dari lima bagian utama antara lain sebagai
berikut:
Bab 1: Pendahuluan
Bab ini terdiri dari latar belakang, rumusan masalah, batasan masalah, tujuan
penelitian, manfaat penelitian, dan sistematika penulisan.
Bab 2: Landasan Teori
Bab ini merupakan kumpulan referensi yang berkaitan dengan penelitian, baik dari
buku-buku yang memuat pemecahan masalah dari penelitian maupun informasi yang
diperoleh melalui internet.
Bab 3: Analisis dan Perancangan Sistem
Pada tahap ini dilakukan perancangan sesuai dengan hasil dari analisis sistem dan
dilanjutkan dengan mengimplementasi hasil analisis dan perancangan ke dalam
sistem.
Bab 4: Implementasi dan Pengujian Sistem
Bab ini membahas tentang implementasi dari analisis dan perancangan yang telah
disusun pada Bab 3 dan pengujian untuk mengetahui apakah hasil yang didapatkan
sesuai dengan yang diharapkan.
Bab 5: Kesimpulan dan Saran
BAB 2
LANDASAN TEORI
2.1 Kriptografi
Kriptografi pada sebuah sistem bertujuan untuk menjaga kerahasiaan informasi yang
terkandung didalam data. Sehingga data tidak dapat diketahui, dimanipulasi dan
diduplikasi oleh pihak yang tidak sah.
Kriptografi mentransformasikan plaintext kedalam bentuk chipertext. Chiphertext ini kemudian dikirim oleh sender kepada receiver. Chiphertext lalu ditransformasikan kembali kedalam bentuk plaintext agar dapat dikenali oleh receiver. Proses transformasi dari plaintext menjadi chipertext disebut sebagai proses Enkripsi. Sedangkan proses transformasi kembali dari chipertext menjadi plaintext disebut proses dekripsi.
Berdasarkan kunci yang digunakan, algoritma kriptografi dapat dibedakan atas
dua golongan, yaitu:
a. Symmetric Algorithms
Algoritma kriptografi simetris atau disebut juga algoritma kriptografi
konvensional adalah algoritma yang menggunakan kunci untuk proses enkripsi
sama dengan kunci proses dekripsi. Contoh Symetric Alghorithms adalah
Algoritma AES.
b. Asymmetric Algorithms
Algoritma kriptografi Asimetris adalah algoritma yang menggunakan kunci
yang berbeda untuk proses enkripsi dan dekripsinya. Salah satu contoh
Pada proses enkripsi dan dekripsi oleh algoritma AES, terdapat tiga proses
yang akan dilalui oleh algoritma AES yaitu Add Round key, Standart Round dan Final Round.
2.2 Algoritma AES
Algoritma AES berfungsi untuk mengenkripsi kode id perangkat keamanan sepeda
motor yang diinput oleh admin. Proses ini bertujuan untuk mengubah kode id
(plaintext) menjadi kode sandi (chipertext). Proses ini dilakukan pada tahapan registrasi pengguna perangkat keamanan sepeda motor secara otomatis lalu disimpan
kedalam database pengguna perangkat keamanan sepeda motor.
Selain itu, Algoritma AES juga berfungsi untuk mendekripsikan kode sandi
(chipertext) menjadi kode id (plaintext) kembali. Dekripsi kembali kode sandi (chipertext) menjadi kode id (plaintext) bertujuan untuk mensinkronkan kode id pada aplikasi dengan kode iddidalam sistem arduino. Proses ini dilakukan sistem pada saat
konektifitas antara perangkat keamanan sepeda motor dengan sistem.
Algoritma AES merupakan algoritma simetris yaitu mengunakan kunci yang
sama untuk proses enkripsi dan dekripsi. Algoritma AES memiliki tiga pilihan kunci
yaitu tipe: AES-128, AES-192 dan AES-256. Masing-masing tipe menggunakan kunci
internal yang berbeda untuk setiap proses putaran (Round Key). Pada AES-128 proses putaran sebanyak 10 kali (a=10), pada AES-192 proses putaran sebanyak 12 kali
(a=12), sedangkan AES-256 proses putaran dikerjakan sebanyak 14 kali (a=14).
Berdasarkan ukuran block yang tetap, AES bekerja pada matriks berukuran 4x4
dimana tiap-tiap sel matriks terdiri atas 1 byte (8 bit).
Proses enkripsi AES-128 dikerjakan sebanyak 10 kali (a=10), yaitu sebagai berikut :
1. AddRoundKey
Pada proses enkripsi dan dekripsi, sebuah round key ditambahkan pada state
dengan operasi XOR.
7
SubBytes merupakan transformasi byte dimana setiap elemen pada state akan
dipetakan dengan menggunakan sebuah tabel subtitusi (S-Box).
II. ShiftRows
Transformasi ShiftRows adalah pergeseran bit dimana bit disebelah kiri akan
dipindahkan menjadi bit disebelah kanan atau disebut sebagai rotasi bit.
III. MixColumns
MixColumns mengoperasikan setiap elemen dalam satu kolom pada state.
3. Final round, adalah proses untuk putaran terakhir yang meliputi SubBytes, ShiftRows, dan AddRoundKey.
Sedangkan pada proses dekripsi AES-128, proses putaran juga dikerjakan
sebanyak 10 kali (a=10), yaitu sebagai berikut:
1. AddRoundKey
2. Putaran sebanyak a-1 kali, dilakukan proses: InverseShiftRows, InverseSubBytes, AddRoundKey, dan InverseMixColumns.
3. Final round, adalah proses untuk putaran terakhir yang meliputi InverseShiftRows, InverseSubBytes, dan AddRoundKey.
2.3 Teori Umum
2.3.1 Konsep Dasar Sistem
Secara sederhana suatu sistem dapat diartikan sebagai suatu kumpulan atau himpunan
dari unsur, komponen, atau variable yang terorganisir, saling berinteraksi, saling
tergantung satu sama lain, dan terpadu. (Sutabri, 2012).
Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang berhubungan,
terkumpul bersama-sama untuk melakukan suatu kegiatan atau tujuan tertentu.
(Yakub, 2012).
A. Karakteristik Sistem
1. Komponen Sistem (Component System).
Suatu sistem terdiri dari sejumlah komponen yang seling berinteraksi, artinya
saling bekerja sama membentuk satu kesatuan. Komponen-komponen sistem
dari sistem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses
sistem secara keseluruhan. Suatu sistem dapat mempunyai sistem yang lebih
besar atau sering disebut “super sistem”.
2. Batasan Sistem (Boundary System).
Ruang lingkup sistem merupakan daerah yang membatasi antara sistem
dengan sistem yang lain atau sistem dengan lingkungan luarnya. Batasan
sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan yang
tidak dapat dipisahkan.
3. Lingkungan Luar Sistem (Environment System).
Bentuk apapun yang ada diluar ruang lingkup atau batasan sistem yang
mempengaruhi operasi sistem tersebut disebut lingkungan luar sistem.
Lingkungan luar sistem ini dapat bersifat menguntungkan dan dapat juga
bersifat merugikan sistem tersebut. Dengan demikian, lingkungan luar tersebut
harus tetap dijaga dan dipelihara. Lingkungan luar yang merugikan harus
dikendalikan. Kalau tidak, maka akan mengganggu kelangsungan hidup sistem
tersebut.
4. Penghubung Sistem (Interface System).
Media yang menghubungkan sistem dengan sub sistem lain disebut
penghubung sistem atau interface. Penghubung ini memungkinkan
sumber-sumber daya mengalir dari satu subsitem ke sub sistem lain. Bentuk keluaran
dari satu subsistem akan menjadi masukan untuk sub sistem lain melalui
penghubung tersebut. Dengan demikian, dapat terjadi suatu integritas sistem
yang membentuk satu kesatuan.
5. Masukan Sistem (Input System).
Energi yang dimasukan ke dalam sistem disebut masukan sistem, yang dapat
berupa pemelihaaran dan sinyal. Contohnya, di dalam suatu unit sistem
komputer, ”program” adalah maintenance input yang digunakan untuk
mengoperasikan komputernya dan “data” adalah signal input untuk diolah
9
6. Keluaran Sistem (Output System).
Hasil energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna.
Keluaran ini merupakan masukan bagi subsitem yang lain seperti sistem
informasi. Keluaran yang dihasilkan adalah informasi. Informasi ini dapat
digunakan sebagai masukan untuk pengambilan keputusan atau hal-hal lain
yang menjadi input bagi subsistem lain.
7. Pengolahan Sistem (Processing System).
Suatu sistem dapat mempunyai suatu proses yang akan mengubah masukan
menjadi keluaran, contohnya sistem akuntansi. sistem ini akan mengolah data
transaksi menjadi laporan-laporan yang dibutuhkan oleh pihak manajemen.
8. Sasaran Sistem (Objective).
Suatu sistem memiliki tujuan dan sasaran yang pasti dan bersifat deterministic.
Kalau suatu sistem tidak memiliki sasaran maka operasi sistem tidak ada
gunanya. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuan
yang telah direncanakan.
B. Klasifikasi Sistem
1. Sistem Absrak dan Sistem Fisik
Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak
tampak secara fisik, misalnya sistem teologia, yaitu sistem yang berupa
pemikiran hubungan antara manusia dengan Tuhan, sedangkan sistem fisik
merupakan sistem yang ada secara fisik, misalnya sistem komputer, sistem
produksi, sistem penjualan, sistem administrasi personalia, dan lain
sebagainya.
2. Sistem Alamiah dan Sistem Buatan Manusia
Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat
oleh manusia, misalnya sistem perputaran bumi, terjadinya siang malam,
danpergantian musim. Sedangkan sistem buatan manusia merupakan sistem
yang melibatkan interaksi manusia dengan mesin yang disebut human machine
machine system karena menyangkut penggunaan komputer yang berinteraksi dengan manusia.
3. Sistem Determinasi dan Sistem Probabillistik
Sistem yang berinterkasi dengan tingkah laku yang dapat diprediksi disebut
sistem deterministic. Sistem komputer adalah contoh dari sistem yang tingkah
lakunya dapat dipastikan berdasarkan program-program komputer yang
dijalankan. Sedangkan sistem yang bersifat probabilistik adalah sistem yang
kondisi masa depannya tidak dapat diprediksi karena mengandung unsur
probabilistic.
4. Sistem Terbuka dan Sistem Tertutup
Sistem tertutup merupakan sistem yang tidak berhubungan dan tidak
terpengaruh oleh lingkungan luarnya. Sistem ini bekerja secara otomatis tanpa
campur tangan pihak luar. Sedangkan sistem tebuka adalah sistem yang
berhubungan dan dipengaruhi oleh lingkungan luarnya. Sistem ini menerima
masukan dan menghasilkan keluaran untuk subsistem lainnya.
2.3.2 Konsep Dasar Pengontrolan
Suatu sistem kontrol otomatis dalam suatu proyek berfungsi mengendalikan proses
tanpa adanya campur tangan manusia. (Erinofiardi et al,2012).
Saat ini, kontrol otomatis sudah diterapkan dalam banyak bidang ilmu yang
bertujuan untuk mempermudah pekerjaan rumit untuk dilakukan lebih teliti dan
mendapatkan hasil yang lebih detail. Selain itu pemanfaatan control secara otomatis
dapat meminimalisir kesalahan yang dilakukan oleh human error.
A. Jenis-jenis Pengontrolan
1. Sistem Kontrol Loop Terbuka
Sistem kontrol loop terbuka adalah suatu sistem kontrol yang keluarannya
tidak berpengaruh terhadap aksi pengontrolan. Dengan demikian pada sistem
control ini, nilai keluaran tidak diumpan-balikkan ke parameter pengendalian.
11
Dari Gambar 2.1. menggambarkan tidak ada proses umpan balik yang
terjadi pada sistem. Sehingga proses yang terjadi pada sistem hanya
memproses sinyal masukan kemudian mengirimkannya ke alat kendali.
Gambar 2.1. Sistem Pengendali loop terbuka (Sumber: Erinofiardi et al, 2012)
2. Sistem Kontrol Loop Tertutup
Sistem kontol loop tertutup adalah suatu sistem yang sinyal keluarannya
memiliki pengaruh langsung terhadap kendali yang dilakukan. (Erinofiardi et al,2012).
Sistem kontrol loop tertutup memiliki sinyal umpan balik yang
merupakan keluaran dari sistem tersebut, namun pada sistem control loop
keluaran dari sistem tersebut di umpankan kembali ke elemen pengendali
untuk memperkecil kesalahan dan membuat keluaran mendekati hasil yang
diinginkan.
Sinyal input merupakan masukan yang akan menentukan suatu nilai
yang diharapkan bagi sistem yang dikendalikan. Untuk sistem pengendalian ini
sinyal input dihasilkan oleh mikrokontroller.
Dari Gambar 2.2. menyatakan hubungan antara masukan dan keluaran
yang dilakukan didalam sistem kontrol loop tertutup. Sinyal input
dibandingkan terlebih dahulu dengan sinyal umpan balik untuk menghasilkan
sinyal bersih yang akan dikirimkan ke elemen pengendali untuk menghasilkan
sinyal keluaran yang akan dikirim ke alat terkendali.
2.3.3. Konsep Dasar Sinyal
Sinyal adalah energi elektrik (arus atau gelombang) dapat menyimpan informasi jika
dibuat dalam variasi tertentu dan satuan waktu tertentu pula/intensitas. (Mulyanto, 2009).
Variasi energi disebut juga dengan sinyal terbagi atas 2 bagian. Yaitu:
a. Sinyal Analog
Sinyal analog adalah sinyal data dalam bentuk gelombang yang kontinyu, yang
membawa informasi dengan mengubah karakteristik gelombang. Dua
parameter/ karakteristik terpenting yang dimiliki oleh isyarat analog adalah
amplitude dan frekuensi. Isyarat analog biasanya dinyatakan dengan gelombang
sinus, mengingat gelombang sinus merupakan dasar untuk semua bentuk isyarat
analog. (Kuswanto, 2014).
b. Sinyal Digital
Sinyal digital merupakan sinyal data dalam bentuk pulsa yang dapat mengalami
perubahan yang tiba-tiba dan mempunyai besaran 0 dan 1. Teknologi sinyal
digital hanya memiliki dua keadaan, yaitu 0 dan 1, sehingga tidak mudah
terpengaruh oleh noise, tetapi transmisi dengan sinyal digital hanya mencapai
jarak jangkau pengiriman data yang relatif dekat. Sinyal digital juga biasanya
disebut juga sinyal diskret. (Kuswanto, 2014).
2.4 Perangkat Keamanan Sepeda Motor
Perangkat keamanan sepeda motor adalah perangkat tambahan yang dipasang pada
sepeda motor untuk meningkatkan keamanan sepeda motor. Perangkat keamanan
13
Perangkat keamanan ini memanfaatkan relay sebagai saklar untuk memutus
atau menyambungkan kembali rangkaian kelistrikan sepeda motor pada kunci kontak.
dengan menggunakan relay pada kunci kontak sepeda motor, tegangan listrik dari
battery tidak mengalir ke rangkaian. Sehingga pengguna sepeda motor tidak dapat
menyalakan sepeda motor, menyalakan lampu, membunyikan klakson dan lain
sebagainya. Arduino uno berfungsi memberi perintah kepada relay untuk tersambung
atau terputus dengan memanfaatkan tegangan listrik hasil dari output Arduino uno.
Selain itu, Arduino uno juga berfungsi untuk menyimpan serial kartu mifare
didalam EEPROM dan memproses seluruh rangkaian yang terhubung dengannya.
Seperti RFID reader, LED, Relay, dan Buzzer seperti pada gambar 2.3.
Gambar 2.3. Diagram proses Sistem Keamanan sepeda motor.
Adapun proses yang terjadi pada gambar 2.3 adalah sebagai berikut :
1. Tag kartu mifare pada RFid reader
2. RFid reader akan membaca serial kartu mifare dan mengirimkan serial kartu
tersebut kepada arduino uno.
3. Arduino akan mengecek serial kartu yang diterima dan mencocokkan serial
kartu tersebut didalam EEPROM.
4. Jika sesuai, arduino uno memerintahkan LED, Buzzer dan Relay untuk aktif.
5. Relay yang aktif akan mengembalikan fungsi kunci kontak sepeda motor
seperti semula.
2.5 Komponen Perangkat Keamanan Sepeda Motor 2.5.1. Relay
Relay adalah saklar listrik yang membuka atau menutup rangkaian dalam kondisi
tertentu. Relay akan membuka atau menutup dengan tenaga listrik melalui coil relay
yang terdapat didalamnya. Sebuah relay memiliki coil (kaitan) tembaga yang melilit
medan elektromagnetik yang mempengaruhi batang logam didalam lingkarannya
tersebut untuk menjadikannya sebuah magnet. Kekuatan magnet yang terjadi pada
batang logam tersebut menarik lempeng logam lain yang terhubung melalui tuas ke
sebuah sakelar. Relay memicu sakelar terbuka dan tertutup.
Secara umum relay digunakan untuk memenuhi fungsi-fungsi berikut:
a. Remote Control yaitu dapat menyalakan dan mematikan suatu alat dari jarak jauh.
b. Penguatan daya.
c. Pengatur logika control suatu sistem.
Gambar 2.4. Relay
2.5.2 Radio Frequency Identification
Radio Frequency Identification (RFid) merupakan sebuah teknologi penangkapan data yang memanfaatkan frekuensi radio dalam sistem kerjanya yang dapat digunakan
secara elektronik untuk mengidentifikasi, melacak dan menyimpan informasi yang
tersimpan dalam tag RFid.
Perhatian terhadap RFid dalam lingkungan media massa maupun akademis
yang populer telah meningkat dalam beberapa tahun ini. Salah satu buktinya adalah
usaha dari organisasi-organisasi yang besar seperti Wal-Mart, Procter and Gamble,
dan Departemen pertahanan Amerika Serikat untuk menggunakan RFid sebagai suatu
alat untuk mengontrol secara otomatis terhadap rantai supply mereka. (kurniawan,
2009).
RFid menggunakan standart Global, yaitu EPC (Electronic Product Code).
Standar ini mewajibkan setiap tag yang dibuat harus memiliki Unique identifier. Sehingga akan memudahkan dalam proses identifikasi objek tertentu secara spesifik.
15
Ada 3 kategori frekuensi yang umum digunakan untuk teknologi RFid, yaitu:
a. Low frequency untuk identifikasi jarak dekat (dibaca dalam jarak 3-4 cm).
beroperasi pada 125 kHz atau 134 kHz.
b. High frequency untuk identifikasi yang lebih jauh (dibaca dalam jarak 1 m).
dan memiliki kecepatan yang lebih baik. Beroperasi pada 13.56 MHz.
c. Ultra high frequency untuk identifikasi lebih cepat dan paling jauh. Namun
proses identifikasinya tidak bias menembus tempat dengan kandungan air
tinggi. Beroperasi pada 866 MHz – 960 MHz. UHF hanya mampu beroperasi
[image:30.595.240.433.280.380.2]pada jarak lebih 3,3 meter.
Gambar 2.5. RFid reader jenis MFRC522
Secara umum, RFid terdiri atas 3 komponen utama yaitu, RFid tag, RFid Reader, dan Middleware.
1. RFid tag
a. Active tag.
Tag ini memiliki jarak baca dengan rentang 20 meter-300 meter dan menggunakan baterai sebagai sumber daya. Tag ini tidak memantulkan sinyal radio, namun hanya mengirimkannya saja. Active tag dapat dibedakan menjadi dua, yaitu transponder, reader akan mengirimkan sinyal untuk memicu active tag mengirimkan data ke reader.
b. Passive tag.
Merupakan tag konvensional yang memantulkan sinyal yang diberikan oleh
reader dengan jarak baca yang relatife pendek.
2. RFid Reader
dan tidak memiliki kemampuan komputasi. Atau bisa juga berupa intelligent Reader yang memiliki kemampuan komputasi sehingga dapat melakukan proses filtering terhadap sinyal-sinyal yang terkirim dari tag.
3. Middleware
Merupakan aplikasi yang menerima data dari reader dan mengolahnya agar sesuai
dengan kebutuhan system. Pekerjaan yang dapat dilakukan oleh middleware salah
satunya adalah memfilter RAW data dan memonitoring keadaan reader.
2.5.3 Mifare
Pada gambar 2.6. merupakan rangkaian chip mifare. Mifare adalah merek dagang serangkaian chips produk dari nxp semiconductors, yang secara luas diaplikasikan
pada smart cards dan proximity cards. Mifare merupakan salah satu jenis RFid tag yang berfungsi sebagai tempat penyimpanan data sebelum di baca oleh RFid reader.
Mifare memiliki kemampuan untuk membaca dan menulis kedalam kartu. Didalam mifare terdapat memori yang bersifat volatile. Pada awalnya mifare dikembangkan untuk menangani transaksi pembayaran sistem transportasi umum.
Pada perkembangannya, mifare sudah diterapkan dalam banyak bidang diantaranya absensi pegawai, transaksi pembayaran dan elektronik identitas kependudukan.
Gambar 2.6. Kartu mifare
Selain memiliki memori didalamnya, penggunaan mifare lebih efektif dan efisien karena tidak memiliki bobot yang berat dan mudah dalam penyimpanannya.
17
2.5.4 mikrokontroller
Mikrokontroller adalah sistem fungsional computer yang berbentuk chip. Chip dari
mikrokontroller ini terdiri atas inti prosesor, memori (sejumlah kecil RAM, memori
program, atau keduanya), dan pelengkapan input/output.
Secara umum, mikrokontroller terdiri atas 3 jenis. Masing-masing jenis
mikrokontroller tersebut memiliki karakteristik dan fungsi yang berbeda. Adapun
ketiga jenis mikrokontroller tersebut adalah :
1. MCS51
Mikrokontroller MCS51 termasuk kedalam bagian dari complex instruction-set computing (CISC) yang sebagian besar instruksinya dieksekusi dalam 12 siklus. MCS51 memiliki memori (ROM) dengan kapasitas 64kb dan memori (RAM)
64kb yang dapat diakses dengan cara memberi jalur pemilihan chip yang terpisah
dari chip utama untuk mengakses program dari memori data.
Salah satu kemampuan dari mikrokontroller MCS51 ini adalah pemasukan
aljabar Boolean yang mengizinkan operasi algoritma dalam tingkatan satuan –bit dapat dilakukan secara langsung dalam register internal dan akses RAM. Oleh
karena itu, MCS51 digunakan dalam rancangan awal Programmable Logic Control (PLC).
2. Alv and Vegard’s Risc (AVR)
Mikrokontroller AVR merupakan microcontroller tipe Reduce Instruction Set
Computing (RISC) 8 bit. Karena pemrosesan dilakukan secara RISC, sebagian
besar instruksinya dikemas kedalam satu siklus clock.
Secara umum, AVR dikelompokkan kedalam 4 kelas. Perbedaan disetiap
kelasnya adalah kapasitas memori, peripheral dan fungsi. Adapun keempat kelas
tersebut adalah ATTiny, AT90Sxx, ATMega dan AT86RFxx.
3. PIC
PIC merupakan mikrokontroller tipe reduce Instruction Set Computing (RISC).
PIC dilengkapi dengan EPROM dan komunikasi serial, UAT, kernel kontrol
motor, dan memori program dari 512 word hingga 32 word. Word merupakan
2.5.5 Physical Computing
Physical Computing adalah membuat sebuah sistem atau perangkat fisik dengan menggunakan software dan hardware yang bersifat interaktif. Physical Computing merupakan konsep untuk menghubungkan dua sifat alami yang berbeda, yaitu analog dengan digital. Pada pengaplikasiannya konsep ini digunakan untuk mendesain alat atau projek yang menggunakan sensor dan microcontroller untuk menerjemahkan input analog kedalam sebuah sistem yang mengontrol gerakan alat-alat
elektromekanik.
Dalam pengujian Physical Computing diperlukan sebuah prototype untuk melakukan eksperimen dan uji coba dari komponen, parameter, program komputer
dan sebagainya. Pengujian dilakukan berulang kali sehingga diperoleh kombinasi
yang paling tepat.
Saat ini ada beberapa alat yang digunakan sebagai prototype berbasis
microcontroller yang cukup popular, misalnya: 1. Arduino
2. I-Cubex
3. Arieh Robotics Project Junior
4. Dwengo
5. Embedded Lab
6. GP3
A. Arduino uno (Mikrokontroller ATmega 328)
Arduino adalah sebuah platform dari physical computing yang bersifat open source. Arduino tidak hanya sebuah alat pengembangan, tetapi ia adalah kombinasi dari
hardware, bahasa pemrograman dan integrated Development Environtment (IDE).
IDE adalah sebuah software yang berfungsi untuk menulis program,
meng-compile menjadi bilangan biner,dan meng-upload kedalam memory microcontroller. Dengan kemampuan ini, Arduino dapat digunakan sebagai pembangunan sebuah projek yang menghubungkan sifat analog dan digital.
Arduino didukung oleh modul pendukung seperti sensor, visual, gerak, dan
19
microcontroller 8 bit dengan jenis ATmega yang diproduksi oleh Atmel Corporation.
ATMega328 merupakan mikrokontroller keluarga AVR 8 bit. Beberapa
tipe mikrokontroller yang sama dengan ATMega8 ini antara lain ATMega8535,
ATMega16, ATMega32, ATMega328, yang membedakan antara mikrokontroller
antara lain adalah ukuran memori, banyaknya GPIO (pin input/outpur), peripheral
(USART, timer, counter, dll). (Syahid, 2012).
Fitur Arduino antara lain:
a. 32 x 8-bit register multifungsi.
b. Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
c. 32 KB flash memory dan pada arduino memiliki bootloader yang
menggunakan 2 KB dari flash memori sebagai bootloader.
d. Memiliki EEPROM (Electrically Erasable Programmable Read Only
Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanent
karena EEPROM tetap dapat menyimpan data meskipun catu daya
dimatikan.
e. Memiliki SRAM (Static Random Akses Memory) sebesar 2KB
f. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width
Modulation) output.
g. Master / Slave SPI Serial Interface.
Arduino Uno (ATMega328) memiliki kemampuan untuk memisahkan memori
untuk kode program dan memori untuk data atau disebut sebagai arsitektur Harvard.
Dengan kemampuan ini, dapat memaksimalkan kerja dan paralellisme. Selain itu, didalam Arduino Uno dapat dieksekusi dalam setiap satu siklus. Hal ini disebabkan
karena intruksi-instruksi dalam memori program dieksekusi dalam alur tunggal
dimana pada saat satu instruksi dikerjakan, instruksi berikutnya sudah diambil dari
memori program.
2.5.6. Modul Arduino Uno
Modul Arduino uno adalah perangkat tambahan yang dipasangkan pada komponen
Komponen tambahan yang digunakan oleh penulis pada projek ini adalah RFid
board (RFid reader) dengan jenis MFRC522 dan mifare (RFid tag). Kedua perangkat ini digunakan sebagai input. Sedangkan untuk ouput menggunakan perangkat elektronika yaitu relay yang menerima arus listrik dari hasil pemrosesan arduino.
2.5.7 Buzzer
Pada Gambar 2.7. merupakan komponen buzzer. Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara.
Pada dasarnya prinsip kerja buzzer hampir sama dengan loud speaker, jadi buzzer juga
terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan
tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke
dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena
kumparan dipasang pada diafragma maka setiap gerakan kumparan akan
menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang
akan menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses
telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).
Gambar 2.7. buzzer
2.5.8 Light Emitting diode (LED)
Pada Gambar 2.8. merupakan rangkaian Light Emitting diode (LED). LED adalah komponen eleketronika yang terbuat dari bahan semikonduktor. LED masih termasuk
dalam kategori diode, hanya saja LED memiliki kemampuan untuk memancarkan
[image:35.595.256.411.420.472.2]cahaya seperti lampu.
[image:35.595.265.391.632.681.2]21
Dari Gambar 2.8. dapat dilihat cara kerja dari LED. LED memiliki dua kutub,
kutub anoda dan katoda, LED akan menyala apabila mendapat arus listrik yang
mengalir dari anoda ke katoda.
2.6. Perangkat Lunak 2.6.1 Software Arduino
Software arduino yang digunakan untuk pengolahan bahasa pemrograman didalam
arduino terdiri atas driver dan IDE.
IDE Arduino adalah software yang ditulis menggunakan java yang terdiri atas:
1. Editor program, sebuah alat yang digunakan oleh pengguna untuk menulis
dan mengedit program dalam bahasa processing.
2. Compiler, sebuah modul yang mengubah kode program (sketch) menjadi
kode biner.
3. Uploader, sebuah modul yang memuat kode biner ke dalam memory di
dalam papan arduino.
2.6.2 Bahasa Pemrograman
Dalam pemrograman suatu microcontroller terdapat tiga tingkatan bahasa pemrograman. Yaitu :
1. Bahasa Mesin
Bahasa mesin adalah bahasa yang dipahami oleh komputer. Kode yang
terdapat pada bahasa ini berupa kode bilangan biner yang dapat diproses oleh
microprosesor sehingga sulit dipahami oleh user. Setiap jenis microprosessor memiliki bahasa pemrograman yang berbeda dengan jenis microprosessor lainnya yang disebabkan oleh bahasa yang digunakan oleh mesin adalah bahasa yang bersifat spesifik. Bahasa mesin memiliki ekstensi
.hex disetiap filenya.
2. Assembly
Bahasa Assembly terdiri dari instruksi berupa reperesentasi mnemonic dari
instruksi kode bilangan biner dari bahasa mesin. Umumnya mnemonic
berupa singkatan tiga atau empat huruf dari kata yang mewakili suatu
a. SUB adalah kode Assembly untuk instruksi substract, yaitu
mengurangkan suatu angka dari angka lain.
b. CBI adalah kode assembly untuk instruksi Clear bit Input/Output, yaitu
memberi logika nol pada suatu pin Input/Output digital.
3. Bahasa tingkat tinggi
Bahasa tingkat tinggi memiliki sintaks yang mendekati bahasa manusia.
Sehingga bahasa tingkat tinggi lebih mudah untuk dipelajari, meski demikian
bahasa tingkat tinggi umumnya menghasilkan ukuran kode yang lebih besar
dari bahasa Assembly. Pada penerapannya bahasa tingkat tinggi memerlukan
perangkat lunak kompiler (compiler) untuk menerjemahkan kode bahasa
mesin.
Adapun beberapa contoh perangkat lunak pemrograman microcontroller
adalah bahasa C, Assemblyer, dan basic.
2.7 Penelitian Terdahulu
Adapun beberapa penelitian terdahulu yang berkaitan dengan penggunaan Algoritma
AES antara lain:
1. Sistem pengamanan data sidik jari menggunakan algoritma AES pada sistem
kependudukan berbasis radio frequency identification (Putra et al, 2012)
Pada penelitian ini, penulis menggunakan algoritma AES untuk mengamankan data
sidik jari user pada sistem kependudukan. data sidik jari pada sistem ini disimpan
didalam radio frequency identification (RFid) tag. dengan memanfaatkan metode ini,
teknologi RFid tag hanya dapat digunakan oleh user yang memiliki hak akses saja.
2. Perbandingan Algoritma AES dengan Algoritma XTS-AES untuk enkripsi dan
dekripsi teks sms berbasis java ME (Mariana et al, 2013)
Pada penelitian ini, penulis menganalisa perbandingan performansi algoritma AES
dan XTS-AES dengan menerapkan algoritma tersebut pada aplikasi berbasis java ME.
pengujian dua algoritma ini bertujuan untuk mengamankan informasi saat
menggunakan aplikasi SMS.
3. Implementasi QR-Code dan algoritma kriptografi AES pada pengamanan keaslian
dokumen (Kusuma I.B,2012)
Pada penelitian ini, penulis menggunakan teknik QR-Code untuk mengubah data
23
ringkas. lalu hasil transformasi yang dilakukan oleh QR-Code lalu dienkripsi
menggunakan algoritma AES. sehingga, hasil transformasi dari QR-Code tidak dapat
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Bab ini akan menjelaskan proses yang terjadi didalam sistem. Adapun proses yang
terjadi di dalam sistem adalah proses konektifitas antara perangkat keamanan sepeda
motor dengan sistem manajemen kartu mifare dan proses enkripsi dan dekripsi kode id
menggunakan algoritma AES.
Pada Bab ini juga menjelaskan bagian yang menjadi objek peneleitian yang
dilakukan penulis serta tahapan penyelesaian masalah pada objek penelitian. Selain
itu, bab ini juga menjelaskan rancangan sistem yang dirancang oleh penulis.
3.1Arsitektur Umum
Bentuk perancangan sistem yang diajukan didalam penelitian ini dapat dilihat pada
Gambar 3.1. dimana pada gambar ditunjukkan langkah-langkah yang dilakukan oleh
admin didalam sistem, maupun proses yang terjadi didalam sistem. pada awalnya, admin menginput kode id kedalam sistem. kode id merupakan kode identitas yang
disimpan didalam perangkat keamanan sepeda motor. Proses menginput kode id
dilakukan pada tahapan registrasi pengguna perangkat keamanan sepeda motor.
Algorima AES akan mengenkripsi dan mendekripsikan kembali kode id
perangkat keamanan sepeda motor. Pada proses enkripsi dan dekripsi, terdapat 3
proses yang dilakukan oleh algoritma AES. Yaitu AddRoundKey, Standard Round, dan Final Round. Hasil dari proses yang dilakukan oleh algoritma AES adalah konektifitas antara perangkat keamanan sepeda motor dengan sistem serta menejemen
25
Mengenkripsi kode id menjadi
kode Sandi
Menyimpan Kode Sandi Input kode id perangkat keamanan sepeda motor
kedalam sistem Menginput Kode Sandi kedalam sistem Memilih perangkat keamanan sepeda motor yang terkoneksi dengan sistem Mendekripsikan kode sandi menjadi
[image:40.595.132.526.81.550.2]kode id Mengkoneksikan sistem dengan perangkat keamanan sepeda motor Mengelola mifare Menghapus kartu mifare aktif Membaca mifare Mengganti kartu mifare aktif Agoritma AES Algoritma AES
Gambar 3.1. Arsitektur Umum
3.2 Analisis Sistem
Proses analisis dilakukan sebelum melakukan perancangan untuk mendapatkan
kebutuhan dari sistem yang akan dikembangkan. Sistem ini bertujuan untuk
memproteksi sistem pengelolaan kartu mifare dengan mengenkripsi kode id perangkat
keamanan sepeda motor didalam sistem. Dalam mencapai tujuan tersebut, dapat
menggunakan algoritma AES untuk mengenkripsi dan mendekripsi kode id.
Untuk menganalisa sistem, digunakan diagram proses yang bertujuan untuk
Dengan menggunakan diagram proses, penulis dapat memfokuskan objek yang
[image:41.595.114.531.134.330.2]menjadi penelitian penulis.
Gambar 3.2. Diagram proses konektifitas antara perangkat keamanan sepeda motor dengan Sistem manajemen kartu mifare
Pada Gambar 3.2. merupakan proses yang terjadi pada sistem manajemen kartu
mifare. Untuk mengkoneksikan perangkat keamanan sepeda motor dengan sistem
manajemen kartu mifare digunakan kode id perangkat keamanan sepeda motor
sebagai key agar sistem dan perangkat keamanan sepeda motor saling terkoneksi.
Adapun proses koneksi antara perangkat keamanan sepeda motor dengan
sistem manajemen kartu mifare adalah sebagai berikut:
1. Admin menginput kode id perangkat keamanan sepeda motor didalam sistem
manajemen kartu mifare.
2. Kode id perangkat sudah tersimpan pada database pengguna perangkat
didalam sistem manajemen kartu mifare.
3. Jika kode id yang diinput oleh admin sesuai dengan kode id pada perangkat
sepeda motor, maka sistem manajemen kartu mifare akan terkoneksi dengan
perangkat keamanan sepeda motor.
4. Kartu di tag pada RFid reader.
5. RFid reader akan membaca serial kartu mifare dan mengirimkan serial kartu
27
6. Admin menggunakan sistem manajemen kartu mifare untuk mengelola kartu
mifare tersebut. Adapun pengelolaan kartu mifare seperti membaca serial kartu
mifare, menghapus serial kartu didalam EEPROM arduino uno dan
menyimpan serial kartu didalam EEPROM arduino uno.
Pada Gambar 3.3. merupakan kode id yang dienkripsi menjadi kode sandi.
Kode sandi lalu disimpan diluar sistem manajemen pengguna perangkat keamanan
sepeda motor. Pada penelitian ini, penulis memproteksi kode id perangkat yang
disimpan didalam database sistem manajemen kartu mifare. Proteksi yang dilakukan
pada kode id adalah dengan mengenkripsi kode id menjadi kode sandi perangkat dan
menyimpan kode sandi tersebut diluar sistem manajemen pengguna perangkat
[image:42.595.109.527.335.516.2]keamanan sepeda motor.
Gambar 3.3. Proses Enkripsi dan Dekripsi di dalam Sistem Manajemen Kartu Mifare
Kode sandi akan dienkripsi kembali dalam bentuk Kode id. Dekripsi kode
sandi digunakan sebagai key konektifitas antara sistem manajemen kartu mifare dengan perangkat keamanan sepeda motor.
Pada penelitian ini, penulis menggunakan Algoritma AES untuk mengenkripsi
3.3 Analisis Algoritma AES
Algoritma AES berfungsi untuk mengenkripsi kode id pada sistem dan merubahnya
menjadi kode sandi. Selain itu, Algoritma AES juga berfungsi sebagai dekripsi kode
sandi menjadi kode id kembali.
Mulai
Input kode id
Addround key
ROUND = 0
Round ++ SubByte ShiftRows Mix columns Addround key Jika (Round=10) SubByte true ShiftRows Addroundkey Kode sandi Selesai false Mulai Input kode sandi Addround key
ROUND = 0
Round ++
Inverse SubByte
Inverse ShiftRows
Inverse Mix Columns
Addround key Jika (Round=10) Inverse SubByte true Inverse ShiftRows Addroundkey Kode id Selesai
Proses Enkripsi Proses Dekripsi
[image:43.595.119.509.186.577.2]false Algoritma AES
Gambar 3.4. Flowchart Sistem Proses Enkripsi dan Dekripsi
Dari Gambar 3.4. dapat dilihat proses enkripsi dan dekripsi yang dilakukan
oleh algoritma AES didalam sistem manajemen kartu mifare. Adapun proses yang
dilakukan oleh algoritma AES untuk mengenkripsi dan mendekripsikan kode id
didalam sistem manajemen kartu mifare adalah sebagai berikut:
29
2. Kode id lalu dienkripsi oleh algoritma AES dengan beberapa tahapan,
yaitu :
[image:44.595.240.500.579.699.2]a. Untuk memulai proses enkripsi diperlukan sebuah S box, dimana S box dapat dilihat pada tabel 3.1
Tabel 3.1 Tabel SBox
0 1 2 3 4 5 6 7 8 9 A b c d e F 0 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76
1 Ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
2 b7 Fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
3 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
4 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
5 53 d1 00 ed 20 fc b1 5b 6a Cb Be 39 4a 4c 58 cf
6 d0 Ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
7 51 a3 40 8f 92 9d 38 f5 bc b6 Da 21 10 ff f3 d2
8 Cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
9 60 81 4f dc 22 2a 90 88 46 Ee b8 14 de 5e 0b db
a e0 32 3a 0a 49 06 24 5c c2 d3 Ac 62 91 95 e4 79
b e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
c Ba 78 25 2e 1c a6 b4 c6 e8 Dd 74 1f 4b bd 8b 8a
d 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
f 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16
b. AddRoundKey(initial round) melakukan kombinasi antara plain teks yang sudah ada dengan chipper key menggunakan hubungan XOR.
Pada Gambar 3.5. dapat dilihat chipper key dan state. XOR dilakukan per kolom yaitu kolom-1 chipper teks di XOR dengan kolom-1 round key dan seterusnya.
c. Lakukan putaran sebanyak Nr-1 kali. Sedangkan proses yang dilakukan pada setiap putarannya adalah sebagai berikut :
1. Transformasi SubBytes()
Transformasi subtitusi byte non linear yang dioperasikan secara independen pada setiap byte dengan menggunakan tabel subtitusi s-box dimana s-box tersebut juga memiliki invers yang
digunakan untuk proses dekripsi nantinya.
Gambar 3.6. Ilustrasi Sub Bytes (Sumber : M.D Nuryatin, 2014)
Pada proses ini dilakukan pencocokan antara state yang telah
dimasukkan ke dalam matriks 4x4. Untuk jelasnya dapat dilihat pada
gambar 3.6.
Setelah mendapatkan State, maka proses subtitusi dilakukan
antara state dan S-Box. Berdasarkan contoh maka proses yang terjadi
sebagai berikut :
1. Mengambil elemen dari Si dan Sj dimana i menunjukkan baris dan
j menujukkan kolom dari matriks State.
2. Berdasarkan elemen yang telah diambil, karakter pertama diambil
sebagai penunjuk baris, dan karakter kedua diambil sebagai
penunjuk kolom pada S-Box.
3. Setelah didapatkan elemen pada S-Box, elemen yang telah
diperoleh tersebut disubtitusikan pada matriks State.
31
Berdasarkan uraian proses diatas, maka hal yang terjadi dengan State kita miliki adalah sebagai berikut :
a. Mengambil elemen S00, S01, S02, S03, , … ,S33 didapatkan elemen
{e0,48,28,04,…,e5}.
b. Untuk elemen S00 maka didapatkan baris e dan kolom 0 pada
matriks S-Box, adalah elemen e1. Seperti yang ditunjukkan pada
gambar 3.5. Kemudian untuk elemen S01 didapatkan 52, elemen
S02 didapatkan 34, elemen S03 didapatkan f2, … , dan untuk
elemen S33 didapatkan 69.
c. Selanjutnya setiap elemen yang ditemukan, disubtitusikan sehingga
matriks setelah melakukan subtitusi menjadi seperti pada gambar
3.8.
0 1 2 3 4 5 6 7 8 9 a b c d e F
0 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76
1 Ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
2 b7 Fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
3 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
4 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
5 53 d1 00 ed 20 fc b1 5b 6a Cb be 39 4a 4c 58 cf
6 d0 Ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
7 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2
8 Cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
9 60 81 4f dc 22 2a 90 88 46 Ee b8 14 de 5e 0b db
a e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79
b e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
c Ba 78 25 2e 1c a6 b4 c6 e8 Dd 74 1f 4b bd 8b 8a
d 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
[image:46.595.250.448.585.712.2]f 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16
Gambar 3.7 Visualisasi dari pemilihan subbyte dengan nilai pada State adalah E0
E1 52 34 F2
If 41 6f 33
D4 66 F7 Cd
Ee Da 29 69
2. Transformasi ShiftRows()
ShiftRows adalah proses yang melakukan shift atau pergeseran pada setiap elemen blok/tabel yang dilakukan pada setiap
barisnya. Pada baris pertama tidak dilakukan pergeseran, baris
kedua dilakukan pergeseran 1 byte. Baris ketiga dilakukan
pergeseran 2 byte, dan baris keempat dilakukan pergeseran 3
byte.
E1 52 34 F2 E1 52 34 F2 E1 52 34 F2
33 41 6f If
Bergeser 1 byte
33 41 6f If 33 41 6f If
D4 66 F7 Cd F7 Cd D4 66
Bergeser 2 byte F7 Cd D4 66
Ee Da 29 69 Ee Da 29 69 69 Ee Da 29 Bergeser 3 byte
Gambar 3.9. Gambar pergeseran elemen
3. Transformasi MixColumns()
Yang terjadi saat MixColumns adalah mengalikan tiap elemen dari blok chipper dengan matriks. Perkalian secara bergantian
oleh setiap baris dari state.
Tabel 3.2. perkalian MixColumns
4. Add Round key
Pada proses add round key ini, proses yang dilakukan oleh XOR antara state dengan subkeys.
Setelah keempat proses selesai. Proses ini diulangi sampai
mendapatkan chipper key seperti pada Gambar 3.10. dan 3.11. E1 52 34 F2
33 41 6f If
F7 Cd D4 66
69 Ee Da 29
2 3 1 1
1 2 3 1
1 1 2 3
33
[image:48.595.176.499.90.371.2]
Gambar 3.10. Hasil dari proses kedua hingga keenam
Gambar 3.11. Hasil dari ketujuh hingga mendapatkan Chiperteks
3. Setelah kode sandi didapatkan dari proses enkripsi, kode sandi disimpan
kembali pada saat konektifitas antara perangkat keamanan sepeda motor
dengan sistem.
4. Pada proses dekripsi, kode sandi akan kembali diubah menjadi kode id.
Proses yang dilakukan oleh algoritma AES untuk mendekripsi kode sandi
adalah kebalikan dari proses enkripsi yaitu Inverse AddRoundKey, Inverse SubByte, Inverse ShiftRows dan Inverse Mixcolumns.
5. Dekripsi kode sandi akan secara otomatis dijalankan pada tahap
konektifitas antara perangkat keamanan sepeda motor dengan sistem. hasil
dari dekripsi ini akan menghubungkan perangkat keamanan sepeda motor
dengan sistem.
3.4Perancangan Antarmuka
Perancangan antarmuka bertujuan untuk merancang tampilan yang dapat
menghubungkan pengguna dengan program. Perancangan antarmuka dilakukan
sebelum tahapan implementasi sistem agar memudahkan dalam pengembangan
sistem.
Perancangan antarmuka dirancang khusus untuk admin dalam mengelola
sistem management kartu mifare. Pengelolaan yang dapat dilakukan oleh admin di
dalam sistem adalah mengelola data pengguna perangkat keamana sepeda motor dan
mengelola penggunaan kartu mifar yang digunakan oleh user.
3.4.1 Form Utama
35
Pada Gambar 3.12. merupakan rancangan tampilan pengelolaan sistem. Di dalam
sistem terdapat dua form yang dapat dikelola oleh admin yaitu form database user dan form manajemen kartu mifare.
3.4.2 Perancangan Aplikasi Manjemen Database Pengguna Sistem
Perancangan aplikasi ini bertujuan untuk pengelolaan data pengguna perangkat
Arduino. Data yang dikelola pada aplikasi ini meliputi pengelolaan data user, pengelolaan Mifare dan enkripsi kode id user. Pada aplikasi ini terdapat 3 tahapan yaitu:
[image:50.595.188.459.303.462.2]1. Form Registrasi
Gambar 3.13. Form Registrasi
Form registrasi pada Gambar 3.13. merupakan form awal untuk mendata pengguna perangkat sistem keamanan sepeda motor. Pada form ini, admin menginput data user kedalam sistem. adapun data yang diinput adalah nama user, type kenderaan, dan nomor STNK. Sedangkan untuk id alat merupakan kode id yang disimpan didalam Arduino. Kode id alat akan secara otomatis dienkripsi
setelah registrasi selesai dilakukan.
2. Form User management
Form user management pada Gambar 3.14. adalah form untuk mengelola data user setelah didaftarkan. Pada form ini dapat dilihat seluruh informasi tentang user mulai dari tanggal registrasi, nama pemilik, type kenderaan, nomor STNK dan
kode unik. Kode unik merupakan kode hasil enkripsi dari sistem pada tahapan
kembali id alat. Proses ini diperlukan sebagai konektifitas antara perangkat sistem keamanan sepeda motor dengan sistem menejemen.
Gambar 3.14. form user management
3.4.3 Perancangan Aplikasi Manajemen Kartu Mifare
Perancangan aplikasi manajemen kartu mifare bertujuan untuk mengelola penggunaan kartu mifare pada RFid. Kartu mifare yang diizinkan penggunaannya oleh sistem sebanyak 2 buah. Kartu pertama disebut kartu utama yang digunakan sebagai RFid
tag. Sedangkan kartu kedua bersifat kartu cadangan jika kartu utama mengalami kerusakan atau hilang.
37
Dari gambar 3.15. terdapat proses yang dapat dilakukan oleh Admin untuk mengelola kartu mifare. adapun fungsi dari setiap fitur yang terdapat pada aplikasi adalah :
1. Card 1 dan Card 2 berfungsi sebagai option untuk memilih kartu mifare utama dan kartu mifare cadangan.
2. Read Card berfungsi sebagai button untuk membaca kartu mifare.
3. Record Id berfungsi sebagai button untuk merekam kartu mifare sehingga kode dari kartu