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
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
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA KUNCI PUBLIK LUC DAN ALGORITMA KOMPRESI GOLDBACH CODES UNTUK PERANCANGAN APLIKASI PENGAMANAN DAN KOMPRESI FILE PDF
Kategori : SKRIPSI
Nama : SABRINA RIDHA SARI SINAGA
Nomor Induk Mahasiswa : 141421085
Program Studi : ILMU KOMPUTER
Fakultas : 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
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
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 Universitas Sumatera Utara.
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 Universitas Sumatera Utara
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara 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 Universitas Sumatera Utara .
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,
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 Universitas Sumatera Utara. 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
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%.
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%.
Halaman Persetujuan ii Pernyataaan iii Penghargaan iv Abstrak vi Abstract vii
Daftar isi viii
Daftar table xi
Daftar gambar 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.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
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
halaman
Tabel 2.1. Perhitungan Untuk Mencari d 22 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
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.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