APLIKASI PENGAMANAN DATA MENGGUNAKAN ALGORITMA DATA ENCRYPTION STANDARD (DES) DENGAN NETBEANS IDE BERBASIS DESKTOP SYARIF NURHIDAYAH 41513010073 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017
APLIKASI PENGAMANAN DATA MENGGUNAKAN ALGORITMA DATA ENCRYPTION STANDARD (DES) DENGAN NETBEANS IDE BERBASIS DESKTOP Laporan Tugas Akhir Diajukan Untuk Melengkapi Persyaratan Menyelesaikan Gelar Sarjana Komputer Disusun oleh : Syarif Nurhidayah 41513010073 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017
ii
iii
KATA PENGANTAR Puji Syukur selalu dipanjatkan kepada Tuhan Yang Maha Esa yang telah memberikan rahmat dan karunia-nya, sehingga laporan tugas akhir ini dapat diselesaikan tepat pada waktunya, dimana laporan tugas akhir ini merupakan salah satu persyaratan untuk dapat mendapatkan gelar sarjana Strata Satu (S1) pada Program Studi Informatika, Fakultras Ilmu Komputer, Universitas Mercu Buana Jakarta. Dengan segala keterbatasan, penulis menyadari bahwa laporan tugas akhir ini tidak akan selesai tepat pada waktunya tanpa bantuan, bimbingan, dan motivasi dari berbagai pihak. Maka dari itu, dengan segala kerendahan hati, penulis menyampaikan ucapan terima kasih kepada: 1. Bapak Diky Firdaus, S.Kom., MM selaku dosen pembimbing tugas akhir yang telah berbaik hati memberikan waktu, arahan, dan bimbingan kepada penulis, sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik. 2. Ibu Afiyati Reno, S.Si., MT selaku dosen pembimbing akademik, yang selalu memberikan nasihat kepada mahasiswa/i bimbingan beliau. 3. Bapak Diky Firdaus, S.Kom., MM selaku koordinator tugas akhir Informatika. 4. Ibu Desi Ramayanti, S.Kom., MT selaku kepala program studi Informatika. 5. Seluruh dosen Fakultas Ilmu Komputer yang telah memberikan bekal ilmu selama penulis kuliah di Universitas Mercu Buana. 6. Kedua orang tua, yang telah mendidik, mendoakan serta yang selalu memberi dorongan baik materil maupun moril selama ini. 7. Sahabat-sahabat Informatika angkatan 2013 yang telah rela berbagi pengalaman dan ilmu kepada penulis. 8. Semua pihak yang telah memberikan dorongan dan membantu serta memberikan saran kepada penulis sehingga laporan ini dapat terselesaikan. Semoga Tuhan membalas segala kebaikannya. Menyadari bahwa masih banyak kekurangan dari laporan ini, baik dari materi maupun teknik penyajian, iv
mengingat kurangnya pengetahuan dan pengalaman. Oleh karena itu, kritik dan saran yang membangun sangat diharapkan bagi penulis. Terima Kasih. Jakarta, 13 Maret 2017 Syarif Nurhidayah v
DAFTAR ISI ABSTRAK... vi ABSTRACT... vii DAFTAR ISI... viii DAFTAR GAMBAR... xi DAFTAR TABEL... xiii BAB I PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 2 1.3 Batasan Masalah... 2 1.4 Tujuan dan Manfaat Penelitian... 2 1.4.1 Tujuan Penelitian... 2 1.4.2 Manfaat Penelitian... 2 1.5 Metode Penelitian... 3 1.5.1 Metode Pengumpulan Data... 3 1.5.2 Metode Pengembangan Sistem... 4 1.6 Sistematika Penulisan... 6 BAB II LANDASAN TEORI... 8 2.1 Kriptografi... 8 2.1.2 Pengertian... 8 2.1.2 Terminologi... 8 2.1.3 Tujuan Kriptografi... 10 2.1.4 Teknik Kriptografi... 11 2.1.5 Kriptografi Kunci Simetri... 14 2.2 Keamanan Data... 15 2.3 DES (Data Encryption Standard)... 15 2.3.1 Sejarah DES... 15 viii
2.3.2 Tinjauan Umum... 15 2.4 RAD (Rapid Application Development)... 19 2.4.1 Definisi... 19 2.4.2 Fase dan Tahapan Pengembangan... 20 2.4.3 Kelebihan dan Kekurangan RAD... 22 2.5 Unified Modeling Language... 23 2.5.1 Use Case Diagram... 23 2.5.2 Activity Diagram... 27 2.6 Flowchart... 28 2.6.1 Pengertian Flowchart... 28 2.6.2 Simbol Flowchart... 28 2.7 Bahasa Pemrograman Java... 29 2.8 Pengujian Black Box... 30 BAB III ANALISA SISTEM... 31 3.1 Analisa Masalah... 31 3.2 Analisa Kebutuhan Fungsional... 31 3.2.1 Analisa Pengguna... 31 3.2.2 Analisa Kebutuhan Pengguna... 32 3.3 Analisa Kebutuhan Non Fungsional... 32 3.3.1 Analisa perangkat keras... 32 3.3.2 Analisa perangkat lunak... 33 BAB IV PERANCANGAN SISTEM... 34 4.1 Perancangan Sistem... 34 4.1.1 Flowchart... 34 4.1.2 Diagram Use Case... 39 4.1.3 Diagram Activity... 45 4.2 Perancangan Algoritma... 48 4.3 Perancangan Antarmuka Aplikasi... 49 ix
BAB V IMPLEMENTASI DAN PENGUJIAN... 57 5.1 Implementasi... 57 5.1.1 Perangkat Keras... 57 5.1.2 Perangkat Lunak... 57 5.2 Implementasi Perancangan Antarmuka... 58 5.2.1 Antarmuka Halaman Home... 58 5.2.2 Antarmuka Halaman ENCRYPT... 59 5.2.3 Antarmuka Halaman DECRYPT... 63 5.2.4 Antarmuka Halaman ABOUT... 65 5.2.5 Antarmuka Halaman HELP... 66 5.3 Pengujian... 66 5.3.1 Pengujian Black Box... 67 5.3.2 Hasil Pengujian Black Box... 68 5.3.3 Hasil Pengujian Terhadap File... 69 5.4 Analisa Hasil Pengujian... 71 BAB VI PENUTUP... 72 6.1 Kesimpulan... 72 6.2 Saran... 73 DAFTAR PUSTAKA... 74 LAMPIRAN... 76 x
DAFTAR GAMBAR Gambar 2.1. Enkripsi dan Dekripsi... 9 Gambar 2.2. Substitusi Plainteks ke dalam Matriks... 11 Gambar 2.3. Bloking Plainteks ke dalam Matriks... 12 Gambar 2.4. Aturan Permutasi Pada Matriks... 12 Gambar 2.5. Permutasi Plainteks di dalam Matriks... 13 Gambar 2.6. Ekspansi Plainteks di dalam Matriks... 13 Gambar 2.7. Pemampatan Plainteks di dalam Matriks... 14 Gambar 2.8. Skema Algoritma DES... 16 Gambar 2.9. Algoritma Enkripsi DES... 18 Gambar 2.10. Satu Putaran DES... 19 Gambar 2.11. Fase RAD (Kendall, 2010)... 21 Gambar 2.12. Jenis Diagram UML 2.3... 23 Gambar 4.1. Flowchart Proses Enkipsi... 35 Gambar 4.2. Flowchart Proses Dekripsi... 37 Gambar 4.3. Flowchart About... 38 Gambar 4.4. Flowchart Help... 39 Gambar 4.5. Diagram Use Case Aplikasi... 40 Gambar 4.6. Diagram Use Case Enkripsi dan Dekripsi... 43 Gambar 4.7. Diagram Activity Proses Enkripsi... 46 Gambar 4.8. Diagram Activity Proses Dekripsi... 47 Gambar 4.9. Flowchart Algoritma Enkripsi Data Encryption Standard... 48 Gambar 4.10. Flowchart Algoritma Dekripsi Data Encryption Standard... 49 Gambar 4.11. Rancangan Antarmuka Halaman Utama... 51 Gambar 4.12. Rancangan Antarmuka Halaman Encrypt... 52 Gambar 4.13. Rancangan Antarmuka Halaman Decrypt... 54 Gambar 4.14. Rancangan Antarmuka Halaman About... 55 Gambar 4.15. Rancangan Antarmuka Halaman Help... 56 Gambar 5.1. Halaman Home... 58 xi
Gambar 5.2. Halaman Encryption... 59 Gambar 5.3. Tampilan saat tombol BROWSE input file di klik... 60 Gambar 5.4. Tampilan saat input file... 60 Gambar 5.5. Tampilan saat password tidak terisi... 61 Gambar 5.6. Tampilan saat menentukan destinasi file... 61 Gambar 5.7. Tampilan saat proses enkripsi siap dilakukan... 62 Gambar 5.8. Tampilan saat proses enkripsi selesai... 62 Gambar 5.9. Tampilan halaman DECRYPT... 63 Gambar 5.10. Peringatan ketika file cipher belum di input... 63 Gambar 5.11. Peringatan ketika password belum di input... 64 Gambar 5.12. Peringatan ketika password yang diinput tidak sesuai... 64 Gambar 5.13. Pesan ketika proses dekripsi selesai... 65 Gambar 5.14. Tampilan halaman about... 65 Gambar 5.15. Tampilan halaman help... 66 xii
DAFTAR TABEL Tabel 2.1. Simbol Use Case Diagram... 24 Tabel 2.2. Simbol Activity Diagram... 27 Tabel 2.3. Simbol Flowchart... 28 Tabel 4.1. Skenario Use Case Halaman Encrypt... 40 Tabel 4.2. Skenario Use Case Halaman Decrypt... 41 Tabel 4.3. Skenario Use Case Halaman About... 41 Tabel 4.4. Skenario Use Case Halaman Help... 42 Tabel 4.5. Skenario Use Case Enkripsi... 43 Tabel 4.6. Skenario Use Case Enkripsi... 44 Tabel 5.1. Tabel Skenario Pengujian... 67 Tabel 5.2. Tabel Hasil Skenario Pengujian... 68 Tabel 5.3. Hasil pengujian proses enkripsi... 69 Tabel 5.4. Hasil pengujian proses dekripsi... 70 xiii