Hitung frekuensi kemunculan simbol pada tiap piksel citra, urutkan secara menurun
Pembentukan pohon biner dengan membagi dua bagian dengan frekuensi sama hampir sama
Pembentukan kode Shannon-Fano, sisi kiri =0 dan sisi kanan =1
Start
Input file citra
Kode Shannon-Fano output file
Stop
4.1.3 Flowchart Algoritma Kompresi Shannon-Fano
Flowchart yang menggambarkan proses algoritma kompresi Shannon-Fano dapat dilihat dalam Gambar 4.4 berikut ini.
Gambar 4.4 Flowchart Algoritma Kompresi Shannon-Fano
Gambar 4.4 di atas merupakan flowchart algoritma kompresi pada algoritma Shannon-Fano. Sama halnya dengan algoritma Huffman, algoritma Shannon-Fano
juga melakukan dua kali pembacaan two-pass terhadap citra yang akan dikompresi: pertama untuk menghitung frekuensi kemunculan simbol citra dalam pembentukan
pohon Shannon-Fano dan yang kedua untuk mengkodekan simbol dalam bentuk kode Shannon-Fano.
File citra yang di input merupakan file citra RGB, dimana masing-masing pikselnya mengidentifikasikan simbol-simbol citra, maka dari itu masing-masing
simbol pada piksel citra dihitung frekuensi kemunculannya dan dimasukkan dalam
Universitas Sumatera Utara
tabel kemunculan frekuensi warna secara menurun decsending order yaitu dari frekuensi tertinggi sampai frekuensi terendah. Selanjutnya dari frekuensi simbol ini
dibangun pohon Shannon-Fano dengan membagi dua tabel Shannon-Fano dengan jumlah yang sama besar mendekati. Demikian seterusnya sampai tersisa satu pohon
biner.
Untuk pembentukan kode Shanon-Fano, pohon biner yang telah terbentuk diinisialisasi dengan angka 0 dan 1, dimana sisi yang berada disebelah kiri di
inisialisasi dengan angka 0 dan sisi yang berada di sebelah kanan di inisialisasi dengan angka 1. Selanjutnya telusuri pohon biner tersebut dari akar ke daun, tulis kode
Shannon-Fano yang terbentuk untuk masing-masing warna dan masukkan ke dalam tabel Shannon-Fano codebook Shannon-Fano.
Tabel Shannon-Fano yang terbentuk berisi informasi antara lain: frekuensi kemunculan simbol pada citra, kode Shannon-Fano yang terbentuk, panjang kode
Shannon-Fano, dan total panjang kode untuk masing-masing simbol.
4.1.4 Flowchart Algoritma Dekompresi Shannon-Fano
Flowchart yang menggambarkan proses algoritma dekompresi Shannon-Fano dapat dilihat dalam Gambar 4.5 berikut ini.
Universitas Sumatera Utara
Start Input kode Shannon-Fano
Cocokkan kode dengan tabel kode shannon-fano untuk masing-masing warna
Stop Semua kode sudah
ter inisialisasi?
Warna tiap-tiap pixel output
ya tidak
Gambar 4.5 Flowchart Algoritma Dekompresi Shannon-Fano
Sama halnya pada proses dekompresi pada algoritma Huffman, pada algoritma Shannon-Fano proses dekompresinya juga sama, yaitu dengan lookup table dengan
membaca kode Shannon-Fano yang terbentuk pada proses kompresi dalam tabel Shannon-Fano, lalu kemudian dilakukan pencocokkan kode tersebut dengan kode
yang terdapat pada tabel Shannon-Fano sampai ditemukan kode yang sama dengan simbol-simbol yang ada pada tiap-tiap piksel pada citra digital.
4.2 Perhitungan Performansi