Flowchart Algoritma Kompresi Huffman Flowchart Algoritma Dekompresi Huffman

Hitung frekuensi kemunculan simbol pada citra, urutkan secara menaik Pembentukan pohon Huffman dengan menggabung dua frekuensi terkecil Pembentukan kode Huffman, sisi kiri =0 dan sisi kanan =1 Start Input file citra Kode Huffman  output file Stop Gambar 4.1 Flowchart Sistem Kompresi-Dekompresi Citra

4.1.1 Flowchart Algoritma Kompresi Huffman

Flowchart yang menggambarkan proses algoritma kompresi Huffman dapat dilihat dalam Gambar 4.2 berikut ini. Gambar 4.2 Flowchart Algoritma Kompresi Huffman Start Kompresi Dekompresi Hitung performansi Stop Universitas Sumatera Utara Pada Gambar 4.2 di atas merupakan flowchart algoritma kompresi pada algoritma Huffman. Algoritma Huffman yang digunakan pada aplikasi ini merupakan Algoritma Huffman tipe statik, dimana dilakukan dua kali pembacaan two-pass terhadap citra yang akan dikompresi: pertama untuk menghitung frekuensi kemunculan warna citra dalam pembentukan pohon Huffman dan yang kedua untuk mengkodekan simbol dalam bentuk kode Huffman. File citra yang di input merupakan file citra RGB, dimana masing-masing pikselnya mengidentifikasikan simbol citra, maka dari itu masing-masing simbol dihitung frekuensi kemunculannya dan dimasukkan dalam tabel kemunculan frekuensi secara menaik acsending order yaitu dari frekuensi terendah sampai frekuensi tertinggi. Selanjutnya dari frekuensi simbol ini dibangun pohon Huffman dengan menggabungkan dua buah simbol yang memiliki frekuensi yang paling rendah, dan frekuensi yang paling rendah diletakkan disebelah kiri. Demikian seterusnya sampai tersisa satu pohon biner. Untuk pembentukan kode Huffman, 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 Huffman yang terbentuk untuk masing-masing warna dan masukkan ke dalam tabel Huffman codebook Huffman. Codebook berisi informasi antara lain: frekuensi kemunculan simbol-simbol pada citra, kode Huffman yang terbentuk, panjang kode Huffman, total panjang kode untuk masing-masing simbol.

4.1.2 Flowchart Algoritma Dekompresi Huffman

Proses kompresi citra tidak bisa terlepas dari proses dekompresi, dimana citra yang telah terkompresi harus dapat direkonstruksikan kembali agar dapat ditampilkan pada layar monitor. Pada algoritma Huffman citra yang dikompresi harus dapat Universitas Sumatera Utara Start Input kode Huffman Cocokkan kode dengan tabel kode huffman untuk masing-masing simbol lookup table Stop Semua kode sudah ter inisialisasi? Warna tiap-tiap pixel  output ya tidak dikembalikan seperti citra aslinya tanpa kehilangan informasi. Proses Dekompresi Huffman membutuhkan tabel Huffman yang telah digunakan pada saat pengkodean Huffman sebagai tabel referensi lookup table. Flowchart yang menggambarkan proses algoritma dekompresi Huffman dapat dilihat dalam Gambar 4.3 berikut ini. Gambar 4.3 Flowchart Algoritma Dekompresi Huffman Seperti yang telah diutarakan di atas bahwa proses dekompresi citra pada metode Huffman membutuhkan tabel Huffman yang telah terbentuk saat proses kompresi, proses dekompresi Huffman dilakukan dengan cara lookup table dimulai dengan pembacaan kode Huffman sebagai input, kemudian kode pertama yang muncul dicocokkan dengan kode-kode Huffman yang telah ada pada tabel Huffman sampai ditemukan kode yang sesuai dengan simbol-simbol yang telah terinisialisasi pada citra. Inisialisasi terus berlanjut sampai semua kode Huffman yang ada mewakili simbol yang terdapat pada tiap-tiap piksel citra digital. Hasil dekompresi citra akan menghasilkan citra rekonstruksi yang persis sama seperti citra aslinya, dimana tidak ada satupun informasi yang hilang setelah dilakukan kompresi dekompresi terhadapa citra digital. Universitas Sumatera Utara 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