BAB 4 IMPLMMMNTASI DAN PMNGUJIAN SISTMM
4.1. Implementasi Sistem
Tahap implementasi sistem merupakan lanjutan dari tahap perancangan sistem. Pada tahap ini dilakukan implementasi sistem ke dalam bahasa pemrograman berdasarkan
hasil analisis dan perancangan sistem. Pada tahap implementasi ini digunakan perangkat lunak dan perangkat keras, sehingga sistem yang dibangun dapat
diselesaikan dengan baik.
Gambar 4.1 Diagram Ishikawa
Pada diagram ishikawa pada gambar 4.1 menjelaskan implementasi sistem kendali pintu berbasis android yang aman dengan menerapkan algoritma One Time
Pad. Pada sistem kendali pintu yang aman, User dapat melakukan lock dan unlock terhadap sistem. Material yang digunakan untuk membuat sistem dibutuhkan
perangkat hardware berupa ATMega32 sebagai pengendali, LCD karakter 16 x 2 sebagai media output pada hardware dan modul bluetooth HC-05 sebagai media
komunikasi data dari aplikasi android ke perangkat hardware. Algoritma yang diterapkan pada sistem adalah One Time Pad sebagai algoritma keamanan kriptografi
dan Blum Blum Shub sebagai algoritma pembangkit kunci.
Universitas Sumatera Utara
4.1.1 Tampilan Antar Muka 1. Tampilan antar muka dari sistem ini diimplementasikan berdasarkan dari tahap
analisis dan perancangan sistem. Tampilan antar muka sistem ini terdiri dari 6 enam halaman utama, yaitu :
1. Halaman Splashscreen 2. Halaman Menu Utama
3. Halaman Lock 4. Halaman Unlock
5. Halaman Help 6. Halaman About
4.1.1.1 Tampilan halaman splashscreen Halaman splashscreen merupakan halaman yang muncul pertama sekali pada saat
sistem dijalankan. Tampilan halaman splashscreen dapat dilihat pada Gambar 4.2.
Gambar 4.2 Tampilan Halaman Splashscreen
Halaman Splashscreen hanya tampilan awal yang menampilkan logo dari aplikasi.
4.1.1.2. Tampilan halaman menu Halaman menu
merupakan halaman yang digunakan untuk memilih tindakan
Universitas Sumatera Utara
selanjutnya dari sistem. Berikut tampilan halaman menu yang dapat dilihat pada
Gambar 4.3.
Gambar 4.3 Tampilan Halaman Menu
4.1.1.3. Tampilan halaman lock Halaman lock merupakan halaman yang digunakan untuk melakukan proses enkripsi
password dengan key hasil generate dari algoritma Blum Blum Shub dan kemudian menyimpan hasil enkripsi cipherteks ke database SQLite Android dan mengirim
key dan password ke sistem perangkat keras doorlock melalui bluetooth untuk melakukan penguncian pada sistem perangkat keras doorlock dan menyimpan
password dan key tersebut pada MMPROM mikrokontroler ATMega32. Tampilan halaman Lock dapat dilihat pada Gambar 4.4.
Universitas Sumatera Utara
Gambar 4.4 Tampilan Halaman Lock
4.1.1.4. Tampilan halaman unlock Halaman unlock merupakan halaman yang digunakan untuk melakukan proses
memuat cipherteks dan key dari database SQLite Android dan kemudian mengirim cipherteks ke sistem perangkat keras doorlock melalui bluetooth untuk melakukan
verifikasi password untuk membuka sistem perangkat keras doorlock, yang dilakukan pada mikrokontroler ATMega32 pada sistem perangkat keras doorlock. Tampilan
halaman Unlock dapat dilihat pada Gambar 4.5.
Universitas Sumatera Utara
Gambar 4.5 Tampilan Halaman Unlock
4.1.1.5. Tampilan malaman menu about Halaman menu About berisikan informasi tentang sistem dan programmer pembangun
sistem. Tampilan halaman menu About dapat dilihat pada Gambar 4.6.
Gambar 4.6 Tampilan Halaman Menu About
Universitas Sumatera Utara
4.1.1.6. Tampilan Halaman Menu Help Halaman menu Help merupakan halaman yang berisikan panduan dalam
menggunakan sistem ini. Pada halaman Help, dijelaskan langkah–langkah melakukan proses . Tampilan halaman menu Help dapat dilihat pada Gambar 4.7
.
Gambar 4.7 Tampilan Halaman Menu Help
4.1.2. Perangkat Keras Sistem kendali pintu yang telah dibangun dapat memberikan keamanan untuk pintu
dengan cara memberikan hak akses terhadap yang berhak. Ada beberapa hal yang menjadi fokus dalam tahap implementasi perangkat keras yaitu desain konstruksi
utama perancangan alat elektronika dan perancangan antar muka LCD.
4.1.2.1. Konstruksi utama Kerangka adalah konstruksi yang nantinya akan menentukan desain, bentuk dan
ukuran dari komponen fisik lainnya. Fungsi utama dari kerangka adalah sebagai tempat atau kedudukan untuk seluruh komponen perangkat keras
Kerangka perangkat keras sistem kendali pintu dibuat menggunakan bahan
Universitas Sumatera Utara
plastik keras acrilyc karena mudah dalam pengerjaannya, kuat, tidak mudah retak dan mudah didapat.
Gambar 4.8 Konstruksi utama ketika lock
Gambar 4.9 Konstruksi utama ketika unlock
Universitas Sumatera Utara
4.1.2.2. Perancangan perangkat elektronika Perangkat elektronika berhubungan dengan perancangan mikrokontroler, modul
bluetooth, LCD 16x2, selenoid dan power supply. Papan mikrokontroler board microcontroller akan dibuat menjadi papan utama main board karena modul
bluetooth akan terhubung langsung dengan papan mikrokontroler serta LCD 16x2 dan selenoid sebagai media output yang akan terhubung pada papan mikrokontroler.
Gambar 4.10 Rangkaian Ares dari perangkat
a b
Gambar 4.11 Implementasi Ares ke papan PKB a tampak muka b tampak belakang
Universitas Sumatera Utara
4.1.2.3. Tampilan antarmuka LCD Untuk dapat berinteraksi dengan user, tampilan LCD harus dapat dimengerti oleh
user dan dari tampilan LCD, user dapat mengetahui data apa yang diminta oleh sistem untuk selanjutnya diproses oleh sistem.Tampilan antar muka LCD sebagai berikut:
1. Tampilan awal sistem
Tampilan awal sistem ketika dooorlock system dimulai.
Gambar 4.12 Tampilan LKD pada Awal Sistem
2. Tampilan input key dan password Tampilan untuk input Key dan Password.
Gambar 4.13 Tampilan LKD untuk Input Key dan Password
3. Tampilan input password Tampilan untuk input password.
Gambar 4.14 Tampilan LKD untuk Input Password
4. Tampilan untuk tanda lock Tampilan bahwa sistem dalam keadaan lock.
Gambar 4.15 Tampilan LKD untuk Tanda Lock
Universitas Sumatera Utara
4. Tampilan untuk tanda unlock Tampilan bahwa sistem dalam keadaan unlock.
Gambar 4.16 Tampilan LKD untuk Tanda Unlock
5. Tampilan untuk password salah Tampilan ketika salah memasukkan password.
Gambar 4.17 Tampilan LKD untuk Wrong Password 4.2. Pengujian Sistem
Pengujian dilakukan terhadap algoritma One Time Pad pada sistem kendali pintu untuk mengukur keberhasilan sistem dalam melakukan proses enkripsi dan dekripsi
algoritma. Pengujian ini dilakukan dengan beberapa kriteria sebagai berikut :
1. Plainteks berupa password yang terdiri dari karakter ASCII Printable dengan panjang 10 karakter yang diinputkan secara langsung pada textbox tanpa spasi.
2. List yang digunakan adalah ASCII printable yaitu = { , , “, , , , , ‘,
, , , +, , , -, ., , 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, :, ;, , +, , ?, , A, B, C, D, M, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], , _, `, a, b, c, d, e, f,
g, h, i, j, k, l, m, n,o, p, q, r, s, t, u, v, w, x, y, z,{, |, },~} |
| = 95 3. Kunci One Time Pad terdiri dari karakter ASCII Printable yang dibangkitkan
secara acak dengan algoritma RandomNumber Blum Blum Shub .
4.2.1. Pengujian One Time Pad Mnkripsi yang dilakukan pada tahap ini akan menghasilkan cipherteks. Cipherteks ini
terdiri 10 karakter plainteks. Pada enkripsi ini diperlukan kunci di mana panjang
Universitas Sumatera Utara
karakternya juga sama dengan plainteksnya. Misalkan, kata plainteks = ‘agungagung’ dan kunci = ‘TOGGHJZMQI’. Tampilan pada sistem dapat ditunjukkan pada Gambar
4.18 a.
a b
Gambar 4.18 Pengujian pada sistem android a Lock dan b Unlock
Gambar 4.18 b menunjukkan hasil enkripsi berupa cipherteks=’VW]VPLbc’Q’. Cipherteks ini didapat melalui operasi penjumlahan dari kunci One Time Pad terhadap
plainteks awal. Proses Mnkripsi dapat dilihat pada Tabel 4.1
Tabel 4.1 Proses Mnkripsi One Time Pad
Plainteks ASCII Kunci ASCII C
= K+P-127 + 32 Cipherteks
a 97
T 84
86 V
g 103
O 79
87 W
u 117
G 71
93 ]
n 110
G 71
86 V
g 103
H 72
80 P
a 97
J 74
76 L
g 103
Z 90
98 b
u 117
M 77
101 c
n 110
Q 81
96 ‘
g 103
I 73
81 Q
Pada Tabel 4.1 dihasilkan cipherteks yang ditunjukkan pada kolom Cipherteks. Cipherteks ini dihasilkan dari kunci yang telah diacak oleh algoritma Blum Blum Shub
dan dijumlahkan dengan index ASCII pada plainteks. Hasil penjumlahan bilangan itu dihitung kembali dengan rumus pada kolom C.
Universitas Sumatera Utara
a
b
c
Gambar 4.19 Pengujian hardware a cipherteks b key dan password c plainteks
Dekripsi yang dilakukan pada tahap ini akan menghasilkan plainteks. Plainteks ini terdiri 10 karakter cipherteks. Pada dekripsi ini diperlukan kunci dimana panjang
karakternya juga sama dengan cipherteks. Misalkan, kata cipherteks = ‘VW]VPLbc’Q’ dan kunci = ‘TOGGHJZMQI’. Tampilan pada sistem dapat
ditunjukkan pada Gambar 4.19 a dan Gambar 4.19 b. Hasil dekripsi dari kunci dan cipherteks menghasilkan plainteks=’agungagung’ seperti terlihat pada Gambar
4.19c.
Tabel 4.2 Proses Dekripsi One Time Pad
Cipherteks ASCII Kunci ASCII P
= C + 127-32 - K Plainteks
V 86
T 84
97 a
W 87
O 79
103 g
] 93
G 71
117 u
V 86
G 71
110 n
P 80
H 72
103 g
L 76
J 74
97 a
b 98
Z 90
103 g
c 101
M 77
117 u
‘ 96
Q 81
110 n
Q 81
I 73
103 g
Universitas Sumatera Utara
Pada Tabel 4.2 dihasilkan plainteks yang ditunjukkan pada kolom plainteks. Plainteks ini dihasilkan dari kunci yang telah diacak oleh algoritma Blum Blum Shub dan
dikurangkan dengan index ASCII pada cipherteks. Hasil pengurangan bilangan itu dihitung kembali dengan rumus pada kolom P.
4.2.2 Pengujian Kompleksitas Algoritma Pengujian ini dilakukan untuk mengetahui tingkat nilai masukan n suatu algoritma.
Kompleksitas algoritma ini dapat dilihat dari kode program yang digunakan. Untuk kompleksitas algoritma enkripsi One Time Pad ditunjukkan pada Tabel 4.3.
Tabel 4.3 Kompleksitas algoritma enkripsi one time pad
No Code
C C x
1 cipher= ;
C1 1
C1 2
int temp=0; C2
1 C2
3 char c;
C3 1
C3 4
forint i= 0; ikey.length;i++{ C4
n C4n
5 temp = key.charAti + plain.charAti;
C2 n
C2n 6
iftemp126{ C5
n C5n
7 temp=temp-126+31;}
C2 n
C2n 8
c= char temp; C3
n C3n
9 cipher=cipher + c;}
C1 n
C1n Tn=C1+C2+C3+C4n+C5n+C2n+C2n+C3n+C1n
Tn=C1+C2+C3n +C1+2C2+C3+C4+C5n
1
n
n T
Tabel 4.3 menunjukkan hasil dari kompleksitas algoritma dari enkripsi One Time Pad.
Pada Tabel 4.3 terdapat Kolom C yaitu sebagai variabel menghitung seberapa banyak processor melakukan komputasi. Kolom sebagai variabel untuk menghitung kalimat
statement program yang dieksekusi. Kolom C x
yaitu menunjukkan hasil perkalian dari C dan . Sehingga, berdasarkan akumulasi dari kompleksitas algoritma
enkripsi One Time Pad adalah n. Kompleksitas algoritma selanjutnya adalah
dekripsi One Time Pad yang ditunjukkan pada Tabel 4.5.
Universitas Sumatera Utara
Tabel 4.5 Kompleksitas algoritma dekripsi one time pad
No Code
C Cx
1 scanfs,cipher;
C1 1
C1 2
fori=0;i10;i++{ C2
n C2n
3 kunci[i] = char key[i];}
C3 n
C3n 4
fori=0;i10;i++{ C4
n C4n
5 temp=0;
C5 n
C5n 6
ifcipher[i]126{ C6
n C6n
7 temp= cipher[i]+126-31;}
C7 n
C7n 8
plain[i] =char temp - key[i];}
C8 n
C8n 9
fori=0;i10;i++{ C9
n C9n
10 pass[i] = char password[i];}
C10 n
C10n 11 fori=0;i10;i++{
C11 n
C11n 12
ifplain[i]== pass[i]{ C12
n C12n
13 stat=1;}else{stat=0;
break;}} C13
n C13n
14 if stat==1{ C14
n C14n
15 flag=1;}else{
C15 n
C15n 16
lcd_putsPassword salah;} C16
n C16n
Tn=C1+C2n+C3n+C4n+C5n+C6n+C7n+C8n+C9n+C10n+C11n+C12n+C13n+C14n+ C15n+C16n
Tn=C1n +C2+C3+C4+C5+C6+C7+C8+C9+C10+C11+C12+C13+C14+C15+C16n
1
n
n T
Tabel 4.5 menunjukkan hasil dari kompleksitas algoritma dari dekripsi One Time Pad.
Pada Tabel 4.5 terdapat Kolom C yaitu sebagai variabel menghitung seberapa banyak processor melakukan komputasi. Kolom sebagai variabel untuk menghitung kalimat
statement program yang dieksekusi. Kolom C x
yaitu menunjukkan hasil perkalian dari C dan . Sehingga, berdasarkan akumulasi dari kompleksitas algoritma
dekripsi One Time Pad adalah n.
Universitas Sumatera Utara
BAB 5 PMNUTUP