Maka dari pohon Huffman di atas diperoleh kode Huffman sebagai berikut:
Tabel 2.3 Codebook Huffman
simbol frekuensi
Kode 120
3 000
50 6
001 180
6 010
25 7
011 255
14 1
Dari tabel di atas dapat dilihat bahwa simbol yang sering muncul dikodekan dengan kode yang lebih pendek, demikian juga sebaliknya. Setelah itu dilakukan
substitusi dari simbol-simbol potongan citra digital pada Gambar 2.5 dengan kode Huffman yang terdapat pada Tabel 2.3, sehingga diperoleh data biner sebagai berikut:
101000110110110110010010100100100010010001 1011000000001110111101001111110111101001111
Gambar 2.9 Data biner hasil substitusi kode Huffman
Data biner hasil substitusi kode Huffman memiliki ukuran 85 bit setara 10,625 byte, sedangkan tanpa kompresi dibutuhkan 36 bytes, diperoleh dari total frekuensi
kemunculan simbol dikalikan dengan 1 byte. Sehingga Algoritma Huffman dapat mereduksi penggunaan memori sebanyak 25,375 bytes. Dengan rasio kompresinya
yaitu 100 – 10,62536 x 100 = 70,486 .
2.9 Algoritma Shannon-Fano
Algoritma Shannon-Fano merupakan algoritma pertama yang diperkenalkan untuk kompresi sinyal digital pada papernya yang berjudul “A Mathematical Theory of
Communication” pada tahun 1948. Shannon dan Fano terus menerus mengembangkan algoritma ini yang menghasilkan kode biner binary codeword untuk setiap karakter
yang terdapat pada data dengan redudansi minimum.
Universitas Sumatera Utara
Algoritma Shannon-Fano didasarkan pada variable-length code yang berarti beberapa karakter pada data yang akan dikodekan direpresentasikan dengan kode
codeword yang lebih pendek dari karakter yang ada pada data. Jika frekuensi kemunculan karakter semakin tinggi, maka kode semakin pendek, dengan demikian
kode yang dihasilkan tidak sama panjang, sehingga kode tersebut bersifat unik.
Algoritma Shannon-Fano merupakan salah satu algoritma kompresi yang sangat baik dalam pengkompresian teks. Pada prinsipnya algoritma ini menggunakan
pendekatan top down dalam penyusunan binary tree . Metode ini sangat efisien untuk
mengkompresi file text yang berukuran besar.
Algoritma Kompresi Shannon-Fano pada citra adalah sebagai berikut: 1.
Hitung frekuensi kemunculan masing-masing simbol pada citra. 2.
Urutkan frekuensi kemunculan simbol dari simbol yang terbesar ke yang terkecil, masing-masing simbol dapat direpresentasikan sebagai sebuah node.
3. Bagi menjadi dua buah node dengan jumlah frekuensi kemunculan simbol yang
sama atau hampir sama. Beri label pada setiap sisi pohon biner, sisi kiri dilabeli dengan 0 dan sisi kanan dilabeli dengan 1.
4. Lakukan langkah 3 sampai node tidak dapat dibagi lagi.
5. Telusuri pohon biner dari akar ke daun. Barisan label-label pada sisi pohon dari
akar ke daun menyatakan kode Shannon-Fano untuk simbol yang bersesuaian.
Langkah-langkah pembentukan pohon Shannon-Fano: 1.
Hitung frekuensi kemunculan masing-masing simbol pada citra.
Tabel 2.4 Tabel distribusi frekuensi Shannon-Fano
Simbol Frekuensi
Total bit 255
14 14 x 1 byte = 14
25 7
7 x 1 byte = 7 180
6 6 x 1 byte = 6
50 6
6 x 1 byte = 6 120
3 3x 1 byte = 3
Total 36 byte
Universitas Sumatera Utara
2. Urutkan frekuensi kemunculan simbol dari simbol yang terbesar ke yang terkecil.
3. Jumlahkan seluruh frekuensi kemunculan simbol dan masukkan dalam sebuah
node.
4. Bagi menjadi dua buah node dengan jumlah frekuensi kemunculan simbol yang
sama besar atau hampir sama. Beri label pada setiap sisi pohon biner, sisi kiri dilabeli dengan 0 dan sisi kanan dilabeli dengan 1.
5. Lakukan langkah 3 sampai node tidak dapat dibagi lagi.
21 15
36
1
14 7
6 6
3
36
Universitas Sumatera Utara
6. Telusuri pohon biner dari akar ke daun. Barisan label-label pada sisi pohon dari
akar ke daun menyatakan kode Shannon-Fano untuk simbol yang bersesuaian
Dari pohon Shannon-Fano di atas diperoleh kode Shannon-Fano sebagai berikut:
Tabel 2.5 Codebook Shannon-Fano
simbol frekuensi
kode 255
14 00
25 7
01 180
6 10
50 6
110 120
3 111
Dari tabel di atas dapat dilihat bahwa simbol yang sering muncul dikodekan dengan kode yang lebih pendek, demikian juga sebaliknya. Setelah itu dilakukan
substitusi dari simbol-simbol potongan citra digital pada Gambar 2.5 dengan kode Shannon-Fano yang terdapat pada Tabel 2.5, sehingga diperoleh data biner sebagai
berikut:
0010110000101011101101010110110111000001 111111110000001000010010000000010010000
Gambar 2.10 Data biner hasil substitusi kode Shannon-Fano
14 21
7 15
6 36
9
6 3
1 1
1
1
Universitas Sumatera Utara
Data biner hasil substitusi kode Shannon-Fano memiliki ukuran 79 bit setara 9,875 byte, sedangkan tanpa kompresi dibutuhkan 36 bytes, sehingga Algoritma
Shannon-Fano dapat mereduksi penggunaan memori sebanyak 26,125 byte. Sehingga rasio kompresinya adalah 100 – 9,87536 x 100 = 72,569 .
2.10 Kompleksitas Algoritma