Implementasi Algoritma Elias Delta dan Algoritma ElGamal Dalam Kompresi dan Pengamanan Citra
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
MEDAN
2017
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
MEDAN
2017
Universitas Sumatera Utara
i
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
NIP. 196203171991031001
Universitas Sumatera Utara
ii
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
131401073
Universitas Sumatera Utara
iii
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
menyelesaikan skripsi serta teman seperjuangan Nurhasanah, Lily Aulya, Windi
Universitas Sumatera Utara
iv
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
Penulis
Universitas Sumatera Utara
v
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) masingmasing dengan nilai rata-rata 1.6 , 62.49%, dan 37,51% %.
Kata Kunci: Kriptografi, Kompresi, Asimetris, ElGamal, Elias Delta Code, Agrawal
Biswas.
Universitas Sumatera Utara
vi
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,
Agrawal Biswas
Universitas Sumatera Utara
vii
DAFTAR ISI
Halaman
Persetujuan ........................................................................................................... i
Pernyataan ............................................................................................................ ii
Perhargaan ............................................................................................................ iv
Abstrak ................................................................................................................. v
Abstract ................................................................................................................. vi
Daftar Isi ............................................................................................................... vii
Daftar Tabel .......................................................................................................... x
Daftar Gambar....................................................................................................... xi
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
2.3.3.2. Peak Signal to Noise Ratio ...................................................... 29
Universitas Sumatera Utara
viii
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.1 Hasil Pengujian ke-1 ....................................................... 71
Universitas Sumatera Utara
ix
4.2.7.2 Hasil Pengujian ke-2 ....................................................... 73
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
5.1. Kesimpulan .......................................................................................... 83
5.2. Saran .................................................................................................... 84
Daftar Pustaka ...................................................................................................... 85
Universitas Sumatera Utara
x
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
Tabel 4.3 Hasil Uji Coba Berdasarkan Waktu ........................................................... 80
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
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 3.21 Rancangan Interface Halaman Help ............................................... 52
Universitas Sumatera Utara
xii
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
Gambar 4.38 Grafik perbandingan hasil pengujian waktu pada proses kompresi,
enkripsi, dekripsi, dan dekompresi .................................................. 81
Universitas Sumatera Utara
xiii
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Listing Program A-1 .......................................................................... A-1
Lampiran 2 Curriculum Vitae B-1 ........................................................................ B-1
Universitas Sumatera Utara
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
MEDAN
2017
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
MEDAN
2017
Universitas Sumatera Utara
i
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
NIP. 196203171991031001
Universitas Sumatera Utara
ii
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
131401073
Universitas Sumatera Utara
iii
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
menyelesaikan skripsi serta teman seperjuangan Nurhasanah, Lily Aulya, Windi
Universitas Sumatera Utara
iv
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
Penulis
Universitas Sumatera Utara
v
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) masingmasing dengan nilai rata-rata 1.6 , 62.49%, dan 37,51% %.
Kata Kunci: Kriptografi, Kompresi, Asimetris, ElGamal, Elias Delta Code, Agrawal
Biswas.
Universitas Sumatera Utara
vi
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,
Agrawal Biswas
Universitas Sumatera Utara
vii
DAFTAR ISI
Halaman
Persetujuan ........................................................................................................... i
Pernyataan ............................................................................................................ ii
Perhargaan ............................................................................................................ iv
Abstrak ................................................................................................................. v
Abstract ................................................................................................................. vi
Daftar Isi ............................................................................................................... vii
Daftar Tabel .......................................................................................................... x
Daftar Gambar....................................................................................................... xi
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
2.3.3.2. Peak Signal to Noise Ratio ...................................................... 29
Universitas Sumatera Utara
viii
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.1 Hasil Pengujian ke-1 ....................................................... 71
Universitas Sumatera Utara
ix
4.2.7.2 Hasil Pengujian ke-2 ....................................................... 73
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
5.1. Kesimpulan .......................................................................................... 83
5.2. Saran .................................................................................................... 84
Daftar Pustaka ...................................................................................................... 85
Universitas Sumatera Utara
x
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
Tabel 4.3 Hasil Uji Coba Berdasarkan Waktu ........................................................... 80
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
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 3.21 Rancangan Interface Halaman Help ............................................... 52
Universitas Sumatera Utara
xii
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
Gambar 4.38 Grafik perbandingan hasil pengujian waktu pada proses kompresi,
enkripsi, dekripsi, dan dekompresi .................................................. 81
Universitas Sumatera Utara
xiii
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Listing Program A-1 .......................................................................... A-1
Lampiran 2 Curriculum Vitae B-1 ........................................................................ B-1
Universitas Sumatera Utara