25
. (sebanyak 11111110 = 254 kali)
.
00000110
11110000
10101010
10101010
10101010
Ternyata
hasil tersebut
tidak sesuai dengan file aslinya. Untuk
menjaga agar
hal
tersebut
tidak
terjadi,
jika
pada
file asli
terdapat
karakter
yang
sama
dengan
bit
penanda,
maka
pada file pemampatan karakter tersebut ditulis sebanyak dua kali
secara berturutan. Pada
saat pengembalian ke file asli, jika ditemukan bit penanda yang berderetan sebanyak dua
kali, hal itu berarti karakter tersebut bukan bit
penanda, tapi karakter asli dari
file
aslinya.
2.6 Algoritma Huffman
Dasar
pemikiran
algoritma
ini
adalah
bahwa
setiap
karakter
ASCII biasanya
diwakili
oleh
8
bits. Jadi
misalnya
suatu
file berisi
deretan
karakter
ABACAD
maka
ukuran file tersebut adalah 6 x 8 bits = 48 bit atau 6 bytes. Jika setiap karakter tersebut di
beri kode lain misalnya A=1, B=00, C=010, dan D=011, berarti kita hanya perlu file
dengan
ukuran
11
bits (10010101011),
yang
perlu
diperhatikan
ialah
bahwa
kode-kode
tersebut harus unik atau dengan kata lain suatu kode tidak dapat dibentuk dari kode-kode
yang lain. Pada contoh di atas jika kode D
kita ganti dengan 001, maka kode tersebut
dapat dibentuk dari kode B ditambah dengan kode A yaitu 00 dan 1, tapi kode 011 tidak
dapat dibentuk dari kode-kode yang
lain. Selain
itu karakter
yang paling sering
muncul,
|