Implementasi Algoritma Lempel - Ziev - Welch dan Adaptive Huffman Coding pada Kriptografi Visual.

(1)

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.