Ilustrasi kompresi lossless |
Kompresi lossless umumnya digunakan untuk file file penting , yang membutuhkan informasi sesuai dengan file aslinya
Contoh : file dokumen (.doc , .ppt , ) file program (.exe) , file source code aplikasi (.cpp ,.cs ) , dana lain lain.
Format Kompresi lossless :
- Audio : flac dan wma.
- Video :Ffmpeg
- Image : tiff dan png.
- dokumen : zip, gzip, tar.gz, rar, dan 7z.
- Huffman Coding
Ditemukan oleh David A Huffman yang dipublikasikan pada tahun 1952.
Algoritma huffman bekerja dengan cara sebagai berikut:
- Menghitung frekuensi kemunculan karakter-karakter pada sebuah file.
- Mengurutkan karakter yang muncul berdasarkan frekuensinya.
- Mengurutkan karakter-karakter berdasarkan alfabet untuk karakter-karakter yang memiliki frekuensi sama.
- Menyusun binary tree berdasarkan aturan Huffman.
Ilustrasi Huffman Coding |
- Run Length Encoding
Run Length Encoding adalah metode kompresi lossless
yang memanfatkan data yang sama yang berurutan, sehingga dapat dinyatakan
dengan jumlah frekuensi karakter yang berulang. Di dalam encode nya dinyatakan dengan , “kode bit penanda_kode bit
jumlah karakter_kode bit karakter “
Contoh :
Terdapat teks “AAAA” ( A dalam biner 01000001 ) sebanyak 4 kali , bit penanda
dinyatakan dengan 11111110, maka
codeword yang dihasilkan dari Run Length Encoding adalah 11111110 00000100 01000001
- LZW compression
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.
Contoh Kompresi LZW |
Tidak ada komentar:
Posting Komentar