IMPLEMENTASI ALGORITMA KUNCI PUBLIK LUC DAN ALGORITMA KOMPRESI GOLDBACH CODES UNTUK PERANCANGAN APLIKASI PENGAMANAN DAN KOMPRESI FILE PDF SKRIPSI SABRINA RIDHA SARI SINAGA 141421085 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
IMPLEMENTASI ALGORITMA KUNCI PUBLIK LUC DAN ALGORITMA KOMPRESI GOLDBACH CODES UNTUK PERANCANGAN APLIKASI PENGAMANAN DAN KOMPRESI FILE PDF SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer Oleh: SABRINA RIDHA SARI SINAGA 141421085 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
ii PERSETUJUAN Judul Kategori Nama : IMPLEMENTASI ALGORITMA KUNCI PUBLIK LUC DAN ALGORITMA KOMPRESI GOLDBACH CODES UNTUK PERANCANGAN APLIKASI PENGAMANAN DAN KOMPRESI FILE PDF : SKRIPSI : SABRINA RIDHA SARI SINAGA Nomor Induk Mahasiswa : 141421085 Program Studi Fakultas : ILMU KOMPUTER : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dian Rachmawati, S.Si, M.Kom Dr. Poltak Sihombing,M.Kom NIP. 19830723200912204 NIP. 196203171991031001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing,M.Kom NIP. 196203171991031001
iii PERNYATAAN IMPLEMENTASI ALGORITMA KUNCI PUBLIK LUC DAN ALGORITMA KOMPRESI GOLDBACH CODES UNTUK PERANCANGAN APLIKASI PENGAMANAN DAN KOMPRESI FILE PDF SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, November 2016 SABRINA RIDHA SARI SINAGA 141421085
iv PENGHARGAAN Alhamdulillah segala puji dan syukur atas semua berkah dan nikmat yang telah Allah Subhanahu Wa Ta la berikan kepada penulis sehingga penulis mampu menyelesaikan tugas akhir, sebagai syarat untuk memperoleh gelar Sarjana Ilmu Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi. Ucapan terima kasih Penulis sampaikan kepada orangtua penulis, Ibunda Hernawaty Damanik dan Ayahanda Alm. Stevenson Benady atas seluruh kasih sayang, bantuan dan memberikan motivasi sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada: 1. Bapak Prof. Dr. Runtung, SH, M.Hum selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Opim Salim Sitompul selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi 3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer dan sebagai Dosen Pembimbing I yang telah memberikan saran, dukungan motivasi kepada penulis dalam pengerjaan skripsi ini. 4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer. 5. Ibu Dian Rachmawati, S.Si, M.Kom selaku Pembimbing II yang sangat membantu penulis dalam diskusi materi skripsi serta kritik dan saran dalam proses pengerjaan skripsi. 6. Bapak Mohammad Andri Budiman, ST, M.Comp.Sc., MEM selaku Pembanding I yang telah memberikan arahan mengenai materi skripsi Penulis,
v memberikan motivasi kepada Penulis serta kritik dan saran dalam pengerjaan skripsi ini. 7. Bapak Handrizal, S.Si, M.Comp. Sc selaku Pembanding II yang telah memberikan masukan serta kritik dan saran untuk pengerjaan skripsi ini. 8. Semua dosen dan semua pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi. 9. Teman-teman KOM A Ekstensi Ilkom 2014 yang telah banyak membantu Penulis untuk menyelesaikan skripsi ini. 10. Teman-teman Ekstensi Ilkom 2014 yang telah banyak memberikan bantuan kepada Penulis dalam proses pengerjaan skripsi. 11. Keluarga besar UKM Fotografi USU yang bersedia membantu penulis dalam menyelesaikan skripsi ini. 12. Keluarga besar Test-English School yang telah memberikan motivasi dan inspirasi yang sangat hebat kepada Penulis. 13. Sahabat-sahabat dan teman terbaik penulis yaitu Sabila, Wiwin, Fera, Malinda, Dewanty Ajeng, Atikah, Elisa, Putri, dan Sofi, yang telah atas waktu kebersamaannya yang begitu indah. 14. Semua pihak yang terlibat langsung ataupun tidak langsung yang telah membantu penulis dalam menyelesaikan skripsi ini. Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, kepada pembaca kiranya memberikan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini sehingga dapat bermanfaat untuk kita semua. Medan, November 2016 SABRINA RIDHA SARI SINAGA
vi ABSTRAK Data adalah kumpulan informasi. Data menjadi penting jika terdapat informasi yang bersifat rahasia di dalamnya. Salah satu metode pengamanan data yaitu dengan menggunakan algoritma kriptografi. Algoritma yang digunakan adalah Algoritma LUC untuk pengamanan data file PDF. Pada Algoritma LUC, teks pada file PDF dikonversi ke American Standart Codes for Information Interchange (ASCII) yang digunakan untuk mengubah teks menjadi angka. Algoritma LUC merupakan kriptografi asimetri sehingga menggunakan dua kunci yang berbeda, yaitu kunci publik untuk enkripsi dan kunci privat digunakan untuk dekripsi. Enkripsi menyebabkan ukuran data menjadi lebih besar sehingga diperlukan proses kompresi. Kompresi data yang digunakan adalah Algoritma Goldbach Codes, dengan menggunakan tabel Goldbach G0 Codes. Skripsi ini menguraikan bagaimana penerapan Algoritma LUC dan Algoritma Goldbach Codes untuk pengamanan dan kompresi file PDF. Hasil akhir menunjukkan bahwa cipherteks dapat kembali ke plainteks, namun penggunaan kunci enkripsi dan dekripsi yang cukup besar mengakibatkan lamanya proses enkripsi dengan waktu rata-rata 815.797,8 milisecond dan dekripsi dengan waktu rata-rata 1.120.147,6 milisecond. Beberapa file yang diuji melalui proses tahapan enkripsi dan kompresi menunjukkan hasil parameter kompresi ratio dengan nilai rata-rata 2,36%. Kata Kunci: Kriptografi, Kompresi, Asimetri, LUC, Goldbach Codes
vii IMPLEMENTATION OF LUC PUBLIC KEY ALGORITHM AND COMPRESSION GOLDBACH CODES ALGORITHM FOR DESIGNING APPLICATION SECURITY AND COMPRESSION PDF FILE ABSTRACT Data is a collection of information. Data to be important if there is confidential information on it. One method of securing data is by using a cryptographic algorithm. The algorithm used is the LUC algorithms for data security PDF file. At LUC algorithms, text in PDF files are converted into American Standard Codes for Information Interchange (ASCII) which is used to convert text to numbers. LUC algorithm is asymmetric cryptography that uses two different keys, the public key for encryption and a private key used for decryption. Encryption causes the data size to be larger so that the required compression process. Data compression algorithm used is Goldbach Codes, using tables Goldbach G0 Codes. This thesis describes how the application of LUC algorithms and algorithms Goldbach LUC Codes for security and compression PDF files. The final results showed that the ciphertext can go back to plaintext, but the use of encryption and decryption keys are large enough lead length of the encryption process with an average of 815,797.8 millisecond and decryption with the average time 1120147.6 millisecond. Some files were tested through the stages of the process of encryption and compression ratio shows the results of compression parameters with an average value of 2.36%. Keywords: Cryptography, Compression, Asymmetric, LUC, Goldbach Codes
viii DAFTAR ISI Halaman Persetujuan Pernyataaan Penghargaan Abstrak Abstract Daftar isi Daftar table Daftar gambar ii iii iv vi vii viii xi xii BAB 1. PENDAHULUAN 1 1.1. Latar Belakang 1 1.2. Rumusan Masalah 2 1.3. Ruang Lingkup Penelitian 2 1.4. Tujuan Penelitian 3 1.5. Manfaat Penelitian 3 1.6. Penelitian Sebelumnya 3 1.7. Metodologi Penelitian 4 1.8. Sistematika Penulisan 5 BAB 2. LANDASAN TEORI 7 2.1. Kriptografi 7 2.1.1. Defenisi Kriptografi 7 2.1.2. Sejarah Kriptografi 8 2.1.3. Tujuan Kriptografi 10 2.1.4. Terminologi dan Konsep Dasar Kriptografi 11 2.1.5. Jenis Kriptografi 13 2.2. Algoritma LUC 16 2.2.1. Perkembangan Algoritma LUC 16 2.3. Landasan Matematika Algoritma LUC 17 2.3.1. Aritmatika Modulo 17 2.3.2. Least Common Multiple 17 2.3.3. Fermat s Little Theorem 18 2.3.4. Algortima Lehman 19 2.3.5. Algoritma Euclidean 19 2.3.6. Bilangan Relatif Prima 20 2.3.7. Invers Modulo 20 2.4. Prinsip Kerja Algoritma LUC 21 2.4.1. Proses Pembangkit Kunci Algoritma LUC 21
ix 2.4.2. Proses Enkripsi 23 2.4.3. Proses Dekripsi 23 2.5. Defenisi Kompresi 24 2.5.1. Algoritma Kompresi Goldbach Codes 26 2.5.2. Konsep Kompresi Data 28 82.5.3. Pengukuran Kinerja Kompresi Data 30 BAB 3. ANALISIS DAN PERANCANGAN SISTEM 3.1. Analisis 32 3.1.1. Analisis Masalah 32 3.1.2. Analisis Kebutuhan Sistem 34 3.1.3. Analisis Proses 36 3.2. Perancangan Sistem 36 3.3. Pemodelan Sistem 37 3.3.1. Use-Case Diaagram 37 3.3.2. Activity Diagram 38 3.3.2.1. Activity Diagram Proses Pembangkit Kunci 38 3.3.2.2. Activity Diagram Proses Enkripsi LUC 39 3.3.2.3. Activity Diagram Proses Kompresi Goldbach Codes 40 3.3.2.4. Activity Diagram Proses Dekompresi Goldbach Codes 41 3.3.2.5. Activity Diagram Proses Dekripsi LUC 41 3.2.2.6. Sequence Diagram 42 3.4. Perancangan Sistem 43 3.4.1. Pembuatan Algoritma Program 43 3.4.2. Alur Proses Sistem Secara Umum 44 3.4.3. Alur Proses Pembangkit Kunci 46 3.4.4. Alur Proses Enkripsi LUC 49 3.4.5. Alur Proses Kerja Dekripsi LUC 51 3.4.6. Alur Proses Kompresi Goldbach Codes 52 3.5. Perancangan Interface 56 3.5.1. Rancangan Halaman Utama 57 3.5.2. Rancangan Interface Halaman Aplikasi dan Pengamanan 58 3.5.3. Rancangan Halaman Enkripsi 58 3.5.4. Rancangan Halaman Kompresi 60 3.5.5. Rancangan Halaman Dekompresi 61 3.5.6. Rancangan Halaman Dekripsi 2 BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM 64 4.1. Implementasi Sistem 64 4.1.1. Form Halaman Utama 64 4.1.2. Form Halaman Aplikasi Pengamanan dan Kompresi File 65 4.1.3. Form Halaman Enkripsi 66
x 4.1.4. Form Halaman Kompresi 66 4.1.5. Form Halaman Dekompresi 67 4.1.6. Form Halaman Dekripsi 67 4.2. Pengujian Sistem 68 4.2.1. Pengujian Pembangkit Kunci dan Enkripsi File 68 4.2.2. Pengujian Kompresi 69 4.2.3. Pengujian Dekompresi 71 4.2.4. Pengujian Dekripsi 72 4.2.5. Pengujian Hasil 73 4.2.5.1 Hasil Pengujian Waktu Enkripsi dan Dekripsi 77 4.2.5.2. Hasill Pengujian String Homogen dan Heterogen 78 4.2.5.3. Hasil Uji Data File Enkripsi 79 BAB 5. KESIMPULAN DAN SARAN 81 5.1. Kesimpulan 81 5.2. Saran 82 DAFTAR PUSTAKA 83 Listring Program 85 DAFTAR RIWAYAT HIDUP LAMPIRAN
xi DAFTAR TABEL halaman Tabel 2.1. Perhitungan Untuk Mencari d 22 Tabel 2.2. Goldbach G0 Codes 27 Tabel 2.3. String diubah kedalam ASCII 28 Tabel 2.4. String diubah kedalam Goldbach G0 Codes 28 Tabel 3.1. ASCII Codes Proses Kompresi 54 Tabel 3.2. Goldbach G0 Codes untuk Proses Kompresi 75 Tabel 4.1 Hasil Uji Coba Lima Kali Percobaan 76 Tabel 4.2 Hasil Uji Waktu Enkripsi dan Dekripsi 77 Tabel 4.3. Pengujian String Homogen 78 Tabel 4.4. Pengujian String Heterogen 79
xii DAFTAR GAMBAR Halaman Gambar 2.1. Urutan proses kriptografi 8 Gambar 2.2. Mesin enigma yang digunakan tentara Jerman 9 Gambar 2.3. Perbandingan plainteks dan cipherteks 11 Gambar 2.4. Skema Kriptografi Simetri 13 Gambar 2.5. Skema Algoritma Simetri 15 Gambar 2.6 Proses Algoritma Kompresi dan Dekompresi loseless 25 Gambar 2.7 Proses Kompresi dan Dekompresi lossy 25 Gambar 3.1 Diagram Ishikawa 33 Gambar 3.2. Use Case Diagram Pada Sistem 37 Gambar 3.3. Activity Diagram Pembangkit Kunci 38 Gambar 3.4. Activity Diagram Proses Enkripsi LUC 39 Gambar 3.5. Activity Diagram Proses Kompresi Goldbach Codes 40 Gambar 3.6. Activity Diagram Proses Dekompresi Goldbach Codes 41 Gambar 3.7. Activity diagram Dekripsi LUC 42 Gambar 3.8. Sequence Diagram Sistem 43 Gambar 3.9. Alur Sistem Flowchart Secara Umum 45 Gambar 3.10. Flowchart Alur Pembangkit Kunci 49 Gambar 3.11. Flowchart Enkripsi LUC 51 Gambar 3.12. Flowchart Dekripsi LUC 52 Gambar 3.13. Flowchart Kompresi Goldbach Codes 55 Gambar 3.14 Perancangan Halaman Utama 57 Gambar 3.15 Rancangan Aplikasi Pengamanan dan Kompresi 58 Gambar 3.16 Rancangan Halaman Enkripsi 59 Gambar 3.17 Rancangan Halaman Kompresi 60 Gambar 3.18 Rancangan Halaman Dekompresi 61 Gambar 3.19. Rancangan Halaman Dekripsi 62 Gambar 4.1. Halaman Utama 65 Gambar 4.2. Form Aplikasi Pengamanan dan Kompresi File PDF 65 Gambar 4.3. Form Halaman Enkripsi 66 Gambar 4.4. Form Halaman Kompresi 66 Gambar 4.5. Form Halaman Dekompresi 67 Gambar 4.6. Form Halaman Dekripsi 67 Gambar 4.7. Pencarian File PDF yang Akan di Enkripsi 68 Gambar 4.8. Tampilan Hasil Pencarian File PDF 69 Gambar 4.9. Hasil Enkripsi dan Pembangkit Kunci 69 Gambar 4.10. Pencarian File yang Akan di Kompresi 70 Gambar 4.11. Proses Kompresi 70 Gambar 4.12. Pencarian File yang Akan di Dekompresi 71
xiii Gambar 4.13. Hasil Proses Dekompresi 71 Gambar 4.14. Pencarian File yang Akan di Dekripsi 71 Gambar 4.15. Tampilan Dekripsi 72 Gambar 4.16. Uji Enkripsi Pertama 73 Gambar 4.17. Uji Hasil Enkripsi Kedua 74 Gambar 4.18. Uji Hasil Enkripsi Ketiga 74 Gambar 4.19. Uji Hasil Enkripsi Keempat 75 Gambar 4.20. Uji Hasil Enkripsi Kelima 75 Gambar 4.21. Grafik Perbandingan Waktu Enkripsi dan Dekripsi 75