KEAMANAN
PASSWORD
SISTEM
KENDALI PINTU BERBASIS
ANDROID
SKRIPSI
AGUNG PUTU YOGA
111401061
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
AGUNG PUTU YOGA 111401061
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA ONE TIME PAD PADA MIKROKONTROLER ATMEGA32 UNTUK
KEAMANAN PASSWORD SISTEM KENDALI PINTU BERBASIS ANDROID
Kategori : SKRIPSI
Nama : AGUNG PUTU YOGA Nomor Induk Mahasiswa : 111401061
Program Studi : SARJANA (S-1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 18 Desember 2015 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Maya Silvi Lydia, B.Sc., M.Sc. Dr. Poltak Sihombing, M.Kom. NIP.19740127 200212 2 001 NIP. 196203171991031001
Diketahui/disetujui oleh
Program Studi S-1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA
ONE TIME PAD
PADA
MIKROKONTROLER ATMEGA32 UNTUK
KEAMANAN
PASSWORD
SISTEM
KENDALI PINTU BERBASIS
ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 18 Desember 2015
UCAPAN TERIMA KASIH
Puji dan syukur penulis ucapkan kehadirat Allah SWT, karena rahmat dan izin-Nya penulis dapat menyelesaikan skripsi ini. Banyak bantuan berupa uluran tangan, budi baik, buah pikiran dan kerjasama yang telah penulis terima selama menempuh studi sampai dengan penyelesaian studi (skripsi) ini. Oleh karena itu, seyogianya penulis menyampaikan ucapan terima kasih kepada pihak-pihak yang telah membantu.
Ucapan terima kasih penulis sampaikan kepada:
1. Bapak Prof. Subhilhar, Ph.D selaku PJ Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fasilkom-TI USU.
3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembimbing I yang telah memberikan bimbingan dan dukungan kepada penulis.
4. Ibu Maya Silvi Lydia, B.Sc., M.Sc. selaku Sekretaris Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembimbing II yang telah memberikan bimbingan dan dukungan kepada penulis.
5. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. selaku Dosen Pembanding I yang telah memberikan bimbingan dan dukungan kepada penulis.
6. Bapak Dahlan Sitompul B.Sc, M.Eng selaku Dosen Pembanding II yang telah memberikan bimbingan dan dukungan kepada penulis.
7. Bapak Dr. Syahril Efendi, S.Si., M.I.T. selaku Dosen Pembimbing Akademik yang telah memberikan bimbingan dan dukungannya kepada penulis.
8. Yang teristimewa, Ayahanda Supiadi dan Ibunda Amnah, serta Adinda Yusti Pratidina dan Diah Trinindita yang selalu memberikan kasih sayang dan dukungan kepada penulis.
S.Kom., Kakak Azizah Mei Sari Sebayang, S.Kom. dan Kakak Hayatun Nufus, S.Kom. yang telah memberikan bantuan moral, nasihat dan pengetahuan kepada penulis.
11. Teman-teman kuliah, khususnya Mizfar, Prastia, Cholik, Farid, Tito, Iksan, Tio, Rony, Angga, Madia, Tari, Dias, Nurul, Retri, Aisyah yang telah memberikan semangat, teman diskusi yang menyenangkan dan teman seperjuangan dalam menggapai gelar Sarjana Komputer.
12. Khusus untuk Gina yang membantu dalam merapikan penulisan penelitian, Praktikan dan junior Heru, Huda dan Bobby (‘012) yang membantu dalam pembuatan hardware, Hawa (‘012) yang sudah membuatkan desain layout aplikasi android, Muhari (‘014) yang sudah membnatu membuat perangacangan berangkas.
13. Rekan-rekan di Imu Komputer Laboratory Center (IKLC), UKMI Al-Khuwarizmi Fasilkom-TI USU dan Pemerintahan Mahasiswa (PEMA) Fasilkom-TI USU yang juga membantu dengan memberikan semangat kepada penulis.
14. Semua pihak yang terlibat langsung atau tidak langsung yang penulis tidak dapat tuliskan satu per satu.
Semoga Allah SWT melimpahkan berkah dan kasih sayang-Nya kepada semua pihak yang telah memberikan bantuan, semangat, dukungan dan perhatian kepada penulis dalam menyelesaikan skripsi ini. Semoga skripsi ini bermanfaat bagi penulis, pendidikan, masyarakat, organisasi atau negara.
Medan, 18 Desember 2015
ABSTRAK
Penjagaan atau jaminan keamanan (privacy) terhadap barang yang bersifat pribadi dan penting merupakan sebuah kebutuhan. Untuk itu diperlukan sebuah sistem yang mampu membatasi akses orang lain agar dapat mengamankan barang pribadi. Sistem Kendali Pintu merupakan sistem keamanan untuk membatasi akses seseorang terhadap ruangan pribadi dengan menggunakan mikrokontroler sebagai kendali terhadap doorlock. Dalam proses pengunciannya, maka dilakukan penginputan
password melalui aplikasi android yang telah terhubung dengan mikrokontroler ATMega32. Untuk meningkatkan keamanan password, maka password akan dienkripsi dengan menerapkan algoritma kriptografi One Time Pad. Hasil enkripsi atau ciphertext selanjutnya akan disimpan didalam sistem android dan password disimpan pada mikrokontroler. Sedangkan untuk membuka kunci dilakukan dengan mendekripsi ciphertext kemudian hasil dekripsi yang berupa plaintext akan dicocokkan dengan password yang telah tersimpan sebelumnya didalam mikrokontroler. Dengan memanfaatkan teknik kriptografi ini mampu melakukan proses penjagaan barang pribadi lebih ketat dari pada teknik penguncian biasa dengan jumlah maksimal 10 karakter. Hasil perhitungan kompleksitas algoritma untuk One Time Padadalah(n).
IMPLEMENTATION OF ONE TIME PAD ALGORITHM IN
MICROCONTROLLER ATMEGA32 FOR PASSWORD
SECURITY ANDROID BASED
DOOR CONTROL
SYSTEM
ABSTRACT
It is important to guard or secure (privacy) of goods that is personal is necessity. Therefore it required a system capable of restricting the access of others in order to secure personal items.The door control system is a security system to restrict access to a privatel space by using a microcontroller as a doorlock control. The first, when lock on processing, it will be inputting the password through android application which has been connected to the microcontroller ATMega32. To increase the security of password, it is encrypted by applying a cryptographic algorithm, One Time Pad. In one hand results encryption or cipher text will be stored in the android system on the other hand password is stored on the microcontroller. And the second, unlock process is done by decrypting the ciphertext subsequently decrypted form results will be matched with the plaintext password that has been previously stored in the microcontroller. By using the cryptographic technique we are able to process safeguards the personal goods more strictly than the ordinary locking technique with a maximum of 10 characters. Algorithm complexity calculation results for One Time Pad is(n).
DAFTAR ISI
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xiii
Bab 1 Pendahuluan
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 3
1.7 Sistematika Penulisan 4
Bab 2 Landasan Teori
2.1 Kriptografi 5
2.1.1 Jenis-jenis algoritma kriptografi 5 2.1.1.1 Algoritma simetris 5 2.1.1.2 Algoritma asimetris 6 2.1.2 Algoritma one time pad 6
2.1.3 Blum Blum Shub 8
2.2 Mikrokontroler ATMega32 9
2.3 LCD karakter 16x2 14
2.4 Bluetooth 17
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 19
3.1.1 Analisis kebutuhan sistem 19 3.1.2 Analisis permodelan sistem 20 3.1.2.1 Pemodelan dengan menggunakan use case diagram 20 3.1.2.2. Pemodelan dengan menggunakan activity diagram 22 3.1.2.3. Pemodelan dengan menggunakan sequence diagram 24
3.2 Perancangan Sistem 25
3.2.1Flowchartsistem 25
3.2.2.1 Antar muka splashscreen 31 3.2.2.2 Antar muka layout menu 32 3.2.2.3 Antar muka layout lock 32 3.2.2.3 Antar muka layout unlock 33 3.2.3. Perancangan Perangkat Keras 34
3.2.3.1 Kontruksi Utama 35
3.2.3.2 Perancangan perangkat elektronika 36 3.2.3.3 Perancangan antarmuka LCD 37
Bab 4 Implementasi dan pengujian sistem
4.1 Implementasi Sistem 39
4.1.1 Tampilan Antar Muka 40
4.1.1 Tampilan Halaman Splashscreen 40 4.1.2 Tampilan Halaman Menu 40 4.1.3 Tampilan Halaman Lock 41 4.1.4 Tampilan Halaman Unlock 42 4.1.5 Tampilan Halaman Menu About 43 4.1.6 Tampilan Halaman Menu Help 44
4.1.2 Perangkat Keras 44
4.1.2.1 Konstruksi utama 44 4.1.2.2 Perancangan perangkat elektronika 46 4.1.2.3 Tampilan antarmuka LCD 47
4.2 Pengujian Sistem 48
4.2.1 Pengujian One Time Pad 48 4.2.2 Pengujian Kompleksitas Algoritma 51 Bab 5 Penutup
5.1 Kesimpulan 53
5.2 Saran 53
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1
Konfigurasi pin ATMega32
Koneksi pin port paralel dan ATMega32 Keterangan pin LCD karakter 16x2 Pengaturan display LCD
Pengaturan karakter LCD Defenisi aktor
Use case
Skenario use case lock Skenario use case unlock
Rincian komponen board mikrokontroler ATMega32 Proses Enkripsi One Time Pad
Proses Dekripsi One Time Pad
Kompleksitas algoritma enkripsi one time pad Kompleksitas algoritma dekripsi one time pad
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1
Skema kriptografi simetris Kriptografi asimetris Arsitektur ATMega32 Konfigurasi pin ATMega32
(a) Flash program memory, (b) data memory Susunan pin LCD karakter 16x2
Hubungan power supply ke LCD Kode karakter CGROM pada LCD Bagian-bagian bluetooth
Use case diagram
Activity diagram untuk proses lock Activity diagram untuk proses unlock Sequence diagram proses lock
Sequence diagram proses unlock
Flowchart koneksi bluetooth android ke mikrokontroler ATMega32
Flowchart lock pintu Flowchart unlock pintu
Flowchart proses enkripsi dengan OTP Flowchart proses dekripsi dengan OTP Rancangan layout splashscreen
Rancangan layout menu Rancangan layout lock Rancangan layout unlock Konstruksi utama ketika lock Konstruksi utama ketika unlock
Perancanganboard mikrokontroler (main board) Rancangan tampilan LCD pada awal sistem
Rancangan Tampilan LCD untuk Input Key dan Password Rancangan Tampilan LCD untuk Input Password
Rancangan Tampilan LCD untuk Tanda Lock Rancangan Tampilan LCD untuk Tanda Unlock Rancangan Tampilan LCD untuk Salah Password Diagram ishikawa
Tampilan Halaman Splashscreen
4.10 4.11
4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19
Rangkaian Ares dari perangkat
Implementasi Ares ke papan PCB (a) tampak muka (b) tampak belakang
Tampilan LCD pada Awal Sistem
Tampilan LCD untuk Input Key dan Password Tampilan LCD untuk Input Password
Tampilan LCD untuk Tanda Lock Tampilan LCD untuk Tanda Unlock Tampilan LCD untuk Salah Password
Pengujian pada sistem android (a) Lock dan (b) Unlock
Pengujian pada sistem hardware (a) cipherteks dan (b) key dan password (c) plainteks
46 46
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Listing Program 56