KOMPRESI DATA
- Kompresi berarti memampatkan/mengecilkan ukuran - Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing unit yang lain yang lebih rendah daripada representasi data yang tidak terkodekan dengan suatu sistem enkoding tertentu. - Contoh kompresi sederhana yang biasa kita lakukan misalnya adalah menyingkat kata-kata yang sering digunakan tapi sudah memiliki konvensi umum. Misalnya: kata yang dikompres men adi kata yg. - !engiriman data hasil kompresi dapat dilakukan yang sama dalam hal kompresi data. - !ihak pengirim harus menggunakan algoritma kompresi data yang sudah baku dan pihak penerima uga menggunakan teknik dekompresi data yang sama dengan pengirim sehingga data yang diterima dapat dibaca/di-dekode kembali dengan benar. - Kompresi data men adi sangat penting karena memperkecil kebutuhan penyimpanan data" mempercepat pengiriman data" memperkecil kebutuhan band#idth. ika pihak pengirim/yang melakukan kompresi dan pihak penerima memiliki aturan
- $eknik kompresi bisa dilakukan terhadap data teks/biner" gambar %&!'(" !)(" $*++," audio %M!-" ..C" /M." 0M.," dan video %M!'(" 1234" 123-,. Contoh kebutuhan data selama 4 detik pada layar resolusi 356 7 586: 9ata $eks o 4 karakter : 2 bytes %termasuk karakter .;C** '7tended, o ;etiap karakter ditampilkan dalam 878 pi7els o ¨ah karakter yang dapat ditampilkan per halaman : 356 7 586 : 5866 karakter 878 Kebutuhan tempat penyimpanan per halaman : 5.866<2 byte : =.366 byte : =.->? Kbyte - 9ata (rafik @ektor o 4 still image membutuhkan ?66 baris o ;etiap 4 baris direpresentasikan dalam posisi horisontal" vertikal" dan field atribut sebesar 8-bit o sumbu 1oriAontal direpresentasikan dengan log2 356 : 46 bits o sumbu @ertical direpresentasikan dengan log2 586 : = bits o Bits per line : =bits C 46bits C 8bits : 2>bits o ;torage reDuired per screen page : ?66 < 2> : 438>"? byte : 4"3? Kbyte 8 - Color 9isplay o &enis : 2?3" 5.6=3" 43.-85" 3?.?-3" 43.>>>.243 #arna o Masing-masing #arna pi7el memakan tempat 4 byte o Misal 356 7 586 7 2?3 #arna 7 4 byte : -6>.266 byte : -66 KByte Kebutuhan tempat penyimpanan untuk media kontinyu untuk playback: 4 detik
- ;inyal audio tidak terkompres dengan kualitas suara telepon dengan sample 8 k1A dan dikuantisasi 8 bit per sample" pada band#idth 35 Kbits/s" membutuhkan storage:
- ;inyal audio C9 disample 55"4 k1A" dikuantisasi 43 bits per sample" ;torage : 55"4 k1A 7 43 bits : >6?"3 7 46- bits : 88.266 bytes untuk menyimpan 4 detik playback - Kebutuhan sistem !.E standar o 32? baris dan 2? frame/detik o - bytes/pi7el %luminance" red chrom" blue chrom, o Euminance F menggunakan sample rate 4-"? M1A o Chrominance %/-F dan B-F, menggunakan sample rate 3.>? M1A o &ika menggunakan 8 bit/sample" maka
o 9apat dilakukan "ast "or#ard dan "ast re#ind di client o 9apat dilakukan random access terhadap data dan dapat bersifat interaktif
o Kadangkala ada data-data yang setelah dikompresi dengan teknik ini ukurannya men adi lebih besar atau sama.
Mriginal siAe: 46666 bytes Compressed siAe: ?>4- bytes /atio: 4.>?
;tatic 1uffman Coding - +rekuensi karakter dari string yang akan dikompres dianalisa terlebih dahulu. ;elan utnya dibuat pohon huffman yang merupakan pohon biner dengan root a#al yang diberi nilai 6 %sebelah kiri, atau 4 %sebelah kanan," sedangkan selan utnya untuk dahan kiri selalu diberi nilai 4%kiri, - 6 %kanan, dan di dahan kanan diberi nilai 6%kiri, - 4%kanan, - . bottom-up approach : frekuensi terkecil diker akan terlebih dahulu dan diletakkan ke dalam leaf%daun,. Kemudian leaf-leaf akan dikombinasikan dan di umlahkan probabilitasnya men adi root diatasnya. Mis: M.M. ;.F. . : 5 -N 5/8 : 6.? M : 2 -N 2/8 : 6.2? ; : 4 -N 4/8 : 6.42? F : 4 -N 4/8 : 6.42? $otal : 8 karakter
)u""man Tree:
p(YSMA)=0.5
0 1
p(YSM)=0.5
1 0
p(A)=0.5
p(YS)=0.25
1 0
p(M)=0.25
p(Y)=0.125
p(S)=0.125
;ehingga #%., : 4" #%M, : 66" #%;, : 646" dan #%F, : 644 &ontoh lain* &ika terdapat p%., : 6.43" p%B, : 6.?4" p%C, : 6.6=" p%9, : 6.4-" dan p%', : 6.44" buatlah 1uffman $ree-nya dan #eight masing-masing karakterI
Shannon(+ano Al'orithm
9ikembangkan oleh ;hannon %Bell Eabs, dan /obert +ano %M*$, Contoh : 1'EEM ;imbol 1 ' E ¨ah 4 .lgoritma : 4. Orutkan simbol berdasarkan frekuensi kemunculannya 2. Bagi simbol men adi 2 bagian secara rekursif" dengan umlah yang kira-kira sama pada kedua bagian" sampai tiap bagian hanya terdiri dari 4 simbol. Cara yang paling tepat untuk mengimplementasikan adalah dengan membuat binary tree. 4 2 M 4
DI&TIONAR,(BASED &ODIN.lgoritma Eempel-Hiv-0elch %EH0, menggunakan teknik adaptif dan berbasiskan kamus !endahulu EH0 adalah EH>> dan EH>8 yang dikembangkan oleh &acob Hiv dan .braham Eempel pada tahun 4=>> dan 4=>8. $erry 0elch mengembangkan teknik tersebut pada tahun 4=85. EH0 banyak dipergunakan pada O)*P" (*+" @.52 untuk modem. .lgoritma Kompresi:
BEGIN S = next input character; While not EOF { C = next input character; If s + c exists in the diactionar S = s + c Else { Output the code for s; !dd strin" s + c to the dictionar = c; $ $ EN%
.lgoritma 9ekompresi: BEGIN S = N&''; #hile not EOF{ ( = NE)* IN+&* CO%E; Entr = dictionar entr for (; Ouput entr ; if,s -= N&''. add strin" s + entr /01 to dictionar = Entr ; $ EN% Contoh 9ekompresi *nput : 4 2 5 ? 2 - 5 3 4 S Entr%.output &ode 4 2 )OEE 4 . . 2 B 5 B 5 .B ? .B ? B. 3 B. 2 B > B C 8 C 5 .B = .B 3 .BB 46 .BB 4 . 44 . 'M+ 1asil 9ekode: ABABBAB&ABABBA K Strin' . B C .B B. .BB B.B BC C. .B. .BB.
Aplikasi Kompresi
- H*! +ile +ormat o 9itemukan oleh !hil KatA untuk program !KH*! kemudian dikembangkan untuk 0inHip" 0in/./" >-Hip. o Berekstensi Q.Aip dan M*M' application/Aip o 9apat menggabungkan dan mengkompresi beberapa file sekaligus menggunakan bermacam-macam algoritma" namun paling umum menggunakan KatAKs 9eflate .lgorithm. o Beberapa method Hip: ;hrinking : merupakan metode variasi dari EH0
/educing : merupakan metode yang mengkombinasikan metode same byte seDuence based dan probability based encoding. *mploding : menggunakan metode byte seDuence based dan ;hannon-+ano encoding. 9eflate : menggunakan EH0 BAip2" dan lain-lain o .plikasi: 0inHip oleh )ico-Mak Computing /./ +ile o 9itemukan oleh 'ugene /oshal" sehingga /./ merupakan singkatan dari Roshal Archive pada 46 Maret 4=>2 di /usia. o Berekstensi .rar dan M*M' application/7-rar-compressed o !roses kompresi lebih lambat dari H*! tapi ukuran file hasil kompresi lebih kecil. o .plikasi: 0in/./ yang mampu menangani /./ dan H*!" mendukung volume split" enkripsi .';.