Uas - Novanka Fadilla A H - 19421034
Uas - Novanka Fadilla A H - 19421034
Huzien
NPM: 19421034
AlgoritmaShannon-Fano
Pengertian
Algoritma Shannon-Fano coding ditemukan oleh Claude Shannon (bapak teori
informasi)dan Robert Fano pada tahun 1949. Pada saat itu metode ini merupakan metode
yang
palingbaiktetapihampirtidakpernahdigunakandandikembangkanlagisetelahkemunculanalgorit
ma Hufman. Pada dasarnya metode ini menggantikan setiap simbol dengan
sebuahalternatifkodebineryangpanjangnyaditentukanberdasarkanprobabilitasdarisimbolterseb
utDibidangkompresidata,Shannon-
Fanocodingadalahteknikuntukmembangunsebuahkodeawalandidasarkanpadaseperangkatsimb
oldanprobabilitas(diperkirakanataudiukur).Namun,algoritmyainidirasakurangoptimaldalamart
ibahwaiatidakmampumencapaikodeseefisienmungkin sepertikodediharapkan panjang seperti
algoritmaHuffman.
Pada dasarnya cara kerja dari algoritma ShannonFano ini sama persis dengan
Huffman.Algoritmainimembentuksebuahpohon,kemudianmengencodingnya,danyangterahira
dalahmegnembalikannya dalam bentuk karakte teks atau decoding. Hanya saja perbedaan
yangfundamental terdapat pada pembuatan pohon. Pembuatan pohon pada Shannon-Fano
dibuatberdasarkan proses dari atas ke bawah – berbeda dengan huffman yang membuat
pohon daribawahkeatas.SebuahpohonShannon-
Fanodibangunsesuaidenganspesifikasiyangdirancanguntukmendefinisikantabelkodeyangefekt
if.Algoritmayangsebenarnyasederhana:
1. Untukdaftarsimbol-
simboltertentu,mengembangkansebuahdaftaryangsesuaiprobabilitasataufrekuensidihitungsehi
nggasetiapsimbolfrekuensirelatifkejadiandiketahui.
2. Menyortirdaftarsimbol-simbolsesuaidenganfrekuensi,dengansimbol-
simbolyangpalingseringterjadi di sebelahkiridan yang paling umumdi sebelah kanan.
3. Membagi daftar menjadi dua bagian, dengan total frekuensi dihitung dari kiri
setengahmenjadiseperti dekat dengan jumlah yang tepatmungkin.
4. Kiri setengah dari daftar ditetapkan angka biner 0, dan hak diberikan setengah digit 1.
Iniberartibahwakodeuntuksimbol-
simbolpadasemesterpertamasemuaakandimulaidengan0,danaturan-aturan di paruh keduaakan
semua mulai dengan1.
5. Rekursif menerapkan langkah 3 dan 4 untuk masing-masing dari dua bagian,
membagikelompok dan menambahkan kode bit sampai setiap simbol telah menjadi kode
yang sesuaidaun dipohon.
Buat pohon Shannon-Fano dari hasil yang didapat pada langkah 3
denganmemberitandakode0untuk bagian kiridan kode1untukbagian
kanan.
ContohStudiKasus
Teksyangakandikompres: ADDIIITDDDDIITTTYAAAAA
Karakter A D I T Y
Frekuensi 7 6 5 4 1
Jawab:
A.Buatpohonshannonfanountukmengetahui code wordsetiapstring
A,D,I,T,Y=23
0
A,D=13 I,T,Y =10
0 1 0 1
A=7 D =6 I= 5 T,Y=5
0 1
T=4 Y=1
Karakter A D I T Y
Frekuensi 0,7 0,6 0,5 0,4 0,1
KodeShannonfan 00(2bit 01(2bit 10(2bit 110(3bit 111(3bit
o ) ) ) ) )