Table of contents [Show]
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
Untuk dapat meningkatkan rasio kompresi terbaik dapat juga dengan menggabungkan beberapa algoritma menjadi satu.
Leave a comment
Your email address will not be published. Required fields are marked *