Kompresi Lossless
Kompresi
- Kompresi : Teknik mengecilkan data sehingga di peroleh file dengan ukuran yang lebih kecil dari pada ukuran aslinya.
- Kompresi lossless : Teknik kompresi yang tidak menyebabkan kehilangan data. Hasilnya sama seperti data sebelum proses kompresi.
- Contoh : ZIP, RAR, GZIP
- Teknik ini digunakan jika kita membutuhkan data yang setelah dikompresi harus dapat diekstrak/dekompres lagi tepat sama. Biasanya digunakan jika akurasi data sangat penting
- Kadang ada data-data yang setelah dikompresi dengan teknik ini ukurannya sama atau lebih besar
- Kompresi lossless :
- Huffman Coding
- Run-Length Coding
- Lempel-Ziv-Welch Coding
- Arithmetic Coding
Huffman Coding
- Digunakan untuk pengkodean teks, citra dan video
- Kompresi dengan algoritma Huffman Coding dilakukan dengan cara :
- Hitung frekuensi kemunculan setiap simbol.
- Pilih dua buah simbol dengan frekuensi terkecil, lalu gabungkan dalam satu tangkai.
- Ulangi langkah kedua hingga tidak ada lagi tangkai yang dapat digabungkan.
RLE Coding
- Prinsip dasarnya adalah menghitung jumlah/panjang data yang sama dalam serangkain data yang akan dikompres
- Contoh pada dokumen hitam H (tulisan) dan putih P (latar belakang dokumen), berikut misalnya data pada satu baris dokumen yang direpresntasikan dalam pixel:
PPPPPPPPPPPPHPPPPPPPPPPPPPPHHHPPPPPPPPPPPPPPPPPPPPPPPHPPPPPPPPPPP
Bentuk kompresinya adalah : 12P1H14P3H23P1H11P
- Contoh Aplikasi:
- Kompresi citra format bmp pada Windows dan OS/2 untuk citra 1, 4 dan 8 bit/pixel
- Citra format PCX 8 dan 24 bit/pixel
- Fax dan scanner hitam putih
Lempel-Ziv-Welch Coding
- Kamus adaptif yang dapat digunakan dalam GIF dan TIFF
- Menggunakan Teknik Dictionary dimana string karakter digantikan oleh kode tabel yang dibuat setiap ada string yang masuk
Arithmetic Coding
- Menggantikan satu deretan simbol input dengan sebuah bilangan floating point.
- Semakin panjang dan semakin kompleks pesan yang dikodekan , semakin banyak bit yang diperlukan untuk pengkodean tersebut.
Kelebihan dan Kekurangan
- Kompresi lossless menggunakan algoritma RLE dan Huffman Coding akan tergantung pada data yang akan dikompresi.
- Dalam algoritma RLE (Run Length Encoding), jika karakter yang muncul berbeda-beda maka ukuran file akan lebih besar.
- Dalam penerapan Huffman Coding dibutuhkan tempat pada awal (header) file untuk menyimpan informasi yang diperlukan untuk proses dekompresi (decoding).
- Kompresi pada data audio, image, dan video juga sebenarnya dapat menggunakan metode general purpose seperti Huffman Coding, RLE, dan algoritma kompresi lossless lainnya.
No comments:
Post a Comment