Implementasi Algoritma Lempel - Ziev - Welch dan Adaptive Huffman Coding pada Kriptografi Visual.
i Universitas Kristen Maranatha
IMPLEMENTASI ALGORITMA LEMPEL-ZIV-WELCH DAN
ADAPTIVE HUFFMAN CODING PADA KRIPTOGRAFI VISUAL
Disusun oleh :Edwin Purnaman Tanjung (1022014)
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha Jl. Prof. Drg. Suria Sumantri, MPH, No. 65, Bandung, Indonesia
E – mail : Edwinpurnaman1022014@gmail.com
ABSTRAK
Penumpukan 2 buah share pada kriptografi visual secara umum akan menampilkan informasi tentang pesan rahasia yang dikirim oleh pengirim. Algoritma
Lempel-Ziv-Welch (LZW) dan Adaptive Huffman Coding diimplementasikan agar
penumpukan 2 buah share tidak memberikan informasi apapun tentang pesan rahasia. Algoritma Lempel-Ziv-Welch (LZW) dan Adaptive Huffman Coding yang diimplementasikan akan mengacak nilai piksel pada citra awal (pesan rahasia) sebelum masuk ke proses kriptografi visual sehingga penumpukan 2 buah share hanya akan menampilkan nilai hasil pengacakan citra awal. Citra awal yang dipakai pada Tugas Akhir ini merupakan citra grayscale dengan format GIF, JPEG dan BMP.
Implementasi algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding pada kriptografi visual secara keseluruhan berhasil dilakukan. Selain itu citra hasil rekonstruksi yang merupakan informasi yang dikirimkan oleh pengirim berhasil diidentiikasi meskipun secara rata-rata kualitas citra dengan format BMP dan JPEG lebih bagus dari kualitas citra dengan format GIF.
(2)
ii Universitas Kristen Maranatha
IMPLEMENTATION OF LEMPEL-ZIV-WELCH AND ADAPTIVE
HUFFMAN CODING ALGORITHM IN
VISUAL CRYPTOGRAPHY
Composed By :
Edwin Purnaman Tanjung (1022014)
Department of Electrical Engineering, Faculty of Engineering, Maranatha Christian University, Bandung, Indonesia
E – mail : Edwinpurnaman1022014@gmail.com
ABSTRACT
Stacking 2 share in visual cryptography generally will show the secret message which is sent by sender. Lempel-Ziv-Welch (LZW) and Adaptive Huffman Coding is implemented so that stacking 2 share will not give information about secret message.
Lempel-Ziv-Welch and Adaptive Huffman Coding algorithm which is implemented will randomize pixel value in initial image (secret message) before entering the process of visual cryptography so that stacking 2 share only show the result of initial image randomization. The initial image used in this final project is a grayscale image with GIF,JPEG and BMP format.
Implementation of Lempel-Ziv-Welch and Adaptive Huffman Coding in visual cryptography overall successful. Reconstructed image which is information sent by sender successfully identificated although the average of quality image of BMP and JPEG format is better than the quality image with GIF format.
(3)
v Universitas Kristen Maranatha
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... vii
DAFTAR TABEL ... xi
BAB I PENDAHULUAN 1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan Tugas Akhir ... 3
1.4 Batasan Masalah... 3
1.5 Sistematika Penulisan ... 3
BAB II LANDASAN TEORI 2.1 Pengertian Citra ... 5
2.2 Citra Biner ... 5
2.3 Citra Grayscale ... 6
2.4 Operator Boolean OR dan XOR ... 7
2.5 Perluasan Piksel ... 8
2.6 Halftoning ... 8
2.6.1 Constant Threshold Halftoning ... 8
2.6.2 Error Diffusion ... 9
2.7 Algoritma Lempel-Ziev-Welch (LZW)... 11
2.8 Algoritma Adaptive Huffman Coding ... 18
2.8.1 Proses Update... 20
2.8.2 Proses Penyandian (encoding) ... 23
(4)
vi Universitas Kristen Maranatha
2.9 Kriptografi Visual (Visual Cryprography) ... 26
2.10 Skema Kriptografi Visual (2,2) dengan 2 subpiksel ... 26
2.11 Peak Signal to Noise Ratio (PSNR) ... 28
BAB III PERANCANGAN DAN REALISASI PERANGKAT LUNAK 3.1 Diagram Blok Sistem ... 29
3.2 Halftoning Menggunakan metoda Floyd – Steinberg Error Diffusion ... 33
3.3 Algoritma Lempel-Ziv-Welch (LZW) ... 35
3.4 Algoritma Adaptive Huffman Coding ... 51
3.5 Kriptografi Visual ... 64
3.6 Penumpukan Share 1 dan Share 2 ... 66
BAB IV DATA PENGAMATAN DAN ANALISIS 4.1 Data Pengujian ... 71
4.2 Data Pengamatan ... 72
4.2.1 Citra Masukan dengan Format GIF ... 72
4.2.2 Citra Masukan dengan Format BMP ... 82
4.2.3 Citra Masukan dengan Format JPEG ... 88
4.3 Analisis Hasil Pengamatan ... 94
BAB V SIMPULAN DAN SARAN 5.1 Kesimpulan ... 96
5.2 Saran ... 96
DAFTAR PUSTAKA ... 97 LAMPIRAN
(5)
vii Universitas Kristen Maranatha
DAFTAR GAMBAR
Gambar 2.1 Citra biner ... 6
Gambar 2.2 Citra grayscale 8-bit Lena dan Einstein ... 6
Gambar 2.3 Perluasan piksel putih menjadi 2 subpiksel ... 8
Gambar 2.4 Citra yang mengalami proses constant treshold halftoning, (a) citra grayscale, (b) citra hasil thresholding ... 9
Gambar 2.5 Diagram Blok Error Diffusion ... 10
Gambar 2.6 Error filter h(k,l) Floyd – Steinberg ... 10
Gambar 2.7 Perbandingan Citra awal dengan citra hasil error diffusion, (a) citra awal, (b) citra hasil error diffusion ... 11
Gambar 2.8 Proses update pohon Huffman untuk huruf a a r d v ... 23
Gambar 2.9 Contoh Kriptografi visual (2,2) dengan 2 subpiksel, (a) Citra rahasia, (b) Share 1, (c) Share 2, (d) Citra hasil rekonstruksi ... 27
Gambar 3.1 Diagram blok sistem secara keseluruhan, (a) proses enkripsi, (b) proses dekripsi ... 29
Gambar 3.2 Diagram alir sistem secara keseluruhan, (a) proses enkripsi, (b) proses dekripsi ... 32
Gambar 3.3 Diagram Alir Error Diffusion ... 34
Gambar 3.4 Kotak dialog workspace pada Matlab ... 35
Gambar 3.5 Kotak dialog variable editor untuk enc_LZW pada Matlab ... 36
Gambar 3.6 Diagram alir encoding LZW ... 41
Gambar 3.6 Diagram alir encoding LZW ... 42
Gambar 3.7 Diagram alir fungsi newTable ... 43
Gambar 3.8 Diagram alir fungsi findCode ... 44
Gambar 3.9 Diagram Alir addCode ... 44
Gambar 3.10 Diagram alir decoding LZW ... 45
Gambar 3.10 Diagram alir decoding LZW ... 47
(6)
viii Universitas Kristen Maranatha
Gambar 3.10 Diagram alir decoding LZW ... 49
Gambar 3.11 Diagram alir fungsi getCode ... 51
Gambar 3.12 Diagram alir algoritma Adaptive Huffman Coding ... 54
Gambar 3.12 Diagram alir algoritma Adaptive Huffman Coding ... 55
Gambar 3.12 Diagram alir algoritma Adaptive Huffman Coding ... 56
Gambar 3.12 Diagram alir algoritma Adaptive Huffman Coding ... 57
Gambar 3.12 Diagram alir algoritma Adaptive Huffman Coding ... 58
Gambar 3.13 Diagram alir fungsi nodecode ... 59
Gambar 3.14 Diagram alir fungsi newsymbol ... 60
Gambar 3.15 Diagram alir fungsi updatetree ... 61
Gambar 3.15 Diagram alir fungsi updatetree ... 62
Gambar 3.16 Diagram alir fungsi treeloop ... 63
Gambar 3.17 Diagram alir fungsi bits2dec ... 63
Gambar 3.18 Diagram alir dari proses kriptografi visual ... 65
Gambar 3.18 Diagram alir dari proses kriptografi visual ... 66
Gambar 3.19 Diagram alir untuk penggabungan 2 buah share ... 67
Gambar 3.20 Diagram alir untuk operasi XOR untuk setiap piksel ... 68
Gambar 3.21 Diagram alir Diagram alir untuk konversi 2 subpiksel menjadi 1 piksel ... 70
Gambar 4.1 Citra uji. ... 71
Gambar 4.2 Citra awal dan citra hasil error diffusion (catur.gif) ... 72
Gambar 4.3 Share 1, Share 2 dan hasil penumpukan (catur.gif) ... 74
Gambar 4.4 Hasil pembentukan menjadi citra awal (catur.gif) ... 77
Gambar 4.5 Citra awal dan citra hasil error diffusion (maranatha.gif) ... 77
Gambar 4.6 Share 1, Share 2 dan hasil rekonstruksi (maranatha.gif) ... 77
Gambar 4.7 Hasil pembentukan menjadi citra awal (maranatha.gif) ... 78
Gambar 4.8 Citra awal dan Citra hasil error diffusion (nrp.gif) ... 78
Gambar 4.9 Share 1, Share 2 dan hasil rekonstruksi (nrp.gif) ... 78
(7)
ix Universitas Kristen Maranatha
Gambar 4.11 citra awal dan citra hasil error diffusion (rahasia.gif) ... 79
Gambar 4.12 Share 1, Share 2 dan hasil rekonstruksi (rahasia.gif)... 80
Gambar 4.13 Share 1, Share 2 dan hasil rekonstruksi (rahasia.gif)... 80
Gambar 4.14 Citra Awal dan citra hasil error diffusion (smile.gif) ... 81
Gambar 4.15 Share 1, Share 2 dan hasil rekonstruksi (smile.gif) ... 81
Gambar 4.16 Hasil pembentukan menjadi citra awal (smile.gif) ... 82
Gambar 4.17 Citra awal dan citra hasil error diffusion (catur.bmp)... 82
Gambar 4.18 Share 1, Share 2 dan hasil rekonstruksi (catur.bmp) ... 82
Gambar 4.19 Hasil pembentukan menjadi citra awal (catur.bmp) ... 83
Gambar 4.20 Citra awal dan citra hasil error diffusion (maranatha.bmp) ... 83
Gambar 4.21 share 1, share 2 dan hasil rekonstruksi (maranatha.bmp) ... 83
Gambar 4.22 Hasil pembentukan menjadi citra awal (maranatha.bmp) ... 84
Gambar 4.23 Citra awal dan citra hasil error diffusion (nrp.bmp) ... 84
Gambar 4.24 share 1, share 2 dan hasil rekonstruksi (nrp.bmp) ... 85
Gambar 4.25 Hasil pembentukan menjadi citra awal (nrp.bmp) ... 85
Gambar 4.26 Citra awal dan citra hasil error diffusion (rahasia.bmp) ... 86
Gambar 4.27 share 1, share 2 dan hasil rekonstruksi (rahasia.bmp) ... 86
Gambar 4.28 Hasil pembentukan menjadi citra awal (rahasia.bmp) ... 87
Gambar 4.29 Citra awal dan citra hasil error diffusion (smile.bmp) ... 87
Gambar 4.30 share 1, share 2 dan hasil rekonstruksi (smile.bmp)... 87
Gambar 4.31 Hasil pembentukan menjadi citra awal (smile.bmp) ... 88
Gambar 4.32 Citra awal dan citra hasil error diffusion (catur.jpeg) ... 88
Gambar 4.33 share 1, share 2 dan hasil rekonstruksi (catur.jpeg) ... 88
Gambar 4.34 Hasil pembentukan menjadi citra awal (catur.jpeg) ... 89
Gambar 4.35 Citra awal dan citra hasil error diffusion (maranatha.jpeg) ... 89
Gambar 4.36 Share 1, Share 2 dan hasil rekonstruksi (maranatha.jpeg) ... 89
Gambar 4.37 Hasil pembentukan menjadi citra awal (maranatha.jpeg) ... 90
Gambar 4.38 Citra awal dan citra hasil error diffusion (nrp.jpeg)... 90
Gambar 4.39 Share 1, Share 2 dan hasil rekonstruksi (nrp.jpeg) ... 90
(8)
x Universitas Kristen Maranatha
Gambar 4.41 Citra awal dan citra hasil error diffusion (rahasia.jpeg)... 91
Gambar 4.42 Share 1, Share 2 dan hasil rekonstruksi (rahasia.jpeg) ... 91
Gambar 4.43 Hasil pembentukan menjadi citra awal (rahasia.jpeg) ... 92
Gambar 4.44 Citra awal dan citra hasil error diffusion (smile.jpeg) ... 92
Gambar 4.45 Share 1, Share 2 dan hasil rekonstruksi (smile.jpeg) ... 93
(9)
xi Universitas Kristen Maranatha
DAFTAR TABEL
Tabel 2.1 Tabel hasil operasi boolean OR dan XOR ... 7
Tabel 2.2 Hasil operasi boolean OR dan XOR pada piksel ... 7
Tabel 2.3 String table yang baru diinisialisasi ... 13
Tabel 2.4 String table yang dihasilkan selama proses enkoding LZW ... 14
Tabel 2.5 Proses enkoding LZW secara lengkap ... 15
Tabel 2.6 Proses dekoding LZW secara keseluruhan ... 17
Tabel 2.7 Kode biner untuk huruf a – z ... 25
Tabel 2.8 Pola piksel yang digunakan pada skema kriptografi visual (2,2) dengan 2 subpiksel ... 31
Tabel 4.1 Nilai piksel dari citra catur.gif ... 72
Tabel 4.2 Hasil pengubahan ukuran citra catur.gif ... 73
Tabel 4.3 Nilai hasil enkoding algoritma LZW (enkoding)... 73
Tabel 4.4 Nilai hasil enkoding algoritma Adaptive Huffman Coding... 74
Tabel 4.5 Nilai piksel pada share 1 (catur.gif)... 74
Tabel 4.6 Nilai piksel pada share 2 (catur.gif)... 74
Tabel 4.7 Nilai hasil penumpukan share 1 dan share 2 ... 75
Tabel 4.8 Hasil penumpukan share yang sudah direduksi ... 75
Tabel 4.9 Nilai hasil dekoding algoritma Adaptive Huffman Coding ... 75
Tabel 4.10 Nilai hasil dekoding algoritma LZW ... 76
Tabel 4.11 Nilai Hasil pembentukan citra ke ukuran semula ... 76
Tabel 4.12 Nilai Piksel pada share 1 (maranatha.gif) ... 78
Tabel 4.13 Nilai Piksel pada share 2 (maranatha.gif) ... 78
Tabel 4.14 Hasil penumpukan share 1 dan share 2 (maranatha.gif) ... 78
Tabel 4.15 Nilai Piksel pada share 1 (nrp.gif) ... 79
Tabel 4.16 Nilai Piksel pada share 2 (nrp.gif) ... 79
Tabel 4.17 Hasil penumpukan share 1 dan share 2 (nrp.gif)... 79
(10)
xii Universitas Kristen Maranatha
Tabel 4.19 Nilai Piksel pada share 2 (rahasia.gif) ... 80
Tabel 4.20 Hasil penumpukan share 1 dan share 2 (rahasia.gif) ... 80
Tabel 4.21 Nilai Piksel pada share 1 (smile.gif) ... 81
Tabel 4.22 Nilai Piksel pada share 2 (smile.gif) ... 81
Tabel 4.23 Hasil penumpukan share 1 dan share 2 (smile.gif) ... 81
Tabel 4.24 Nilai piksel pada share 1 (catur.bmp) ... 82
Tabel 4.25 Nilai piksel pada share 2 (catur.bmp) ... 83
Tabel 4.26 Hasil penumpukan share 1 dan share 2 (catur.bmp) ... 83
Tabel 4.27 Nilai Piksel pada share 1 (maranatha.bmp) ... 84
Tabel 4.28 Nilai Piksel pada share 2 (maranatha.bmp) ... 84
Tabel 4.29 Hasil penumpukan share 1 dan share 2 (maranatha.bmp) ... 84
Tabel 4.30 Nilai Piksel pada share 1 (nrp.bmp) ... 85
Tabel 4.31 Nilai Piksel pada share 2 (nrp.bmp) ... 85
Tabel 4.32 Hasil penumpukan share 1 dan share 2 (nrp.bmp) ... 85
Tabel 4.33 Hasil penumpukan share 1 dan share 2 (rahasia.bmp) ... 86
Tabel 4.34 Nilai Piksel pada share 1 (rahasia.bmp) ... 86
Tabel 4.35 Nilai Piksel pada share 2 (rahasia.bmp) ... 86
Tabel 4.36 Nilai Piksel pada share 1 (smile.bmp) ... 87
Tabel 4.37 Nilai Piksel pada share 2 (smile.bmp) ... 87
Tabel 4.38 Hasil penumpukan share 1 dan share 2 (smile.bmp)... 88
Tabel 4.39 Nilai piksel pada share 1 (catur.jpeg) ... 89
Tabel 4.40 Nilai piksel pada share 2 (catur.jpeg) ... 89
Tabel 4.41 Hasil penumpukan share 1 dan share 2 (catur.jpeg) ... 89
Tabel 4.42 Nilai Piksel pada share 1 (maranatha.jpeg) ... 90
Tabel 4.43 Nilai Piksel pada share 2 (maranatha.jpeg) ... 90
Tabel 4.44 Hasil penumpukan share 1 dan share 2 (maranatha.jpeg) ... 90
Tabel 4.45 Nilai Piksel pada share 1 (nrpjpeg)... 91
Tabel 4.46 Nilai Piksel pada share 2 (nrp.jpeg)... 91
Tabel 4.47 Hasil penumpukan share 1 dan share 2 (nrp.jpeg) ... 91
(11)
xiii Universitas Kristen Maranatha
Tabel 4.49 Nilai Piksel pada share 1 (rahasia.jpeg)... 92
Tabel 4.50 Nilai Piksel pada share 2 (rahasia.jpeg)... 92
Tabel 4.51 Nilai Piksel pada share 1 (smile.jpeg) ... 93
Tabel 4.52 Nilai Piksel pada share 2 (smile.jpeg) ... 93
Tabel 4.53 Hasil penumpukan share 1 dan share 2 (smile.jpeg) ... 93
(12)
1 Universitas Kristen Maranatha
BAB I
PENDAHULUAN
Pada bab ini, dijelaskan tentang pendahuluan dari pengerjaan Tugas Akhir yang terdiri dari latar belakang dari topik Tugas Akhir, rumusan masalah, tujuan penelitian, batasan masalah, dan sistematika penulisan
1.1. LATAR BELAKANG
Kriptografi visual merupakan metoda untuk melakukan enkripsi citra dengan tujuan untuk menyembunyikan informasi rahasia yang ada pada citra yang dienkripsi. Bentuk dari informasi rahasia itu sendiri biasanya berupa citra atau berupa bahan tertulis (berbentuk citra atau tulisan tangan). Enkripsi yang dilakukan pada citra adalah dengan cara membagi pesan rahasia dalam hal ini adalah citra asli / citra awal menjadi n - buah citra yang disebut share. Share tersebut akan disebarkan ke - n buah penerima yang disebut sebagai partisipan. Setiap partisipan harus menumpuk share sampai berjumlah k – buah, hal ini bertujuan untuk memperoleh informasi mengenai pesan rahasia. Penumpukan k – buah share akan memunculkan pesan rahasia yang dikirimkan oleh pengirim. Kriptografi visual merupakan teknik kriptografi yang memanfaatkan sistem visual manusia untuk melakukan dekripsi pesan rahasia.
Skema kriptografi visual (2,2) merupakan skema dengan hasil enkripsi berupa 2 buah share yaitu share 1 dan share 2. Setiap piksel pada citra awal akan digantikan dengan 2 subpiksel yang kemudian akan dimasukan ke dalam share 1 dan share 2, penggantian ini akan menyebabkan ukuran masing – masing share yang dihasilkan akan berukuran 2 kali lipat dari citra awal. Perbesaran ukuran
(13)
BAB I PENDAHULUAN
2
Universitas Kristen Maranatha citra menjadi p – kali ukuran citra awal dikenal sebagai perluasan piksel (pixel
expansion). Setiap share 1 dan share 2 tersusun dari sekumpulan piksel hitam dan
piksel putih yang memiliki pola tertentu, untuk mencegah diketahuinya isi dari pesan rahasia oleh orang lain, maka perlu dilakukan pengacakan nilai piksel pada citra awal, hal ini akan membuat penumpukan 2 buah share tidak akan memunculkan pesan rahasia, melainkan citra awal yang mengalami pengacakan nilai piksel. Algoritma yang akan diimplementasikan untuk melakukan proses pengacakan nilai piksel pada citra awal adalah algoritma Lempel-Ziev-Welch dan algoritma Adaptive Huffman Coding. Algoritma Lempel-Ziev-Welch akan mengacak nilai piksel pada citra awal menjadi urutan-urutan nilai piksel yang memiliki nilai tertentu, sedangkan algoritma Adaptive Huffman Coding akan mengubah setiap nilai pada hasil algoritma Lempel-Ziev-Welch menjadi urutan-urutan nilai yang hanya terdiri dari nilai 0 atau nilai 1 saja. Hasil algoritma yang terdiri dari nilai 0 atau nilai 1 nantinya akan masuk menjadi masukan untuk kriptografi visual. Pada Tugas Akhir ini, selain melakukan implementasi algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding pada proses kriptografi visual, akan dilihat pula pengaruh kedua algoritma yang diimplementasikan pada proses kriptografi visual (bentuk share, dan citra hasil rekonstruksi).
1.2 RUMUSAN MASALAH
Bagaimana mengimplementasikan algoritma Lempel-Ziv-Welch (LZW) dan algoritma Adaptive Huffman Coding pada kriptografi visual dengan bantuan perangkat lunak Matlab?
Bagaimana kualitas citra (citra rekonstruksi) setelah algoritma
Lempel-Ziev-Welch dan Adaptive Huffman Coding diimplementasikan pada
(14)
BAB I PENDAHULUAN
3
Universitas Kristen Maranatha
1.3 TUJUAN TUGAS AKHIR
Tujuan dari Tugas Akhir ini adalah mengimplementasikan algoritma
Lempel-Ziv-Welch (LZW) dan algoritma Adaptive Huffman Coding
pada kriptografi visual dengan bantuan perangkat lunak Matlab.
Mengukur kualitas citra setelah algoritma Lempel-Ziev-Welch dan
Adaptive Huffman Coding diimplementasikan pada proses kriptografi
visual.
1.4 BATASAN MASALAH
Batasan masalah pada Tugas Akhir ini adalah :
1. Citra yang dipakai berupa 5 buah citra grayscale dengan format gambar GIF, JPEG, dan BMP.
2. Lima buah citra yang dipakai memiliki ukuran 135 x 45 piksel, 132 x 20 piksel, 115 x 30 piksel, 100 x 60 piksel dan 76 x 76 piksel.
3. Skema kriptografi visual yang dipakai adalah skema kriptografi visual (2,2) dengan 2 subpiksel.
4. Operasi untuk melakukan penumpukan 2 buah share adalah operasi XOR.
1.5 SISTEMATIKA PENULISAN
Sistematika penulisan laporan Tugas Akhir ini disusun menjadi 5 bab sebagai berikut:
BAB I : PENDAHULUAN
Dalam bab ini dibahas mengenai permasalahan yang melatarbelakangi penulisan laporan Tugas Akhir, rumusan
(15)
BAB I PENDAHULUAN
4
Universitas Kristen Maranatha masalah, tujuan Tugas Akhir, pembatasan masalah dan sistematika penulisan.
BAB II : LANDASAN TEORI
Pada bab ini dibahas mengenai teori – teori yang digunakan sebagai panduan untuk membuat laporan tugas akhir, dengan teori yang dibahas akan berkaitan dengan algoritma LZW dan
Adaptive Huffman Coding, teknik halftoning dengan menggunakan metoda error diffusion dan kriptografi visual (2,2) dengan 2 subpiksel.
BAB III : PERANCANGAN DAN REALISASI PERANGKAT LUNAK
Pada bab ini dibahas mengenai perancangan dan implementasi algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding menggunakan bantuan perangkat lunak Matlab.
BAB IV : DATA PENGAMATAN DAN ANALISIS
Pada bab ini dibahas tentang hasil implementasi algoritma
Lempel-Ziv-Welch dan Adaptive Huffman Coding pada
kriptografi visual jika citra awal/ citra rahasia berupa citra
grayscale dengan format GIF, BMP dan JPEG.
BAB V : SIMPULAN DAN SARAN
Pada bab ini berisi simpulan dari percobaan yang didapat dari Tugas Akhir dan saran – saran untuk pengembangan Tugas Akhir.
(16)
96 Universitas Kristen Maranatha
BAB V
SIMPULAN DAN SARAN
Pada bab ini berisi simpulan dan saran-saran yang diperlukan untuk perbaikan di masa mendatang.
5.1. Simpulan
1. Implementasi algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding pada proses kriptografi visual berhasil dilakukan meskipun citra masukan untuk proses kriptografi visual memiliki ukuran yang terbatas.
2. Algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding yang diimplementasikan pada kriptografi visual akan membuat share 1, share 2 dan hasil penumpukan 2 buah share hanya akan berupa garis yang tersusun atas warna putih dan warna hitam.
5.2 Saran
Saran yang dapat diberikan :
1. Skema kriptografi visual yang digunakan bisa menggunakan skema kriptografi visual yang tidak mengalami perluasan piksel.
2. Citra masukan yang digunakan (sebelum dilakukan algoritma
Lempel-Ziv-Welch dan Adaptive Huffman Coding) bisa langsung menggunakan citra
(17)
97 Universitas Kristen Maranatha
DAFTAR PUSTAKA
1. Anandhi, Gunasekaran,G dan Satthiyaraj, S , VC using lempel-ziv-welch
algorithm. International Journal of Engineering and Advanced
Technology, Volume – 2, Issue – 3, 2013.
2. Chettri, Lekhika, Visual cryptography scheme based on pixel expansion
for black & white pixel, International Journal of Computer Science and
Information Technologies, Vol. 5, pp 4190 – 4193.
3. Ekdemir, Sadan dan Wu, Xunxun,. Digital halftoning : Improvements on
the Two – by – Two Block Replacement Method, 2011.
4. Marques, Oge, Practical Image and Video Processing Using MATLAB,
Wiley Publication, 2011.
5. Naor, M dan Shamir, A, Visual cryptography advances in cryptography :
Eurocrypt’94. Springer Verleg. Berlin. ppi-129, 1995.
6. Sagar, V.V.V, Lossless data compression and decompression algorithm
and its hardware architecture, Thesis, National Institute of Technology
Rourkela, 2008.
7. Salomon, David dan Motta, Giovanni, Handbook of data compression
fifth edition. Springer – Verlag, 2010.
8. Sayood, Khalid, Introduction to data compression third edition. Morgan
Kaufmann, 2013.
9. Sutanto, Andy Mahardi. Tugas Akhir “ Visual Secret Sharing Pada Citra Warna Dengan teknik Halftone ”, Universitas Indonesia.
(18)
98 Universitas Kristen Maranatha 10. Terry A Welch, A technique for high performance data compression.
IEEE Computer Society. Vol -17, issue 6, 1984.
11. http://informatika.stei.itb.ac.id/~rinaldi.munir/Buku/Pengolahan%20Citra
%20Digital/Bab-11_Citra%20Biner.pdf Diakses 17 Mei 2015
12. http://multimedia-
technology.googlecode.com/svn/trunk/lab2_jpeg/info/PSNR.pdf. Diakses
17 Mei 2015
13. http://shodhganga.inflibnet.ac.in/bitstream/10603/6102/12/12_chapter%20
2.pdf. Diakses17 April 2015
14.
http://www.mathworks.com/matlabcentral/fileexchange/19870-adaptive-huffman-coding. Diakses 17 Mei 2015
15.
(1)
BAB I PENDAHULUAN
2
Universitas Kristen Maranatha citra menjadi p – kali ukuran citra awal dikenal sebagai perluasan piksel (pixel expansion). Setiap share 1 dan share 2 tersusun dari sekumpulan piksel hitam dan piksel putih yang memiliki pola tertentu, untuk mencegah diketahuinya isi dari pesan rahasia oleh orang lain, maka perlu dilakukan pengacakan nilai piksel pada citra awal, hal ini akan membuat penumpukan 2 buah share tidak akan memunculkan pesan rahasia, melainkan citra awal yang mengalami pengacakan nilai piksel. Algoritma yang akan diimplementasikan untuk melakukan proses pengacakan nilai piksel pada citra awal adalah algoritma Lempel-Ziev-Welch dan algoritma Adaptive Huffman Coding. Algoritma Lempel-Ziev-Welch akan mengacak nilai piksel pada citra awal menjadi urutan-urutan nilai piksel yang memiliki nilai tertentu, sedangkan algoritma Adaptive Huffman Coding akan mengubah setiap nilai pada hasil algoritma Lempel-Ziev-Welch menjadi urutan-urutan nilai yang hanya terdiri dari nilai 0 atau nilai 1 saja. Hasil algoritma yang terdiri dari nilai 0 atau nilai 1 nantinya akan masuk menjadi masukan untuk kriptografi visual. Pada Tugas Akhir ini, selain melakukan implementasi algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding pada proses kriptografi visual, akan dilihat pula pengaruh kedua algoritma yang diimplementasikan pada proses kriptografi visual (bentuk share, dan citra hasil rekonstruksi).
1.2 RUMUSAN MASALAH
Bagaimana mengimplementasikan algoritma Lempel-Ziv-Welch (LZW) dan algoritma Adaptive Huffman Coding pada kriptografi visual dengan bantuan perangkat lunak Matlab?
Bagaimana kualitas citra (citra rekonstruksi) setelah algoritma Lempel-Ziev-Welch dan Adaptive Huffman Coding diimplementasikan pada kriptografi visual?
(2)
BAB I PENDAHULUAN
3
1.3 TUJUAN TUGAS AKHIR
Tujuan dari Tugas Akhir ini adalah mengimplementasikan algoritma Lempel-Ziv-Welch (LZW) dan algoritma Adaptive Huffman Coding pada kriptografi visual dengan bantuan perangkat lunak Matlab.
Mengukur kualitas citra setelah algoritma Lempel-Ziev-Welch dan Adaptive Huffman Coding diimplementasikan pada proses kriptografi visual.
1.4 BATASAN MASALAH
Batasan masalah pada Tugas Akhir ini adalah :
1. Citra yang dipakai berupa 5 buah citra grayscale dengan format gambar GIF, JPEG, dan BMP.
2. Lima buah citra yang dipakai memiliki ukuran 135 x 45 piksel, 132 x 20 piksel, 115 x 30 piksel, 100 x 60 piksel dan 76 x 76 piksel.
3. Skema kriptografi visual yang dipakai adalah skema kriptografi visual (2,2) dengan 2 subpiksel.
4. Operasi untuk melakukan penumpukan 2 buah share adalah operasi XOR.
1.5 SISTEMATIKA PENULISAN
Sistematika penulisan laporan Tugas Akhir ini disusun menjadi 5 bab sebagai berikut:
BAB I : PENDAHULUAN
Dalam bab ini dibahas mengenai permasalahan yang melatarbelakangi penulisan laporan Tugas Akhir, rumusan
(3)
BAB I PENDAHULUAN
4
Universitas Kristen Maranatha masalah, tujuan Tugas Akhir, pembatasan masalah dan sistematika penulisan.
BAB II : LANDASAN TEORI
Pada bab ini dibahas mengenai teori – teori yang digunakan sebagai panduan untuk membuat laporan tugas akhir, dengan teori yang dibahas akan berkaitan dengan algoritma LZW dan Adaptive Huffman Coding, teknik halftoning dengan menggunakan metoda error diffusion dan kriptografi visual (2,2) dengan 2 subpiksel.
BAB III : PERANCANGAN DAN REALISASI PERANGKAT LUNAK
Pada bab ini dibahas mengenai perancangan dan implementasi algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding menggunakan bantuan perangkat lunak Matlab.
BAB IV : DATA PENGAMATAN DAN ANALISIS
Pada bab ini dibahas tentang hasil implementasi algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding pada kriptografi visual jika citra awal/ citra rahasia berupa citra grayscale dengan format GIF, BMP dan JPEG.
BAB V : SIMPULAN DAN SARAN
Pada bab ini berisi simpulan dari percobaan yang didapat dari Tugas Akhir dan saran – saran untuk pengembangan Tugas Akhir.
(4)
96 Universitas Kristen Maranatha
BAB V
SIMPULAN DAN SARAN
Pada bab ini berisi simpulan dan saran-saran yang diperlukan untuk perbaikan di masa mendatang.
5.1. Simpulan
1. Implementasi algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding pada proses kriptografi visual berhasil dilakukan meskipun citra masukan untuk proses kriptografi visual memiliki ukuran yang terbatas.
2. Algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding yang diimplementasikan pada kriptografi visual akan membuat share 1, share 2 dan hasil penumpukan 2 buah share hanya akan berupa garis yang tersusun atas warna putih dan warna hitam.
5.2 Saran
Saran yang dapat diberikan :
1. Skema kriptografi visual yang digunakan bisa menggunakan skema kriptografi visual yang tidak mengalami perluasan piksel.
2. Citra masukan yang digunakan (sebelum dilakukan algoritma Lempel-Ziv-Welch dan Adaptive Huffman Coding) bisa langsung menggunakan citra biner sehingga tidak memerlukan proses halftoning (error diffusion).
(5)
97 Universitas Kristen Maranatha
DAFTAR PUSTAKA
1. Anandhi, Gunasekaran,G dan Satthiyaraj, S , VC using lempel-ziv-welch algorithm. International Journal of Engineering and Advanced
Technology, Volume – 2, Issue – 3, 2013.
2. Chettri, Lekhika, Visual cryptography scheme based on pixel expansion for black & white pixel, International Journal of Computer Science and Information Technologies, Vol. 5, pp 4190 – 4193.
3. Ekdemir, Sadan dan Wu, Xunxun,. Digital halftoning : Improvements on the Two – by – Two Block Replacement Method, 2011.
4. Marques, Oge, Practical Image and Video Processing Using MATLAB, Wiley Publication, 2011.
5. Naor, M dan Shamir, A, Visual cryptography advances in cryptography :
Eurocrypt’94. Springer Verleg. Berlin. ppi-129, 1995.
6. Sagar, V.V.V, Lossless data compression and decompression algorithm and its hardware architecture, Thesis, National Institute of Technology
Rourkela, 2008.
7. Salomon, David dan Motta, Giovanni, Handbook of data compression fifth edition. Springer – Verlag, 2010.
8. Sayood, Khalid, Introduction to data compression third edition. Morgan Kaufmann, 2013.
9. Sutanto, Andy Mahardi. Tugas Akhir “ Visual Secret Sharing Pada Citra Warna Dengan teknik Halftone ”, Universitas Indonesia.
(6)
98 Universitas Kristen Maranatha 10. Terry A Welch, A technique for high performance data compression.
IEEE Computer Society. Vol -17, issue 6, 1984.
11. http://informatika.stei.itb.ac.id/~rinaldi.munir/Buku/Pengolahan%20Citra %20Digital/Bab-11_Citra%20Biner.pdf Diakses 17 Mei 2015
12. http://multimedia-
technology.googlecode.com/svn/trunk/lab2_jpeg/info/PSNR.pdf. Diakses 17 Mei 2015
13. http://shodhganga.inflibnet.ac.in/bitstream/10603/6102/12/12_chapter%20 2.pdf. Diakses17 April 2015
14. http://www.mathworks.com/matlabcentral/fileexchange/19870-adaptive-huffman-coding. Diakses 17 Mei 2015
15. http://www.mathworks.com/matlabcentral/fileexchange/4899-lzw-compression-algorithm. Diakses 17 Mei 2015.