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.
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.
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
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
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
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
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
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
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 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
xii Universitas Kristen Maranatha
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.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
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
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
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
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
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
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
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
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.