BAB 2 TINJAUAN PUSTAKA
2.1. Kompresi Data
Kompresi  data  adalah  proses  mengubah  sebuah  aliran  data  input  menjadi  aliran  data baru  yang  memiliki  ukuran  lebih  kecil.  Aliran  yang  dimaksud  adalah  berupa  file
ataupun  buffer  dalam  memori.  Kebutuhan  terhadap  kompresi  data  dipengaruhi  oleh dua  alasan,  yaitu  kecenderungan  manusia  untuk  mengumpulkan  data  dan  kebutuhan
terhadap  proses  transfer  data  yang  cepat.  Karena  itu  metode-metode  untuk mengkompresi data semakin berkembang.  Salomon, 2004
Terdapat  banyak  metode  untuk  kompresi  data.  Metode-metode  tersebut  lahir dari ide yang berbeda-beda, cocok untuk berbagai tipe data, dan menghasilkan output
yang  berbeda-beda.  Namun,  prinsip  dasar  yang  menjadi  dasar  tiap  metode  adalah sama,  yaitu  mengkompresi  data  dengan  menghilangkan  redundancy  dari  data  asli.
Salomon, 2004 Lossy  dan  Lossless  Compression  adalah  pengelompokan  metode  kompresi
berdasarkan  keutuhan  data.  Lossy  Compression  menghilangkan  beberapa  data  untuk memperoleh  kompresi  yang  lebih  baik,  seperti  Linear  Predictive  Coding,  A-Law
Algorithm,  Mu-Law  Algorithm,  Fractal  Compression,  dan  lain-lain.  Ketika  proses dekompresi  dilakukan,  maka  output  yang dihasilkan  tidak  sama  dengan  data  aslinya.
Metode  kompresi  ini  lebih  efektif  untuk  mengkompresi  data  gambar,  video,  atau audio.  Sedangkan  Lossless  Compression  tidak  menghilangkan  data  sama  sekali,
sehingga  cocok  untuk  mengkompresi  data  berupa  teks.  Yang  termasuk  Lossless Compression  adalah  Burrows-Wheeler,  DEFLATE,  LZW,  FLBE,  VLBE,  Huffman,
PPM, Shanon-Fano, Sequitur, dan lain-lain. Salomon, 2004
2.2. Fixed Length Binary Encoding FLBE
Secara  matematis  kode  disebut  juga  pemetaan.  Sebuah  kode  memetakan  symbol tunggal  maupun  string  dari  symbol  menjadi  sebuah  codeword  bitstring.  Proses  ini
disebut juga encoding dan proses sebaliknya disebut decoding. Salomon, 2007 Kode  dapat  mengandung  fixed  maupun  variable  length,  dan  dapat  bersifat
statis  maupun  dinamis.  Kode  statis  merupakan  kode  yang  tidak  dapat  berubah-ubah, seperti ASCII dan  Unicode. Sementara kode dinamis bervariasi dari waktu ke waktu,
semakin  banyak  data  yang  dibaca  dan  diproses,  maka  semakin  banyak  pula probabilitas  yang  didapatkan  dari  sebuah  symbol.  Algoritma  Huffman  merupakan
contoh dari kode tersebut. Salomon, 2007 Algoritma  FLBE  dikenal  juga  sebagai  kode-kode  blok.  Kemudahan  dalam
mengubah simbol  yang asli  ke dalam  bentuk fixed-length code menjadikan algoritma ini  mudah  untuk  diimplementasikan  ke  dalam  software.  Kemudahan  tersebut
berbanding lurus dengan proses mengubah kembali fixed-length code menjadi simbol aslinya. Salomon, 2007
FLBE  akan  mengambil  karakter  yang  terdapat  dalam  string  yang  ingin dikompresi,  kemudian  menghitung  frekuensi  jumlah  kemunculan  karakter  pada
string.  FLBE    mengubah  bit  karakter  menjadi  fixed-length  code  sehingga menghasilkan String Bit  yang  baru. String Bit  inilah  yang  merupakan  hasil  kompresi
dari algoritma FLBE.
2.3. Sequitur