MULTIMEDIA system Roni Andarsyah, ST., M.Kom Lecture Series
Kompresi data teks (Huffman coding, RLE coding, LZW coding, arithmetic coding Representasi dan kompresi data suara dan audio Representasi dan kompresi citra Representasi dan kompresi video
Kompresi berarti memanpatkan / mengecilkan ukuran Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information bearing unit yang lain yang lebih rendah dari pada representasi data yang tidak terkodekan dengan suatu system encoding tertentu. Contoh kompresi sederhana misalnya kata yang dikompres menjadi kata yg
Lossless Compression Lossless Compression merupakan metode kompresi data dimana data yang sudah dikompresi dapat dikembalikan ke bentuk semula secara utuh. Kompresi jenis lossless compression biasanya melakukan kompresi dengan dua buah langkah: langkah pertama yaitu membangkitkan model statistik dari data yang dimasukkan, langkah kedua adalah menggunakan model tersebut untuk memetakan data yang dimasukan kedalam rangkaian bit dimana data/simbol yang memiliki frekuensi tertinggi akan menghasilkan keluaran (output) yang paling pendek. Salah satu implementasi dari lossless compression adalah Kode Huffman (Huffman Coding) yang merupakan bagian dari kompresi data/file dengan format ZIP
Lossy Compression Lossy Compression merupakan kebalikan dari Lossless Compression dimana data yang sudah dikompresi akan sulit atau bahkan tidak mungkin dikembalikan ke bentuk semula secara utuh. Biasanya kompresi jenis ini melakukan kompresi data dengan cara menghilangkan/membuang sebagian data dan tidak akan memberikan perubahan yang besar pada data tersebut. Diantaranya : 1. Kompresi data text 2. Kompresi data Images 3. Kompresi data Audio 4. Kompresi data Video
Kompresi data tipe Text Satu buah karakter/simbol biasanya berukuran 1 byte / 8 bit, kita harus menggunakan metode lossless compression karena data berjenis text harus dapat dikembalikan ke bentuk semula secara utuh untuk dapat kembali dibaca. Metode kompresi RLE (Run Length Encoding) dan Huffman Coding adalah metode kompresi untuk data berjenis text
RLE (Run Length Encoding) AAAAAKUUUUU CHAYYYYYAAAAANK KAAAAMUUUUUUUUUUUUUUUUUUUUUUUU!!!!!! Pesan diatas akan sangat cocok jika dikompresi menggunakan metode kompresi RLE karena kompresi RLE menghitung jumlah kemunculan simbol lalu menuliskan simbol tersebut sebanyak satu kali diikuti dengan jumlah kemunculannya Hitung jumlah kemunculan karakter 64 byte (A,5) (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,4) (M,1) (U,24)(!,6) Hasil Konpersi A5K1U5 1C1H1A1Y5A5N1K1 1K1A4M1U24!6 Menjadi 35 byte menghemat tempat penyimpanan sebesar 31 byte (47%)!!
Hufman Coding Kompresi dengan algoritma Huffman Coding dilakukan dengan cara : 1. Hitung frekuensi kemunculan setiap simbol. 2. Pilih dua buah simbol dengan frekuensi terkecil, lalu gabungkan dalam satu tangkai. 3. Ulangi langkah kedua hingga tidak ada lagi tangkai yang dapat digabungkan. Contoh: 17 byte ABABAAAADDDCCCFBB 1. Pertama, kita akan menghitung kemunculan setiap karakter : Simbol Kemunculan A 6, B 4, C 3, D 3, F 1 2. (Terkecil Gabungkan) A 6, B 4, C 3, DF 4 3. Pilih kembali dua buah simbol dengan frekuensi terkecil, lalu gabungkan. Ulangi hal ini hingga tidak dapat lagi digabungkan. A 6, B 4,(C,D,F) 7 (A,B) 10, (C,(D,F)) 7 ((A,B), (C,(D,F) 17
Hufman Coding Contoh: 17 byte ABABAAAADDDCCCFBB 1. Pertama, kita akan menghitung kemunculan setiap karakter : Simbol Kemunculan A 6, B 4, C 3, D 3, F 1 2. A 6, B 4, C 3, DF 4 (Terkecil Gabungkan) 3. Pilih kembali dua buah simbol dengan frekuensi terkecil, lalu gabungkan. Ulangi hal ini hingga tidak dapat lagi digabungkan. A 6, B 4,(C,(D,F) 7 (A,B) 10, (C,(D,F)) 7 ((A,B), (C,(D,F)) 17
Hufman Coding Dari pohon disamping, maka huruf D dapat kita kodekan dengan : 000. Berikut ini merupakan tabel lengkap hasil pengkodean seluruh simbol dan kode: A 10, B 11, C 00, D, 010, F, 011 Berdasarkan tabel diatas, maka ABABAAAADDDCCCFBB dapat kita kodekan menjadi seperti berikut : 10111011101010100100100100000 000111111 Ukuran Sebelum Pemamfatan : 17 x 4 byte : 68 bit Setelah Pemanfatan : (6x2) + (4x2) + (3x1) + (3x1) + (1x1) = 27 bit
Roni Andarsyah, ST., M.Kom Lecture Series