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 byte-
byte 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
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 01 dan 11, 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 11
01
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
transisi yang keluar dari state 1 diberi label 05, artinya bit 0 di state 1 terjadi sebanyak 5 kali.
1 3
2
4 05
12
11
12 14
03 03
02
Gambar 2 .3 Sebuah Model yang Diciptakan Oleh Metode DMC Taryani, 2008.
Secara umum, transisi ditandai dengan 0p atau 1q dimana p dan q menunjukkan jumlah transisi dari state dengan input 0 atau 1. Nilai probabilitas
bahwa input selanjutnya bernilai 0 adalah pp+q dan input selanjutnya bernilai 1 adalah qp+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
d. dengan jumlah transisi yang masuk.
A C
D
B E
1 1
a. Sebelum Cloning
A C
D
B E
1 1
C 1
b. Setelah Cloning
Gambar 2.4 State
yang di-cloning Taryani, 2008.
Universitas Sumatera Utara
2.9 Penelitian Yang Relevan