Anda di halaman 1dari 11

LECTURE NOTES

Perancangan Analisis dan


Algoritma

Minggu 8

Sesi 12

Huffman Code and Graph


Coloring

COMP6127 - Algorithm Design and Analysis


LEARNING OUTCOMES

1. Mahasiswa mampu memahami konsep penerapan dari


algoritma Welsh – Powell pada permasalahan Graph
Coloring
2. Mahasiswa mampu memahami penerapan algoritma
Huffman Code

OUTLINE MATERI (Sub-Topic):

 Huffman Code
 Graph Coloring
 Kesimpulan

COMP6127 - Algorithm Design and Analysis


ISI MATERI

A. Huffman Code

Huffman Code merupakan salah satu teknik kompresi yang ditemukan


oleh David A. Huffman pada tahun 1952. Pada bagian ini kita akan membahas
latihan soal agar dapat memahami cara kerja Huffman Code dengan lebih baik.

Perhatikan soal berikut :

BINA NUSANTARA ONLINE LEARNING

Dari kalimat diatas kita akan mencari Huffman Codenya. Berikut adalah
prosesnya :

1. Membentuk Tabel Frekuensi

Tabel frekuensi dibentuk dari frekuensi kemunculan karakter dalam


sebuah file.

B I N A U S T R O L E G Sp
1 3 7 5 1 1 1 2 1 2 2 1 3
Hasil tersebut nantinya akan diurutkan menjadi berikut

B U S T O G R L E I Sp A N
1 1 1 1 1 1 2 2 2 3 3 5 7
Pembentukan ini melihat urutan kemunculan kata.

2. Membentuk Huffman Tree

Pembentukan Huffman Tree akan berdasar pada penggabungan kolom


demi kolom. Berikut simulasinya.

B U S T O G R L E I Sp A N
1 1 1 1 1 1 2 2 2 3 3 5 7

COMP6127 - Algorithm Design and Analysis


*1 2

B 1 U 1

S T O G B,U R L E I Sp A N
1 1 1 1 2 2 2 2 3 3 5 7
*2 2

S 1 T 1

O G B,U S,T R L E I Sp A N
1 1 2 2 2 2 2 3 3 5 7

*3 2

O 1 G 1

B,U S,T O,G R L E I Sp A N


2 2 2 2 2 2 3 3 5 7

*4 4

*1 2 *2 2

B 1 U 1 S 1 T 1

O,G R L E I Sp B,U,S,T A N
2 2 2 2 3 3 4 5 7

*5 4

*3 2 R 2

O 1 G 1

COMP6127 - Algorithm Design and Analysis


L E I Sp B,U,S,T O,G,R A N
2 2 3 3 4 4 5 7

*6 4

L 2 E 2

I Sp B,U,S,T O,G,R L,E A N


3 3 4 4 4 5 7

*7 6

I 3 Sp 3

B,U,S,T O,G,R L,E A I,Sp N


4 4 4 5 6 7

*8 8

*4 4
*5 4

*1 *2 *3 2 R 2
2

B 1 U 1 S 1 T 1 O 1 G 1

L,E A I,Sp N B,U,S,T,O,G,R


4 5 6 7 8

*9 9

*6 4 A 5

L 2 E 2

COMP6127 - Algorithm Design and Analysis


I,Sp N B,U,S,T,O,G,R L,E,A
6 7 8 9
*10 13

*7 6 N 7

I 3 Sp 3

B,U,S,T,O,G,R L,E,A I,Sp,N


8 9 13

*11 17

*8 8 *9 9

*4 4 *6 A 5
*5 4 4

*1 2 *2 2 *3 2 R 2 L 2 E 2

B 1 U 1 S 1 T 1 O 1 G 1

I,Sp,N B,U,S,T,O,G,R,L,E,A
13 17

COMP6127 - Algorithm Design and Analysis


*12 30

*10 13 *11 17

*8 8 *9 9
*7 6 N 7

I 3 Sp 3 *4 4 *6 A 5
*5 4 4

*1 2 *2 2 *3 2 R 2 L 2 E 2

B 1 U 1 S 1 T 1 O 1 G 1

B,U,S,T,O,G,R,L,E,A,I,Sp,N
30

3. Setelah Huffman Tree dibentuk maka proses selanjutnya adalah


menentukan Huffman Code. Pembentukan Huffman Code akan
menggantikan nilai bit ASCII dari masing – masing karakter dimana
pemberian nilai akan dilihat dari jalur tree ke node tersebut kiri bernilai
0 dan kanan bernilai 1.

Character ASCII Value Huffman Code


B 01000010 10000
U 01010101 10001
S 01010011 10010
T 01010100 10011
O 01001111 10100
G 01000111 10101
R 01010010 1011
L 01001100 1100
E 01000101 1101
I 01001001 000

COMP6127 - Algorithm Design and Analysis


Sp 00100000 001
A 01000001 111
N 01001110 01

4. Kemudian kita akan hitung compression rate dari fungsi tersebut.

Compression Rate = (1 - ∑ (bit in Huff. code x freq. of appearance) :

∑ (bit in ASCII x freq. of appearance)) x 100%

Total Compression Rate = (1 - 101 / 240) x 100%

Total Compression Rate = 57.92%

B. Graph Coloring

Graph Coloring merupakan metode pewarnaa graph dimana terbagi


menjadi pewarnaa node, edge, dan region. Metode ini akan menggunakan
algoritma Welsh – Powell. Berikut adalah pembahasan soal.
Perhatikan graph berikut.
7
A B

5
6
8

3
C D

Berikut merupakan tahapannya:


1. Menentukan degree dari masing – masing node.
A:3
B:2
C:2
D:3

COMP6127 - Algorithm Design and Analysis


2. Urutkan berdasarkan Freq. Degree tertinggi.
A:3
D:3
B:2
C:2
3. Kemudian berikan pewarnaan dimulai dari node dengan degree
tertinggi dan lakukan pengecekan apakah warna pada node tersebut
sama dengan warna pada node lain. Warna yang diberikan adalah
warna terkecil yang tersedia.
A:1
D : 2 (Karena D terhubung dengan node A maka warna terkecil yang
tersedia adalah 2)
B : 3 (Karena B terhubung dengan node A dan D)
C : 3 (Karena C terhubung dengan node A dan D tapi tidak terhubung
dengan node B)
4. Setelah proses tersebut maka kita dapat menentukan nilai kromatisnya
dimana nilai kromatis merupakan jumlah kombinasi warna yang
digunakan. Dalam hal ini nilai kromatis graph diatas adalah 3.

COMP6127 - Algorithm Design and Analysis


KESIMPULAN

Pada pertemuan ini kita akan membahas latihan dari Huffman Code dan
Graph Coloring untuk memahami cara kerja dari algoritma yang digunakan.

COMP6127 - Algorithm Design and Analysis


DAFTAR PUSTAKA

1. Sridhar, S., (2015), Design and Analysis of Algorithm. Delhi: Oxford University
Press.
2. Horowitz, E., Sahni, S., & Rajasekaran, S., (1997), Computer Algorithms C++.
New York: Computer Science Press.

COMP6127 - Algorithm Design and Analysis

Anda mungkin juga menyukai