APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA CAESAR CIPHER DALAM BENTUK QR CODE BERBASIS ANDROID AHMAD SOLEH 41513010002 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017
APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA CAESAR CIPHER DALAM BENTUK QR CODE BERBASIS ANDROID Laporan Tugas Akhir Diajukan Untuk Melengkapi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Oleh : AHMAD SOLEH 41513010002 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017 i
ii
iii
iv
KATA PENGANTAR Puji syukur Alhamdulillah penulis panjatkan kehadirat Allah SWT atas berkat rahmat, taufik dan hidayah-nya, penyusunan laporan tugas akhir yang berjudul APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA CAESAR CIPHER DALAM BENTUK QR CODE BERBASIS ANDROID yang merupakan salah satu persyaratan untuk menyelesaikan program studi strata satu (S1) pada program studi informatika, fakultas ilmu komputer, universitas mercu buana dapat terselesaikan dengan baik. Penulis menyadari bahwa laporan tugas akhir ini masih jauh dari sempurna. Karena itu, kritik dan saran akan senantiasa penulis terima dengan senang hati. Dengan segala keterbatasan, penulis menyadari pula bahwa laporan tugas akhir ini tidak akan terwujud tanpa bantuan, bimbingan, dan dorongan dari berbagai pihak. Untuk itu, dengan segala kerendahan hati, penulis menyampaikan ucapan terimakasih kepada : 1. Bapak Drs. Achmad Kodar, MT., selaku Dosen Pembimbing Akademik (PA) dan Dosen Pembimbing Tugas Akhir pada Jurusan Informatika Universitas Mercu Buana Jakarta, yang tak Pernah Bosan Memberi Motivasi dan Dukungan dalam Penyelesaian Tugas Akhir ini. 2. Ibu Afiyati, S.Si., MT., selaku Kapala Prodi Informatika Universitas Mercu Buana Jakarta. 3. Bapak Diky Firdaus, S.Kom., MM., selaku Koordinator Tugas Akhir pada Jurusan Informatika Universitas Mercu Buana Jakarta. 4. Seluruh Dosen Fakultas Ilmu Komputer Prodi Informatika Universitas Mercu Buana yang telah Mendukung Penulis Baik Doa Maupun Materi. 5. Bapak, Ibu dan Kakakku Tercinta yang selalu Mendukung, Mendoakan, dan Mencurahkan Segenap Kasih Sayang Mereka Kepada Penulis. 6. Rekan Seperjuangan, Keluarga Besar Informatika Universitas Mercu Buana Jakarta. Khususnya, Kawan-kawan Informatika Angkatan 2013 v
yang Selalu Memberi Motivasi dan Semangat Serta Inspirasi Kepada Penulis. Akhir kata, semoga Allah SWT membalas kebaikannya dan selalu mencurahkan taufik dan hidayah-nya kepada kita semua, amin. Yarobbal alamin. Jakarta, 06 Januari 2017 AHMAD SOLEH vi
DAFTAR ISI HALAMAN DEPAN... LEMBAR PERNYATAAN... i ii LEMBAR PERSETUJUAN... iii LEMBAR PENGESAHAN... iv KATA PENGANTAR... v ABSTRACT... vii ABSTRAK... viii DAFTAR ISI... ix DAFTAR GAMBAR... xiii DAFTAR TABEL... xv BAB I... 1 PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Perumusan Masalah... 3 1.3 Tujuan dan Manfaat Penelitian... 3 1.3.1 Tujuan Penelitian... 3 1.3.2 Manfaat Penelitian... 4 1.4 Ruang Lingkup dan Batasan Masalah... 4 1.5 Metodologi Penelitian... 4 1.5.1 Metode Pengumpulan Data... 4 1.5.2 Metode Waterfall... 5 1.6 Sistematika Penulisan Laporan... 7 BAB II... 9 LANDASAN TEORI... 9 2.1 Kriptografi... 9 2.1.1 Pengertian Kriptografi... 9 vii
2.1.2 Tujuan Kriptografi... 10 2.1.3 Sejarah Kriptografi... 11 2.2 Keamanan Algoritma Kriptografi... 13 2.2.1 Ancaman Terhadap Keamanan Data... 14 2.3 Serangan Terhadap Kriptografi... 15 2.3.1 Jenis Jenis Serangan... 16 2.3.2 Kompleksitas Serangan... 19 2.4 Algoritma Kriptografi... 19 2.5 Macam Macam Algoritma Kriptografi... 24 2.5.1 Algoritma Simetri... 24 2.5.2 Algoritma Asimetri... 25 2.5.3 Hash Function (Fungsi Hash)... 26 2.6 Kriptografi Klasik dan Kriptografi Modern... 26 2.6.1 Kriptografi Klasik... 26 2.6.2 Kriptografi Modern... 27 2.7 Cipher Substitusi... 28 2.7.1 Caesar Cipher... 28 2.8 Pengertian Smartphone... 32 2.9 Android Studio... 32 2.9.1 Arsitektur Android Studio... 33 2.9.2 Struktur Aplikasi Android... 34 2.9.3 Kelebihan dan Kekurangan Android... 34 2.9.4 Versi Android Studio... 36 2.10 Barcode 2D Quick Response Code (QR Code)... 38 2.11 Rekayasa Perangkat Lunak... 40 2.12 Metode Pengembangan Sistem... 40 2.12.1 Software Development Life Cycle (SDLC)... 40 2.12.2 Metode Waterfall... 40 viii
2.13 Pengujian Black Box... 43 2.14 Pengertian Unified Modeling Language (UML)... 44 2.14.1 Use Case Diagram... 45 2.14.2 Activity Diagram... 46 2.14.3 Sequence Diagram... 47 2.14.4 Flowchart... 49 BAB III... 51 ANALISA SISTEM... 51 3.1 Analisa Masalah... 51 3.2 Analisa Kebutuhan... 52 3.3 Analisa Pembuatan Sistem... 55 BAB IV... 58 PERANCANGAN... 58 4.1 Perancangan Sistem... 58 4.1.1 Model Pengembangan Sistem... 58 4.2 Perancangan Proses... 59 4.2.1 Use Case Diagram... 60 4.2.1.1 Skenario Use Case... 61 4.2.2 Activity Diagram... 63 4.2.2.1 Activity Diagram Proses Enkripsi Pesan... 64 4.2.2.2 Activity Diagram Proses Dekripsi Pesan... 66 4.2.3 Sequence Diagram... 67 4.2.3.1 Sequence Diagram Enkripsi Pesan... 67 4.2.3.2 Sequence Diagram Dekripsi Pesan... 69 4.2.4 Flowchart... 70 4.3 Perancangan Antar Muka... 71 4.3.1 Rancangan Antar Muka Tampilan Icon dan Nama Aplikasi... 71 ix
BAB V... 74 IMPLEMENTASI DAN PENGUJIAN... 74 5.1 Implementasi... 74 5.2 Spesifikasi Sistem... 75 5.2.1 Perangkat Keras (Hardware)... 75 5.2.2 Perangkat Lunak (Software)... 75 5.3 Implementasi Perancangan Antar Muka... 75 5.3.1 Implementasi Icon dan Nama Aplikasi... 76 5.3.2 Implementasi Halaman Enkripsi... 77 5.3.2.1 Tampilan Quick Response Code (QR Code)... 81 5.3.3 Implementasi Halaman Dekripsi... 85 5.3.3.1 Tampilan Quick Response Code Scanner (QR Code Scanner) 89 5.3.3.2 Tampilan Halaman Hasil Dekripsi... 93 5.4 Pengujian... 95 5.4.1 Skenario Pengujian... 95 5.4.2 Skenario Pengujian Algoritma Caesar Cipher... 97 BAB VI... 100 PENUTUP... 100 6.1 Kesimpulan... 100 6.2 Saran... 100 DAFTAR PUSTAKA... 102 LAMPIRAN... 103 x
DAFTAR GAMBAR Gambar 2.1 Area Bidang Kriptologi... 9 Gambar 2.2 Contoh Hieroglyphcs Untuk Menyandikan Huruf... 12 Gambar 2.3 Media Kriptografi Digunakan Oleh Bangsa Yunani Kuno... 13 Gambar 2.4 Ancaman Keamanan... 15 Gambar 2.5 Skema Enkripsi dan Dekripsi Dengan Menggunakan Kunci... 22 Gambar 2.6 Kriptografi dan Kriptanalisis Cabang Bidang Ilmu Kriptologi... 23 Gambar 2.7 Skema Kriptografi Simetri... 25 Gambar 2.8 Skema Kriptografi Asimetri... 25 Gambar 2.9 Caesar Wheel (Sumber:www.pricecodebreaker.com)... 29 Gambar 2.10 Logo Android... 33 Gambar 2.11 Model Waterfall Menurut Roger S. Pressman... 41 Gambar 2.12 Skema Kerja Dari Teknik Pengujian Black Box... 44 Gambar 3.1 Proses Enkripsi Dan Dekripsi... 55 Gambar 4.1 Arsitektur Proses... 58 Gambar 4.2 Block Diagram Aplikasi... 59 Gambar 4.3 Use Case Diagram Enkripsi... 60 Gambar 4.4 Use Case Diagram Dekripsi... 61 Gambar 4.5 Activity Diagram Enkripsi... 64 Gambar 4.6 Activity Diagram Dekripsi... 66 Gambar 4.7 Sequence Diagram Enkripsi... 68 Gambar 4.8 Sequence Diagram Dekripsi... 69 Gambar 4.9 Flowchart Proses Enkripsi dan Dekripsi Caesar Cipher... 70 Gambar 4.10 Rancangan Tampilan Icon Aplikasi... 71 Gambar 4.11 Rancangan Halaman Enkripsi... 72 xi
Gambar 4.12 Rancangan Halaman Dekripsi... 73 Gambar 5.1 Icon dan Nama Aplikasi... 76 Gambar 5.2 Halaman Enkripsi... 77 Gambar 5.3 Quick Response Code (QR Code)... 81 Gambar 5.4 Halaman Dekripsi... 85 Gambar 5.5 Quick Response Code Scanner (QR Code Scanner)... 89 Gambar 5.6 Tampilan Halaman Hasil Dekripsi... 93 xii
DAFTAR TABEL Tabel 2.1 Ancaman Terhadap Keamanan... 15 Tabel 2.2 Versi Android... 36 Tabel 2.3 Simbol-Simbol Yang Ada Pada Diagram Use Case... 45 Tabel 2.4 Simbol-Simbol Yang Ada Pada Diagram Activity... 47 Tabel 2.5 Simbol-Simbol Yang Ada Pada Diagram Sequence... 48 Tabel 2.6 Simbol-Simbol Yang Ada Pada Flowchart... 49 Tabel 3.1 Teknik Tidak Menggunakan Kunci Perulangan... 55 Tabel 3.2 Teknik Yang Menggunakan Kunci Perulangan... 56 Tabel 4.1 Skenario Use Case Enkripsi Pesan... 61 Tabel 4.2 Skenario Use Case Dekripsi Pesan... 62 Tabel 5.1 Skenario Pengujian... 95 Tabel 5.2 Hasil Pengujian... 96 Tabel 5.3 Pengujian Caesar Cipher Dengan Kunci Tidak Perulangan... 97 Tabel 5.4 Pengujian Caesar Cipher Dengan Kunci Perulangan... 98 xiii