Implementasi Algoritma One Time Pad pada Mikrokontroler Atmega32 untuk Keamanan Password Sistem Kendali Pintu Berbasis Android

IMPLEMENTASI ALGORITMA ONE TIME PAD PADA
MIKROKONTROLER ATMEGA32 UNTUK
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
MEDAN
2015

Universitas Sumatera Utara

IMPLEMENTASI ALGORITMA ONE TIME PAD PADA MIKROKONTROLER
ATMEGA32 UNTUK KEAMANAN PASSWORD SISTEM KENDALI
PINTU BERBASIS ANDROID
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
MEDAN
2015

Universitas Sumatera Utara

ii
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,

Dr. Poltak Sihombing, M.Kom.
NIP. 196203171991031001

Universitas Sumatera Utara

iii

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

Agung Putu Yoga
111401061

Universitas Sumatera Utara

iv

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.
9. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan
Teknologi Informasi USU, terkhususnya di Program Studi S-1 Ilmu Komputer.
10. Abangda Saddam Husein Siregar, S.Kom., Kakak Nurhenida Br Sitepu,

Universitas Sumatera Utara

v
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

Penulis

Universitas Sumatera Utara

vi

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 Pad adalah (n).
Keyword: Kriptografi, One Time Pad, Doorlock, Mikrokontroler

Universitas Sumatera Utara

vii

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).
Keywords:Cryptography, One Time Pad, Doorlock, Microcontroller

Universitas Sumatera Utara

viii
DAFTAR ISI

Halaman
Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
Daftar Lampiran
Bab 1

Pendahuluan
1.1 Latar Belakang
1.2 Rumusan Masalah
1.3 Batasan Masalah
1.4 Tujuan Penelitian
1.5 Manfaat Penelitian
1.6 Metodologi Penelitian
1.7 Sistematika Penulisan

Bab 2

Landasan Teori
2.1
Kriptografi
2.1.1 Jenis-jenis algoritma kriptografi
2.1.1.1 Algoritma simetris
2.1.1.2 Algoritma asimetris
2.1.2 Algoritma one time pad
2.1.3 Blum Blum Shub
2.2
Mikrokontroler ATMega32
2.3
LCD karakter 16x2
2.4
Bluetooth

ii
iii
iv
vi
vii
viii
x
xi
xiii
1
2
2
3
3
3
4
5
5
5
6
6
8
9
14
17

Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem
3.1.1 Analisis kebutuhan sistem
3.1.2 Analisis permodelan sistem
3.1.2.1 Pemodelan dengan menggunakan use case diagram
3.1.2.2. Pemodelan dengan menggunakan activity diagram
3.1.2.3. Pemodelan dengan menggunakan sequence diagram
3.2
Perancangan Sistem
3.2.1 Flowchart sistem
3.2.1.1 Flowchart Gambaran umum sistem
3.2.1.2 Flowchart proses enkripsi dengan OTP
3.2.1.3 Flowchart proses dekripsi dengan OTP
3.2.2 Perancangan antar muka

19
19
20
20
22
24
25
25
25
29
30
31

Universitas Sumatera Utara

ix
3.2.2.1 Antar muka splashscreen
3.2.2.2 Antar muka layout menu
3.2.2.3 Antar muka layout lock
3.2.2.3 Antar muka layout unlock
3.2.3. Perancangan Perangkat Keras
3.2.3.1 Kontruksi Utama
3.2.3.2 Perancangan perangkat elektronika
3.2.3.3 Perancangan antarmuka LCD
Bab 4 Implementasi dan pengujian sistem
4.1 Implementasi Sistem
4.1.1 Tampilan Antar Muka
4.1.1 Tampilan Halaman Splashscreen
4.1.2 Tampilan Halaman Menu
4.1.3 Tampilan Halaman Lock
4.1.4 Tampilan Halaman Unlock
4.1.5 Tampilan Halaman Menu About
4.1.6 Tampilan Halaman Menu Help
4.1.2 Perangkat Keras
4.1.2.1 Konstruksi utama
4.1.2.2 Perancangan perangkat elektronika
4.1.2.3 Tampilan antarmuka LCD
4.2 Pengujian Sistem
4.2.1 Pengujian One Time Pad
4.2.2 Pengujian Kompleksitas Algoritma
Bab 5 Penutup
5.1 Kesimpulan
5.2 Saran
Daftar Pustaka

31
32
32
33
34
35
36
37
39
40
40
40
41
42
43
44
44
44
46
47
48
48
51
53
53
54

Universitas Sumatera Utara

x

DAFTAR TABEL
Nomor
Tabel
2.1
2.2
2.3
2.4
2.5
3.1
3.2
3.3
3.4
3.5
4.1
4.2
4.3
4.5

Nama Tabel

Halaman

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

12
14
15
15
16
20
20
21
22
36
49
50
51
52

Universitas Sumatera Utara

xi

DAFTAR GAMBAR

Nomor
Gambar
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
3.22
3.23
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9

Nama Gambar

Halaman

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
Tampilan Halaman Menu
Tampilan Halaman Lock
Tampilan Halaman Unlock
Tampilan Halaman Menu About
Tampilan Halaman Menu Help
Konstruksi utama ketika lock
Konstruksi utama ketika unlock

6
6
10
12
13
14
14
16
17
21
23
23
24
25
26
27
28
29
30
31
32
33
34
35
35
37
37
37
38
38
38
38
39
40
41
42
43
43
44
45
45

Universitas Sumatera Utara

xii
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
47
47
47
47
48
48
49
50

Universitas Sumatera Utara

xiii
DAFTAR LAMPIRAN

Lampiran 1
Lampiran 2

Listing Program
Daftar Riwayat Hidup (Curriculum Vitae)

Halaman
56
76

Universitas Sumatera Utara