19 kembali oleh aplikasi yang dirancang sendiri maupun dengan menggunakan media
player lain tanpa harus melalui proses dekompresi.
2.4 Algoritma Shannon-Fano
Algoritma Shannon-Fano ditemukan oleh Claude Shannon dan Robert Fano yang merupakan algoritma pertama yang diperkenalkan untuk kompresi sinyal digital pada
makalahnya yang berjudul “A Mathematical Theory of Communication” pada tahun 1948. Shannon dan Fano terus menerus mengembangkan algoritma ini yang
menghasilkan kode biner binary code untuk setiap karakter yang terdapat pada data dengan redundansi minimum.
Algoritma Shannon-Fano didasarkan pada variable-length code yang berarti beberapa karakter pada data yang dikodekan direpresentasikan dengan kode yang
lebih pendek dari karakter yang ada pada data. Jika frekuensi kemunculan karakter semakin tinggi maka kode semakin pendek. Dengan demikian kode yang yang
dihasilkan tidak sama panjang sehingga kode tersebut bersifat unik. Algoritma Shannon-Fano menggunakan struktur data yang sama dengan
algoritma Huffman, yaitu struktur data string sebagai data masukan, struktur data binary tree sebagai pembentukan pohon biner dan array sebagai pendeklarasian
variabel yang sama. Langkah langkah algoritma kompresi Shannon-Fano pada audio adalah
sebagai berikut Pu, 2006:
1. Menghitung frekuensi kemunculan masing-masing simbol pada sampel data di audio.
2. Mengurutkan frekuensi kemunculan simbol, dari simbol yang terbesar sampai yang terkecil secara topdown.
3. Membagi menjadi dua buah bagian, dengan jumlah frekuensi kemunculan simbol yang sama atau hampir mendekati sama antara node yang satu dengan node yang
lainnya.
Universitas Sumatera Utara
20 4. Berilah label pada setiap sisi pohon biner, sisi kiri dilabeli dengan 0 dan sisi kanan
dilabeli dengan 1.
5. Ulangi langkah 3 sampai node tidak dapat dibagi lagi.
6. Telusuri pohon biner dari akar sampai ke daun. Barisan label label pada sisi pohon dari akar ke daun menyatakan kode Shannon-Fano untuk symbol yang
bersesuaian. Jika ingin mengembalikan audio yang terkompresi menjadi audio ukuran asli
maka harus dilakukan proses dekompresi. Langkah-langkah dekompresi menggunakan algoritma Shannon-Fano adalah
sebgai berikut:
1. Membaca bit pertama dari kode yang dihasilkan. 2. Jika bit pertama ada dalam tabel kode Shannon-Fano, maka bit tersebut
diterjemahkan menjadi simbol yang sesuai dengan bit tersebut. 3. Jika bit tersebut tidak ada dalam tabel kode Shannon-Fano, gabungkan bit tersebut
dengan bit selanjutya, kemudian cocokkan dengan tabel hasil pengkodean. 4. Ulangi langkah 3 sampai ada rangkaian bit yang cocok dengan tabel kode
Shannon-Fano, terjemahkan rangkaian bit tersebut menjadi simbol yang sesuai. 5. Jika terdapat simbol yang sesuai, maka baca bit selanjutnya dan ulangi langkah 2,
3, dan 4 sampai rangkaian kode habis.
2.5 Binary Tree