Algoritma Shannon-Fano Implementasi Algoritma Shannon-Fano Pada Kompresi Audio

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