IMPLEMENTASI ALGORITMA ELIAS DELTA DAN ALGORITMA ELGAMAL DALAM KOMPRESI DAN
PENGAMANAN CITRA
SKRIPSI
CUT AMALIA SAFFIERA 131401073
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ALGORITMA ELIAS DELTA DAN ALGORITMA ELGAMAL DALAM KOMPRESI DAN
PENGAMANAN CITRA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
CUT AMALIA SAFFIERA 131401073
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA ELIAS DELTA DAN
ALGORITMA ELGAMAL DALAM KOMPRESI DAN PENGAMANAN CITRA
Kategori : SKRIPSI
Nama : CUT AMALIA SAFFIERA
Nomor Induk Mahasiswa : 131401073
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing:
Pembimbing 2 Pembimbing 1
Dian Rachmawati, S.Si., M.Kom M. Andri Budiman, ST, M.Comp.Sc, MEM
NIP. 198307232009122004 NIP. 197510082008011011
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M. Kom
PERNYATAAN
IMPLEMENTASI ALGORITMA ELIAS DELTA DAN ALGORITMA ELGAMAL
DALAM KOMPRESI DAN PENGAMANAN CITRA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, April 2017
Cut Amalia Saffiera
UCAPAN TERIMA KASIH
Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya,
sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk
memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer
Universitas Sumatera Utara.
Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar-besarnya
kepada:
1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas
Sumatera Utara.
2. Bapak Prof. Opim Sitompul, M.Sc., 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
4. Bapak Herriyance, S.T., M.Kom selaku Sekretaris Program Studi S1 Ilmu
Komputer Universitas Sumatera Utara
5. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M selaku Dosen
Pembimbing I yang telah memotivasi dan senantiasa memberikan bimbingan,
saran dan dukungan kepada penulis dalam pengerjaan skripsi ini.
6. Ibu Dian Rachmawati, S.Si., M.Kom selaku Dosen Pembimbing II yang telah
memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam
pengerjaan skripsi ini.
7. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI
USU.
8. Ayahanda T.M. Johan dan Ibunda Suraiya yang telah menjadi sumber motivasi,
pendukung, penyemangat, dan inspirasi terbesar bagi penulis dalam
menyelesaikan skripsi, serta kedua abangda T.M. Zulfadly dan T.M. Rikza
Abdy senatiasa memberikan dukungan dan doa untuk penulis.
9. Sahabat-sahabat terbaik Dea Virtha Lazuana, Eva Miranda, Nurrahmania,
Rifdatus Sunniyah, Syarifah Nadiratuzzahra, Syarifah Najmah, dan Marzatillah
Zuhra yang selalu memberikan dukungan dan semangat kepada penulis dalam
Saputri Simamora, dan teman-teman angkatan 2013 yang juga senantiasa
menjadi pengingat dan motivasi penulis.
10.Abangda Muhammad Miftahul Huda, Farid Akbar, Dian Dwi Prayoga, dan ,
Muzaffar yang telah banyak membantu dalam penyelesaian penelitian ini.
11.Keluarga UKMI Al-Khuwarizmi, IKLC, IMILKOM dan PEMA Fasilkom-TI
yang telah memberikan inspirasi serta dukungan kepada penulis.
12.Kakak, abang dan adik sumber inspirasi dan semangat penulis, Kak Yayang,
Meila, Dinah Atika, Khairunnada, Aga, Yayas, Ricky, Teguh, dll
13.Dan semua pihak yang telah membantu dan tidak dapat disebutkan satu per satu.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan
kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.
Medan, April 2016
ABSTRAK
Dalam pengiriman data khususnya citra, aspek keamanan, kerahasiaan dan efisiensi
penyimpanan data sangat diperlukan. Untuk menjaga keamanan dan kerahasiaan data
tersebut salah satu teknik yang digunakan adalah ElGamal. Kekuatan algoritma ini
terletak pada sulitnya menghitung logaritma diskrit pada grup bilangan bulat prima yang
di dalamnya dilakukan operasi perkalian. Algoritma ElGamal termasuk Algoritma
Kunci Asimetris. ElGamal mengakibatkan perbesaran pada ukuran berkas tersebut,
sehingga dibutuhkan teknik kompresi data. Elias Delta Code merupakan salah satu algoritma kompresi yang menggunakan tabel Delta Code. Dalam penelitian ini, penulis
menggabungan antara Algoritma ElGamal untuk melakukan penyandian data dan
Algoritma Elias Delta Code untuk kompresi data. Citra pertama kali dikompresi menggunakan Algoritma Elias Delta Code, kemudian hasil kompresi tersebut dienkripsi dengan menggunakan Algoritma ElGamal. Pengujian bilangan prima
menggunakan Algoritma Agrawal Biswas. Implementasi sistem menggunakan bahasa
pemrograman C#. Hasil penelitian menunjukkan bahwa metode ElGamal dapat
menjaga keamanan, dan kerahasiaan data. Metode Elias Delta Code menghasilkan Ratio of Compression (RC), Compression Ratio (CR), dan Space Saving (SS) masing-masing dengan nilai rata-rata 1.6 , 62.49%, dan 37,51% %.
AN IMPLEMENTATION OF ELIAS DELTA CODE AND ELGAMAL ALGORITHM IN COMPRESSION AND IMAGE SECURITY
ABSTRACT
In data transmission especially image, security aspect , confidentiality and efficiency of data storage are highly needed. To maintain the security and confidentiality of data, one of the techniques used is ElGamal. The strength of this algorithm is found on the difficulty of calculating discrete logarithms in prime integers group in which multiplication operation are performed. ElGamal algorithm belong to the class of Asymmetric Key Algorithm. ElGamal resulted in enlargement of the file size, therefore data compression is required. Elias Delta Code is on of the compression algorithm that use delta code table. In this study, the author combine the ElGamal algorithm to perform data encryption and Elias Delta Code algorithm for data compression. Image was first compressed using Elias Delta Code Algorithm, then the result of the compression is encrypted by using ElGamal algorithm. Prime test is using Agrawal Biswas Algorithm. Implementation of the system is using the C# programming language. The result shows that ElGamal method can maintain the security and and confidentiality. The Elias Delta Code method generated Ratio of Compression (RC),
Compression Ratio (CR), and Space Saving (SS) each wih average values of 1.6 ,
62.49%, and 37,51% %.
Keywords: Cryptography, Compression, Asymmetric, ElGamal, Elias Delta Code,
Halaman
Daftar Lampiran ... xiii
Bab 1 Pendahuluan 1.1.Latar Belakang ... 1
1.2.Rumusan Masalah ... 2
1.3.Ruang Lingkup Penelitian ... 3
1.4.Tujuan Penelitian ... 3
1.5.Manfaat Penelitian ... 3
1.6.Penelitian Sebelumnya ... 3
1.7.Metode Penelitian ... 5
1.8.Sistematika Penulisan ... 5
Bab 2 Landasan Teori 2.1. Kompresi ... 7
2.1.1 Definisi Kompresi ... 7
2.1.2. Penggolongan Algoritma Kompresi ... 8
2.1.3 Konsep Kompresi Data ... 9
2.1.4. Pengukuram kinerja kompresi data ... 9
2.1.5. Elias Delta Code ... 10
2.2. Kriptografi ... 14
2.2.1. Definisi Kriptografi ... 14
2.2.2. Tujuan Kriptografi ... 14
2.2.3. Terminologi Kriptografi ... 15
2.2.4. Jenis-jenis Algoritma Kriptografi ... 16
2.2.5. Algoritma ElGamal ... 18
2.2.6. Landasan Matematika Algoritma ElGamal ... 19
2.2.7. Prinsip Kerja Algoritma ElGamal ... 22
2.2.7.1. Proses Pembangkitan Kunci... 22
2.2.7.2 Proses Enkripsi ... 23
2.2.7.3 Proses Dekripsi ... 23
2.3. Citra ... 24
2.3.1. Jenis-Jenis Citra Digital ... 25
2.3.1.1. Citra Biner ... 25
2.3.1.2. Citra Grayscale ... 26
2.3.1.3. Citra Warna (True Color) ... 26
2.3.2. Citra Bitmap ... 28
2.3.3. Perhitungan Hasil Rekontruksi Citra ... 28
2.3.3.1. Mean Squared Error (MSE) ... 28
Bab 3 Analisis dan Perancangan
3.1. Analisis Sistem ... 31
3.1.1. Analisis Masalah ... 31
3.1.2. Analisis Kebutuhan ... 32
3.1.2.1. Kebutuhan Fungsional ... 32
3.1.2.2. Kebutuhan Non Fungsional ... 33
3.2. Pemodelan Sistem ... 34
3.2.1. Use-Case Diagram ... 34
3.2.2. Activity Diagram ... 34
3.2.2.1. Activity Diagram Proses Pembangkit Kunci ... 35
3.2.2.2 Activity Diagram Proses Kompresi Elias Delta Code .... 35
3.2.2.3 Activity Diagram Proses Enkripsi ElGamal ... 36
3.2.2.4 Activity Diagram Proses Dekripsi ElGamal ... 37
3.2.2.5 Activity Diagram Proses Dekompresi Elias Delta Code 37 3.2.2.6 Sequence Diagram ... 38
3.3 Arsitektur Umum Sistem ... 39
3.4 Flowchart ... 40
3.4.1 Flowchart Pembangkitan Kunci ... 40
3.4.2 Flowchart Kompresi Elias Delta Code ... 41
3.4.3 Flowchart Enkripsi Algoritma ElGamal ... 42
3.4.4 Flowchart Dekripsi ElGamal ... 43
3.4.5 Flowchart Sistem ... 43
3.5. Perancangan Antarmuka (Interface) ... 47
3.4.1. Rancangan Halaman Utama ... 46
3.4.2 Halaman Key Generator ... 47
3.3.3 Halaman Sender ... 48
3.3.4 Halaman Recipient ... 49
3.3.5 Halaman MSE and PSNR ... 51
3.3.6 Halaman Help ... 52
Bab 4 Implementasi Dan Pengujian Sistem 4.1. Implementasi Sistem ... 53
4.1.1. Menu Home ... 53
4.1.2. Menu Process ... 54
4.1.2.1 Submenu Key Generator ... 54
4.1.2.2 Submenu Sender ... 54
4.1.2.3 Submenu Recipient ... 55
4.1.2.4 Submenu MSE and PSNR ... 56
4.1.3. Menu Help ... 56
4.2 Pengujian Sistem ... 57
4.2.1 Pengujian proses key generator ... 58
4.2.2. Pengujian proses kompresi ... 61
4.2.3. Pengujian proses enkripsi ... 64
4.2.4. Pengujian proses dekripsi ... 66
4.2.5. Pengujian proses dekompresi ... 68
4.2.6. Pengujian keutuhan citra ... 69
4.2.7 Hasil Pengujian. ... 71
4.2.7.3 Hasil Pengujian ke-3 ... 74 4.2.7.4 Hasil Pengujian ke-4 ... 76 4.2.7.5 Hasil Pengujian ke-5 ... 77 Bab 5. Kesimpulan dan Saran
DAFTAR TABEL
Halaman
Tabel 2.1 Tabel Kode Elias Delta ... 11
Tabel 2.2 String yang Belum Dikompresi ... 12
Tabel 2.3 String yang Sudah Dikompresi Dengan Elias Delta Code ... 13
Tabel 2.4 Formulasi Persoalan Logaritma Diskrit ... 18
Tabel 2.5 Penyelesaian contoh soal modulo eksponensial ... 19
Tabel 2.6 Perhitungan α2 271 dan α135 27121 ... 21
Tabel 3.1 Keterangan Gambar Rancangan Interface Halaman Home ... 47
Tabel 3.2 Keterangan Gambar Rancangan Interface Halaman Key Generator ... 48
Tabel 3.3Keterangan Gambar Rancangan Interface Halaman Sender ... 49
Tabel 3.4 Keterangan Gambar Rancangan Interface Halaman Recipient ... 50
Tabel 3.5 Keterangan Gambar Rancangan Interface Halaman MSE and PSNR ... 51
Tabel 3.6 Keterangan Gambar Rancangan Interface Halaman Help ... 52
Tabel 4.1 Hasil Uji Coba untuk 5 kali pengujian ... 79
Tabel 4.2 Hasil Uji Coba Berdasarkan Ukuran ... 79
Halaman
Gambar 2.1 Ilustrasi Kompresi Lossless ... 8
Gambar 2.2. Ilustrasi Kompresi Lossy ... 8
Gambar 2.3 Plainteks berupa Teks dan Cipherteksnya ... 15
Gambar 2.4 Skema Kriptografi Simetri ... 17
Gambar 2.5 Skema Kriptografi Asimetri ... 17
Gambar 2.6 Sistem Kriptografi dengan Algoritma ElGamal ... 22
Gambar 2.7 Matriks Citra Digital ... 24
Gambar 2.8 Perbandingan gambar dengan ukuran piksel berbeda ... 25
Gambar 2.9 Contoh Citra Biner ... 25
Gambar 2.10 Perbandingan gradasi warna berdasarkan ukuran bit ... 26
Gambar 2.11 Contoh Citra Grayscale... 26
Gambar 2.12 Contoh penyimpanan citra warna dalam memori ... 27
Gambar 2.13 Contoh Citra Warna ... 28
Gambar 2.1 Ilustrasi Kompresi Lossless ... 8
Gambar 2.2. Ilustrasi Kompresi Lossy ... 8
Gambar 2.3 Plainteks berupa Teks dan Cipherteksnya ... 16
Gambar 2.4 Skema Kriptografi Simetri ... 17
Gambar 2.5 Skema Kriptografi Asimetri ... 17
Gambar 2.6 Sistem Kriptografi dengan Algoritma ElGamal ... 22
Gambar 2.7 Matriks Citra Digital ... 24
Gambar 2.8 Perbandingan gambar dengan ukuran piksel berbeda ... 25
Gambar 2.9 Contoh Citra Biner ... 26
Gambar 2.10 Perbandingan gradasi warna berdasarkan ukuran bit ... 26
Gambar 2.11 Contoh Citra Grayscale... 27
Gambar 2.12 Contoh penyimpanan citra warna dalam memori ... 27
Gambar 2.13 Contoh Citra Warna ... 27
Gambar 3.1 Diagram Ishikawa Masalah Penelitian. ... 32
Gambar 3.2. Use-Case Diagram Pada Sistem ... 34
Gambar 3.3 Activity Diagram Proses Pembangkitan Kunci ... 35
Gambar 3.4 Activity Diagram Proses Kompresi Elias Delta Code ... 35
Gambar 3.5 Activity Diagram Proses Enkripsi ElGamal ... 36
Gambar 3.6 Activity Diagram Proses Dekripsi Pesan ... 37
Gambar 3.7 Activity Diagram Proses Dekompresi Elias Delta Code ... 37
Gambar 3.8 Sequence diagram sistem ... 38
Gambar 3.9 Arsitektur Umum Sistem ... 39
Gambar 3.10 Flowchart Alur proses pembangkit kunci ... 40
Gambar 3.11 Flowchart Alur proses kompresi Elias Delta Code ... 41
Gambar 3.12 Flowchart Alur proses Enkripsi ElGamal ... 42
Gambar 3.13 Flowchart Alur proses Dekripsi ElGamal... 43
Gambar 3.14 Flowchart Sistem ... 44
Gambar 3.15 Flowchart SubProcess ... 45
Gambar 3.16 Rancangan Interface Halaman Home... 46
Gambar 3.17 Rancangan Interface Halaman Key Generator ... 47
Gambar 3.18 Rancangan Interface Halaman Sender ... 48
Gambar 3.19 Rancangan Interface Halaman Recipient ... 50
Gambar 3.20 Rancangan Interface Halaman MSE and PSNR ... 51
Gambar 4.1 Menu Home ... 53
Gambar 4.2. Submenu Key Generator ... 54
Gambar 4.3 Submenu Sender... 55
Gambar 4.4 Submenu Recipient... 55
Gambar 4.5 Menu Help ... 56
Gambar 4.6 Citra yang akan diuji ... 57
Gambar 4.7 Hasil nilai kunci publik dan kunci privat ... 57
Gambar 4.8 Save File Dialog untuk menyimpan kunci publik ... 58
Gambar 4.9 Save File Dialog untuk menyimpan kunci privat ... 60
Gambar 4.10 Open File Dialog input file citra ... 61
Gambar 4.11 Tampilan sistem menampilkan citra terpilih ... 61
Gambar 4.12 Hasil konversi gambar RGB menjadi Grayscale ... 62
Gambar 4.13 Message Box informasi proses kompresi berhasil ... 62
Gambar 4.14 Hasil dari proses kompresi ... 63
Gambar 4.15. Open File Dialog input file kunci publik ... 64
Gambar 4.16 Tampilkan nilai kunci publik ... 64
Gambar 4.17 Message Box informasi proses enkripsi berhasil ... 65
Gambar 4.18 Tampilan waktu dan ukuran berkas hasil enkripsi ... 65
Gambar 4.19 Save File Dialog hasil kompresi dan enkripsi citra ... 65
Gambar 4.20. Open File Dialog input file citra ... 66
Gambar 4.21 Open File Dialog input kunci prvat ... 66
Gambar 4.22 Tampilan nilai kunci publik ... 67
Gambar 4.23 Message Dialog informasi proses dekripsi berhasil... 67
Gambar 4.24 Tampilan waktu dan ukuran berkas hasil dekripsi...67
Gambar 4.25 Message Dialog informasi proses dekompresi berhasil ... 68
Gambar 4.26 Tampilan citra asli ... 68
Gambar 4.27 Save File Dialog untuk menyimpan citra asli ... 69
Gambar 4.28 Informasi ukuran file bitmap yang disimpan ... 69
Gambar 4.29 Tampilan Submenu MSE and PSNR ... 70
Gambar 4.30 Tampilan setelah memilih 2 citra ... 70
Gambar 4.31 Detail perhitungan MSE dan PSNR ... 71
Gambar 4.32 Hasil Uji Coba ke-1 ... 71
Gambar 4.33 Hasil Uji Coba ke-2 ... 73
Gambar 4.34 Hasil Uji Coba ke-3 ... 74
Gambar 4.35. Hasil Uji Coba ke-4 ... 76
Gambar 4.36 Hasil Uji Coba ke-5 ... 77
Gambar 4.37 Grafik perbandingan hasil pengujian antara ukuran file citra asli, hasil kompresi/dekripsi, hasil enkripsi, dan hasil dekompresi...80