Anda di halaman 1dari 15

Lempel-Ziv-Welch

(LZW)
Compression
TEORI PENGOLAHAN CITRA DIGITAL
3 TI-A

Kelompok 6
Adinda Fiandini
Maria Ferolia S
Wahyu Gunanda
Yeni Rorita
Sejarah Algoritma LZW
 Dikembangkan oleh Terry A.Welch dari
metode kompresi sebelumnya yang
ditemukan oleh Abraham Lempel dan
Jacob Ziv pada tahun 1977.
Sifat Algoritma LZW
 Bersifat lossless
 Menggunakan metode dictionary
 Kode 0-255 mewakili urutan satu karakter
dengan ukuran 8 bit per karakter
 Algoritma LZW melakukan kompresi
dengan mengunakan kode table 256
hingga 4095 untuk mengkodekan
pasangan byte, Code Words, atau string
Code Words
 Merupakan kode yang bersifat unik
 Mewakili karakter atau string baru yang
terbentuk setiap kali algoritma LZW memproses
inputan
 Jumlah dari string-string yang terdapat dalam
dictionary ditentukan dari besarnya bit dictionary
yang dipakai dimana code word mewakili setiap
string-string tersebut, semakin banyak string
yang dihasilkan maka semakin besar pula bit
dictionary yang dibutuhkan untuk memberikan
indek bagi setiap string yang dihasilkan.
Flowchart Algoritma
Kompresi LZW
Contoh Kasus
 Berikut ini adalah urutan hasil representasi
kode yang digunakan pada format TIFF, GIF,
PDF :

8 12 4 8 12 4 8 4 4 8 4 12 8 4 12 8

Gunakan algoritma LZW untuk mengkompresi


data tersebut!
Penyelesaian Soal
Index yang telah digunakan : 0-255

Maka index untuk isi dictionary yang baru


dimulai dari 256.
Penyelesaian Soal [bag.2]
8 12 4 8 12 4 8 4 4 8 4 12 8 4 12 8

256  8 12

257  12 4

258  4 8

259  8 12 4

259  256 4
Penyelesaian Soal [bag.3]
8 12 4 8 12 4 8 4 4 8 4 12 8 4 12 8

260  4 8 4

260  258 4
261  4 4
262  4 8 4 12

262  260 12
Penyelesaian Soal [bag.4]
8 12 4 8 12 4 8 4 4 8 4 12 8 4 12 8

263  12 8

264  8 4

265  4 12
Penyelesaian Soal [bag.5]
Hasilnya :
8 12 4 8 12 4 8 4 4 8 4 12 8 4 12 8

Menjadi

8 12 4 256 258 4 260 12 8 4 263

[Size kode hasil = 9 bit x 11] < [Size kode awal = 8 bit x 16]
Tabel Ringkasan Penyelesaian Soal
Code Words (w) Next Code (k) w+k Index Code Output
8 12 8 12 256 8
12 4 12 4 257 12
4 8 4 8 258 4
8 12 8 12 256 -
256 (w=wk) 4 256 4 259 256
4 8 4 8 258 -
258 4 258 4 260 258
4 4 4 4 261 4
4 8 4 8 258 -
8 4 4 8 4 = 258 4 260 -
260 12 4 8 4 12 262 260
12 8 12 8 263 12
8 4 8 4 264 8
4 12 4 12 265 4
12 8 12 8 263 -
263 - - - 263
Dekompresi LZW
Langkah Dekompresi LZW
1. Menginisialisasi seluruh dictionary yang mengandung
karakter-karekter ASCII (karakter dasar).
2. Baca kode (huruf atau code word) pertama dari hasil
kompresi LZW kemudian outputkan karakter yang dibaca
kemudian simpan kode ke variable w.
3. Baca kode selanjutnya
4. Copy kode yang dibaca ke varible entry
5. Outputkan kode (karakter)
6. Gabungkan value dari karakter sebelumnya dari entry
dengan variable w kemudian simpan sebagai dictionary
7. Isi variable w dengan value dari variable entry.
8. Kembali ke langkah 3
Tabel Hasil Dekompresi
Code Words w Entry Code Dictionary Index Code Output
8 8 8 - - 8
12 12 12 8 12 256 12
4 4 4 12 4 257 4
256 8 8 4 8 258 8
- 12 12 8 12 256 12
258 4 4 8 12 4 259 4
- 8 8 4 8 258 8
4 4 4 4 8 4 260 4
260 4 4 4 4 261 4
- 8 8 4 8 258 8
- 4 4 4 84 260 4
12 12 12 4 8 4 12 262 12
8 8 8 12 8 263 8
4 4 4 8 4 264 4
263 12 12 4 12 265 12
- 8 8 12 8 263 8
Apakah ada pertanyaan?
End of Presentation

Anda mungkin juga menyukai