Apa jadinya bila teknologi kompresi
fi le belum ditemukan? Entahlah,
yang jelas aktivitas pertukaran data
di Internet tidak semudah sekarang.
Bayangkan bila Anda harus mendown
load sebuah aplikasi yang
ter diri dari ratusan fi le yang tidak
ter kompresi. Tak terkira waktu dan
band width yang tersita di
_ Sepintas hal ini terdengar se perti
mus tahil. Bagaimana mungkin kom -
puter yang telah memperkecil (dengan
me ngu rangi jumlah bit dan
byte data) se buah fi le bisa mengembalikannya
tan pa perubahan apapun?
Padahal ide dasar di balik teknologi
ini se benar nya sangat sederhana:
mem buang pengu langan.
Mencatat Pengulangan
_ Sebagian besar tipe fi le digital mengandung
pengulangan. File-fi le tersebut
memiliki informasi yang sama
yang ditampilkan secara ber ulang.
Aplikasi kompresi fi le membuang
pe ngulangan-peng ula ngan tersebut.
Alih-alih menam pilkan potongan infor
masi yang sama secara berulang,
aplikasi kompresi mencatat informasi
tersebut satu kali saja, dan akan
menduplikasikannya kembali saat
fi le diekstrak.
Sebagai contoh, perhatikan tipe
informasi yang sangat akrab dengan
kita berikut ini: kata. “Jangan tanya
apa yang negara berikan pada Anda.
Tanya apa yang Anda berikan pada
negara.” (terjemahan kutipan dari
Kutipan tersebut memiliki 15 kata,
yang terdiri dari 74 karakter, 14
spasi, dan 2 titik.
Jika setiap huruf, spasi, dan tanda
baca mengambil satu unit memory
komputer, kita mendapatkan fi le
de ngan ukuran 93 unit. Untuk
mem perkecil ukuran fi le tersebut,
kita harus memperhatikan pengulangan
yang terjadi. Sekejap kita
mendapatkan da ta berikut:
• “tanya” muncul 2 kali
• “apa” muncul 2 kali
• “yang” muncul 2 kali
• “negara” muncul 2 kali
• “berikan” muncul 2 kali
• “pada” muncul 2 kali
• “Anda” muncul 2 kali
Secara kasar, setengah dari kutipan
JFK di atas adalah pengulangan. Tujuh
kata (tanya, apa, yang, negara,
berikan, pada, Anda) memberikan
hampir semua informasi keseluruhan
kutipan. Untuk membangun setengah
kutipan bagian akhir, kita
hanya me nunjuk kata-kata yang ada
pada setengah kutipan bagian awal,
dan mengisinya dengan spasi.
Algoritma Pengulangan
_ Kebanyakan aplikasi kompresi
meng gunakan variasi algoritma dictio
nary -based LZ (yang diambil dari
dua nama penemu algoritma ini,
Lempel dan Ziv) untuk mengecilkan
fi le. Sis tem ini membuat semacam
katalog dengan deretan angka.
Kembali ke kutipan JFK di atas, kita
bisa membuat katalognya sebagai
berikut:
1. Tanya.
2. Apa.
3. Yang.
4. Negara.
5. Berikan.
6. Pada.
7. Anda.
Dari katalog di atas, kita dapat
merumuskan kutipan JFK menjadi:
“Jangan 1 2 3 4 5 6 7. 1 2 3 7 5
6 4.”
Itulah algoritma pengulangan yang
digunakan oleh aplikasi kompresi
untuk mengecilkan ukuran fi le,
dan merekonstruksinya kembali ke
ukuran semula. “Jangan 1 2 3 4 5 6
7. 1 2 3 7 5 6 4.” ditambah daftar
kata dalam katalog, tentu lebih
pendek daripada “Jangan tanya apa
yang negara berikan pada Anda.
Tanya apa yang Anda berikan pada
negara.”
Dari contoh di atas, kita berhasil
memampatkan kutipan JFK dari 93
unit menjadi 36 unit untuk kalimat
yang terkompresi, dan 54 unit untuk
katalog, atau total 90 unit. Ya, kita
berhasil menghemat 3 unit! Namun,
seperti kata pepatah, “Sedikit demi
sedikit, lama-lama menjadi bukit,”
proses kompresi fi le di komputer
mengumpulkan yang sedikit itu,
namun dalam jumlah yang besar.
Menemukan Pola
_ Dari contoh di atas, kita mengambil
semua kata yang digunakan
berulang dan meletakkannya di
dalam sebuah katalog. Bagi kita, ini
adalah cara yang paling lazim digunakan
untuk menulis kamus, index,
atau glosarium. Tapi, sebuah aplikasi
kompresi melihatnya sedikit berbeda:
algoritma kompresi tidak mengenal
kata-kata yang terpisah, melainkan
mencari pola atau pattern.
Untuk semakin memperkecil ukuran
fi le, aplikasi kompresi memilih
pola apa yang harus dimasukkan
dalam katalog. Bila melihat kutipan
JFK di atas dari sudut pandang ini,
kita akan mendapatkan isi katalog
yang benar-benar berbeda dari contoh
di atas. Aplikasi kompresi memindai
kutipan JFK, pengulangan pertama
yang dicatat adalah pola huruf “a”
dan “n” yang dikuti oleh spasi.
Pada frase pertama kutipan
tersebut, “Jangan tanya apa yang
negara berikan pada Anda.” terdapat
empat pola huruf “a” yang dikuti
spasi. Dua pola gabungan huruf “an”
yang diikuti spasi pada “jangan”
dan “berikan”. Dua pola gabungan
huruf “ang” pada kata “jangan” dan
“yang”, serta pola-pola lain yang
mungkin luput dari perhatian kita.
Berbekal katalog pola (bukan
kata) inilah aplikasi kompresi memampatkan
sebuah fi le hingga 90%
bahkan lebih, terutama pada fi le
yang memiliki banyak pola yang
berulang, misalnya pada fi le-fi le yang
di dalamnya terdapat tag (HTML,
XML, TIFF, dan lain-lain). [MI]
Informasi Lebih Lanjut
• http://computer.howstuffworks.
0 komentar: