IMPLEMENTASI ALGORITMA AFFINE CIPHER, RSA-CRT DAN ALTERNATE UNARY CODE DALAM PENGAMANAN DAN
KOMPRESI TEKS
SKRIPSI
BAYATI 141421043
PROGRAM STUDI EKSTENSI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN
IMPLEMENTASI ALGORITMA AFFINE CIPHER, RSA-CRT DAN
ALTERNATE UNARY CODE DALAM PENGAMANAN DAN
KOMPRESI TEKS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer
BAYATI
141421043
PROGRAM STUDI EKSTENSI S-1 ILMU KOMPUTER
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA AFFINE CIPHER,
RSA-CRT DAN ALTERNATE UNARY CODE
DALAM PENGAMANAN DAN KOMPRESI TEKS
Kategori : SKRIPSI
Nama : BAYATI
Nomor Induk Mahasiswa : 141421043
Program Studi : EKSTENSI S1 ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
M. Andri Budiman, ST, M.Comp.Sc, MEM Dr. Poltak Sihombing, M.Kom
NIP. 19751008 200801 1 011 NIP. 196203171991031001
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M.Kom.
PERNYATAAN
IMPLEMENTASI ALGORITMA AFFINE CIPHER, RSA-CRT DAN
ALTERNATE UNARY CODE DALAM PENGAMANAN DAN
KOMPRESI TEKS
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Juni 2017
Bayati
PENGHARGAAN
Puji syukur penulis panjatkan kepada Allah Subhanahu wa Ta’ala, karena atas rahmat
dan hidayah-Nya sehingga penulis dapat menyelesaikan penyusunan skripsi dengan
judul “IMPLEMENTASI ALGORITMA AFFINE CIPHER, RSA-CRT DAN
ALTERNATE UNARY CODE DALAM PENGAMANAN DAN KOMPRESI
TEKS”.
Penulisan skripsi ini disusun untuk memenuhi syarat kelulusan untuk
memperoleh gelar Sarjana Ilmu Komputer pada program studi S1 Ilmu Komputer,
Universitas Sumatera Utara.
Dalam pelaksanaan dan penyusunan skripsi ini penulis telah memperoleh
banyak dukungan dan bantuan dari berbagai pihak, baik secara moril maupun materil.
Oleh karena itu dalam kesempatan ini penulis ingin menyampaikan ucapan terima
kasih kepada :
1. Bapak Prof. Dr. Runtung Sitepu, 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 dosen Pembimbing I yang telah
memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan
skripsi ini.
4. Bapak Herriyance, ST., M.Kom. selaku Sekretaris Program Studi S1 Ilmu
Komputer Universitas Sumatera Utara
5. Bapak M. Andri Budiman, ST, M.Comp.,Sc.,MEM selaku dosen Pembimbing
II yang telah memberikan bimbingan, saran, masukan dan motivasi kepada
penulis dalam pengerjaan skripsi ini.
6. Ibu Dian Rachmawati, S.Si.,M.Kom, selaku dosen Pembanding I dan
Utara yang telah memberikan saran, dan masukan kepada penulis dalam
penyempurnaan skripsi ini.
7. Ibu Siti Dara Fadilla, S.Si.,MT. selaku dosen Pembanding II yang telah
memberikan saran, dan masukan kepada penulis dalam penyempurnaan skripsi
ini.
8. Keluarga penulis, ayahanda Jamaluddin dan ibunda Yatinem, serta adik-adik
penulis, Husaini dan Sandi, yang selalu memberikan doa dan dukungannya
kepada penulis.
9. Teman-teman seperjuangan skripsi yang saling berbagi ilmu pengetahuan,
pemikiran, motivasi, dan dukungan kepada penulis yaitu Irin, Haru, Syuhada,
Ulfa, Una, Fira, Ira, Wiwit dan teman-teman lainnya yang sudah meluangkan
waktu untuk berdiskusi pembuatan skripsi dan pembuatan program.
10. Teman-teman kuliah Ekstensi Ilmu Komputer 2014, khususnya Kom A, yang
telah berbagi suka duka dan kebersamaan bersama penulis.
Penulis menyadari bahwa penulisan skripsi ini masih jauh dari sempurna dan
banyak terdapat kesalahan dan kekurangan yang masih perlu diperbaiki dan ditinjau
ulang. Penulis berharap semoga skripsi ini dapat bermanfaat bagi semua pihak yang
membacanya dan dapat menjadi acuan dalam pembuatan skripsi selanjutnya.
Medan, Juni 2017
Penulis,
ABSTRAK
Penelitian ini bertujuan untuk membuat aplikasi yang dapat mengamankan serta
mengkompresi isi file teks doc ataupun txt sehingga file tersebut akan tetap aman serta
tidak memakan ruang penyimpanan yang terlalu besar. Penelitian ini menerapkan
metode kriptografi hibrida sebagai pengamanan file teks dengan menggunakan
algoritma Affine Cipher untuk enkripsi dan dekripsi isi file teks dan algoritma
RSA-CRT untuk enkripsi dan dekripsi kunci Affine Cipher. Dan untuk metode kompresinya
menggunakan algoritma Alternate Unary Code. Hasil enkripsi isi file teks (cipherteks)
berupa karakter-karakter yang tidak dimengerti dan disimpan dalam file yang
berformat aff. Hasil enkripsi kunci Affine Cipher (cipherkey) disimpan dalam file yang
berformat ckey. Hasil kompresi cipherteks berupa string bit yang telah diubah menjadi
array byte dan disimpan dalam file yang berformat auc. Panjang karakter plainteks
tidak berubah setelah dienkripsi. Jumlah character set dapat berpengaruh pada nilai
Cr dan Ss. Nilai Ss akan negatif jika hasil kompresi lebih besar dari ukuran teks asli.
THE IMPLEMENTATION OF AFFINE CIPHER, RSA-CRT AND
ALTERNATE UNARY CODE ALGORITHM IN SECURING AND
COMPRESSING TEXT
ABSTRACT
This study aims to created applications that can secure and compress the contents of
doc or txt files, so the file will secure and does not consuming the storage space too
much. This research applies hybrid cryptography method as security of text file by
using Affine Cipher algorithm for encryption and decryption of text file contents and
RSA-CRT algorithm for encryption and decryption of Affine Cipher key. For the
compression method using Alternate Unary Code algorithm. Encrypting using file text
(ciphertext) is form of characters that are not understood and stored in the file aff
format. The encryption key of Affine Cipher (cipherkey) is saved in a ckey formatted
file. The result of ciphertext compression is a bit string that has been converted to byte
array and stored in auc file. The plaintext character length does not change after it is
encrypted. The number of character sets can affect the values of Cr and Ss. The Ss
value will be negative if the compression result is larger than the original text size.
DAFTAR ISI
Persetujuan ii
Pernyataan iii
Bab 1 Pendahuluan
1.1.Latar Belakang 1
1.2.Rumusan Masalah 2
1.3.Batasan Masalah 2
1.4.Tujuan Penelitian 3
1.5.Manfaat Penelitian 3
1.6.Metodologi Penelitian 3
1.7.Sistematika Penulisan 4
Bab 2 Landasan Teori
2.1.Algoritma 5
2.2.Kriptografi 6
2.3.Jenis Algoritma Kriptografi 6
2.4.Kriptografi Hibrida 7
2.5.Dasar Matematika Kriptografi 8
2.5.1.Bilangan Prima 8
2.5.2.Fermat’s Litlle Theorem 8
2.5.3.Great Common Divisor (GCD) 9
2.5.4.Euclidean Algorithm 9
2.5.5.Euler Phi Function 10
2.5.6.Aritmatika Modulo 11
2.5.7.Multipicative Inverse 11
2.5.8.Chinese Remainder Theorem 11
2.6.Algoritma Affine Cipher 13
2.7.Algoritma RSA-CRT 14
2.8.Kompresi 18
2.8.1.Teknik Kompresi Data 18
2.8.2.Performa Kompresi 19
2.10. Penelitian Terdahulu 20
Bab 3 Analisis dan Perancangan Sistem
3.1.Analisis Sistem 22
3.1.1.Analisis Masalah 22
3.1.2.Analisis Kebutuhan Sistem 23
3.1.3.Analisis Proses 25
3.2.Pemodelan Sistem 37
3.2.1.Use Case Diagram 37
3.2.2.Activity Diagram 38
3.2.3.Sequence Diagram 41
3.3.Flowchart 42
3.3.1.Flowchart Sistem 42
3.3.2.Flowchart Algoritma Affine Cipher 44
3.3.3.Flowchart Pembangkit Kunci Algoritma RSA-CRT 45
3.3.4.Flowchart Algoritma RSA-CRT 46
3.3.5.Flowchart Algoritma Alternate Unary Code 47
3.4.Perancangan Antarmuka Sistem (Interface) 47
3.4.1.Perancangan Form Halaman Utama 48
3.4.2.Perancangan Form Bangkit Kunci RSA-CRT 49
3.4.3.Perancangan Form Enkripsi – Kompresi 50
3.4.4.Perancangan Form Dekompresi – Dekripsi 51
3.4.5.Perancangan Form Bantuan 52
3.4.6.Perancangan Form Tentang 53
Bab 4 Implementasi dan Pengujian Sistem
4.1.Implementasi Sistem 55
4.1.1.Form Menu Utama 55
4.1.2.Form Bangkit Kunci 56
4.1.3.Form Enkripsi – Kompresi 57
4.1.4.Form Dekompresi – Dekripsi 58
4.1.5.Form Bantuan 59
Bab 5 Kesimpulan dan Saran
5.1.Kesimpulan 77
5.2.Saran 78
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1. 3.1. 3.2. 4.1. 4.2. 4.3.
Pembagian Unary Code Perhitungan ASCII Code Perhitungan AUC Code
Pengujian Enkripsi – Dekripsi Teks Pengujian Enkripsi – Dekripsi Kunci Pengujian Kompresi – Dekompresi
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1.
Proses Enkripsi Konvensional Proses Enkripsi Kunci Publik Skema Kriptografi Hibrida
Kriptografi Hibrida Affine Cipher dan RSA-CRT Proses Algoritma Euclid
Diagram Ishikawa
Use Case Diagram pada Sistem
Activity Diagram pada Proses Pembangkitan Kunci
Activity Diagram pada Proses Enkripsi – Kompresi
Activity Diagram pada Proses Dekompresi – Dekripsi
Sequence Diagram pada Proses Enkripsi – Kompresi
Sequence Diagram pada Proses Dekompresi – Dekripsi
Flowchart Sistem
Ilustrasi Sistem
Flowchart Algoritma Affine Cipher
Flowchart Pembangkit Kunci Algoritma RSA-CRT
Flowchart Algoritma RSA-CRT
Flowchart Algoritma Alternate Unary Code
Rancangan Form Menu Utama Rancangan Form Bangkit Kunci Rancangan Form Enkripsi – Kompresi Rancangan Form Dekompresi – Dekripsi Rancangan Form Bantuan
Rancangan Form Tentang
Form Menu Utama
Form Bangkit Kunci
Form Enkripsi – Kompresi
Form Dekompresi – Dekripsi
Form Bantuan
Form Tentang
Pengujian Bangkit Kunci Pengujian Simpan Kunci
MessageBox Kunci Berhasi Disimpan
File Teks Input FileTeks Hasil File Input
4.13.
Enkripsi Teks File
MessageBox Simpan File
Buka Kunci Publik Enkripsi Kunci Teks Save Dialog Cipherkey
Save Dialog Hasil Kompresi
Parameter Kompresi Isi File Hasil Kompresi Input File Terkompresi Hasil Dekompresi File Dialog Open Cipherkey Dialog Open Private Key Hasil Dekripsi Kunci Hasil Dekripsi Cipherteks
Grafik Perbandingan Waktu Proses Enkripsi – Dekripsi Teks
Grafik Perbandingan Waktu Proses Enkripsi – Dekripsi Kunci
Grafik Perbandingan Cr Hasil Kompresi Karakter Homogen dan Heterogen
Grafik Perbandingan Ss Hasil Kompresi Karakter Homogen dan Heterogen
Grafik Perbandingan Waktu Kompresi dan Dekompresi
DAFTAR LAMPIRAN
Halaman Lampiran 1
Lampiran 2
Listing Program Daftar Riwayat Hidup