## JEPIN
(Jurnal Edukasi dan Penelitian Informatika)
ISSN(e): 2548-9364 / ISSN(p) : 2460-0741

## Pengelolaan Arsip Secara Digital Menggunakan Algoritma LZSS Modifikasi untuk Kompresi File
Sujono #1 , Maxrizal #2 , Dian Novianto *3
# Jurusan Sistem Informasi, STMIK Atma Luhur Jl. Jendral Sudirman, Kel. Selindung Baru, Kec. Pangkal Balam, Pangkal Pinang, Kepulauan Bangka Belitung
1 sujono@atmaluhur.ac.id
2 maxrizal@atmaluhur.ac.id
* Jurusan Teknik Informatika Jl. Jendral Sudirman, Kel. Selindung Baru, Kec. Pangkal Balam, Pangkal Pinang, Kepulauan Bangka Belitung 3 diannovianto@atmaluhur.ac.id
Abstrak —Dokumen yang menumpuk dalam bentuk hardcopy dapat  menimbulkan  suatu  masalah,  baik  dalam  penataan, keamanan dokumen maupun ruang penyimpanan dokumen. Selain  itu  perawatan  ekstra  diperlukan  untuk  mencegah kerusakan  pada  dokumen  penting  yang  disebabkan  oleh serangga  dan  lain-lain.  Dengan  teknologi  sekarang  ini dokumen  dapat  disimpan  dalam  bentuk file dan  sekaligus ukuran file dapat  diperkecil  untuk  meminimalkan  media penyimpanan  dan  penyusunan  dokumen  dapat  ditata dengan baik sehingga pada saat pencarian dokumen menjadi lebih  mudah. File merupakan  data  digital  yang  berisi informasi. Untuk memperkecil ukuran file yaitu dengan cara dipadatkan  atau  biasa  disebut  dengan  kompresi  sehingga ukuran file menjadi  lebih  kecil  dari  ukuran  semula.  Pada penelitian  ini,  metode  yang  digunakan  untuk  kompres file adalah  LZSS (Lempel  Ziv  Strorer-Szymanski) yang  telah dimodifikasi  untuk  menghasilkan  kompres  yang  lebih optimal. Algoritma kompresi
LZSS modifikasi dikembangkan  berdasarkan  konsep  algoritma  kompresi LZSS (pengkodean (offset,len) ) serta penambahan pengkodean (offset,-len) .  Dari  9  sampel  file  yang  dipilih sebagai  data  simulasi,  diperoleh  rata-rata  rasio  kompresi algoritma  LZSS  adalah  75,40%  dan  rata-rata  kompresi algoritma  LZSS  modifikasi  adalah  67,86%.  Hal  ini menunjukkan bahwa algoritman LZSS modifikasi menghasilkan tingkat kompresi yang lebih baik.
Kata kunci — LZSS, kompresi file, modifikasi, rasio kompresi, pengelolaan arsip.

## I. P ENDAHULUAN
Penyimpanan  arsip  dokumen  menjadi  suatu  perhatian yang  sangat  penting,  baik  dari  sisi  keamanan,  perawatan maupun  ruang  simpan  arsip  itu  sendiri.  Banyak  instansi pemerintahan  maupun swasta  masih  menggunakan teknik pengarsipan  dengan  metode  penyimpanan  fisik  arsip berupa hardcopy sehingga  kemanan,  perawatan,  dan pencarian  arsip  masih  mengalami  kesulitan.  Untuk mengatasi  hal  ini,  salah  satu  solusinya  adalah  arsip disimpan  dalam  bentuk  digital  yang  dapat  dikelola  oleh sebuah Sistem Informasi. Saat ini, sistem informasi dalam
dunia  teknologi  informasi  bukanlah  hal  yang  baru.  Kita dapat  membangun  sebuah  sistem  yang  dapat  menyimpan arsip  dengan  kode  tertentu  agar  pencarian  arsip  dapat dilakukan  lebih  cepat  [1].  Dalam  hal  memaksimalkan ruang  penyimpanan,  ukuran  arsip  juga  dapat  dipadatkan dengan teknik kompresi dokumen.
Ada  banyak  teknik  kompresi  dokumen  yang  berbasis pohon  biner  dan dictionary (kamus).  Salah  satu  teknik kompresi  data  yang  berbasis dictionary yang  banyak digunakan  adalah  algoritma  kompresi  LZSS.  Algoritma kompresi  ini  merupakan  pengembangan  dari  algoritma kompresi  LZ77  yang  dikembangkan  oleh Lempel-Ziv- Storer-Szymanski dan  telah  banyak  dikembangkan. Algoritma  ini  telah  dikembangkan  dengan  beberapa kombinasi  untuk  optimalisasi  kompresi  dengan  algoritma lainnya,  seperti  LZW  dan  Huffman  [2]–[5].  Selain  itu, telah  banyak  perbaikan  dari  error  yang  dihasilkan  dari algoritma  kompresi  LZSS  untuk  menghasilkan  algoritma LZSS  yang  lebih optimal  [3], [4], [6]–[12]. Algoritma  ini juga telah dimodifikasi pada desain dan konsep yang baru [13], [14].
Pada  prinsipnya,  algoritma  kompresi  LZSS  bekerja dengan  mengkodekan  substring  yang  sama  dengan  string yang  tidak  dikodekan.  Pada  algoritma  ini  dikenal  istilah (offset,  len). Offset adalah  banyaknya  karakter  sampai pointer tertentu dan len adalah panjang string  yang cocok (matching string) .
Misalnya  diberikan  teks  asli T:abcdbcde ,  sehingga menurut  algoritma  kompresi  LZSS  dienkode  menjadi E(T):abcd(1,3)e [8].  Dengan  demikian,  terdapat (offset, len)=(1,3) yang  mewakili  karakter  setelah  pointer  ke-1 sepanjang 3 karakter yang sama berikutnya. Jika kita lihat lebih detail, kekuatan algoritma kompresi ini terletak pada pengkodean  string  atau  substring  yang  cocok (matching) . Perhatikan  juga  bahwa (offset,  len) dapat  kita  artikan sebagai banyaknya langkah maju (berikutnya) dari pointer yang ditetapkan.
Untuk  mengoptimalkan  hasil  kompres  data  maka  pada awal  penelitian  ini  akan  dikembangkan  modifikasi  pada (offset,  len) konsep  langkah  mundur  (sebelumnya), sehingga  konsep  yang  digunakan  pada  algoritma  adalah langkah  maju  dan  konsep  langkah  mundur  (sebelumnya) dari pointer yang ditetapkan. Hal ini berarti konsep LZSS asli  tetap  dipakai,  selanjutnya  ditambahkan  langkah mudur  atau  dinamai (offset,  -len) artinya  banyaknya langkah  mundur  (sebelumnya)  dari  pointer  yang ditetapkan.  Selanjutnya,  pada  tahap  akhir,  konsep algoritma  kompresi  LZSS  modifikasi  ini  akan  dibuatkan menjadi aplikasi.

## II. METODOLOGI PENELITIAN
Penelitian  ini  merupakan penelitian kajian pustaka dan penelitian  terapan  (implementasi).  Pada  tahap  pertama, teori-teori algoritma LZSS dan pengembangan  yang telah dilakukan  dikaji  melalui  beberapa  jurnal.  Selanjutnya, tahap kedua dinyatakan dalam fase berikut ini:.

## A. Model Pengembangan Penelitian
Untuk pengembangan model sistem, tahapan penelitian digambarkan dengan bagan alir (Gambar 1).

## Gambar. 1 Pengembangan model sistem

## B. Model Proses Pengelolaan arsip dengan sistem
Untuk  model  sistem  pengelolaan  arsip  saat  arsip diunggah  sampai  arsip  tersimpan  diruang  penyimpanan (Gambar2).
Gambar. 2 Model Proses Penglolaan Arsip

## III. H ASIL DAN P EMBAHASAN
A. Algoritma Kompresi LZSS
Algoritma  kompresi  LZSS  merupakan  salah  satu algoritma  kompresi  yang  berbasis dictionary (kamus). Algoritma  ini  merupakan  pengembangan  dari  algoritma kompresi  LZ77.  Pada  algoritma  kompresi  LZSS,  teks dikodekan  sebagai  pasangan  terurut (offset,len) ,  yaitu offset adalah  banyaknya  karakter  sampai  karakter  pada pointer  yang  ditetapkan  dan len adalah  panjang  string yang cocok.

## B. Ide Pengembangan Algoritma Kompresi LZSS Modifikasi
Misalkan  diberikan  teks  asli T:abcdebcddcbb maka dengan  konsep  algoritma  kompresi  LZSS  diperoleh  hasil enkode E(T):abcde(1,3)dcbb .  Perhatikan  bahwa  teks  asli ada  12  karakter  dan  setelah  dienkode  dengan  algoritma kompresi  LZSS  menjadi  11  karakter.  Jika  diperhatikan lebih  detail  maka  hanya  string  “bcd”  yang  dapat disimbolkan  menjadi  (1,3)  artinya  setelah  karakter  ke-1 ada kesamaan sepanjang 3 karakter selanjutnya.
Perhatikan  kembali  teks  asli T:abcdebcddcbb .  Kita dapat  megenkode E(T):abcd(1,3)(5,-3)b dengan  jumlah  9 karakter,  lebih  sedikit  dari  output  enkode  algoritma kompresi  LZSS.  Perhatikan  bahwa  string “dcb” dapat dibaca  (5,-3)  artinya  saat  pointer  pada  karakter  5  maka terdapat kesamaan jika mundur 3 langkah. Hal inilah yang melatarbelakangi  ide  pengembangan  konsep  modifikasi pada  algoritma  kompresi  LZSS.  Jadi,  pada  algoritma kompresi  LZSS  berlaku  pengkodean (offset,len) maka pada  modifikasinya  yang  diusulkan  berlaku (offset,len) dan (offset,-len) .

## C. Analisis Algoritma Kompresi LZSS Modifikasi
Algoritma  yang  diusulkan  menggunakan  pengkodean (offset,len)  dan  (offset,-len).  Dengan  demikian  terjadi  3 kondisi di bawah ini:
1) Terdapat (offset,len) dan (offset,-len) pada string yang  berbeda: Jika  pengkodean (offset,len) dan (offset,- len) terjadi  pada  string  yang  berbeda  maka  output  dari pengkodean  algoritma  LZSS  modifikasi  merupakan gabungan  keduanya.  Selanjutnya,  diberikan  contoh  teks asli di bawah ini.
 0:tes nama kamu
 14:kaset kamu
Perhatikan bahwa teks ini terdiri atas 24 karakter. Jika dikerjakan  dengan  algoritma  kompresi  LZSS  diperoleh hasil enkode berupa:
 0:tes nama kamu
 14:kaset(8,5)
Total karakter pada output enkode algoritma kompresi LZSS  adalah  21  karakter.  Jika  dikerjakan  pada  algoritma kompresi  LZSS  modifikasi  yang  diusulkan  menghasilkan output:
 0:tes nama kamu
 14:ka(4,-3)(8,5)
Total karakter output enkode pada algoritma kompresi LZSS  modifiksi  adalah  20  karakter.  Perhatikan  bahwa terdapat  1  kode (offset,len) dan  1  kode (offset,-len) yang
berbeda yaitu (8,5)dan(4,-3). Perhatikan bahwa penggunaan  algoritma  kompresi  LZSS  modifikasi  yang diusulkan  menghasilkan  jumlah  karakter  yang  lebih sedikit (optimal).
2) Terdapat (offset,len) dan (offset,-len) pada string yang  sama  dengan  panjang  sama: Jika  pengkodean (offset,len) dan (offset,-len) terjadi  pada  string  yang  sama dengan  panjang  sama  maka  output  dari  pengkodean algoritma LZSS modifikasi adalah pengkodean (offset,len) . Selanjutnya, diberikan contoh teks asli di bawah ini.
 0:nama kamu
 10:kamu rama
Perhatikan bahwa teks ini terdiri atas 19 karakter. Jika dikerjakan  dengan  algoritma  kompresi  LZSS  diperoleh hasil enkode berupa:
 0:nama kamu
 10:(5,4) r(1,3)
Total karakter pada output enkode algoritma kompresi LZSS adalah 16 karakter. Jika, dikerjakan pada algoritma kompresi LZSS yang diusulkan menghasilkan output:
 0:nama kamu
 10:(5,4) r(1,3)
Total karakter output enkode pada algoritma kompresi LZSS  modifiksi  yang  diusulkan  adalah  16  karakter. Perhatikan  bahwa  pada  algoritma  kompresi  LZSS modifikasi “ama” pada string rama dapat dikodekan (1,3) atau (5,-3).
3) Terdapat (offset,len) dan (offset,-len) pada string yang  sama  dengan  panjang  berbeda: Jika  pengkodean (offset,len) dan (offset,-len) terjadi  pada  string  yang  sama dengan  panjang  berbeda  maka  output  dari  pengkodean algoritma  LZSS  modifikasi  merupakan  hasil  pengkodean terpanjang  yang  dihasilkan  dari  keduanya.  Selanjutnya, diberikan contoh teks asli di bawah ini.
 0:kamu makan
 11:kamu nakal
Perhatikan bahwa teks ini terdiri atas 21 karakter. Jika dikerjakan  dengan  algoritma  kompresi  LZSS  diperoleh hasil enkode berupa:
 0:kamu makan  11:(0,5)n(6,3)l
Total karakter pada output enkode algoritma kompresi LZSS adalah 17 karakter. Jika, dikerjakan pada algoritma kompresi  LZSS  modifikasi  yang  diusulkan  akan menghasilkan output enkode:
 0:kamu makan
 11:(0,5)(10,-4)l
Total karakter output enkode pada algoritma kompresi LZSS  modifiksi  adalah  16  karakter.  Perhatikan  bahwa pada  algoritma  kompresi  LZSS  pada  string “nakal” dienkode menjadi “n(6,3)l” yang berarti hanya 3 karakter yang  sama  dikodekan.  Sedangkan,  pada  algoritma kompresi  LZSS  modifikasi “naka” pada  string “nakal” dapat  dikodekan  (10,-4).  Jadi  pengkodean  terpanjang diperoleh pada kode (10,-4).
Secara  umum,  jika  tidak  ada  string  yang  bisa  dibalik (dibaca  mundur)  maka  algoritma  kompresi  LZSS  yang diusulkan  sama  dengan  algoritma  kompresi  LZSS.  Pada faktanya,  semakin  banyak  string  atau  kata  yang  terdapat dalam  satu  dokumen,  pasti  semakin  banyak  string  atau kata  yang  berulang  sehingga  konsep  algoritma  kompresi LZSS  modifikasi  dapat  diterapkan  agar  pengkompresan data menjadi lebih optimal.

## D. Simulasi Perbandingan Algoritma Kompresi LZSS dan Algoritma Kompresi LZSS Modifikasi
Pada  penelitian  ini,  perbandingan  algoritma  kompresi LZSS  dan  algoritma  kompresi  LZSS  modifikasi  akan dinyatakan dalam rasio kompresi [13]. Kami menggunakan definisi rasio kompresi c dengan persamaan
    ukuran data terkompresi ukuran data tidak terko i c mpres  (1)
Misalkan  ukuran  asli  suatu  file  (ukuran  data  tidak terkompresi)  adalah  40  karakter.  Selanjutnya,  setelah dikompresi  ukurannya (ukuran data terkompresi)  menjadi 25  karakter.  Dengan  demikian,  rasio  kompresi  file  itu adalah 62, 5% c  .  Perhatikan  bahwa  semakin  kecil  rasio kompresi maka tingkat kompresi semakin baik.
Berikut ini diberikan original teks asli (data yang belum dikompresi).
 0:saya suka makan ayam
 21:aku suka makan nasi
 41:maya anak nakal
 57:disana sangat aman
 76:namaku maya
Jadi,  terdapat  total  87  karakter  (ukuran  data  tidak terkompresi).  Perbandingan  hasil  kompresi  algoritma kompresi LZSS dan algoritma kompresi LZSS modifikasi yang diusulkan dapat dilihat pada Tabel 1.
TABEL I P ERBANDINGAN H ASIL K OMPRESI A LGORITMA K OMPRESI LZSS D AN A LGORITMA K OMPRESI LZSS M ODIFIKASI P ADA D ATA S IMULASI Algoritma Kompresi LZSS Algoritma Kompresi LZSS Modifikasi 0:saya suka makan ayam 21:aku(4,12)nasi 31:m(16,3) anak nakal 46:disana sangat aman 65:namaku m(16,3) 0:saya suka makan ayam 21:(10,-3)(4,12)nasi 30:(21,-5)a(16,-3) (16,-4)l 40:disana sangat aman 59:(59,-4)ku (21,-4) 75 karakter 66 karakter
Pada simulasi ini, rasio kompresi algoritma
LZSS 75 0,86 87   atau  86%  dan  rasio  kompresi  LZSS
modifikasi 66 0, 76
87   atau  76  %.  Pada  kasus  ini  rasio kompresi algoritma LZSS modifikasi lebih kecil 10% dari rasio  kompresi  algoritma  LZSS  yang  berarti  algoritma LZSS  modifikasi  memiliki  tingkat  kompresi  yang  lebih baik.

## E. Penerapan Algoritma Kompresi LZSS modifikasi
Konsep  algoritma  kompresi  LZSS  modifikasi  yang diusulkan diterapkan  pada interface Data Penelitian, Data Pengabdian,  dan  Data  Kerjasama  LPPM  STMIK  Atma Luhur. Sebelum file disimpan diruang penyimpanan maka file  dikompres  terlebih  dahulu  dengan  algoritma  LZSS modifiksi.
Proses  kompresi  file  dimulai  dengan  pemilihan  file yaitu  dengan  menekan button “CARI  FILE”.  Jika  file yang  dicari  telah  ditemukan  maka  selanjutnya  tekan button “COMPRES”. Output kompresi akan berupa tabel. Berikut  ini  adalah  tampilan  aplikasi  setelah  melakukan proses kompresi salah satu file.

## Gambar. 3 Tampilan aplikasi
Aplikasi  akan  menampilkan  hasil  kompresi  algoritma LZSS  dan  kompresi  algoritma  LZSS  modifikasi. Selanjutnya, berikut  ini tampilan aplikasi untuk kompresi pada beberapa file inputan.

## Gambar. 4 Tampilan aplikasi
Pada  simulasi  di  atas,  kami  memilih  9  sampel  file dalam beberapa format (.docx, .doc, .xlsx, .txt) . Berikut ini tabel output simulasi kompresi file.
Berdasarkan Tabel 2, ukuran data hasil kompresi LZSS modifikasi  cendrung  selalu  lebih  kecil  dari  pada  hasil kompresi  algoritma  LZSS.  Dari  9  sampel  file  diperoleh rata-rata  rasio  kompresi  algoritma  LZSS  adalah  75,40% dan rata-rata kompresi algoritma LZSS modifikasi adalah 67,86%.  Hal  ini  menunjukkan  bahwa  algoritman  LZSS modifikasi menghasilkan tingkat kompresi yang lebih baik.
TABEL II P ERBANDINGAN U KURAN F ILE P ADA A LGORITMA K OMPRESI LZSS D AN A LGORITMA K OMPRESI LZSS M ODIFIKASI N o Ukuran (byte) LZSS LZSS* Rasio LZSS Rasio LZSS* 1 24014 23575 21218 98,17% 88,36% 2 18953 17341 15607 91,49% 82,35% 3 35665 35624 32062 99,89% 89,90% 4 13417 11610 10449 86,53% 77,88% 5 117760 45235 40712 38,41% 34,57% 6 19686 18350 16515 93,21% 83,89% 7 26462 23576 21218 89,09% 80,18% 8 83456 23576 21218 28,25% 25,42% 9 8856 4743 4269 53,56% 48,20% Rata-rata rasio kompresi 75,40% 67,86%

## IV. K ESIMPULAN
Algoritma  kompresi  LZSS  modifikasi  dikembangkan berdasarkan konsep algoritma kompresi LZSS
(pengkodean (offset,len) )  serta  penambahan  pengkodean (offset,-len) .  Dari  9  sampel  file  yang  dipilih  sebagai  data simulasi,  diperoleh  rata-rata  rasio  kompresi  algoritma LZSS  adalah  75,40%  dan  rata-rata  kompresi  algoritma LZSS  modifikasi  adalah  67,86%.  Hal  ini  menunjukkan bahwa algoritman LZSS  modifikasi  menghasilkan tingkat kompresi yang lebih baik..

## U CAPAN T ERIMA K ASIH / A CKNOWLEDGMENT
Tim Peneliti mengucapkan banyak terima kasih kepada STMIK  Atma  Luhur  yang  telah  mensupport  pendanaan penelitian  ini  melalui  Hibah  Internal  Kampus  Tahun Anggaran  2019.  Tim  Peneliti  juga  berharap  hasil penelitian  ini  dapat  dimanfaatkan  secara  maksimal  di Lembaga  Penelitian  dan  Pengabdian  Masyarakat  STMIK Atma Luhur.
R EFERENSI
[1] Sujono,  “Prototipe  Aplikasi  Pengelolaan  Arsip  Dalam  Format Digital,” Konf. Nas. Sist. Inf. 2018 STMIK , pp. 653–656, 2018.
[2] Y.  JIng,  “The  Combinational  Application  of  LZSS  and  LZW Algorithms for Compression Based On Huffman,” 2011 Int. Conf. Electron. Optoelectron. (ICEOE 2011) , pp. 397–399, 2011.
[3] Y.  Wiseman,  “THE  RELATIVE  EFFICIENCY  OF  DATA COMPRESSION BY LZW AND LZSS,” Data Sci. J. , vol. 6, no. January, pp. 1–6, 2007.
[4] G.  Little  and  J.  Diamond,  “Optimum  String  Match  Choices  in LZSS,” 2010 Data Compression Conf. Optim. , 2010.
[5] L.  Heng,  G.  Fei,  X.  Yanming,  and  F.  Shuo,  “The  application  of LZSS  in  the  RFID  tags,” 2009  Int.  Symp.  Comput.  Netw. Multimed. Technol. , pp. 1–4, 2009.
[6] Z.  C.  Pereira,  M.  E.  Pellenz,  R.  D.  Souza,  and  M.  A.  Arau, “Unequal error protection for LZSS compressed data using Reed- Solomon codes,” IET Commun , vol. 1, no. 4, pp. 612–617, 2007.
[7] R.  Demo,  S.  Marcelo,  and  E.  Pellenz,  “On  unequal  error protection for LZSS compressed data,” Ann. Telecommun , no. 65, pp. 285–292, 2010.
[8] A.  Ozsoy  and  M.  Swany,  “CULZSS :  LZSS  Lossless  Data Compression  on  CUDA,” 2011  IEEE  Int.  Conf.  Clust.  Comput. CULZSS , 2011.
[9] W. Chang, X. Yun, N. Li, and X. Bao, “Investigating Randomness of  the  LZSS  Compression  Algorithm,” 2012  Int.  Conf.  Comput. Sci. Serv. Syst. Investig. , no. 1, pp. 2001–2006, 2012.
[10]  P.  Pylak,  “Efficient  modification  of  LZSS  compression algorithm,” Ann. UMCS Inform. , vol. 1, no. 2003, pp. 61–72, 2019.
[11]  I.  Shcherbakov,  C.  Weis,  and  N.  Wehn,  “A  High-Performance
FPGA-Based  Implementation  of  the  LZSS  Compression Algorithm,” 2012 IEEE 26th Int. Parallel Distrib. Process. Symp. Work. PhD Forum , 2012.
[12]  A.  Ozsoy,  M.  Swany,  and  A.  Chauhan,  “Optimizing  LZSS Compression on GPGPUs,” Futur. Gener. Comput. Syst. , 2013.
[13]  R.  Iˇsa  and  Jiˇ  r´ı  Matouˇsek,  “A  Novel  Architecture  for  LZSS
Compression  of  Configuration  Bitstreams  Within  FPGA,” 2017 IEEE  20th  Int.  Symp.  Des.  Diagnostics  Electron.  Circuits  Syst. , 2017.
[14]  S.  T.  Klein  and  D.  Shapira,  “A  New  Compression  Method  for Compressed  Matching,” Proc.  DCC  2000.  Data  Compression Conf. , 2000.