Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

PENGKODEAN DAN KOMPRESI DATA (CEH4A3)

Presentasi serupa


Presentasi berjudul: "PENGKODEAN DAN KOMPRESI DATA (CEH4A3)"β€” Transcript presentasi:

1 PENGKODEAN DAN KOMPRESI DATA (CEH4A3)

2 Huffman Coding

3 Huffman Coding Dikembangkan oleh David Huffman ketika kuliah
Dikembangkan sebagai bagian dari tugas kuliahnya (class- assignment) Ciri utama: Karakter yang sering muncul akan mendapat representasi bit pendek Karakter yang jarang muncul akan mendapat representasi bit panjang Untuk sebuah pesan tertentu, dapat dihasilkan beberapa kode Huffman yang berbeda, tergantung aturan yang digunakan pada algoritmanya. Aturan tersebut bersifat optional namun harus konsisten.

4 Algoritma Dasar Huffman Coding
Urutkan symbol berdasarkan probabilitasnya Jika probabilitas sama, urutkan symbol/karakter berdasarkan indeks symbol. Ambil dua symbol dengan probabilitas terkecil, gabungkan menjadi symbol baru, dan jumlahkan probabilitasnya Urutkan kembali symbol-symbol seperti langkah 1 dengan menyertakan symbol baru yang diperoleh di langkah 2 Simbol baru ditempatkan di bawah simbol lama jika probabilitasnya sama Ulangi langkah 2 dan 3 berulang-ulang hingga diperoleh jumlah probabilitas = 1 Tentukan codewords setiap symbol dengan penelusuran bit

5 Representasi Huffman Coding
Dapat menggunakan skema panah, atau pohon biner Probabilitas dapat diurut naik (ascending) atau pun menurun (descending), yang penting konsisten pada saat melakukan coding Indeks huruf juga dapat diurut menaik atau menurun, yang penting konsisten pada saat melakukan coding Constraint pada Kode Huffman adalah panjang codeword (banyaknya bit/codeword), bukan nilai bit nya Sangat mungkin diperoleh representasi kode Huffman yang berbeda jika kesepakatan pada algoritma diubah (asal konsisten)

6 Contoh Rancanglah sebuah kode Huffman untuk
A = {a1, a2, a3, a4, a5}, dengan P(a1) = P(a3) = 0.2, P(a2) = 0.4, P(a4) = P(a5) = 0.1. Entropi? Average Length? Redundancy? Efisiensi? Rasio kompresi?

7 Jawaban Kode Huffman yang diperoleh = {111, 0, 10, 1100, 1101}
Entropi = 2,122 bits/simbol Average Length = 2.2 bits/simbol Redundancy = 2.2 – bit/simbol = bits/simbol Efisiensi = (Entropi/Average Length)x100% = 96.45% Rasio Kompresi = 𝑏𝑖𝑑 π‘‘π‘Žπ‘‘π‘Ž π‘‘π‘’π‘Ÿπ‘’π‘‘π‘’π‘˜π‘ π‘– 𝑏𝑖𝑑 π‘‘π‘Žπ‘‘π‘Ž π‘ π‘’π‘π‘’π‘™π‘’π‘š π‘˜π‘œπ‘šπ‘π‘Ÿπ‘’π‘ π‘– π‘₯100% Data tereduksi = data sebelum kompresi – data hasil kompresi Misal jumlah simbol yang muncul adalah 10 simbol: Jumlah bit data hasil kompresi = 22 bits; Jumlah bit data sebelum kompresi = 80 bits; Rasio kompresi = 72.5%

8 Minimum Variance Huffman Coding
Kode Huffman dengan variansi panjang codewords minimum Average length pada kode Huffman versi minimum variance = average length kode Huffman biasa Kelebihannya adalah variansi panjang codeword minimum sehingga lebih optimal di dalam proses transmisi data

9 Algoritma Minimum Variance Huffman Coding
Urutkan symbol berdasarkan probabilitasnya Jika probabilitas sama, urutkan symbol/karakter berdasarkan indeks symbol. Ambil dua symbol dengan probabilitas terkecil, gabungkan menjadi symbol baru, dan jumlahkan probabilitasnya Urutkan kembali symbol-symbol seperti langkah 1 dengan menyertakan symbol baru yang diperoleh di langkah 2 Simbol baru ditempatkan di atas simbol lama jika probabilitasnya sama Ulangi langkah 2 dan 3 berulang-ulang hingga diperoleh jumlah probabilitas = 1 Tentukan codewords setiap symbol dengan penelusuran bit

10 Contoh Rancanglah sebuah kode Huffman untuk
A = {a1, a2, a3, a4, a5}, dengan P(a1) = P(a3) = 0.2, P(a2) = 0.4, P(a4) = P(a5) = 0.1. Entropi? Average Length? Redundancy?

11 Jawaban Kode Huffman yang diperoleh = {00, 11, 01, 100, 101}
Entropi = 2,122 bits/simbol Average Length = 2.2 bits/simbol Redundancy = 2.2 – bit/simbol = bits/simbol

12 Extended Huffman Code Jika probabilitas kemunculan antara simbol yang berbeda sangat timpang, nilai probabilitas maksimum (pmax) bisa sangat besar dan kode huffman yang dihasilkan menjadi tidak efisien Alternatif solusi: menggunakan Extended Huffman Coding Sebuah codeword tidak merepresentasikan satu simbol, melainkan sekumpulan simbol (lebih dari 1) atau block of symbols Bertujuan untuk mendapatkan nilai average length yang mendekati entropi

13 Contoh Diketahui A = {a1, a2, a3}, dengan P(a1) = 0.8, P(a2) = 0.02, P(a3) = 0.18. Entropi source = bits/symbol Huffman code yang dihasilkan: Average length = 1.2 bits/symbol Redundancy = bits/symbol (47% dari entropi) Simbol Kode Huffman a1 1 a2 00 a3 01

14 Jawaban Average Length = 0.8614 bits/symbol
Simbol Probabilitas Kode Huffman a1a1 0.64 1 a1a2 0.016 010111 a1a3 0.144 011 a2a1 01010 a2a2 0.0004 a2a3 0.0036 a3a1 00 a3a2 a3a3 0.0324 0100 A = {a1, a2, a3}, dengan P(a1) = 0.8, P(a2) = 0.02, P(a3) = 0.18. Dapat dibuat codeword yang merepresentasikan rangkaian 2 simbol Karena banyaknya simbol pada source = 3, maka akan diperoleh 32 = 9 simbol baru yang akan dicari codewordsnya Average Length = bits/symbol Redundancy = bits/symbol (5.5% dari entropi)

15 LATIHAN Diketahui A = {a1, a2, a3, a4, a5}, dengan P(a1) = 0.15, P(a2) = 0.04, P(a3) = 0.26, P(a4) = 0.05, dan P(a5) = 0.5 Cari Kode Huffman Hitung entropi source, average length dan redundancy-nya Diketahui A = {a1, a2, a3, a4}, dengan P(a1) = 0.1, P(a2) = 0.3, P(a3) = 0.25, P(a4) = 0.35. Cari Minimum Variance Huffman Coding nya Terdapat string β€œrumah makan murah meriah” (10 huruf termasuk spasi, asumsi indeks spasi lebih dulu dari huruf β€˜a’) Cari kode Huffman nya Hitung average length dan redundancy nya


Download ppt "PENGKODEAN DAN KOMPRESI DATA (CEH4A3)"

Presentasi serupa


Iklan oleh Google