Implementasi Keamanan Teks Pada Citra Bitmap Dengan Kombinasi Algoritma Knapsack Dan Algoritma Least Significant Bit (LSB) Terhadap Modifikasi Nilai Brightness
IMPLEMENTASI KEAMANAN TEKS PADA CITRA BITMAP DENGAN KOMBINASI ALGORITMA KNAPSACK DAN ALGORITMA LEAST
(LSB) TERHADAP MODIFIKASI NILAI BRIGHTNESS SKRIPSI DIRA FAHRENDY SEMBIRING 081401100
PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
IMPLEMENTASI KEAMANAN TEKS PADA CITRA BITMAP DENGAN KOMBINASI ALGORITMA KNAPSACK DAN ALGORITMA LEAST
SIGNIFICANT BIT (LSB) TERHADAP MODIFIKASI
NILAI BRIGHTNESS SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar sarjana komputer
DIRA FAHRENDY SEMBIRING 081401100
PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
PERSETUJUAN
Judul : IMPLEMENTASI KEAMANAN TEKS PADA CITRA BITMAP DENGAN KOMBINASI ALGORITMA KNAPSACK DAN ALGORITMA
LEAST SIGNIFICANT BIT (LSB) TERHADAP
MODIFIKASI NILAI BRIGHTNESS Kategori : SKRIPSI Nama : DIRA FAHRENDY SEMBIRING Nomor Induk Mahasiswa : 081401100 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, 27 Agustus 2013
Komisi Pembimbing : Pembimbing II Pembimbing I M. Andri B, ST,M.Comp.Sc, MEM Dr. Poltak Sihombing, M. Kom NIP. 197510082008011011 NIP. 196203171991031001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP.196203171991031001
PERNYATAAN
IMPLEMENTASI KEAMANAN TEKS PADA CITRA BITMAP DENGAN KOMBINASI ALGORITMA KNAPSACK DAN ALGORITMA LEAST
SIGNIFICANT BIT (LSB) TERHADAP MODIFIKASI
NILAI BRIGHTNESS SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Agustus 2013 Dira Fahrendy Sembiring 081401100
PENGHARGAAN
Alhamdulillahirrabbil’alamin. Puji dan syukur penulis ucapkan kepada Allah SWT atas limpahan rahmat, rezeki dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, dan tidak lupa Shalawat dan salam kepada Rasulullah Muhammad SAW.
Pada pengerjaan skripsi dengan judul Implementasi keamanan teks pada citra bitmap dengan kombinasi algoritma knapsack dan algoritma least significant bit (LSB) terhadap modifikasi nilai brightness, penulis menyadari bahwa banyak memperoleh bantuan dari berbagai pihak yang turut membantu dan memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada: 1.
Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, MSc(CTM). Sp.A(K) selaku rektor Universitas Sumatera Utara periode 2010 – 2015.
2. selaku Dekan Fakultas Ilmu Komputer
Bapak Prof. DR. Muhammad Zarlis M.Sc dan Teknologi Informasi.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku ketua program studi S-1 Ilmu Komputer dan selaku dosen pembimbing I.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi Ilmu Komputer 5.
Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku dosen pembimbing II yang banyak memberikan motivasi nasehat dan arahan yang baik khususnya pada teknik penulisan tugas akhir ini.
6. Bapak Ade Candra, ST, M.Kom dan bapak Handrizal, S.Si, M.Comp.Sc selaku dosen Pembanding I dan II, atas kritik dan saran beliau maka penulisan tugas akhir ini dapat diselesaikan dengan baik.
7. Teristimewa penulis ucapkan terima kasih sebesar-besarnya kepada kedua orang tua penulis ayahanda Ir Edison Sembiring, MT dan ibunda tersayang Dra Nurdiana
Br Ginting Abangda tersayang Dira Ervandy Sembiring, SE adinda tersayang Dira tri Armanda, dan Dira Aprilia Timanta yang selalu mendo’akan dan memberi motivasi dan perhatian yang diberikan sehingga penulis dapat menyelesaikan skripsi ini.
8. Teman teristimewa Namira Listya Utami Tanjung, S.Kom yang selalu menemani dan tak henti-hentinya memberi motivasi, dukungan dan doa.
9. Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2008 secara khusus dan seluruh perkumpulan parkir rangers crew ( Octi Fadhilla, S.Kom, Nanang Tri Bhuana, S.Kom, Khairunnisa Lubis, S.Kom Nurul Faradhilla, S.Kom, Rahmad parmohonan, S.Kom, Gustaf Prameswara, S.Kom, Yassin R Fadhilah Harahap, S.kom, Nasan Martua Siregar, S.Kom, Andika Diapari S.Kom, Setyo Muhammad, S.Kom, Marthin Febrianto) yang telah memberikan semangat, motivasi dan dukungan moril yang tiada hentinya serta setia mendampingi penulis sampai penulisan skripsi ini selesai.
10. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, oleh
karena itu penulis menerima kritik dan saran yang bersifat membangun demi
kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya.Medan, Agustus 2013 Penulis
ABSTRAK
Algoritma Knapsack merupakan bagian dari kriptografi asimetri yang mana kunci enkripsinya berbeda dengan kunci dekripsinya. Steganografi adalah teknik menyembunyikan data ke dalam data lain dengan cara menumpanginya tanpa mengubah data yang ditumpanginya tersebut sehingga tampilan data tetap terlihat sama. Dalam penelitian ini kriptografi dan steganografi akan digabungkan dan diimplementasikan kedalam sebuah program kombinasi. Algoritma yang digunakan adalah knapsack untuk kriptografi dan LSB (Least Bit Significant) untuk Steganografi. Dimana plainteks terlebih dahulu dienkripsi menggunakan Knapsack kemudian disisipkan ke file citra (citra penampung) menggunakan algoritma LSB. Plainteks dalam bentuk file *.txt dan citra penampung berformat *.bmp. Selain kedua kombinasi tersebut maka dilakukan juga modifikasi nilai brightness pada citra penampung yang telah disisipkan untuk memperketat keamanan data teks. Hasil pengujian pada sebuah sampel yang memiliki panjang 4 karakter dan waktu yang dibutuhkan untuk enkripsi adalah 0.860558 detik. Cipherteks juga memiliki panjang 4 karakter, waktu untuk penyisipan kedalam citra berukuran 100 × 137 piksel adalah 9.31643 detik dengan penambahan nilai brightness sebesar 30. Untuk pengembalian cipherteks menjadi plainteks dilakukan ekstraksi terlebih dahulu kemudian dekripsi. Pada penelitian ini semakin besar ukuran citra penampungnya maka semakin lama waktu proses penyisipan cipherteks ke dalam citra penampung tersebut. Namun semakin besar citra penampungnya semakin besar pula kapasitas pesan yang dapat disembunyikan.
. Katakunci : BMP, Brightness, Knapsack, Least Significant bit, txt
IMPLEMENTATION OF TEXT SECURITY ON BITMAP IMAGE WITH COMBINATION OF KNAPSACK AND LEAST SIGNIFICANT BIT (LSB) ALGORITHM FOR THE BRIGHTNESS VALUE MODIFICATION ABSTRACT
Knapsack algorithm is part of the asymmetric cryptography which encryption key is different from the decryption key. Steganography is a technique for hiding the main data inside the other one by riding without changing the data host so the display of data still look the same. In this study, cryptography and steganography will be colaboraated and implemented into a combination of program. We will use knapsack algorithm for cryptography and LSB (Least Significant Bit) for Steganography. Where the plaintext will be encrypted using the Knapsack then pasted into the image file (image cover) using LSB algorithm. Plaintext in a file *.txt format. and the image container format *.Bmp. Except the combination of the two algorithm, we also modified brightness values in the cover image that has been inserted for text data security tightened. The test results on a sample that has a length of 4 characters and the time required for encryption is 0.860558 seconds. Ciphertext also has a length of 4 characters, the time for insertion into the image size is 100 × 137 pixels 9.31643 seconds with addition of brightness value is 30. For returns the ciphertext into plaintext, we do the extraction first and then the decryption. In this study, the larger image size the longer embedding ciphertext into the cover image. However, the larger cover image, the larger capacity of the message that can be hidden.
Keywords : Bmp, Brightness, Knapsack, Least Significant Bit, Txt
DAFTAR ISI
4
8
2.1.2 Algoritma Asimetris
7
2.1.1 Algoritma Simetris
6
2.1 Kriptografi
5 Bab 2 Landasan Teori
1.7 Sistematika Penulisan
4
1.6 Metodologi Penelitian
4
1.5 Manfaat Penelitian
Halaman Persetujuan ii
Pernyataan iii
3
1.3 Batasan Masalah
3
1.2 Rumusan Masalah
1
1.1 Latar Belakang Masalah
Bab 1 Pendahuluan
Daftar Gambar xii
Daftar Tabel xi
Daftar Isi viii
Abstract vii
Abstrak vi
Penghargaan iv
1.4 Tujuan Penelitian
2.2
9 Algoritma Knapsack
2.2.1
9 Knapsack Problem
2.2.2
11 Enkripsi Dan Dekripsi
2.3
13 Steganografi
2.4
14 Citra Digital
2.4.1
15 Format Citra Digital
2.4.2
16 Format Citra Bitmap
2.5
18 Algoritma LSB
2.5.1
19 Algoritma LSB Terhadap Modifikasi Nilai Brightness
Bab 3 Analisis Dan Perancangan Sistem
3.1
21 Analisis Sistem
3.1.1
21 Analisis Masalah
3.2
22 Analisis Persyaratan 3.2.1.
23 Persyaratan Fungsional 3.2.2.
23 Persyaratan Non-Fungsional
3.3
24 Pemodelan Sistem
3.3.1
24 Use case Diagram
3.3.1.1
25 Activity Diagram untuk Use case Bangkit kunci
3.3.1.2
26 Activity Diagram untuk Use case Enkripsi
3.3.1.3
27 Activity Diagram untuk Use case Penyisipan
3.3.1.4
29 Activity Diagram untuk Use case Ekstraksi
3.3.1.5
30 Activity Diagram untuk Use case Dekripsi
3.3.2
32 Sequence Diagram
3.3.3
34 Flowchart Sistem
3.4
39 Perancangan Antar Muka
3.4.1
40 Rancangan Menu Utama
3.4.2
41 Rancangan Pembangkit Kunci Dan Enkripsi
3.4.3
42 Rancangan Penyisipan
3.4.4
43 Rancangan Ekstraksi
3.4.5
44 Rancangan Bantuan
3.4.6
45 Rancangan Tentang Bab 4 Implementasi dan Pengujian Sistem 4.1.
45 Pemrosesan Keamanan Pesan
4.1.1
45 Tahapan algoritma Knapsack dan LSB
4.1.1.1 Proses Enkripsi menggunakan algoritma Knapsack 45
4.1.1.2
47 Proses Penyisipan menggunakan algoritma LSB
4.1.1.3 Proses Dekripsi menggunakan algoritma Knapsack 51 4.2.
52 Implementasi Sistem
4.2.1
52 Form Menu Utama
4.2.2
53 Form Enkripsi
4.2.3
54 Form Penyisipan
4.2.4
55 Form Ekstraksi dan Dekripsi 4.3.
56 Pengujian Sistem
4.3.1
56 Proses Enkripsi
4.3.2
61 Proses Penyisipan
4.3.3
64 Proses Ekstraksi
4.3.4
66 Proses Dekripsi
Bab 5 Penutup 5.1.
70 Kesimpulan 5.2.
71 Saran Daftar Pustaka
72 Lampiran A Lampiran B
DAFTAR TABEL
Halaman
2.1 BMP File Header
17
3.1 Spesifikasi Use Case Bangkit Kunci
25
3.2 Spesifikasi Use Case Enkripsi
27
3.3 Spesifikasi Use Case Penyisipan
28
3.4 Spesifikasi Use case Ekstraksi
30
3.5 Spesifikasi Use case Dekripsi
31
4.1 Hasil percobaan beberapa jenis citra
69
DAFTAR GAMBAR
3.15 Flowchart Ekstraksi
3.10 Sequence Diagram Bangkit Kunci
34
3.11 Flowchart Bangkit Kunci
35
3.12 Flowchart Sistem Enkripsi
36
3.13 Flowchart Enkripsi
36
3.14 Flowchart Penyisipan
37
38
3.9 Sequence Diagram Penyisipan
3.16 Flowchart Sistem Dekripsi
38
3.17 Flowchart Dekripsi
39
3.18 Rancangan Menu Utama
40
3.19 Rancangan Bangkit Kunci Dan Enkripsi
41
3.20 Rancangan Penyisipan
42
3.21 Rancangan Ekstraksi
33
32
Halaman
22
2.1 Proses Enkripsi Dan Dekripsi
6
2.2 Diagram Proses Enkripsi Dan Dekripsi Algoritma Simetris
8
2.3 Diagram Proses Enkripsi Dan Dekripsi Algoritma Asimetris
8
2.4 Format Citra 8-bit (256 Warna)
16
2.5 Format Citra 24-bit (16 Juta Warna)
17
3.1 Diagram Ishikawa Untuk Analisis Permasalahan Sistem
3.2 Use Case Diagram
3.8 Sequence Diagram Enkripsi
24
3.3 Activity Diagram Bangkit Kunci
25
3.4 Activity Diagram Enkripsi
26
3.5 Activity Diagram Penyisipan
28
3.6 Activity Diagram Ekstraksi
28
3.7 Activity Diagram Dekripsi
31
43
3.22 Rancangan Bantuan
4.17 Stego Image Termodifikasi
59
4.13 Simpan Kunci Rahasia
60
4.14 Simpan Cipherteks
60
4.15 Memasukkan Citra Cover
61
4.16 Pilih Teks
62
63
58
4.18 Simpan Stego Image Termodifikasi
64
4.19 Buka File Citra
65
4.20 Ekstraksi
66
4.21 Load Kunci
67
4.22 Dekripsi
4.12 Proses Enkripsi
4.11 Buka File Teks
44
50
3.23 Rancangan Tentang
45
4.1 Citra Cover (100 × 137 Piksel)
48
4.2 Citra Dalam Bentuk Biner
48
4.3 Proses Penyisipan
49
4.4 Sebelum Termodifikasi
4.5 Sesudah Termodifikasi
57
50
4.6 Form Menu Utama
53
4.7 Form Enkripsi
54
4.8 Form Penyisipan
55
4.9 Form Ekstraksi dan Dekripsi
56
4.10 Input Parameter
68