Kompresi Lossless
1.
Pengertian kompresi lossless
Kompresi lossless
adalah pemampatan data menggunakan algoritma tertentu sehingga tidak ada data
yang hilang antara yang dikompres dengan data yang asli. Data yang telah
dikompresi dapat dikembalikan lagi ke bentuk asalnya tanpa kehilangan data. Contoh
yang sering kita temui yaitu kompresi dengan aplikasi WinRAR, 7ZIP dan WinZIP.
Kompresi
lossless digunakan ketika ingin mengecilkan ukuran suatu dokumen yang penting
sehingga ketika kita ingin mengembalikan data tersebut ke ukuran semula tidak
terjadi kerusakan. Data-data tersebut seperti dokumen hasil pengolah kata, kode
sumber program dan data-data penting lainnya.
2.
Jenis-jenis format kompresi lossless:
a.
Kompresi pada dokumen seperti zip, tar.gz, gzip,
7zip dan lainnya.
b.
Kompresi pada citra seperti tiff dan png
c.
Kompresi pada media audio seperti flac dan wma
d.
Kompresi pada media video seperti ffmpeg
3.
Huffman Code
Huffman code merupakan algoritma untuk
mengkompresi data secara lossless yang ditemukan oleh David A Huffman yang
dipublikasikan pada tahun 1952. Algoritma huffman bekerja dengan cara sebagai
berikut:
1. Menghitung
frekuensi kemunculan karakter-karakter pada sebuah file.
2. Mengurutkan
karakter yang muncul berdasarkan frekuensinya.
3. Mengurutkan
karakter-karakter berdasarkan alfabet untuk karakter-karakter yang memiliki frekuensi sama.
4. Menyusun
binary tree berdasarkan aturan Huffman.
4.
Run Length Encoding
Run Lenth
Encoding (RLE) merupakan
bentuk kompresi data yang sangat sederhana. RLE bekerja dengan cara menuliskan
karakter-karakter sama yang muncul berurutan dengan hanya menuliskan jumlah
kemunculannya diikuti dengan karakter tersebut.
RLE tidak memerlukan kamus data.
Misalkan ada
data AAAAABBCCCCAAAACC, dengan menggunakan algoritma RLE data tersebut dapat
ditulis dengan 5A2B4C4A2C.
Untuk proses dekompresi dilakukan dengan cara
menuliskan karakter sesuai dengan kemunculannya. Misal dari code 5A2B4C4A2C, maka diperoleh karakter
A sebanyak 5, karakter B sebanyak 2, karakter C sebanyak 4, karakter A sebanyak
4 dan karakter C sebanyak 2. Sehingga apabila seluruh hasil dekompresi
digabungkan menghasilkan data asli AAAAABBCCCCAAAACC.
5.
Lempel Ziv
Lempel Ziv adalah
suatu algoritma kompresi data yang menggunakan dictionary data dalam
pengkompresiannya. Lempel Ziv bekerja secara on-the-fly, yaitu penyusunan
dictionary dilakukan secara bersamaan dengan penulisan codeword. Data
dikompresi sesuai dengan dictionary yang dimiliki, jika sebuah string belum
terdapat dalam dictionary yang dimiliki, maka string tersebut akan diindekskan
ke dalam dictionary-nya. Sehingga dictionary akan terus bertambah jika semakin
banyak string yang belum dimiliki.
Tidak ada komentar:
Posting Komentar