Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
2
Pertemuan 19 HUFFMAN CODE
Matakuliah : T0034 / Perancangan & Analisis Algoritma Tahun : 2008 Pertemuan 19 HUFFMAN CODE
3
KOMPRESI DATA Bagaimana sebenarnya program kompresi data itu bekerja?
Mengapa sebuah file yang ukurannya sudah baku ternyata bisa diperkecil tanpa mengurangi isinya? Misalkan kita hendak menyimpan sebuah huruf A. Komputer akan mengenali huruf A ini sebagai karakter dengan urutan ke-65, maka huruf A disimpan di harddisk sebagai atau merupakan kode biner dari angka 65. Berarti dibutuhkan 7 digit biner untuk menyimpan huruf A. Kompresi data berusaha menyimpan sebuah data dengan jumlah digit biner seminimum mungkin. [buku utama, bab 8.1] Bina Nusantara
4
CHARACTER ENCODING ASCII (American Standard Code for Information Interchange) Character encoding ASCII terdiri atas 95 karakter yang bisa dicetak dan 33 karakter perintah. Jadi total terdapat 128 karakter yang diwakili dengan 7 bit bilangan biner ISO adalah standar karakter sepanjang 8 bit, dapat menyimpan 256 karakter. Standar ini sering disebut juga dengan character encoding Latin-1. Bagian awal dari ISO memiliki set yang hampir sama dengan ASCII. UTF-8 (Unicode Transformation Format) adalah standar character encoding yang memungkinkan huruf dari berbagai bahasa dimunculkan secara bersama-sama. Jumlah bit untuk menyimpan 1 karakter pada standar ini berbeda-beda. Karakter ASCII disimpan sepanjang 1 byte (8 bit). Karakter-karakter Latin, Greek, Cyrillic, Armenian, Hebrew, Arabic, Syriac dan Thaana disimpan sepanjang 2 byte (16 bit). Karakter-karakter bahasa lain disimpan sepanjang 3 byte (24 bit). Yang menarik, karakter huruf Jawa/Bali (alfabet hanacaraka) dan karakter Bugis dari Indonesia sudah terdaftar dalam UTF-8 bagian ini. Masih dimungkinkan menyimpan karakter sepanjang 4 byte untuk keperluan masa depan (saat ini belum digunakan). Bina Nusantara
5
TABEL KARAKTER Biner # C [buku utama, tabel 8.1] 0010 0000 32 sp
64 @ 96 ` 33 ! 65 A 97 a 34 " 66 B 98 b 35 67 99 c 36 $ 68 D 100 d 37 % 69 E 101 e 38 & 70 F 102 f 39 ' 71 G 103 g 40 ( 72 H 104 h 41 ) 73 I 105 i 42 * 74 J 106 j 43 + 75 K 107 k 44 , 76 L 108 l 45 - 77 M 109 m 46 . 78 N 110 n 47 / 79 O 111 o 48 80 P 112 p 49 1 81 Q 113 q 50 2 82 R 114 r 51 3 83 S 115 s 52 4 84 T 116 t 53 5 85 U 117 u 54 6 86 V 118 v 55 7 87 W 119 w 56 8 88 X 120 x 57 9 89 Y 121 y 58 : 90 Z 122 z 59 ; 91 [ 123 { 60 < 92 \ 124 | 61 = 93 ] 125 } 62 > 94 ^ 126 ~ 63 ? 95 _ [buku utama, tabel 8.1] Bina Nusantara
6
ALGORITMA HUFFMAN Diciptakan oleh David A. Huffman pada tahun 1951 sebagai tugas kuliah ketika menempuh pendidikan Ph.D di Massachusetts Institute of Technology (MIT). Dosen pengajar Huffman (bernama Robert M. Fano) menawarkan kepada para mahasiswanya bahwa siapa saja yang dapat menulis sebuah artikel tentang membangun pohon biner yang efisien akan mendapatkan nilai bagus tanpa harus menempuh ujian. Setelah lama mencoba dan hampir menyerah, Huffman akhirnya menemukan sebuah metode untuk membangun pohon biner berdasarkan frekuensi. Tekniknya kemudian diakui sebagai teknik yang paling efisien, melebihi teknik buatan sang dosen sendiri. Binary Tree (pohon biner) yang dibuat oleh Huffman (disebut sebagai Huffman Tree) adalah dasar dari kompresi data dengan format ZIP yang kita kenal sekarang. Teknik ini juga dipakai sebagai salah satu algoritma penyusun format file gambar JPEG dan format file musik populer MP3. Jadi, bila kita sekarang bisa mendengarkan MP3 player kita sambil berkegiatan, salah satu faktor yang membuat teknologi ini ada adalah algoritma Huffman. [buku utama, bab 8.2] Bina Nusantara
7
MEMBUAT HUFFMAN TREE Urutkan karakter dari yang frekuensinya paling kecil menjadi sebuah tabel. Pilih 2 karakter teratas, buat menjadi leaf node dari tree. Cantumkan isi karakter dan frekuensi nya dalam node. Buat node baru dengan posisi sebagai parent node dari kedua leaf node. Frekuensinya didapat dari penjumlahan frekuensi kedua child node-nya. Hilangkan huruf-huruf yang sudah dipakai dari tabel. Masukkan node baru ke dalam tabel. Ulangi proses dari langkah nomor 2 hingga isi tabel habis. Bina Nusantara
8
Misalkan kita hendak menyimpan kalimat :
CONTOH KASUS Misalkan kita hendak menyimpan kalimat : LOGIKA ALGORITMA Maka dibuat tabel frekuensi : K R T M sp L O G I A 1 2 3 Bina Nusantara
9
HUFFMAN TREE Pelajari penjelasan tiap langkah pada ilustrasi 8.3 untuk memahami bagaimana Huffman Tree dibuat [buku utama, ilustrasi 8.3i] Bina Nusantara
10
TABEL HUFFMAN CODE K R T M sp L O G I A 11110 11111 0100 0101 1110 011
L bit O bit G bit I bit K bit A bit sp bit R bit T bit M bit Bina Nusantara
11
Pelajari juga contoh kasus 8.2 di buku utama
PENDALAMAN MATERI Selain bit yang berisi data, tabel yang berisi Huffman Code juga perlu disimpan agar data dapat diterjemahkan kembali Pelajari juga contoh kasus 8.2 di buku utama Tabel frekuensi (tabel 8.5) Huffman Tree (ilustrasi 8.4) Huffman Code (tabel 8.6) Bina Nusantara
12
LATIHAN Buatlah tabel frekuensi, Huffman Tree dan Huffman Code untuk mengkompresi kalimat berikut MARI BELAJAR TEKNOLOGI INFORMASI Bina Nusantara
13
Apa yang sudah dipahami? Apa yang akan dibahas selanjutnya?
REVIEW Apa yang sudah dipahami? Apa yang akan dibahas selanjutnya? Bina Nusantara
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.