Implementasi Dan Analisis Algoritma Dynamic Markov Compression (DMC) Pada File Text

5

BAB 2
TINJAUAN PUSTAKA

Setelah membaca bab ini maka pembaca akan memahami pengertian tentang
kompresi, pengolahan citra, kompresi data, Teknik kompresi, Kompresi citra.

2.1

Defenisi Data

Data adalah keterangan yang benar dan nyata atau dengan kata lain adalah catatan atas
kumpulan fakta yang mendeskripsikan simbol, grafik, gambar, kata, angka, huruf,
objek ataupun kondisi. Data merupakan bentuk jamak dari datum, berasal dari bahasa
latin yang artinya “sesuatu yang diberikan”. Data terkadang dipandang sebagai bentuk
terendah dari informasi. Istilah data dan file silih berganti digunakan ataupun secara
bersama-sama. File adalah pengarsipan dalam suatu media yang terdiri dari kumpulan
karakter dan didokumentasikan dalam bentuk digital pada komputer. Sehingga, sering
sekali istilah file ataupun data silih berganti digunakan untuk mengacu pada objek
yang sama. Penggunaan istilah “data teks” atau “file teks” sama-sama mengacu kepada

objek yang sama, perbedaan pengertian antara keduanya tersebut tidak begitu jelas.
Namun, istilah data biasanya digunakan untuk mendeskripsikan apa yang menjadi isi
suatu file. Berbagai jenis data antara lain: data gambar, data teks, data suara, dll. Di
dalam ilmu komputer penggunaan istilah tipe data juga digunakan. Merupakan
penjelasan bagaimana data disimpan ataupun diolah oleh komputer. Tipe data
sederhana melingkupi integer , real, boolean, character . Tipe data sederhana majemuk
melingkupi string. Struktur data melingkupi array dan record. Struktur data majemuk
melingkupi stack, queque, list, multilist, pohon biner dan graph . Pemakaian tipe data
yang sesuai di dalam proses pemrograman akan menghasilkan algoritma yang jelas
dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan
sederhana (Sihombing, 2010)

Universitas Sumatera Utara

6

Data merupakan salah satu hal utama yang dikaji dalam masalah teknologi informasi.
Penggunaan dan pemanfaatan data sudah mencakup banyak aspek. Berikut adalah
pembahasan definisi data berdasarkan berbagai sumber. Data menggambarkan sebuah
representasi fakta yang tersusun secara terstruktur. Selain deskripsi dari sebuah fakta,

data dapat pula merepresentasikan suatu objek sebagaimana bahwa “Data adalah nilai
yang merepresentasikan deskripsi dari suatu objek atau kejadian (event) “
Dengan demikian dapat dijelaskan kembali bahwa data merupakan suatu objek,
kejadian, atau fakta yang terdokumentasikan dengan memiliki modifikasi terstruktur
untuk suatu atau beberapa entitas (Sarifah, 2010).

2.2

Text File
Text file (disebut juga dengan flat file) adalah salah satu jenis file komputer yang

tersusun dalam suatu urutan baris (Text File). Data teks biasanya diwakili oleh 8
bit kode ASCII (atau EBCDIC ). Akhir dari sebuah file teks sering ditandai dengan
penempatan satu atau lebih karakter – karakter khusus yang dikenal dengan tanda
end-of-file setelah baris terakhir di suatu file teks. File teks biasanya mempunyai

jenis MIME (Multipurpose Internet Mail Extension ) "text/plain", biasanya sebagai
informasi tambahan yang menandakan suatu pengkodean. pada sistem operasi
Windows, suatu file dikenal sebagai suatu file teks jika memiliki extention


misalnya txt, rtf, doc dan lain – lain (Sarifah, 2010).
2.3

Teknik Kompresi
Kompresi mempunyai bermacam-macam jenis kompresi antara lain adalah
sebagai berikut:

2.3.1 Lossless Compression
Algoritma pengkompresi ini dapat mengembalikan data yang sudah dikompresi sama
atau sesuai dengan data asli (data sebelum dikompresi). Contoh algoritma ini dapat
ditemukan pada pengkompresian teks (Nurjaman, 2011).
Prinsip dasar eksploitasi data statistik citra:
a. Menghasilkan citra hasil kompresi yang tepat sama dengan citra semula.
b. Dalam proses kompresinya, tidak ada informasi yang hilang.
c. Rasio kompresi sangat rendah / terbatas.
d. Contoh aplikasi: citra medis, citra biner (facsimile), dll

Universitas Sumatera Utara

7


Algoritma kompresi lossless dibagi dalam dua kategori, yaitu
1. Dictionary-based Technique
Menghasilkan file kompresi yang berisi fixed-length code (12 – 16 bits) yang
merepresentasikan sequence bytes file asli, misalnya Run-Length Encoding dan
LZW encoding.
2. Variable Length Coding
Merepresentasikan karakter yang sering muncul dalam bit yang lebih kecil,
misalnya Dynamic Markov Compression, Huffman Coding. Contoh format file
dengan kompresi lossless: GIF, PCX, BMP, TIFF, TRG, PGM.

2.3.2 Lossy Compression

Algoritma pengkompresi ini bersifat terbalik dengan algoritma lossless karena tidak
dapat mengembalikan data yang sudah dikompresi sesuai atau sama dengan data asli
(data sebelum dikompresi). Contoh algoritma ini misalnya pada pengkompresian
gambar, suara dan video (Nurjaman, 2011).
Prinsip atau ciri-ciri umum pada lossy compression adalah:
1. Menghasilkan citra hasil kompresi yang hampir sama dengan citra semula. Dalam
proses kompresinya, ada informasi yang hilang namun dalam batas toleransi

tertentu.
2. Rasio kompresi tinggi.
3. Contoh aplikasi: transmisi citra pada bandwidth saluran komunikasi terbatas.
4. Algoritma kompresi lossy telah banyak dikembangkan, diantaranya menggunakan
kuantisasi, fraktal, wavelet, dll.
5. Contoh format file dengan kompresi lossy : JPEG, MPEG.

2.4

Kompresi Data

Kompresi berarti memampatkan/mengecilkan ukuran. Kompresi data adalah proses
mengkodekan informasi menggunakan bit atau information-bearing unit yang lain
yang lebih rendah daripada representasi data yang tidak terkodekan dengan suatu
sistem encoding tertentu (Taryani, 2008).

Universitas Sumatera Utara

8


Pemampatan merupakan salah satu dari bidang teori informasi yang bertujuan untuk
menghilangkan redudansi dari sumber. Pemampatan bermanfaat dalam membantu
mengurangi konsumsi sumber daya yang mahal, seperti ruang hard disk atau
pemindahan data melalui internet (Razi, 2009).
Data dan informasi adalah dua hal yang berbeda. Pada data terkandung suatu
informasi. Namun tidah semua bagian data terkait dengan informasi tersebut atau
pada suatu data terdapat bagian-bagian data yang berulang untuk mewakili informasi
yang sama. Bagian data yang tidak terkait atau bagian data yang berulang tersebut
disebut dengan data berlebihan (redundancy data ). Tujuan daripada kompresi data
tiada lain adalah untuk mengurangi data berlebihan tersebut sehingga ukuran data
menjadi lebih kecil dan lebih ringan dalam proses transmisi (Putra, 2010).
Kompresi citra (image compression) adalah proses untuk meminimalisasi
jumlah bit yang merepresentasikan suatu citra sehingga ukuran data citra menjadi
lebih kecil. Pengiriman data hasil kompresi dapat dilakukan jika pihak pengirim yang
melakukan kompresi dan pihak penerima memiliki aturan yang sama dalam hal
kompresi data. Pihak pengirim harus menggunakan algoritma kompresi data yang
sudah baku dan pihak penerima juga menggunakan teknik dekompresi data yang
sama dengan pengirim sehingga data yang diterima dapat dibaca kembali dengan
benar. Kompresi data menjadi sangat penting karena memperkecil kebutuhan
penyimpanan data, mempercepat pengiriman data, memperkecil kebutuhan

bandwidth (Taryani, 2008).

Dalam teknik kompresi data, redundansi dari data menjadi masalah utama.
Kompresi data ditujukan untuk mereduksi penyimpanan data yang redundan atau
dalam istilah lain kompresi citra digital dilakukan untuk dengan cara meminimalkan
jumlah bit yang diperlukan untuk merepresentasikan suatu data citra, namun
seringkali kualitas gambar yang dihasilkan jauh lebih buruk dari aslinya karena
keinginan kita untuk memperoleh rasio kompresi yang tinggi.
Secara mendasar standar teknik kompresi gambar memiliki 2 teknik kompresi
yaitu teknik kompresi secara lossy dan lossles. Untuk teknik kompresi secara lossy
ada sebagian dari informasi yang hilang dalam gambar tersebut sehingga jika
dilakuakan proses edit akan susah dilakukan. Sedangkan teknik kompresi secara
lossless tidak menghilangkan informasi sedikitpun.

Universitas Sumatera Utara

9

Secara umum proses kompresi dan dekompresi dapat diliha pada gambar di bawah
ini:


Kompresi
Data Hasil
Kompresi

Data Asli
Dekompresi
Ukurn Data Hasil

Ukuran Data Hasil Kompresi

Gambar 2.1 Alur Kompresi-Dekompresi Data (Sarifah, 2010).

2.5

Kompresi Citra

Kriteria yang digunakan untuk mengukur pemampatan citra adalah:
1. Waktu kompresi dan waktu dekompresi
Proses kompresi merupakan proses pengodekan citra (encode) sehingga diperoleh

citra dengan representasi kebutuhan memori yang minimum.
2. Kebutuhan memori
Metode kompresi yang baik adalah metode kompresi yang mampu mengompresi
file citra menjadi file yang berukuran paling minimal.
3. Kualitas pemapatan (fidelity)
Metode

kompresi

yang

baik

adalah

metode

kompresi

yang


mampu

mengendalikan citra hasil kompresi menjadi citra semula tanpa kehilangan
informasi apa pun.
4. Format keluaran
Format citra hasil pemapatan yang baik adalah yang cocok dengan kebbutuhan
pengiriman dan penyimpanan data (Sutoyo, et al. 2009).

2.6 Metode Kompresi Data
Organisasi–organisasi yang mengoperasikan jaringan komputer sering kali
mengharapkan dapat menekan biaya pengiriman data. Biaya pengiriman itu sangat
tergantung dengan banyaknya byte data yang dikirimkan. Oleh karena itu, dengan
melakukan kompresi terhadap data, akan dapat menghemat biaya pengiriman.
Istilah kompresi tersebut diterjemahkan dari kata bahasa Inggris “ compression”
yang berarti pemampatan. Dalam bidang teknik, kompresi berarti proses

Universitas Sumatera Utara

10


pemampatan sesuatu yang berukuran besar sehingga menjadi kecil. Dengan
demikian, kompresi data berarti proses untuk pemampatan data agar ukurannya
menjadi lebih kecil.
Pemampatan ukuran berkas melalui proses kompresi hanya diperlukan sewaktu
berkas tersebut akan disimpan dan atau dikirim melalui media transmisi atau
telekomunikasi. Apabila berkas tersebut akan ditampilkan lagi pada layar monitor,
maka data yang terkompresi tersebut harus dikembalikan pada format semula agar
dapat dibaca kembali. Proses mengembalikan berkas yang dimampatkan ke bentuk
awal inilah yang disebut dekompresi.
Satuan yang cukup penting dalam kompresi data adalah compression ratio yang
menggambarkan seberapa besar ukuran data setelah melewati proses kompresi
dibandingkan dengan ukuran berkas yang asli.
Beberapa teknik kompresi data yang telah banyak digunakan adalah Bit Mapping,
Half byte packing , Huffman, Arithmatic Encoding, Run Length Encoding (Santi,

2010).

2.7 Dekompresi Data
Sebuah data yang sudah dikompres tentunya harus dapat dikembalikan lagi
kebentuk aslinya, prinsip ini dinamakan dekompresi. Untuk dapat merubah data
yang terkompres diperlukan cara yang berbeda seperti pada waktu proses kompres
dilaksanakan. Jadi pada saat dekompres terdapat catatan header yang berupa bytebyte yang berisi catatan mengenai isi dari file tersebut.

Catatan header akan menuliskan kembali mengenai isi dari file tersebut, jadi isi
dari file sudah tertulis oleh catatan header sehingga hanya tinggal menuliskan
kembali pada saat proses dekompres. Proses dekompres dikatakan sempurna
apabila file kembali kebentuk aslinya (Santi, 2010).

2.8

Dynamic Markov Compression

Algoritma ini awalnya dikembangkan untuk data biner, contoh umum data biner
adalah kode mesin (executable) file, gambar (baik monokromatik dan warna ), dan
suara. Setiap state dari finite-state mesin DMC (atau Model DMC, dalam bagian ini
kata-kata "mesin" dan "model " digunakan secara bergantian) membaca bit dari
inputan, memberikan sebuah probabilitas didasarkan pada apa yang telah dihitung

Universitas Sumatera Utara

11

sebelumnya, dan beralih ke salah satu dari dua state lain tergantung pada apakah bit
inputan adalah 1 atau 0. Algoritma ini dimulai dengan mesin kecil (mungkin
sesederhana hanya satu state) dan menambahkan states itu didasarkan pada input.
Dengan demikian adaptif. Segera setelah state baru ditambahkan ke mesin,maka
akan dimulai perhitungan bit dan menggunakannya untuk menghitung probabilitas
untuk 0 dan 1. Bahkan dalam bentuk yang sederhana, mesin bisa tumbuh sangat
besar dan dengan cepat mengisi seluruh memori yang tersedia. Salah satu
keuntungan menggunakan data biner adalah encoder aritmatika dapat dibuat sangat
efisien jika ia harus menggunakan hanya dengan dua symbol (Salomon, 2004).
Algoritma DMC adalah algoritma yang memanfaatkan teknik pemodelan yang
didasarkan pada model finite-state (proses Markov). Algoritma ini dikembangkan
oleh Gordon Cormack dan Horspool Nigel. Algoritma DMC menggunakan
predictive arithmetic coding yang mirip dengan PPM (Prediction by Partian
Matching) sehingga memungkinkan kemampuan kompresi file yang tinggi (Taryani,

2008).
DMC

membuat

probabilitas

dari

karakter

biner

berikutnya

dengan

menggunakan pemodelan finite-state, dengan model awal berupa mesin FSA dengan
transisi 0/1 dan 1/1, seperti ditunjukkan pada Gambar 2.2. DMC merupakan teknik
kompresi yang adaptif, karena struktur mesin finite-state berubah seiring dengan
pemrosesan file. Kemampuan kompresinya tergolong amat baik, meskipun waktu
komputasi yang dibutuhkan lebih besar dibandingkan metode lain

1/1
1
0/1

Gambar 2.2 Model Awal DMC (Taryani, 2008).
Pada DMC, simbol alfabet input diproses per bit, bukan per byte. Setiap output
transisi menandakan berapa banyak simbol tersebut muncul. Penghitungan tersebut
dipakai untuk memperkirakan probabilitas dari transisi. Contoh: pada Gambar 2.3,

Universitas Sumatera Utara

12

transisi yang keluar dari state 1 diberi label 0/5, artinya bit 0 di state 1 terjadi
sebanyak 5 kali.

2

0/5
0/3

1/2

3

1/1
1/4

1

0/2
1/2
0/3
4

Gambar 2.3 Sebuah Model yang Diciptakan Oleh Metode DMC (Taryani, 2008).
Secara umum, transisi ditandai dengan 0/p atau 1/q dimana p dan q
menunjukkan jumlah transisi dari state dengan input 0 atau 1. Nilai probabilitas
bahwa input selanjutnya bernilai 0 adalah p/(p +q) dan input selanjutnya bernilai 1
adalah q/(p+q ). Lalu bila bit sesudahnya ternyata bernilai 0, jumlah bit 0 di transisi
sekarang ditambah satu menjadi p+1. Begitu pula bila bit sesudahnya ternyata
bernilai 1, jumlah bit 1 di transisi sekarang ditambah satu menjadi q+1.
Jika frekuensi transisi dari suatu state t ke state sebelumnya, yaitu state u,
sangat tinggi, maka state t dapat di-cloning. Ambang batas nilai cloning harus
disetujui oleh encoder dan decoder . State yang di-cloning diberi simbol t’. Aturan
cloning adalah sebagai berikut :

a. Semua transisi dari state u dikirim ke state t’. Semua transisi dari state lain ke state
t tidak berubah.
b. Jumlah transisi yang keluar dari t’ harus mempunyai rasio yang sama (antara 0 dan
1) dengan jumlah transisi yang keluar dari t.
c. Jumlah transisi yang keluar dari t dan t’ diatur supaya mempunyai nilai yang sama

Universitas Sumatera Utara

13

d. dengan jumlah transisi yang masuk.

A

0

C

D

0

1

1

B

E

a. Sebelum Cloning

A

0

C

D

0

1
0

B

1

C

1

E

b. Setelah Cloning

Gambar 2.4 State yang di-cloning (Taryani, 2008).

Universitas Sumatera Utara

14

2.9
2.9.1

Penelitian Yang Relevan
Emil Yayan Taryani dari Universitan Komputer Indonesia ini meninjau
algoritma kompresi DMC (Dynamic Markov Compression, dari penelitian
didapatkan kesimpulan bahwa Kompresi data dengan DMC merupakan teknik
kompresi yang tergolong amat baik, meskipun waktu komputasi yang
dibutuhkan lebih besar dibandingkan dengan metode lain (Taryani, 2008).

2.9.2

Andre Pratama dari Universitas Sumatera Utara ini membandingkan tiga
algoritma untuk mengetahui algoritma mana yang memiliki kinerja tertinggi
dalam memampatkan file text dan paramater kinerja diukur dari kompleksitas
algoritma, rasio kompresi, dan berapa lama waktu yang diperlukan untuk
proses kompresi (Pratama, 2010).

Universitas Sumatera Utara