Algoritma-algoritma Kompresi Memperkecil Ukuran Data

Artikel Terkait Ilmu Komputer

Algoritma Untuk Kompresi Memperkecil Ukuran Data



AlgoritmaTeknik kompresi data dipergunakan untuk mengurangi penggunaan ruang data penyimpanan ataupun kapasistas pengiriman. Untuk dapat mengubah kembali data yang terkompres ke bentuk aslinya, maka digunakan program dekompresi.

Terdapat dua sifat kompresi data yakni Lossy compression dan Lossles compression. Lossy berarti data yang terdekompresi tidak akan persis sama dengan data aslinya sedangkan Lossless ketika data tersebut didekompresi maka data tersebut maih persis sama dengan data yang aslinya.

Ada beberapa algoritma yang dapat mengkompresi seperti Bit Reduction, Shannon-fano, LZW, Huffman dan lain sebagainya.

Algoritma Bit Reduction, algoritma ini pertama kali diterapkan untuk kapasisas SMS (Short Message Service). Sistem kerja algoritma ini dengan mengurangi pengkodean standar 8 bits menjadi 5 bits kemudian dikemas kembali ke sebuah ukuran byte. Alur algoritma bit reducition ini dengan memilih karakter – karakter yang sering muncul dari berkas kemudian di konversi ke dalam kode ASCII maka diperoleh bilangan biner dari kode – kode ASCII untuk setiap karakter. Selanjutnya menempatkan bilangan – bilangan biner ke dalam urutan byte (8 bit array) kemudian hilangkan 3 bits dari depan setiap karakter (bilangan biner). Setelah itu mengatur kembali urutan byte.

Algoritma shannon-fano, Metode algoritma ini yakni dengan menggantikan setiap simbol dengan sebuah alternatif kode bbiner yang panjangnya ditentukan berdasarkan probabilitas dari simbol tersebut. Cara kerja algoritma shannon-fano ini dengan membentuk sebuah pohon kemudian di encoding. Sebuah pohon shannon-fano dibuat sesuai dengan spesifikasi yang dirancang untuk mendefinisakan tabel kode yang efektif.
Untuk daftar simbol dikembangkan dari sebuah daftar yang sesuai dengan probabilitas kemudian mensortir daftar simbol sesuai dengan frekuensi lalu membagi daftar menjadi dua bagian kemudian menerapkan kode bit untuk tiap kelompok yang dibagi hingga setiap simbol menjadi kode yang sesuai dengan pohon.

Algoritma LZW, Pertama terdapa sebuah kamus yang memuat string dengan single karakter yang berhubungan dengan semua input karakter yang memungkinkan. Alur kerjan algoritma LZW ini dengan memindai melalui inputan sring sehingga menemui salah satu yang tidak ada di dalam kamus. Ketika menemukan sebuah string, indek untuk string terkecil pada karakter terakhir kode dihasilkan dari kamus dan mengirimkan kode menjadi ouput. String baru ditambahkan ke dalam kamus dengan kode terakhir yang tersedia. Inputan karaker yang terakhir digunakan sebagai tring point top scan berikutnya untuk substring kemudian string yang lebih panjang berturut-turut didaftarkan ke dalam kamus sehingga tersedia untuk proses encoding.

Algoritma huffman, Pada dasarnya, algoritma huffman ini bekerja seperti mesin sandi morse dengan membentuk suatu kode dari suatu karakter sehingga karakter tersebut memiliki rangkaian bit yang lebih singkat dibandingkan sebelumnya. Cara kerjanya dengan membentuk pohon huffman dari hasil penghitungan semua frekuensi kemunculan tiap karakter kemudian menerapkan strategi algoritma greedy yakni membagi dua pohon menjadi frekueni yang lebih kecil, kemudian dihubungkan pada sebuah akar. Akar tersebut kemudian dipisahkan kembali dan digabung dengan akar yang berada di atasnya atau akar baru. Selanjutnya direkursif sehingga akar utama pohon memiliki frekuensi bernilai satu. Setelah pohon terbentuk dan tiap karakter memiliki identitas maka dapat dibuat identitas dari tiap karakter berdasarkan biner.

Untuk dapat meningkatkan rasio kompresi terbaik dapat juga dengan menggabungkan beberapa algoritma menjadi satu.




Referensi
Adam Puspabhuna - Perbandingan Tiga Langkah Teknik-Teknik Kompresi Teks
Gagarin Adhitama - Perbandingan Algoritma Huffman dengan Algoritma Shannon-Fano
Rekomendasi Web Hosting
Hosting murah minimal order 1 bulan cuma 20rb. Gunakan voucher diskon 30%, kode voucher: MCP, total bayar hanya 14rb!!! Daftar sekarang