PERANCANGAN PERANGKAT LUNAK PENGENKRIPSIAN
CITRA *.BMP, *.GIF DAN *.JPG
DENGAN METODE HILL
SKRIPSI
HENDRY YUANDI
041401061
DEPARTEMEN S-1 ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
PERANCANGAN PERANGKAT LUNAK PENGENKRIPSIAN CITRA *.BMP, *.GIF DAN *.JPG DENGAN METODE HILL
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
Hendry Yuandi 041401061
DEPARTEMEN S-1 ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2008
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpah kurnia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Ibu Dra.Esther Nababan,M.Sc dan Bapak Syahriol Sitorus, S.Si, MIT selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan kajian ini. Panduan ringkas dan padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S-1 Ilmu Komputer FMIPA USU Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si,MIT., Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen dan pegawai pada Program Studi S-1 Ilmu Komputer FMIPA USU, rekan-rekan mahasiswa Ilmu Komputer serta semua pihak yang telah membantu dan memberi masukan kepada penulis.
Akhirnya, tidak terlupakan kepada bapak, ibu dan semua sanak-keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan. Semoga Tuhan Yang Maha Esa akan membalasnya.
PERNYATAAN
PERANCANGAN PERANGKAT LUNAK PENGENKRIPSIAN CITRA *.BMP, *.GIF DAN *.JPG DENGAN
METODE HILL
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Desember 2008
Hendry Yuandi NIM. 041401061
THE DESIGN OF *.BMP, *.GIF, AND *.JPG IMAGE
ENCRYPTION SOFTWARE WITH HILL METHOD
ABSTRACT
Nowadays, image file as one of the digital data form, are used to save photo, image, or design in digital format. If those file weren’t protected while were sent through an open network like the internet, it might possible that those files can fall into the wrong hand. One of the ways to prevent it is by encrypting those files into a randomized image file,hence if those files fell into the wrong hand, they could not be used. One of the methods that we can use to encrypt those files is by using Hill Cipher. Hill Cipher is actually used to encrypt text file, but by changing the calculation of the RBG (Red Green Blue) amount of the image, then Hill Cipher can be used to encrypt the image file. Hill Cipher uses square matrix as the key of the encryption. By choosing the right matrix, Hill Cipher can be used for encryption because it only needs common matrix operation so that the process is quite fast. The goal of this writing is to create and design a software that can encrypt image file with Hill Cipher. The key that can be used including square matrix with ordo 2x2, 3x3. The result file of the encryption can be printed and saved again in *.BMP format. This writing also includes a test to the photo file image and cartoon file image so that can be known which image file that can be encrypted with hill Cipher.
ABSTRAK
File citra sebagai salah satu bentuk data digital saat ini banyak dipakai untuk
menyimpan photo, gambar, ataupun hasil karya dalam format digital. Bila file-file tersebut tidak diamankan sewaktu dikirimkan ke jaringan terbuka seperti Internet, dikuatirkan file tersebut dapat jatuh ke pihak yang tidak diinginkan. Salah satu caranya adalah menyandikan citra tersebut sehingga bentuk citra menjadi teracak. Dan bila jatuh ke tangan yang tidak diinginkan, citra tersebut juga tidak bisa digunakan. Salah satu metode penyandian untuk tujuan di atas adalah menggunakan teknik penyandian dengan Hill Cipher. Hill Cipher sebenarnya merupakan salah satu teknik penyandian teks, tetapi dengan melakukan perubahan perhitungan pada nilai RGB (Red Green
Blue) citra maka Hill Cipher juga dapat dipakai untuk menyandikan citra. Hill Cipher
menggunakan matriks persegi sebagai kunci dalam proses penyandiannya. Dengan pemilihan matriks kunci yang baik, Hill Cipher dapat dipakai untuk penyandian karena hanya melibatkan operasi matriks biasa sehingga prosesnya relatif cepat.Hasil dari tulisan ini adalah perancangan dan pembuatan suatu perangkat lunak yang dapat melakukan penyandian citra dengan Hill Cipher. Matriks kunci yang dapat dipakai mencakup matriks persegi dengan ordo 2 × 2, 3 × 3. File citra hasil penyandian ini dapat dicetak dan disimpan kembali dalam format bitmap. Pada tulisan ini juga dilakukan pengujian pada file citra jenis photo dan jenis kartun agar diketahui jenis citra apa yang mampu disandikan dengan Hill Cipher.
DAFTAR ISI HALAMAN JUDUL ... i HALAMAN PERSETUJUAN ... ii PERNYATAAN ... iii PENGHARGAAN ... iv ABSTRAK ... v ABSTRACT ... vi
DAFTAR ISI ... vii
DAFTAR TABEL ... ix
DAFTAR GAMBAR ... x
BAB I PENDAHULUAN... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 3 1.3 Diagram Konsepsi ... 3 1.4 Batasan Masalah ... 4 1.5 Tujuan Penulisan ... 5 1.6 Metodologi Penelitian ... 5 1.7 Sistematika Penulisan ... 6
BAB II LANDASAN TEORI ... 7
2.1 Definisi Matriks ... 7
2.1.1 Pengertian Ordo Suatu Matriks ... 7
2.1.2 Operasi Pada Matriks ... 8
2.2 Pengertian Citra ... 10
2.2.1 Mode Warna ... 11
2.2.2 Penyimpanan Citra ... 11
2.2.2.1 Format File Citra BMP ... 12
2.2.2.2 Format File Citra GIF ... 14
2.2.2.3 Format File Citra JPEG... 17
2.3 Pengertian Kriptografi ... 18
2.3.1 Jenis-Jenis Pengamanan Data ... 20
2.3.1.1 Pengkodean Dan Buku Kode ... 21
2.3.1.2 Steganografi ... 22
2.3.1.3 Ciphers ... 23
2.4 Hill Cipher... 27
2.4.1 Pengenkripsian Hill Cipher ... 29
2.4.2 Pendekripsian Hill Cipher ... 31
2.4.3 Memecahkan Hill Cipher ... 34
2.4.4 Kriptanalisis Hill Cipher ... 34
2.4.5 Dasar Matematika Penyandian Citra pada Hill Cipher ... 35
2.4.6 Algoritma Enkripsi dan Dekripsi Hill Cipher ... 36
3.1.4 Perhitungan Penyandian dengan Matriks 3 × 3 ... 49
3.2 Perancangan ... 54
3.2.1 Perancangan Form ... 54
3.2.2 Perancangan Class Module... 58
3.2.3 Perancangan Module ... 59
BAB IV ALGORITMA DAN IMPLEMENTASI ... 61
4.1 Algoritma ... 61
4.1.1 Algoritma Menghitung Determinan Matriks 2 × 2 ... 61
4.1.2 Algoritma Menghitung Determinan Matriks 3 × 3 ... 61
4.1.3 Algoritma Perkalian Matriks ... 61
4.1.4 Algoritma Invers Matriks ... 62
4.1.5 Algoritma Enkripsi Hill Cipher ... 63
4.1.6 Algoritma Dekripsi Hill Cipher ... 66
4.2 Implementasi Sistem... 69
4.2.1 Spesifikasi Perangkat Keras dan Perangkat Lunak ... 69
4.2.2 Cara Instalasi ... 69
4.2.3 Cara Penggunaan Program ... 70
4.2.4 Pengujian ... 73
BAB V KESIMPULAN DAN SARAN... 87
5.1 Kesimpulan ... 87
5.2 Saran ... 87
DAFTAR PUSTAKA ... 89
DAFTAR TABEL
Tabel 2.1 Format File BMP ... 13
Tabel 2.2 Format File GIF ... 14
DAFTAR GAMBAR
Gambar 2.1 Citra Analog ... 10
Gambar 2.2 Citra Digital... 11
Gambar 2.3 Beberapa Teknik Enkripsi Sederhana... 19
Gambar 2.4 Ilustrasi Proses Enciphering Hill Cipher ... 29
Gambar 2.5 Ilustrasi Proses Deciphering Hill Cipher ... 31
Gambar 3.1 Ilustrasi Nilai RGB pada Piksel ... 38
Gambar 3.2 Representasi Nilai Piksel Untuk Matriks 2 × 2 ... 39
Gambar 3.3 Representasi Nilai Piksel Untuk Matriks 3 × 3 ... 39
Gambar 3.4 Representasi Nilai Piksel Untuk Matrikx 4 × 4 ... 40
Gambar 3.5 Diagram Alir Enkripsi atau Penyandian Citra ... 41
Gambar 3.6 Diagram Alir Dekripsi atau Penyandian Balik Citra ... 43
Gambar 3.7 Perancangan Form Splash ... 55
Gambar 3.8 Perancangan Form Utama ... 56
Gambar 3.9 Perancangan Form Konfirmasi ... 57
Gambar 4.1 Tampilan Splash Screen ... 70
Gambar 4.2 Tampilan Form Utama untuk Input Matriks Kunci 2 × 2... 71
Gambar 4.3 Tampilan Form Utama untuk Input Matriks Kunci 3 × 3... 72
Gambar 4.4 Tampilan Form Konfirmasi ... 73
Gambar 4.5 Citra Asli Dengan Variasi Nilai RGB yang Tinggi ... 73
Gambar 4.6 Hasil Proses Citra Photo dengan Matriks 2 × 2: 2 1 5 3 Iterasi Pertama ... 74
Gambar 4.7 Hasil Proses Citra Photo dengan Matriks 2 × 2: 2 1 5 3 Iterasi Kedua ... 74
Gambar 4.8 Hasil Proses Citra Photo dengan Matriks 2 × 2: 2 1 5 3 Iterasi Ketiga ... 75
Gambar 4.9 Hasil Proses Citra Photo dengan Matriks 2 × 2: 19 5 12 23
pada Iterasi Pertama ... 75 Gambar 4.10 Hasil Proses Citra Photo dengan Matriks 2 × 2: 19 5
12 23
pada Iterasi Kedua ... 76 Gambar 4.11 Hasil Proses Citra Photo dengan Matriks 2 × 2: 19 5
12 23
pada Iterasi Ketiga ... 76
Gambar 4.12 Hasil Proses Citra Photo dengan Matriks 3 × 3:
1 1 1 0 1 1 1 0 1 Iterasi Pertama ... 77
Gambar 4.13 Hasil Proses Citra Photo dengan Matriks 3 × 3:
1 1 1 0 1 1 1 0 1 Iterasi Kedua ... 78
Gambar 4.14 Hasil Proses Citra Photo dengan Matriks 3 × 3:
1 1 1 0 1 1 1 0 1 Iterasi Ketiga ... 78 Gambar 4.15 Citra Asli Jenis Kartun ... 79 Gambar 4.16 Hasil Proses Citra Kartun dengan Matriks 2 × 2: 2 1
5 3
Iterasi Pertama ... 79 Gambar 4.17 Hasil Proses Citra Kartun dengan Matriks 2 × 2: 2 1
5 3
Iterasi Kedua ... 79 Gambar 4.18 Hasil Proses Citra Kartun dengan Matriks 2 × 2: 2 1
5 3
Gambar 4.19 Hasil Proses Citra Kartun dengan Matriks 2 × 2: 19 5 12 23 Iterasi Pertama ... 80 Gambar 4.20 Hasil Proses Citra Kartun dengan Matriks 2 × 2: 19 5
12 23
Iterasi Kedua ... 80 Gambar 4.21 Hasil Proses Citra Kartun dengan Matriks Kedua 2 × 2: 19 5
12 23
Iterasi Ketiga ... 81
Gambar 4.22 Hasil Proses Citra Kartun dengan Matriks 3 × 3:
1 1 1 0 1 1 1 0 1 Iterasi Pertama ... 81
Gambar 4.23 Hasil Proses Citra Kartun dengan Matriks 3 × 3:
1 1 1 0 1 1 1 0 1 Iterasi Kedua ... 81
Gambar 4.24 Hasil Proses Citra Kartun dengan Matriks 3 × 3:
1 1 1 0 1 1 1 0 1 Iterasi Ketiga ... 82 Gambar 4.25 Citra Asli Jenis Kartun Kualitas Photo ... 82 Gambar 4.26 Hasil Proses Citra Kartun Kualitas Photo dengan Matriks 2 x 2 :
2 1 5 3
Iterasi Pertama... 83 Gambar 4.27 Hasil Proses Citra Kartun Kualitas Photo dengan Matriks 2 x 2 :
2 1 5 3
Iterasi Kedua ... 83 Gambar 4.28 Hasil Proses Citra Kartun Kualitas Photo dengan Matriks 2 x 2 :
2 1 5 3
Iterasi Ketiga ... 84
Gambar 4.29 Citra Hasil Dekripsi Balik dengan Matriks Kunci 2 × 2, dan 3 × 3 2 1 5 3 dan 1 1 1 0 1 1 1 0 1 ... 85
Gambar 4.30 Citra Hasil Dekripsi Balik dengan Matriks Kunci 2 × 2 : 19 5
12 23