Perbandingan Algoritma Even-Rodeh Code dan Algoritma Variable Length Binary Encoding (VLBE) Pada Kompresi File Teks

BAB 2
TINJ AUAN PUSTAKA

2.1

Kompr esi Data

Kompresi data didalam konteks ilmu komputer merupakan ilmu atau seni dalam
merepresentasikan informasi yang terdapat pada data ke dalam suatu bentuk yang
lebih padat (kecil)

(Pu, 2006). Perkembangan komputer dan multimedia

mengakibatkan kompresi data menjadi hal yang penting dan berguna dalam teknologi
pada saat sekarang ini.
Kompresi data adalah suatu proses yang dapat mengubah sebuah aliran data
masukan (data asli) ke dalam aliran data yang lain (data yang dimampatkan) yang
memiliki ukuran yang lebih kecil (Salomon & Motta, 2010). Ada sejumlah algoritma
kompresi data, yang didedikasikan untuk kompresi format data yang berbeda. Bahkan
untuk tipe data tunggal ada sejumlah algoritma kompresi yang berbeda, yang
menggunakan pendekatan yang berbeda. Dengan kata lain, menggunakan kompresi

data, ukuran file tertentu dapat dikurangi. Hal ini sangat berguna ketika memproses,
menyimpan atau mentransfer file besar, yang membutuhkan banyak sumber daya
(Kodituwakku, 2005).
Kompresi terdiri dari dua komponen, algoritma encoding yang mengambil
pesan dan menghasilkan sebuah representasi "kompresi" (dengan sedikit bit), dan
algoritma decoding yang merekonstruksi pesan asli atau perkiraan dari representasi
kompresi (Gozali & Mervyn, 2004).
Dengan merujuk pada beberapa definisi diatas, dapat ditarik kesimpulan
bahwa kompresi adalah sebuah usaha untuk memperkecil ukuran data pada suatu file,
dimana informasi yang terdapat di dalam file tersebut tidak berubah.

Terdapat banyak perangkat lunak kompresi data yang sering digunakan oleh
banyak orang, seperti winzip, winrar, 7zip dan lain-lain untuk memperkecil ukuran

Universitas Sumatera Utara

7

data sebelum mereka menyimpan dan mengirimkan data tersebut ke sebuah media
penyimpanan. Hal itu dilakukan untuk mempermudah dalam mengatur file dan

memperkecil penggunaan media penyimpanan. Selain itu juga membantu dalam
mempercepat proses pengiriman file dari satu media ke media lain dimana pada saat
sekarang ini telah dikembangkan cloud computing yaitu sebuah media penyimpanan
yang terdapat pada media online yang dapat diakses dimana saja dengan memerlukan
koneksi internet. Dengan adanya kompresi data maka data yang telah dikompresi akan
memperkecil kuota atau bandwith dalam pengiriman data melalui internet (Andika,
2014).
Proses kompresi dan dekompresi data dapat ditunjukkan melalui diagram blok
seperti pada Gambar 2.1.

Uncompressed data

Kompresi

Compressed data

Dekompresi
Compressed data

Uncompressed data


Gambar 2.1 Diagram Blok Pr oses Kompr esi dan Dekompresi Data (Pu, 2006)

2.2

Teknik Kompr esi

Berdasarkan kemungkinan data yang telah dikompresi dapat dikembalikan ke data
sebelum dikompresi atau data aslinya, teknik kompresi data dikelompokkan menjadi
dua bagian yaitu kompresi data Lossless dan kompresi data Lossy (Pu, 2006).

2.2.1 Kompresi Lossless (Lossless Compression)
Algoritma kompresi dikatakan lossless adalah teknik kompresi data dimana data yang
telah dikompresi dapat dikembalikan ke data yang aslinya tanpa mengurangi
informasi yang ada pada data tersebut (Pu, 2006). Losseless compression disebut juga
dengan reversible compression karena data asli bisa dikembalikan dengan sempurna.
Akan tetapi rasio kompresinya sangat rendah, misalnya pada gambar seperti GIF dan
PNG (Sarifah, 2010). Contoh data yang cocok adalah gambar medis, teks, program,

Universitas Sumatera Utara


8

spreadsheet dan lain-lain. Teknik ini digunakan jika data tersebut sangat penting, jadi
tidak dimungkinkan untuk menghilangkan beberapa detail. Contoh algoritma losseless
pada kompresi data adalah Arithmetic Coding, Huffman Coding, Variable Length
Binary Encoding, Even-Rodeh Code dan lain-lain. Teknik kompresi lossless dapat
digambarkan seperti gambar 2.2.

Gambar 2.2 Teknik Kompr esi Lossless (Pu, 2006)

2.2.2 Kompresi Lossy (Lossy Compression)
Algoritma kompresi dikatakan lossy adalah teknik kompresi data dimana data
mengalami sedikit atau banyak kehilangan data pada saat kompresi (Pu, 2006). . Lossy
compression disebut juga dengan irreversible compression karena data asli tidak bisa
dikembalikan dengan sempurna. Oleh karena itu sangat kecil kemungkinan dan
bahkan tidak akan pernah bisa data yang dikompresi dengan teknik Lossy dapat
dikembalikan seperti data sebelum dikompresi atau data aslinya. Contoh data yang
cosok adalah gambar, suara dan video. Karena cara kerja sistem penglihatan dan
pendengaran manusia yang terbatas, beberapa detail dapat dihilangkan, sehingga

didapat data hasil kompresi yang seolah-olah sama dengan data asli. Contoh algoritma
lossy pada kompresi data adalah Wavelet Compression, Fractal Compression, WynerCoding (WZC) dan lain-lain. Teknik kompresi lossy dapat digambarkan seperti
gambar 2.3.

Gambar 2.3 Teknik Kompr esi Lossy (Pu, 2006)

Universitas Sumatera Utara

9

2.2.3 Padding dan Flag Bits
a. Padding
Padding adalah penambahan bit 0 sebanyak kekurangan jumlah bit-bit data pada hasil
proses kompresi sehingga jumlah keseluruhan bit-bit data pada hasil kompresi
merupakan kelipatan delapan (habis dibagi delapan). Contoh misalkan dihasilkan bitbit data hasil kompresi 1100101101010001100001101. Terdapat 25 bit data dalam
bilangan biner. Maka dilakukan penambahan bit 0 sebanyak 7 kali agar jumlah bit
data tersebut habis dibagi delapan. Sehingga bit-bit data tersebut menjadi
11001011010100011000011010000000 setelah diberikan padding (Andika, 2014).

b. Flag Bits

Flag bits adalah penambahan bilangan biner sepanjang delapan bit setelah padding
dimana flag bits ini adalah sejumlah bilangan yang memberikan sebuah tanda bahwa
terdapat n buah padding di dalam bit-bit data hasil dari kompresi. Penambahan flag
bits ini dimaksudkan untuk mempermudah dalam membaca bit-bit data hasil kompresi
pada saat proses dekompresi. Contoh misalkan bit-bit data yang telah diberikan
padding adalah 11001011010100011000011010000000. Karena terdapat 7 bit
penambahan padding maka flag bits-nya adalah bilangan biner dari 7 dengan panjang
8

bit

yaitu

00000111.

Sehingga

bit-bit

datanya


menjadi

1100101101010001100001101000000000000111 setelah diberikan flag bits. (Andika,
2014).

2.2.4 Pengukuran kinerja kompresi data
Pada suatu teknik yang digunakan dalam proses kompresi data terdapat beberapa
faktor atau variabel yang biasa digunakan untuk mengukur kualitas dari suatu teknik
kompresi data tersebut, yaitu :
1. Ratio of Compression (Rc)
Ratio of Compression (Rc) adalah perbandingan antara ukuran data sebelum
dikompresi dengan ukuran data setelah dikompresi (Salomon & Motta, 2010).

…………………………….….(1)

Universitas Sumatera Utara

10


Misalkan didapat sebuah nilai Ratio of Compression sebesar 2.75. Itu berarti
besar data sebelum kompresi adalah 2.75 kali lipat dari besar data setelah
dikompresi.

2. Compression Ratio (Cr)
Compression Ratio (Cr) adalah persentasi besar data yang telah dikompresi
yang didapat dari hasil perbandingan antara ukuran data setelah dikompresi
dengan ukuran data sebelum dikompresi (Salomon & Motta, 2010).

……………...………..(2)

Misalkan didapat sebuah nilai Compression Ratio sebesar 35%. Itu berarti
setelah dikompresi ukuran data adalah 35% dari data sebelum dikompresi.

3. Redundancy (Rd)
Redundancy (Rd) adalah kelebihan yang terdapat di dalam data sebelum
dikompresi. Jadi setelah data dikompresi dapat dihitung Redundancy data yaitu
persentasi dari hasil selisih antara ukuran data sebelum dikompresi dengan
data setelah dikompresi (Salomon & Motta, 2010).


…..………………………………………………(3)

Misalkan didapat sebuah nilai Redundancy sebesar 14%. Itu berarti besarnya
kelebihan data sebelum dikompresi adalah 14%.

4. Waktu Kompresi dan Dekompresi
Waktu kompresi dan dekompresi adalah waktu yang dibutuhkan oleh sebuah
sistem untuk melakukan proses kompresi dan dekompresi dari mulai
pembacaan data hingga proses encoding pada data tersebut. Semakin kecil
waktu yang diperoleh maka semakin efisien metode yang digunakan dalam
proses kompresi dan dekompresi itu.

Universitas Sumatera Utara

11

2.3

Algor itma


2.3.1 Pengertian Algoritma
Algoritma diambil dari kata Al-Khawarizmi. Al-Khwarizmi adalah bagian dari nama
seorang ahli Matematika dan Astronomi yaitu Abu Ja’far Muhammad Ibnu Musa AlKhawarizmi. Ia dianggap sebagai pencetus pertama algoritma karena di dalam
bukunya yang berjudul “Aljabar wal muqabala” Abu Ja’far menjelaskan langkah
dalam penyelesaian berbagai program Aritmatika (Aljabar). Seiring berjalannya
waktu, Al-Khwarizmi berubah kata menjadi algorism, selanjutnya menjadi algorithm
(Suarga, 2006).
Algoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah
dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan
sistematis. Langkah-langkah pemecahan masalah bisa dilakukan dengan berbagai cara
berbeda-beda (Wahyudi, 2004). Di dalam algoritma berbasis karakter, kode hanya
dapat mewakili satu kata yang berisi beberapa karakter (Cheng, et al. 1999).

2.3.2 Ciri-ciri Algoritma
Ada beberapa ciri algoritma, yaitu:
1. Algoritma memiliki awal dan akhir, suatu algoritma harus berhenti setelah
mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki
langkah yang terbatas.
2. Setiap langkah harus didefenisikan dengan tepat sehingga tidak memiliki arti
ganda, tidak membingungkan (non ambiguous).

3. Memiliki masukan (input) atau kondisi awal.
4. Memiliki keluaran (output) atau kondisi akhir.
5. Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan
persoalan (Suarga, 2006).

2.4

Algor itma Even-Rodeh Code

Algoritma Even-Rodeh Code merupakan algoritma kompresi yang dikembangkan oleh
Shimon Even dan Michael Rodeh pada tahun 1978 (Salomon, 2007). Algoritma EvenRodeh Code adalah algoritma kompresi data yang mengkodekan setiap karakter

Universitas Sumatera Utara

12

dengan menggunakan beberapa rangkaian bit. Pembentukan bit yang mewakili
masing-masing karakter dibuat berdasarkan frekuensi kemunculan tiap karakter.
Cara untuk membangun kode Even-Rodeh Code adalah sebagai berikut:
1. Hitung panjang bit.
2. Jika panjang bit 0