– Kompresi berarti menempatkan/mengecilkan ukuran.
– Kompresi data adalah sebuah proses mengkodekan informasi menggunakan bit atau information bearing unit yang lain lebih rendah daripada representasi data yang tidak terkodekan dengan suatu sistem encoding tertentu.
Contoh kompresi sederhana misalnya kata “Yang” menjadi kata “Yg”. Pengiriman data hasil kompresi dapat dilakukan jika pihak pengirim dan pihak penerima memiliki aturan yang sama dalam hal kompresi data.
-Kompresi data menjadi sangat penting, karena memperkecil kebutuhan penyimpanan data, memepercepat pengiriman data, dan memperkecil kebutuhan bandwitch.
Contoh teknik kompresi audio:
– MP3, AAC, RMA, WMA
Contoh teknik kompresi gambar :
– JPEG, PNG, GIF
Contoh teknik kompresi video :
– MP4, 3GP
Berdasarkan mode penerimaan data oleh manusia :
– Dialoque mode : yaitu proses penerimaan data dimana pengirim dan penerima seakan berdialog langsung (real time).
– Retrieval Mode : yaitu proses penerimaan data tidak dilakukan secara Real Time.
Berdasarkan Output :
– Lossy Comppresion adalah teknik kompresi dimana data hasil dekompresi tidak sama dengan data sebelum kompresi, namun sudah “cukup” untuk digunakan.
– Loseless Compression adalah teknik kompresi dimana data hasil kompresi dapat dikompres lagi dan hasilnya tepat sama seperti data sebelum proses kompresi.
* Entropy Encoding
– Bersifat Loseless.
– Tekniknya tidak berdasarkan media dengan spesifikasi dan karakteristik tertentu namun berdasarkan urutan datanya.
– Statistical encoding, tidak memperhatikan semantik data.
– Contoh : Run Lenght Encoding, Static Huffman Coding.
* Source Coding
– Bersifat Lossy
– Berkaitan dengan data semantik (arti data) dan media.
– Contoh : Prediction (DPCM, DM), Transformation(FFT, DCT), Layered Coding (Bit Position, Subsampling), Vector Quantization.
* Hybrid Coding
– Gabungan antara Lossy dengan Loseless.
– Contoh : JPEG, MPEG
* RUN LENGHT ENCODING (RLE)
– Kompresi data teks dilakukan jika ada beberapa huruf yang sama yang ditampilkan berturut-turut.
– Memiliki 2 type yaitu :
RLE Type 1, dan RLE Type 2.
– Minimal 4 huruf sama.
– RLE type 1 menggunakan tanda “!”
– RLE type 2 menggunakan tanda negatif (-)
Contoh
AAAABBCDDDDDDDEFGGGG
RLE Type 1 = A!4BBCD!7EFG!4
RLE Type 2 =4A-3BBC7D-2EF4G
Static Huffman Coding Algorythm.
– Frekuensi karakter dari string yang akan dikompres dianalisis terlebih dahulu.
– Selanjutnya dibuat pohon Huffman yang merupakan pohon biner dengan ROOT awal yang diberi nilai 0(disebelah kiri) dan 1 (disebelah kanan).
– Untuk dahan sebelah kiri, diberi nilai 1 (disebelah kiri) dan 0 (disebelah kanan).
– Untuk dahan sebelah kanan, diberi nilai 0(disebelah kiri) dan 1 (disebelah kanan).
– Menggunakan teknik A Bottom Up Approach :
dimana frekuensi terkecil dikerjakan terlebih dahulu untuk diletakan ke dalam leaf (daun).
– Kemudian daun-daun akan dikombinasikan dan dijumlahkan probabilitasnya menjadi Root di atasnya.
Contoh : MAMA SAYA
A = 4 (4/8) = 0,5
M = 2 (2/8)=0,25
S = 1 (1/8) = 0, 125
Y = 1 (1/8) = 0, 125
Referensi
http://streamvoyage.com/3L4o