independen, dan menggabung solusi masing-masing persoalan. Algoritma yang diselesaikan dengan teknik bagi dan gabung mempunyai kompleksitas asimptotik
jenis ini.
Gambar 3.3 Heap Graph On log n
3.2 Kompleksitas Waktu Shannon-Fano
Keterangan Analisa Kompleksitas Algoritma Shannon-Fano: 6.
Hitung frekuensi kemunculan masing-masing simbol pada citra. 7.
Urutkan frekuensi kemunculan simbol dari simbol yang terbesar ke yang terkecil, masing-masing simbol dapat direpresentasikan sebagai sebuah node.
8. 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.
9. Lakukan langkah 3 sampai node tidak dapat dibagi lagi.
10. 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: 7.
Hitung frekuensi kemunculan masing-masing simbol pada citra.
Universitas Sumatera Utara
Tabel 3.3 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
8. Urutkan frekuensi kemunculan simbol dari simbol yang terbesar ke yang terkecil.
9. Jumlahkan seluruh frekuensi kemunculan simbol dan masukkan dalam sebuah
node.
10. 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.
11. Lakukan langkah 3 sampai node tidak dapat dibagi lagi.
36
14 7
6 6
3
21 15
36
1
Universitas Sumatera Utara
12. 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 3.4 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 3.1 dengan kode Shannon-Fano yang terdapat pada Tabel 3.4, sehingga diperoleh data biner sebagai
berikut:
0010110000101011101101010110110111000001 111111110000001000010010000000010010000
Gambar 3.4 Data biner hasil substitusi kode Shannon-Fano
Data biner hasil substitusi kode Shannon-Fano memiliki ukuran 79 bit setara 9,875 byte, sedangkan tanpa kompresi dibutuhkan 36 bytes, sehingga Algoritma
14 21
7 15
6 36
9
6 3
1 1
1
1
Universitas Sumatera Utara
Shannon-Fano dapat mereduksi penggunaan memori sebanyak 26 bytes. Sehingga rasio kompresinya adalah 100 – 9,87536 x 100 = 72,569 .
Kompleksitas Waktu Shannon-Fano:
Kompleksitas waktu Shannon-Fano adalah sebagai berikut: 1.
Heap Sort : On log n
2. Repeat n times
a. Form new sub-tree
: O1 b.
Devide and conquer : Olog n
Total : O1 + On log n = Omax1, log n
: O log n. 3.
Total keseluruhan waktu yang dibutuhkan untuk mengerjakan Algoritma kompresi Shannon-Fano ini adalah = On log n + Olog n
=Omaxn log n, log n = On log n.
make_codesS if |S| = 1 then S[0]
else sort S by probabilities
split S into S1 and S2 such that WS1 approx. WS2
return nodemake_codeS1, make_codeS2
where WSrepresents the sum of the probabilities in the set S.
Universitas Sumatera Utara
Gambar 3.5 Heap Graph On log n
Universitas Sumatera Utara
BAB 4
IMPLEMENTASI SISTEM
Sistem kompresi citra yang disimulasikan dalam Tugas Akhir ini adalah kompresi citra yang bersifat lossless compression dimana tidak ada informasi yang hilang saat
citra direkonstruksikan didekompresikan kembali. Algoritma yang digunakan pada kompresi citra jenis lossless ini yaitu algoritma kompresi Huffman dan algoritma
Shannon-Fano.
4.1 Flowchart Proses Kompresi Citra