You are on page 1of 22

TUGAS MULTIMEDIA

KOMPRESI
MOHAMMAD IBNU ROTIP [1412220035]
Run-Length-Encoding (RLE)
Algoritma RLE (Run Length Encoding) adalah salah satu algoritma yang

dapat digunakan untuk melakukan kompresi data sehingga ukuran data

yang dihasilkan menjadi lebih rendah dari ukuran sebenarnya.


Contoh : SSSSZWHHHH = 10 bit
: use RLE compress = 4SZW4H=6 bit
Run-Length-Encoding (RLE)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 2(0) 3(1) 6(0) 3(1) 2(0) 10
0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 2(0) 4(1) 4(0) 4(1) 2(0) 10
0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 2(0) 2(1) 1(0) 1(1) 4(0) 1(1) 1(0) 2(1) 2(0) 18
0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 0 2(0) 2(1) 1(0) 2(1) 2(0) 2(1) 1(0) 2(1) 2(0) 18
0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 2(0) 2(1) 2(0) 1(1) 2(0) 1(1) 2(0) 2(1) 2(0) 18
0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 2(0) 2(1) 2(0) 4(1) 2(0) 2(1) 2(0) 14
0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 2(0) 2(1) 3(0) 2(1) 3(0) 2(1) 2(0) 14
0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 2(0) 2(1) 3(0) 2(1) 3(0) 2(1) 2(0) 14
0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 2(0) 2(1) 8(0) 2(1) 2(0) 10
0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 2(0) 2(1) 8(0) 2(1) 2(0) 10
0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 2(0) 2(1) 8(0) 2(1) 2(0) 10
0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 2(0) 2(1) 8(0) 2(1) 2(0) 10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
16x16 = 256 168

Selisih = 256 -168 = 88


Run-Length-Encoding (RLE)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 6(0) 4(1) 6(0) 6
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7(0) 2(1) 7(0) 6
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7(0) 2(1) 7(0) 6
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7(0) 2(1) 7(0) 6
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7(0) 2(1) 7(0) 6
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7(0) 2(1) 7(0) 6
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7(0) 2(1) 7(0) 6
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7(0) 2(1) 7(0) 6
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7(0) 2(1) 7(0) 6
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7(0) 2(1) 7(0) 6
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7(0) 2(1) 7(0) 6
0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 6(0) 4(1) 6(0) 6
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
16x16 = 256 84

Selisih = 256 -84 = 172


Run-Length-Encoding (RLE)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 3(0) 10(1) 3(0) 7
0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 3(0) 10(1) 3(0) 7
0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 3(0) 2(1) 6(0) 2(1) 3(0) 10
0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 3(0) 2(1) 6(0) 2(1) 3(0) 10
0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 3(0) 10(1) 3(0) 7
0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 3(0) 10(1) 3(0) 7
0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 3(0) 4(1) 9(0) 6
0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 3(0) 2(1) 1(0) 2(1) 8(0) 10
0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 3(0) 2(1) 2(0) 2(1) 7(0) 10
0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 3(0) 2(1) 3(0) 2(1) 6(0) 10
0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 3(0) 2(1) 4(0) 2(1) 5(0) 10
0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 3(0) 2(1) 5(0) 2(1) 4(0) 10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16(0) 3
16x16 = 256 116

Selisih = 256 -116 = 140


Static Huffman Coding
 Merupakan algoritma kompresi lossless ,yaitu Teknik kompresi
yang tidak mengubah data aslinya. Algoritma Huffman bekerja
dengan cara melakukan pengkodean dalam bentuk bit untuk
mewakili data karakter.
 Kode huffman diperoleh dengan cara menyusun sebuah pohon
Huffman.
LANGKAH - LANGKAH
1. Membuat daftar frekuensi kemunculan tiap karakter dalam
data.
2. Mengurutkan dari frekuensi terkecil ke terbesar dan/jika
terdapat frekuensi yang sama urutkan berdasarkan urutan
kemunculan.
3. Selanjutnya membuat pohon Huffman dengan mengerjakan
frekuensi terkecil terlebih dahaulu.
4. Dalam algoritma penempatan sebuah simpul yang berisi
informasi dengan nilai lebih besar dari simpul diatasnya akan
ditempatkan dicabang kanan sedangkan jika lebih kecil akan
ditempatkan di cabang kiri.
5. Untuk pengkodean : 0 pada sebelah kiri dahan dan 1 pada
sebelah kanan dahan.
1. RAMELAN = 7 Karakter
KARAKTER f KARAKTER f

R 1 R 1
A 2 M 1
M 1 Diurutkan  E 1
E 1 L 1
L 1 N 1
N 1 A 2
1. RAMELAN = 7 Karakter

KARAKTER f

R 1

M 1

E 1

L 1

N 1

A 2
Huffman Tree
KARAKTER BINER
R 010
A 11
M 011
E 100
L 101
A 11
N 00
Hitungan ASCII = 7 x jumlah karakter = 7x 7 = 49 byte
Hitungan Huffman = 18 byte
Selisih = 49 – 18 = 31 byte
2. RUSMIATIN = 9 Karakter

KARAKTER f KARAKTER F
R 1 R 1
U 1 U 1
S 1 S 1
Diurutkan 
M 1 M 1
I 2 A 1
A 1 T 1
T 1 N 1
N 2 I 2
3. MOH WIRYONO = 10 Karakter
KARAKTER F

R 1
U 1
S 1
M 1
A 1
T 1
N 1
I 2
Huffman Tree
KARAKTER BINER
R 1110
U 1111
S 000
M 001
I 10
A 010
T 011
I 10
N 110

Hitungan ASCII = 7 x jumlah karakter = 7x 9 = 63 byte


Hitungan Huffman = 27 byte
Selisih = 63 – 27 = 36 byte
3. MOH WIRYONO = 10 Karakter

KARAKTER F KARAKTER F
M 1 M 1
O 3 H 1
H 1 W 1
W 1 Diurutkan 
I 1
I 1
R 1
R 1
Y 1
Y 1
N 1
N 1 0 3
3. MOH WIRYONO = 10 Karakter

HS NM ZA DU IHS
2 2 2 3 4

H S N M Z A D U I HS

NMZA DUIHS NMZADUIHS


4 7 11

NM ZA DU IHS NMZA DUIHS


Huffman Tree

Hitungan ASCII = 7 x jumlah karakter = 7 x 10 = 70 byte


Hitungan Huffman = 29 byte
Selisih = 70 – 29 = 41 byte
3. MOHAMMAD IBNU ROTIP = 17 Karakter
KARAKTER F KARAKTER F
M 3 H 1
O 2 D 1
H 1 B 1
N 1
A 2
U 1
D 1
Diurutkan  R 1
I 2
T 1
B 1 P 1
N 1 O 2
U 1 A 2
R 1 I 2
T 1 M 3
P 1
3. MOHAMMAD IBNU ROTIP = 17 Karakter
KARAKTER F
H 1
D 1
B 1
N 1
U 1
R 1
T 1
P 1
O 2
A 2
I 2
M 3
Huffman Tree
KARAKTER BINER
M 111
O 100
H 0000
A 101
M 111
M 111
A 101
D 0001
I 110
B 0010
N 0011
U 0100
R 0101
O 100 Hitungan ASCII = 7 x jumlah karakter = 7 x 17 = 119 byte
T 0110
I 110 Hitungan Huffman = 59 byte
P 0111
Selisih = 119 – 59 = 60 byte
Referensi :
https://www.youtube.com/watch?v=Oz3XNvhSCR4&ab_channel=wlaksito
Contoh Gambar Referensi :
TERIMA KASIH

You might also like