Implementasi Sistem IMPLMMMNTASI DAN PMNGUJIAN SISTMM

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