SlideShare a Scribd company logo
1 of 20
Adi Suheryadi
Pasca Sarjana Teknik Informatika
Universitas Telkom

 Ide Kompresi LZ78
 Karakteristik
 Encode
 Decode
 Rasio Kompresi
 Kesimpulan
Poin Persentasi

 Menggunakan metode kamus (dictionary)
 Kamus merupakan daftar yang tak terbatas
 menggunakan token (i,s)
o i : index/posisi pada dictionary
o s : simbol input
Ide Kompresi LZ78

 Bersifat lossless
 dictionary berupa daftar yg tak terbatas dari frasa
yang dilihat sebelumnya
 Mempunyai kemampuan menyimpan entries secara
permanen
 Mengembangkan entitas selama proses encoding
Karakteristik

Encode LZ78
Algoritma
Encode
Psudocode
kamus kosong; prefix kosong; indexkamus 1;
while(masih ada karakter)
{
kar next karakter;
if(kar+ karakter ada di kamus)
prefix prefix++ ;
else
{
if(Prefix tidak ada)
Codeindex  0 ;
else
Codeindex  index kamus;
Output: (Codeindex, kar) ;
insertInDictionary( ( indexkamus, Prefix + kar) );
Indexkamus++ ;
Prefix  kosong;
}
}
if(Prefix tidak kosong)
{
Codeindex  indexkamus;
Output: (CodeIndex , ) ;
}
 string ABBCBCABABCAABCAAB
Contoh Encode
Encode : (0,A)(0,B)(2,C)(3,A)(2,A)(4,A)(6,B)
 string input : AAAAAAAAA
Contoh Encode (2)
Encode : (0,A)(1,A)(2,A)(3, )

Number of Bit Transmisi
 Merubah hasil encode menjadi kode biner
 Buat index terlebih dahulu:
Compressed string( codewords): (i1, s1) (i2, s2) ... (in, sn)
Codeword index 1 2 ... n
 Konversi codeword ke biner dengan melihat tabel, dimana:
 Melihat index untuk menghitung bit
 Melihat codeindex untuk menetukan biner

Contoh Number of Bit Transmisi
 Data : ABBCBCABABCAABCAAB
Number of bits = Total number of characters * 8
= 18 * 8
= 144 bits
 Codewords: (0, A) (0, B) (2, C) (3, A) (2, A) (4, A) (6, B)
Codeword index 1 2 3 4 5 6 7
Contoh Number of Bit Transmisi (2)
Codeword (0, A) (0, B) (2, C) (3, A) (2, A) (4, A) (6, B)
index 1 2 3 4 5 6 7
Bits: (1 + 8) + (1 + 8) + (2 + 8) + (2 + 8) + (3 + 8) + (3 + 8) + (3 + 8) = 71 bits
Hasil : 0A0B10C11A010A100A110B

Decode LZ78
Algoritma Decode

Psudocode
kamus kosong ; kamusIndex 1 ;
while(masih ada token){
CodeWord  next CodeWord;
kar karakter cocokan dari kamus ;
if(CodeWord = = 0)
String  kosongkan;
else
String  string index CodeWord di kamus ;
Output: String + kar;
kamusIndex++;
}
Contoh Decode
Data encode : (0, A) (0, B) (2, C) (3, A) (2, A) (4, A) (6, B)
Hasil decode : ABBCBCABABCAABCAAB

Number of Bit Transmisi
 Ubah biner menjadi codeword ASCII
 Lakukan seperti melakukan decode
 Pesan : 0A 0B 10C 11A 010A 100A 110B
 Menjadi : (0,A) (0,B) (2,C) (3,A) (2,A) (4,A) (6,B)

 Rumusan Rasio Kompersi:
 Data : ABBCBCABABCAABCAAB
 100%-(71/144 x 100)= 50,7 %
Rasio Kompresi

 Perbaikan LZ77 dan LZSS  LZ78 mempunyai
kemampuan menyimpan entries secara permanen
dan mengembangkan selama proses encoding
 LZ78 berbeda dg LZ77 dan LZSS  hanya
menggunakan pasangan (i,s)
o i : index/posisi pada dictionary
o s : simbol input
 Jika pasangan (0,s) muncul indikasi simbol s tdk ada
dlm dictionary dan harus ditambahkan
Kesimpulan

1. Persentasi : 082ICS202_17_LZ_Compression.ppt
2. Persentasi : Commpression Algorithm LZ-Varian.ppt
3. http://en.wikipedia.org/wiki/LZ77_and_LZ78
Referensi

More Related Content

What's hot

Gerbang logika
Gerbang logikaGerbang logika
Gerbang logikaIPA 2014
 
Course 3-gerbang-logika-dan-aljabar-boole
Course 3-gerbang-logika-dan-aljabar-booleCourse 3-gerbang-logika-dan-aljabar-boole
Course 3-gerbang-logika-dan-aljabar-booleNandar Jhon
 
Gerbang logika dasar
Gerbang logika dasarGerbang logika dasar
Gerbang logika dasarYusuf Tiar
 
Gerbang Logika Dasar
Gerbang Logika DasarGerbang Logika Dasar
Gerbang Logika DasarMoh Ali Fauzi
 
Ripte (ranguman ilmu pengetahuan teknik elektro)
Ripte (ranguman ilmu pengetahuan teknik elektro)Ripte (ranguman ilmu pengetahuan teknik elektro)
Ripte (ranguman ilmu pengetahuan teknik elektro)Rizky Putra
 
Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7ahmad haidaroh
 
Pengertian gerbang logika dasar dan jenis jenisnya
Pengertian gerbang logika dasar dan jenis jenisnyaPengertian gerbang logika dasar dan jenis jenisnya
Pengertian gerbang logika dasar dan jenis jenisnyaMega Dwipa
 

What's hot (14)

Gerbang logika
Gerbang logikaGerbang logika
Gerbang logika
 
Course 3-gerbang-logika-dan-aljabar-boole
Course 3-gerbang-logika-dan-aljabar-booleCourse 3-gerbang-logika-dan-aljabar-boole
Course 3-gerbang-logika-dan-aljabar-boole
 
Gerbang logika dasar
Gerbang logika dasarGerbang logika dasar
Gerbang logika dasar
 
Algoritma & Pemograman - 01.Pendahuluan
Algoritma & Pemograman - 01.PendahuluanAlgoritma & Pemograman - 01.Pendahuluan
Algoritma & Pemograman - 01.Pendahuluan
 
Bab 2 gerbang logika
Bab 2   gerbang logikaBab 2   gerbang logika
Bab 2 gerbang logika
 
Pembahasan gerbang-logika
Pembahasan gerbang-logikaPembahasan gerbang-logika
Pembahasan gerbang-logika
 
Gerbang Logika Dasar
Gerbang Logika DasarGerbang Logika Dasar
Gerbang Logika Dasar
 
Ripte (ranguman ilmu pengetahuan teknik elektro)
Ripte (ranguman ilmu pengetahuan teknik elektro)Ripte (ranguman ilmu pengetahuan teknik elektro)
Ripte (ranguman ilmu pengetahuan teknik elektro)
 
Gerbang Logika
Gerbang  LogikaGerbang  Logika
Gerbang Logika
 
Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7
 
Gerbang logika
Gerbang logikaGerbang logika
Gerbang logika
 
Pengertian gerbang logika dasar dan jenis jenisnya
Pengertian gerbang logika dasar dan jenis jenisnyaPengertian gerbang logika dasar dan jenis jenisnya
Pengertian gerbang logika dasar dan jenis jenisnya
 
Algoritma dan Pemrograman
Algoritma dan Pemrograman Algoritma dan Pemrograman
Algoritma dan Pemrograman
 
Rl 20111005
Rl 20111005Rl 20111005
Rl 20111005
 

Similar to Algoritma Kompresi LZ78 dan Penerapannya

Similar to Algoritma Kompresi LZ78 dan Penerapannya (14)

9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
 
Pertemuan3.ppt
Pertemuan3.pptPertemuan3.ppt
Pertemuan3.ppt
 
Pert 3, Teori PBO
Pert 3, Teori PBOPert 3, Teori PBO
Pert 3, Teori PBO
 
AOK 02
AOK 02AOK 02
AOK 02
 
Bab2 libre
Bab2 libreBab2 libre
Bab2 libre
 
Bab2 libre
Bab2 libreBab2 libre
Bab2 libre
 
307(1)
307(1)307(1)
307(1)
 
Desain Kompiler - Kode Antara
Desain Kompiler - Kode AntaraDesain Kompiler - Kode Antara
Desain Kompiler - Kode Antara
 
Algoritma 1 pertemuan 2
Algoritma 1 pertemuan 2Algoritma 1 pertemuan 2
Algoritma 1 pertemuan 2
 
P5-6
P5-6P5-6
P5-6
 
Pertemuan 1 ok
Pertemuan 1 okPertemuan 1 ok
Pertemuan 1 ok
 
Enkripsi rc4
Enkripsi rc4Enkripsi rc4
Enkripsi rc4
 
Bab2
Bab2Bab2
Bab2
 
Struktur compiler session 4
Struktur compiler session 4Struktur compiler session 4
Struktur compiler session 4
 

Algoritma Kompresi LZ78 dan Penerapannya

  • 1. Adi Suheryadi Pasca Sarjana Teknik Informatika Universitas Telkom
  • 2.   Ide Kompresi LZ78  Karakteristik  Encode  Decode  Rasio Kompresi  Kesimpulan Poin Persentasi
  • 3.   Menggunakan metode kamus (dictionary)  Kamus merupakan daftar yang tak terbatas  menggunakan token (i,s) o i : index/posisi pada dictionary o s : simbol input Ide Kompresi LZ78
  • 4.   Bersifat lossless  dictionary berupa daftar yg tak terbatas dari frasa yang dilihat sebelumnya  Mempunyai kemampuan menyimpan entries secara permanen  Mengembangkan entitas selama proses encoding Karakteristik
  • 7. Psudocode kamus kosong; prefix kosong; indexkamus 1; while(masih ada karakter) { kar next karakter; if(kar+ karakter ada di kamus) prefix prefix++ ; else { if(Prefix tidak ada) Codeindex  0 ; else Codeindex  index kamus; Output: (Codeindex, kar) ; insertInDictionary( ( indexkamus, Prefix + kar) ); Indexkamus++ ; Prefix  kosong; } } if(Prefix tidak kosong) { Codeindex  indexkamus; Output: (CodeIndex , ) ; }
  • 8.  string ABBCBCABABCAABCAAB Contoh Encode Encode : (0,A)(0,B)(2,C)(3,A)(2,A)(4,A)(6,B)
  • 9.  string input : AAAAAAAAA Contoh Encode (2) Encode : (0,A)(1,A)(2,A)(3, )
  • 10.  Number of Bit Transmisi  Merubah hasil encode menjadi kode biner  Buat index terlebih dahulu: Compressed string( codewords): (i1, s1) (i2, s2) ... (in, sn) Codeword index 1 2 ... n  Konversi codeword ke biner dengan melihat tabel, dimana:  Melihat index untuk menghitung bit  Melihat codeindex untuk menetukan biner
  • 11.  Contoh Number of Bit Transmisi  Data : ABBCBCABABCAABCAAB Number of bits = Total number of characters * 8 = 18 * 8 = 144 bits  Codewords: (0, A) (0, B) (2, C) (3, A) (2, A) (4, A) (6, B) Codeword index 1 2 3 4 5 6 7
  • 12. Contoh Number of Bit Transmisi (2) Codeword (0, A) (0, B) (2, C) (3, A) (2, A) (4, A) (6, B) index 1 2 3 4 5 6 7 Bits: (1 + 8) + (1 + 8) + (2 + 8) + (2 + 8) + (3 + 8) + (3 + 8) + (3 + 8) = 71 bits Hasil : 0A0B10C11A010A100A110B
  • 15.  Psudocode kamus kosong ; kamusIndex 1 ; while(masih ada token){ CodeWord  next CodeWord; kar karakter cocokan dari kamus ; if(CodeWord = = 0) String  kosongkan; else String  string index CodeWord di kamus ; Output: String + kar; kamusIndex++; }
  • 16. Contoh Decode Data encode : (0, A) (0, B) (2, C) (3, A) (2, A) (4, A) (6, B) Hasil decode : ABBCBCABABCAABCAAB
  • 17.  Number of Bit Transmisi  Ubah biner menjadi codeword ASCII  Lakukan seperti melakukan decode  Pesan : 0A 0B 10C 11A 010A 100A 110B  Menjadi : (0,A) (0,B) (2,C) (3,A) (2,A) (4,A) (6,B)
  • 18.   Rumusan Rasio Kompersi:  Data : ABBCBCABABCAABCAAB  100%-(71/144 x 100)= 50,7 % Rasio Kompresi
  • 19.   Perbaikan LZ77 dan LZSS  LZ78 mempunyai kemampuan menyimpan entries secara permanen dan mengembangkan selama proses encoding  LZ78 berbeda dg LZ77 dan LZSS  hanya menggunakan pasangan (i,s) o i : index/posisi pada dictionary o s : simbol input  Jika pasangan (0,s) muncul indikasi simbol s tdk ada dlm dictionary dan harus ditambahkan Kesimpulan
  • 20.  1. Persentasi : 082ICS202_17_LZ_Compression.ppt 2. Persentasi : Commpression Algorithm LZ-Varian.ppt 3. http://en.wikipedia.org/wiki/LZ77_and_LZ78 Referensi