About Me

My photo
It's your right to say whatever about me, but I know myself better.

Monday, October 15, 2012

Kompresi Lossless

Kompresi Lossless adalah suatu kompresi dimana hasil data yang di kompres lalu di dekompres hasilnya sama persis dengan aslinya.

Kapan dan Mengapa Lossless?
Digunakan untuk mengatasi kasus-kasus penting atau ketika kita membutuhkan data asli dan data hasil kompresi yang hasilnya sama. Misalnya pada format file .exe atau .cpp

Format Kompresi:
a. File Dokumen, misal: targz, zip, rar
b. File Audio, misal: FLAC, WMA
c. File Image, misal: .png, .tiff
d. File Video, misal: FFMPEG

Algoritma Kompresi:
a. Huffman Code
-menghitung jumlah frekuensi kemunculan karakter, kemudian membuat Huffman Tree nya. Dari Huffman Tree, kemudian dibentuk susunan data untuk kompresi.

Menghitung jumlah frekuensi kemunculan karakter pada kata HUFFMAN

H=1, U=1, F=2, M=1, A=1, N=1
H=2, A=1, H=1, M=1, N=1, U=1
(NU)2, F2, A1, H1, M1
(HM)2, (NU)2, F2, A1
(FA)3, (HM)2, (NU)2
(HMNU)4, (FA)3

Membuat Huffman Tree


b. Run Length Encoding
 -mengubah data dalam bentuk sekuensial , misalnya
AAAAAKUUUUU CHAYYYYYAAAAANK KAAAAMUUUUUUUUUUUUUUUUUUUUUUUU!!!!!!

Kemudian dihitung jumlah kemunculan karakternya:
(A,6) (K,1) (U,5) (spasi,1) (C,1) (H,1) (A,1) (Y,5) (A,5) (N,1) (K,1) (spasi,1) (K,1) (A,5) (M,1) (U,24)(!,6)

Setelah itu, ditampilkan hasil kompresinya:
A6K1U5 1C1H1A1Y5A5N1K1 1K1A5M1U24!6

Dengan melakukan kompresi, kita dapat menghemat space untuk data.

c. LZW Compression
 -Prinsip umum kerja algoritma LZW adalah mengecek setiap karakter yang muncul kemudian menggabungkan dengan karakter selanjutnya menjadi sebuah string jika string baru tersebut tidak berada dalam dictionary atau belum diindekkan maka string baru tersebut akan diindekkan ke dalam
dictionary

No comments:

Post a Comment