## ANALISIS ENKRIPSI CITRA DIGITAL MENGGUNAKAN ALGORITMA LOGISTIC MAP DENGAN ALGORITMA KOMPRESI LAMPEL-ZIV-WELCH (LZW)

## Sudirman
STMIK & AMIK Logika Medan Jl. K.L.Yos Sudarso No. 374-C

## sudirmanart@gmail.com
Abstrak—Penggunaan data berupa file citra sudah semakin luas diberbagai bidang. Oleh karena itu pengamanan terhadap file citra dari akses orang-orang yang tidak berhak menjadi hal yang penting.  Berbagai  macam  teknik  untuk  mengamankan  data  atau  informasi  telah  banyak dikembangkan salah satunya adalah teknik kriptografi. Selain dari segi keamanan, yang perlu diperhatikan  jika  bekerja  dengan  file  citra  adalah  ukuran  file  yang  dominan  besar.  Teknik kriptografi  dan  teknik  kompresi  menjadi  hal  penting  didalam  pengolahan  citra.  Algoritma Logistic  Map  merupakan algoritma  berbasis  Chaos  yang  mempunyai  sensitivitas  yang  dapat diandalkan didalam mengenkripsi citra. Lempel Ziv Welch merupakan algoritma kompresi yang bersifat loseless yang dapat mengkompresi citra tanpa ada kehilangan unsur pixel didalamnya atau  citra  hasil  kompresi  identik  dengan  citra  aslinya.  Citra akan  di  enkripsi  terlebih  dahulu baru kemudian dilakukan teknik kompresi dengan algoritma Lempel Ziv Welch. Hasil kompresi yang dihasilkan tidak lagi dalam bentuk gambar tetapi dalam bentuk file dengan ekstensi *.mat. Perbedaan  format  file  dari  citra  menjadi  file  yang  bukan  citra  dapat  membantu  menghindari perhatian kriptanalisis.
Keywords — Kriptografi, Kompresi, Logistic Map, Lempel Ziv Welch, Citra.

## I. PENDAHULUAN
Citra  ( image )  atau  gambar  merupakan  salah  satu bentuk  multimedia  yang  penting.  Citra  menyajikan informasi  secara  visual  dan  informasi  yang  disajikan oleh  sebuah  citra  lebih  kaya  daripada  yang  disajikan secara tekstual.
Citra yang disimpan atau yang akan ditransmisikan dalam  bentuk plainimage rentan  dalam  bentuk penyadapan  dan  pencurian,  seperti  yang  diungkapkan oleh  Chin-Chen  Chang [5].  Menyebutkan  bahwa jumlah  kejahatan  dibidang  teknologi  informasi  telah meningkat  akhir-akhir  ini.  Tingkat  keamanan menggunakan  media  gambar  telah  menjadi  topik penting dalam dunia komputer. Salah satu kelemahan penggunaan  media  informasi  media  gambar  adalah mudah  dimanipulasi  oleh  pihak-pihak  yang berkepentingan  lain  didalamnya.  Terlebih  jika informasi berupa file gambar tersebut bersifat rahasia, seperti  data-data  pribadi,  dokumen  kenegaraan  atau dokumen medis rumah sakit.
Untuk  mengatasi  masalah  tersebut,  teknik kriptografi  sangat  diperlukan  untuk  melakukan enkripsi  data.  Salah  satu  algoritma  enkripsi  yang popular digunakan didalam mengenkripsi citra adalah algoritma  enkripsi  berbasis chaos, salah  satunya adalah  algoritma  Logistic  Map [3]. Chaos digunakan didalam kriptografi karena tiga alasan : (1) sifat chaos yang  sensitive  terhadap  nilai  awal,  (2) chaos berkelakuan  acak,  (3)  Nilai-nilai chaos tidak mempunyai periode [4].
Selain algoritma  kriptografi  yang  digunakan  untuk melakukan  enkripsi,  algoritma  kompresi  juga  dapat berperan  dalam  melakukan  teknik  pengacakan  pada citra.  Proses encoding pada  kompresi  citra  dapat merubah  posisi pixel-pixel pada  citra.  Dimana  pada proses encoding umumnya akan mengurangi redudansi dari  data-data  yang  terdapat  didalam  citra.  Sehingga posisi pixel-pixel pada  citra  akan  berubah  dari  posisi awal sebelum dilakukan proses kompresi. Algoritma Lempel-Ziv-Welch (LZW)  yang merupakan  algoritma  kompresi lossless yang menghasilkan kompresi cukup baik diantara algoritma lossless yang ada. Algoritma ini melakukan kompresi dengan  menggunakan dictionary ,  dimana  fragmen- fragmen teks digantikan dengan indeks yang diperoleh dari  sebuah  kamus.  Pendekatan  algoritma  ini  bersifat adaktif  dan  efektif  karena  banyak  karakter  dapat dikodekan  dengan  mengacu  kepada  string  yang  telah muncul sebelumnya dalam teks [2].
Pada  penelitian  ini  akan  dilakukan  pengabungan didalam  melakukan  pengamanan  citra  ( image )  yaitu teknik kriptografi dan teknik kompresi.
II. METODOLOGI PENELITIAN A. Logistic Map Logistic map merupakan sistem chaos yang paling sederhana  yang  berbentuk  persamaan  iteratif  sebagai berikut :
.........................(1)
InfoTekJar (Jurnal Nasional Informatika dan Teknologi Jaringan)
e-ISSN : 2540-7600
Nilai
yaitu  antara  0 <
< 1,  sedangkan adalah parameter  fungsi  yang  menyatakan  laju  pertumbuhan yang  nilainya  0 < < 4. Logistic  map akan  bersifat chaos bilamana 3.5699456 < < 4 (Hongmai, 2010).
Nilai  awal  persamaan  iterasi  adalah
.  Perubahan sedikit saja pada nilai awal ini (misalnya sebesar 10 -10 ) akan  menghasilkan  nilai chaos yang  berbeda  secara signifikan setelah logistic map diiterasi pada sejumlah kali.  Didalam  sistem  kriptografi  nilai  awal ,  dan
parameter berperan  sebagai  kunci  rahasia.  Nilai- nilai  acak  yang  dihasilkan  dari  persamaan  (1)  tidak pernah  berulang  kembali  sehingga logistic  map dikatakan tidak mempunyai periode.
Nilai-nilai acak yang dihasilkan logistic map tidak dapat  langsung  dioperasi  modulokan  karena  masih berupa bilangan rill antara 0 dan 1 [1]. Nilai tersebut harus  di  transformasikan  menjadi  nilai integer . Transformasi  yang  sederhana  adalah  dengan mengambil  bagian  decimal  dari  bilangan  riil, membuang angka  nol  yang  berada  didepan  bilangan, lalu  mengektrak t digit  integer.  Contoh, x i = 0.004276501 dan t = 4, maka diambil bagian decimal dari x i tersebut 004276501, kemudian buang nol yang berada  didepan  bilangan  menjadi  4276501,  ektrak  4 digit  integer  yaitu  4276.  Inilah  keytream  yang  akan dimodulokan.  Karena  nilai-nilai  piksel  berada  dalam rentang  integer  [0,255],  maka  keystream  harus dimodulokan dengan 256 [3]. Jadi pada contoh ini k i = 4276 mod 256 = 180.

## B. Lempel Ziv Welch (LZW)
Fdsf Lempel  Ziv  Welch (LZW)  adalah  algoritma kompresi  loseless  yang  ditemukan  oleh Abraham Lempel, Jacob Ziv, dan Terry Welch . Diciptakan oleh Welch tahun  1984  sebagai  implementasi  dan pengembangan  algoritma  LZ78  yang  diciptakan  oleh Lempel  dan  Ziv  pada  tahun  1978.  Algoritma  LZW dirancang  untuk  cepat  dalam  implementasi  tetapi biasanya  tidak  optimal  karena  hanya  melakukan analisis pada data.
Algoritma  LZW  melakukan  kompresi  dengan menggunakan dictionary ,  dimana fragmen-fragmen teks  digantikan  dengan  indeks  yang  diperoleh  dari sebuah  kamus.  Prinsip  sejenis  juga  digunakan  dalam kode Braille ,  dimana  kode-kode  khusus  digunakan untuk  mempresentasikan  kata-kata  yang  ada. Pendekatan  ini  bersifat adaptif dan efektif karena banyak karakter bisa dikodekan dengan mengacu pada string yang telah muncul sebelumnya dalam teks. Prinsip  kompesi  tercapai  jika  referensi  dalam bentuk pointer dapat disimpan dalam jumlah bit yang lebih  dibandingkan  string  aslinya.  Sebagai  contoh, string “ABBABABAC” akan dikompresi dengan LZW. Isi  dictionary  pada  awal  proses  diset    dengan  tiga karakter  dasar  yang  ada:  “A”,  “B”,  “C”.  Tahapan proses kompresi ditunjukkan pada Tabel I.
TABEL I TAHAPAN PROSES KOMPRESI Step Posisi Karakter Dictionary Output 1 1 A [4] A B A 2 2 B [5] B B B 3 3 B [6] B A B 4 4 A [7] A B A A B 5 6 C [8] A B A C A B A 6 9 C --- C
Kolom  posisi  menyatakan  posisi  sekarang  dari stream karakter  dan  kolom  karakter  menyatakan karakter  yang  terdapat  pada  posisi  tersebut.  Kolom dictionary menyatakan string baru  yang  sudah ditambahkan  ke  dalam dictionary dan  nomor  indeks untuk string tersebut ditulis dalam kurung siku. Kolom output menyatakan  kode output yang  dihasilkan  oleh langkah kompresi. Proses dekompresi pada Lempel Ziv Welch (LZW) dilakukan  dengan  prinsip  yang  sama  seperti  proses kompresi.  Tahapan  dekompresi  ditunjukkan  pada Tabel II.
TABEL II TAHAPAN PROSES DEKOMPRESI Step Posisi Output Dictionary 1 1 A ---- 2 2 B [4] A B 3 2 B [5] B B 4 4 A B [6] B A 5 7 A B A [7] A B A 6 3 C [8] A B A C Prinsip  umum  kerja  algoritma  Lempel  Ziv  Welch (LZW) adalah mengecek setiap karakter yang muncul kemudian menggabungkan dengan karakter selanjutnya  menjadi  sebuah  string  jika  string  baru tersebut  tidak  berada  dalam  dictionary  atau  belum diindekkan maka string baru tersebut akan diindekkan ke  dalam dictionary. Pseudocode kompresi  algoritma Lempel Ziv Welch (LZW) dapat dilihat pada Gambar 1.
Gbr. 1 Pseudocode kompresi LZW
Dalam  Proses  Dekompresi,  algoritma  LZW  tidak menyimpan string  table yang  berisi  indek-indek  dari setiap code  word yang  dihasilkan  dalam  proses kompresi  ke  memori  akan  tetapi  menggunakan beberapa  informasi  yang  telah  disimpan  sebelumnya antara lain 256 karakter ASCII, karakter pertama dari inputan dan code word terakhir. Di bawah merupakan
InfoTekJar (Jurnal Nasional Informatika dan Teknologi Jaringan)
e-ISSN : 2540-7600 Vol 1, No 2, Maret 2017
pseudocode dekompresi  algoritma Lempel  Ziv Welch (LZW).
Gbr. 2 Pseudocode kompresi LZW

## III. METODOLOGI PENELITIAN
A. Rancangan enkripsi citra digital Rancangan  proses  enkripsi  citra  digital  adalah sebagai berikut :

## Gbr. 3 Skema Alur Proses Enkripsi
Berdasarkan  gambar  3,  langkah-langkah  proses enkripsi yang akan dilakukan adalah sebagai berikut :
1. Penentuan plain-image berupa  gambar  atau citra yang akan dilakukan proses enkripsi.
2. Proses  enkripsi  dengan  menggunakan algoritma Logistic  Map .  Proses  enkripsi dengan  skema  XOR  untuk  masing-masing pixel dengan keystream  (integer) (yang dibangkitkan  dari Logistic  Map dengan  nilai awal dan parameter ). Proses enkripsi dapat dilakukan dengan persamaan (1).
3. Selanjutnya  proses  kompresi  dilakukan dengan  menggunakan  algoritma  kompresi lampel ziv welch .
4. Hasil  dari  proses  diatas  adalah file dengan ekstensi .mat .
B. Rancangan dekripsi citra digital Rancangan  proses  dekripsi  citra  digital  adalah sebagai berikut :

## Gbr. 4 Skema Alur Proses Dekripsi
Berdasarkan  gambar  4,  langkah-langkah  proses dekripsi yang akan dilakukan adalah sebagai berikut :
1. Pilih file terkompresi  yang  akan  dilakukan proses dekompresi dan dekripsi
2. Dari file yang  sudah  dipilih  akan  dilakukan proses  dekompresi,  sehingga  file  akan berubah menjadi citra yang terenkripsi.
3. Selanjutnya  proses  dekripsi  dilakukan dengan  melakukan  pengubahan  nilai-nilai pixel dari cipher-image dengan menggunakan  persamaan  (1). Pixel-pixel dari  cipher-image  di  XOR-kan  dengan keystream  (integer) (yang  dibangkitkan dari Logistic  Map dengan nilai  awal dan parameter ).
4. Kemudian  didapatlah  citra  semula  ( plain- image ).

## IV. HASIL DAN PEMBAHASAN
Percobaan  pada  penelitian  ini  menggunakan Aplikasi Matlab R2012b dan Citra uji yang digunakan adalah citra grayscale dengan jenis citra bitmap. Citra uji  yang  digunakan  adalah  citra  “lena.bmp”  dengan dimensi 450 x 450 dengan ukuran 204.478 Bytes yang ditunjukan pada gambar 5 (a).
A. Model Enkripsi Logistic Map Pada  percobaan  kedua  akan  dilakukan  proses enkripsi  dengan  mengunakan  algoritma  logistic  map. Dengan  menggunakan  persamaan  (1)  yang  sudah dijelaskan  pada  bab  sebelumnya  (bab  2),  akan dilakukan pengujian terhadap citra “lena.bmp”;
Gbr. 5  (a) Citra Asal ; (b) cipherimage dengan xi = 0.7 dan µ = 1.5 ; (c) cipherimage dengan xi = 0.7 dan µ = 2.5;
(d) cipherimage dengan xi = 0.7 dan µ = 4.

## B. Gabungan  Kompresi  dan  Enkripsi  dari  Citra Digital
Pada  percobaan  ini  akan  dilakukan  proses kompresi  terhadap  hasil  enkripsi  ( cipherimage )  dari algoritma logistic  map .  Proses  kompresi  akan dilakukan dengan menggunakan algoritma Lempel Ziv Welch (LZW) yang nantinya hasil dari kompresi akan disimpan  dalam  bentuk  variabel.  Variable  enkripsi akan  disimpan  dalam  direktori  penyimpanan  dalam bentuk file dengan ektensi MAT (.mat).
InfoTekJar (Jurnal Nasional Informatika dan Teknologi Jaringan)
e-ISSN : 2540-7600
Gbr. 6 (a) Citra Asal ; (b) cipherimage dengan logistic map ;
(c) file hasil kompresi terhadap citra hasil enkripsi .
C. Analisis Histogram Histogram  merupakan  salah  satu  fitur  citra  yang penting,  sebab  sebuah  histogram  memperlihatkan distribusi intensitas pixel-pixel di dalam citra tersebut. Dalam  melakukan  serangan  dengan  teknik  analisis statistik,  penyerang  menggunakan  histogram  untuk menganalisis  frekuensi  kemunculan  intensitas  pixel untuk  mendeduksi  kunci  atau  pixel-pixel  di  dalam plain-image.  Agar  serangan  dengan  analisis  statistik tidak  dimungkinkan,  maka  di  dalam  enkripsi  citra penting  untuk  menghasilkan  histogram  cipher-image yang tidak memiliki kemiripan secara statistik dengan histogram  plain-image.  Oleh  karena  itu  pixel-pixel  di dalam  cipher-image  seharusnya  memiliki  distribusi yang  (relatif)  uniform  atau ditunjukkan  dengan histogram yang terlihat datar (flat).
Gbr. 7 (a) Histogram Citra asal (lena.bmp) ; (b) Histogram Citra hasil enkripsi algoritma Logistic Map
Dari  gambar  7  menunjukan  perubahan  yang signifikan antara histogram citra asal dengan citra hasil enkripsi.  Terdapat banyak  perubahan  intensitas  pixel- pixel didalam citra yang dienkripsi. Walaupun begitu, enkripsi  hanya  menggunakan  algoritma  logistic  map saja  tidak  cukup  aman  bagi  keamanan  pesan  citra dikarenakan kita  harus  menyimpan  kunci  yang  telah dibangkitkan  kedalam  proses  enkripsi.  Hal  ini membuat  pesan  citra  mudah  dipecahkan  oleh  pihak- pihak yang tidak berhak.

## D. Analisis Sensitivitas
Pada  analisis  ini  akan  dilakukan  perubahan  nilai awal  ( x 0 )  pada  algoritma logistic  map dalam melakukan  proses  dekripsi  untuk  mengetahui sensitivitas chaos terhadap nilai awal. Pada penelitian ini  akan  dilakukan  perubahan  nilai  awal  ( x 0 )  dengan menambahkan nilai sebesar α sehingga menjadi x o + α. Dimisalkan  nilai  α  =  10 -15 ,  sehingga  nilai  awal menjadi 0.200000000000001.
Gbr. 8 (a) Citra asal (lena.bmp) ;
(b) Hasil enkripsi dengan nilai awal ( x o ) = 0.2 ;
(c) Hasil dekripsi dengan nilai awal ( x o ) = 0.200000000000001.
Pada  gambar  8  Terlihat  bahwa  proses  dekripsi dengan  nilai  awal=  0.200000000000001  tidak mengembalikan citra ke citra asal. Citra hasil dekripsi masih  terlihat  acak,  itu  membuktikan  bahwa  chaos memenuhi  prinsip defussion dari  shanon  (Schneier, 1996). Sehingga kriptanalis sulit untuk memecahkannya  karena  perubahan  satu  bit  saja  pada kunci menyebabkan hasil dekripsi tetap salah.

## E. Analisis Perubahan Nilai Pixel pada Matrix Citra
Hasil  dari  kompresi  terhadap  citra  terenkripsi (cipherimage)  pada  penelitian  ini  disimpan  dalam bentuk  file  matlab  dengan  ekstensi  (.mat).  Proses kompresi  terhadap  file  hasil  enkripsi  bukan  hanya dapat  merubah  posisi  pixel  didalam  citra  tetapi  juga merubah  matrix  citra  menjadi  vector,  sehingga  hasil dari kompresi tidak lagi berbetuk citra tetapi berbentuk file  bukan  citra.  Berikut  gambar  perubahan  matriks pada citra “Lena.bmp” berukuran 450 x 450 dari citra asal, citra terenkripsi (cipherimage) dan citra sesudah proses kompresi.
InfoTekJar (Jurnal Nasional Informatika dan Teknologi Jaringan)
e-ISSN : 2540-7600
Gbr. 9 Posisi dan nilai pixel dari citra asal (lena.bmp) dalam bentuk matriks
Gambar 9 menunjukkan sebagian posisi dan nilai pixel dari citra asal (Lena.bmp) dalam bentuk matriks sebelum dilakukan proses enkripsi dan kompresi. Nilai pixel  dari  citra  akan  mengalami  perubahan  setelah dilakukan  proses  enkripsi  dengan  menggunakan algoritma logistic map. Perubahan nilai pixel tersebut seperti ditunjukan pada gambar 10 dibawah ini.
Gbr. 10 Posisi dan nilai pixel dari citra terenkripsi (cipherimage) dalam bentuk matriks.
Gambar  10  menunjukkan  perubahan  nilai  pixel- pixel  dalam  citra  setelah  dilakukan  proses  enkripsi dengan  menggunakan  algoritma  Arnold  cat  map  dan logistic  map.  Selajutnya  proses  kompresi  pada  citra terenkripsi  (cipherimage)  akan  merubah  posisi  pixel- pixel  pada  citra  dari  matrix  menjadi  vector.  Hasil perubahan  tersebut  ditunjukan  pada  gambar  11 dibawah ini.
Gbr. 11 Perubahan posisi pixel dari matrix menjadi vector setelah proses kompresi pada citra.
Gambar  11  menunjukkan  hasil  perubahan  posisi pixel-pixel  pada  citra  dari  bentuk  matriks  menjadi bentuk  vector.  Hasil  proses  kompresi  yang  membuat perubahan  posisi  pixel,  menjadikan  file  citra  hasil kompresi  tidak  dapat  disimpan  dalam  bentuk  citra kembali. Dalam penelitian ini hasil kompresi dari citra disampan  dalam  bentuk  file  matlab  dengan ekstensi .mat. Selain  itu,  perbedaan  format  file hasil  enkripsi juga  menjadi  unsur  penting  dalam kriptografi.  Penerapan  teknik  kompresi  pada  hasil enkripsi  (cipherimage)  dapat  membantu  menghindari perhatian  kriptanalisis  karena  perbedaan  file  yang
dihasilkan  dari  file  citra  menjadi  file  matlab  yang berekstensi .mat
Gbr. 12 Perubahan ekstensi file citra menjadi file .mat
V. KESIMPULAN
Penelitian  dan  percobaan  yang  telah  dilakukan menghasilkan kesimpulan sebagai berikut:
1. Hasil  penelitian  menunjukan  bahwa  model enkripsi  menggunakan  algoritma  berbasis  chaos yaitu  algoritma  Logistic  map  pada  citra  digital dapat  menghasilkan  citra  acak  yang  sudah  tidak dapat dikenali lagi. 2. Sensitivitas  dari  algoritma  Logistic  Map menunjukan prinsip defussion, walau perbedaannya  hanya  0,000000002  citra  tidak kembali ke citra semula.
Penggunaan  teknik  kompresi  pada  citra  hasil enkripsi  (cipherimage)  menghasilkan  perubahan matrix  pada  citra  menjadi  vector,  sehingga  file  yang dihasilkan berupa file bukan citra (.mat).

## REFERENCE
[1] Irfan,P., Prayudi, Y., & Riadi, I. 2015. Image Encryption using Combination of Chaotic System and Rivers Shamir Adleman  (RSA).  International  Journal  of Computer Applications (0975 – 8887), pp. 11-16.
[2] Neta,  M.R.A.  2013.  Perbandingan Algoritma  Kompresi Terhadap Objek Citra Menggunakan  JAVA.  Prosiding Seminar Nasional Teknologi Informasi & Komunikasi Terapan 2013 (Semantik 2013), pp. 224-230.
[3] Munir,  R.  2012.  Algoritma  Enkripsi  Citra  Digital Berbasis Chaos Dengan Penggabungan  Teknik Permutasi dan Teknik  Substitusi  Menggunakan Arnold Cat  Map  dan  Logistic  Map.  Prosiding Seminar  Nasional  Pendidikan  Teknik  Infomatika (SENAPATI 2012), pp. 107-124.
[4] Fdsaf Sharma,  M.  2010.  Image  Encryption Techniques Using Chaotic Schemes: A Review. International Journal of Engineering Science and Technology 2(6), pp. 2359- 2363.
[5] Chang, C.-C., Hwang, M.-S & Chen, T.-S. 2001. A New Encryption  Algorithm  For Image  Cryptosystems.  The Jurnal Of Systems And Software 58 : 83-91.