KOMPRESI DATA - · PDF filebinary tree Riki Ruli S - 30. Shannon-Fano Algorithm ......

39
KOMPRESI DATA Multimedia Multimedia Jurusan Teknik Informatika [email protected] 1 Riki Ruli S - http://blogriki.wordpress.com

Transcript of KOMPRESI DATA - · PDF filebinary tree Riki Ruli S - 30. Shannon-Fano Algorithm ......

Page 1: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

KOMPRESI DATA

MultimediaJurusan Teknik Informatika

[email protected]

MultimediaJurusan Teknik Informatika

[email protected]

1Riki Ruli S - http://blogriki.wordpress.com

Page 2: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

• Teknik Kompresi adalah teknik memadatkan data,sehingga data yang tadinya mempunyai kapasitasdata yang besar menjadi kapasitas data yang lebihkecil

• Kompresi data adalah proses mengkodekan informasimenggunakan bit atau information-bearing unit lainyang lebih rendah daripada representasi data yangtidak terkodekan dengan suatu sistem enkodingtertentu.

• Teknik Kompresi adalah teknik memadatkan data,sehingga data yang tadinya mempunyai kapasitasdata yang besar menjadi kapasitas data yang lebihkecil

• Kompresi data adalah proses mengkodekan informasimenggunakan bit atau information-bearing unit lainyang lebih rendah daripada representasi data yangtidak terkodekan dengan suatu sistem enkodingtertentu.

2Riki Ruli S - http://blogriki.wordpress.com

Page 3: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

• Contoh sederhana : Menyingkat kata-kata yangsudah memiliki pengertian umum. Misal : kata “danlain-lain” disingkat “dll”, “yang” disingkat “yg”, “danseterusnya” disingkat “dst”

• Kompresi data menjadi sangat penting karenamemperkecil kebutuhan penyimpanan data,mempercepat pengiriman data, memperkecilkebutuhan bandwidth.

• Teknik kompresi bisa dilakukan terhadap data teks/biner,gambar (JPEG, PNG, TIFF), audio (MP3, AAC, RMA, WMA),dan video (MPEG, H261, H263)

• Contoh sederhana : Menyingkat kata-kata yangsudah memiliki pengertian umum. Misal : kata “danlain-lain” disingkat “dll”, “yang” disingkat “yg”, “danseterusnya” disingkat “dst”

• Kompresi data menjadi sangat penting karenamemperkecil kebutuhan penyimpanan data,mempercepat pengiriman data, memperkecilkebutuhan bandwidth.

• Teknik kompresi bisa dilakukan terhadap data teks/biner,gambar (JPEG, PNG, TIFF), audio (MP3, AAC, RMA, WMA),dan video (MPEG, H261, H263)

3Riki Ruli S - http://blogriki.wordpress.com

Page 4: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

• Contoh sederhana : Menyingkat kata-kata yangsudah memiliki pengertian umum. Misal : kata “danlain-lain” disingkat “dll”, “yang” disingkat “yg”, “danseterusnya” disingkat “dst”

• Kompresi data menjadi sangat penting karenamemperkecil kebutuhan penyimpanan data,mempercepat pengiriman data, memperkecilkebutuhan bandwidth.

• Teknik kompresi bisa dilakukan terhadap data teks/biner,gambar (JPEG, PNG, TIFF), audio (MP3, AAC, RMA, WMA),dan video (MPEG, H261, H263)

• Contoh sederhana : Menyingkat kata-kata yangsudah memiliki pengertian umum. Misal : kata “danlain-lain” disingkat “dll”, “yang” disingkat “yg”, “danseterusnya” disingkat “dst”

• Kompresi data menjadi sangat penting karenamemperkecil kebutuhan penyimpanan data,mempercepat pengiriman data, memperkecilkebutuhan bandwidth.

• Teknik kompresi bisa dilakukan terhadap data teks/biner,gambar (JPEG, PNG, TIFF), audio (MP3, AAC, RMA, WMA),dan video (MPEG, H261, H263)

4Riki Ruli S - http://blogriki.wordpress.com

Page 5: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

• Dialoque Mode: yaitu proses penerimaan datadimana pengirim dan penerima seakan berdialog(real time), seperti pada contoh video conference.

• Dimana kompresi data harus berada dalam bataspenglihatan dan pendengaran manusia. Waktutunda (delay) tidak boleh lebih dari 150 ms, dimana50 ms untuk proses kompresi dan dekompresi, 100ms mentransmisikan data dalam jaringan

• Dialoque Mode: yaitu proses penerimaan datadimana pengirim dan penerima seakan berdialog(real time), seperti pada contoh video conference.

• Dimana kompresi data harus berada dalam bataspenglihatan dan pendengaran manusia. Waktutunda (delay) tidak boleh lebih dari 150 ms, dimana50 ms untuk proses kompresi dan dekompresi, 100ms mentransmisikan data dalam jaringan

5Riki Ruli S - http://blogriki.wordpress.com

Page 6: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

• Retrieval Mode: yaitu proses penerimaan data tidakdilakukan secara real time

• Dapat dilakukan fast forward dan fast rewind diclient

• Dapat dilakukan random access terhadap data dandapat bersifat interaktif

• Retrieval Mode: yaitu proses penerimaan data tidakdilakukan secara real time

• Dapat dilakukan fast forward dan fast rewind diclient

• Dapat dilakukan random access terhadap data dandapat bersifat interaktif

6Riki Ruli S - http://blogriki.wordpress.com

Page 7: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

• Lossy:– Beberapa struktur dokumennya akan mengalami error

atau hilang dalam batasan toleransi manusia– Jangkauan kompresinya sangat tinggi– Contoh: video, gambar dan audio.

• Lossless:– Ekplositasinya hanya pada data statistik (redudancy)– Jangkauan kompresinya rendah– Struktur dokumennya tidak mengalami error atau hilang

apabila dilakukan dekompresi– contoh:program, data, medical imaging, dsb.

• Lossy:– Beberapa struktur dokumennya akan mengalami error

atau hilang dalam batasan toleransi manusia– Jangkauan kompresinya sangat tinggi– Contoh: video, gambar dan audio.

• Lossless:– Ekplositasinya hanya pada data statistik (redudancy)– Jangkauan kompresinya rendah– Struktur dokumennya tidak mengalami error atau hilang

apabila dilakukan dekompresi– contoh:program, data, medical imaging, dsb.

7Riki Ruli S - http://blogriki.wordpress.com

Page 8: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Lossy Compression berdasarkan output• Teknik kompresi dimana data hasil dekompresi tidak

sama dengan data sebelum kompresi namun sudah“cukup” untuk digunakan. Contoh: Mp3, streamingmedia, JPEG, MPEG, dan WMA.

• Kelebihan: ukuran file lebih kecil dibanding losslessnamun masih tetap memenuhi syarat untukdigunakan.

Lossy Compression berdasarkan output• Teknik kompresi dimana data hasil dekompresi tidak

sama dengan data sebelum kompresi namun sudah“cukup” untuk digunakan. Contoh: Mp3, streamingmedia, JPEG, MPEG, dan WMA.

• Kelebihan: ukuran file lebih kecil dibanding losslessnamun masih tetap memenuhi syarat untukdigunakan.

8Riki Ruli S - http://blogriki.wordpress.com

Page 9: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Lossy Compression berdasarkan output (2)• Teknik ini membuang bagian-bagian data yang

sebenarnya tidak begitu berguna, tidak begitudirasakan, tidak begitu dilihat oleh manusia sehinggamanusia masih beranggapan bahwa data tersebutmasih bisa digunakan walaupun sudah dikompresi.

• Misal terdapat image asli berukuran 12,249 bytes,kemudian dilakukan kompresi dengan JPEG kualitas30 dan berukuran 1,869 bytes berarti image tersebut85% lebih kecil dan ratio kompresi 15%

Lossy Compression berdasarkan output (2)• Teknik ini membuang bagian-bagian data yang

sebenarnya tidak begitu berguna, tidak begitudirasakan, tidak begitu dilihat oleh manusia sehinggamanusia masih beranggapan bahwa data tersebutmasih bisa digunakan walaupun sudah dikompresi.

• Misal terdapat image asli berukuran 12,249 bytes,kemudian dilakukan kompresi dengan JPEG kualitas30 dan berukuran 1,869 bytes berarti image tersebut85% lebih kecil dan ratio kompresi 15%

9Riki Ruli S - http://blogriki.wordpress.com

Page 10: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Loseless• Teknik kompresi dimana data hasil kompresi dapat

didekompres lagi dan hasilnya tepat sama seperti datasebelum proses kompresi. Contoh aplikasi: ZIP, RAR, GZIP,7-Zip

• Teknik ini digunakan jika dibutuhkan data setelahdikompresi harus dapat diekstrak/dekompres lagi tepatsama. Contoh pada data teks, data program/biner,beberapa image seperti GIF dan PNG

• Kadangkala ada data-data yang setelah dikompresidengan teknik ini ukurannya menjadi lebih besar atausama

Loseless• Teknik kompresi dimana data hasil kompresi dapat

didekompres lagi dan hasilnya tepat sama seperti datasebelum proses kompresi. Contoh aplikasi: ZIP, RAR, GZIP,7-Zip

• Teknik ini digunakan jika dibutuhkan data setelahdikompresi harus dapat diekstrak/dekompres lagi tepatsama. Contoh pada data teks, data program/biner,beberapa image seperti GIF dan PNG

• Kadangkala ada data-data yang setelah dikompresidengan teknik ini ukurannya menjadi lebih besar atausama

10Riki Ruli S - http://blogriki.wordpress.com

Page 11: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Memiliki Ciri dan sifat :• Kualitas data hasil enkoding: ukuran lebih kecil, data

tidak rusak untuk kompresi lossy.• Kecepatan, ratio, dan efisiensi proses kompresi dan

dekompresi• Ketepatan proses dekompresi data: data hasil

dekompresi tetap sama dengan data sebelumdikompres (kompresi lossless)

Memiliki Ciri dan sifat :• Kualitas data hasil enkoding: ukuran lebih kecil, data

tidak rusak untuk kompresi lossy.• Kecepatan, ratio, dan efisiensi proses kompresi dan

dekompresi• Ketepatan proses dekompresi data: data hasil

dekompresi tetap sama dengan data sebelumdikompres (kompresi lossless)

11Riki Ruli S - http://blogriki.wordpress.com

Page 12: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Ada 3 jenis pengkodean dalam kompresiantara lain :– Entropy coding: dimana dalam pengkodean

dan teknik kompresinya menggunakanteknik kompresi lossless

– Source coding: menggunakan teknikkompresi lossy

– Hybrid coding : gabungan dari teknikentropy dan source coding

Ada 3 jenis pengkodean dalam kompresiantara lain :– Entropy coding: dimana dalam pengkodean

dan teknik kompresinya menggunakanteknik kompresi lossless

– Source coding: menggunakan teknikkompresi lossy

– Hybrid coding : gabungan dari teknikentropy dan source coding

12Riki Ruli S - http://blogriki.wordpress.com

Page 13: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Entropy Encoding• Bersifat lossless• Tekniknya tidak berdasarkan media dengan

spesifikasi dan karakteristik tertentu namunberdasarkan urutan data.

• Statistical encoding, tidak memperhatikansemantik data.

• Mis: Run-length coding, Huffman coding,Arithmetic coding

Entropy Encoding• Bersifat lossless• Tekniknya tidak berdasarkan media dengan

spesifikasi dan karakteristik tertentu namunberdasarkan urutan data.

• Statistical encoding, tidak memperhatikansemantik data.

• Mis: Run-length coding, Huffman coding,Arithmetic coding

13Riki Ruli S - http://blogriki.wordpress.com

Page 14: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Source Coding• Bersifat lossy• Berkaitan dengan data semantik (arti

data) dan media.• Mis: Prediction (DPCM, DM),

Transformation (FFT, DCT), LayeredCoding (Bit position, subsampling, sub-band coding), Vector quantization

Source Coding• Bersifat lossy• Berkaitan dengan data semantik (arti

data) dan media.• Mis: Prediction (DPCM, DM),

Transformation (FFT, DCT), LayeredCoding (Bit position, subsampling, sub-band coding), Vector quantization

14Riki Ruli S - http://blogriki.wordpress.com

Page 15: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Hybrid Coding• Gabungan antara lossy + lossless• Mis: JPEG, MPEG, H.261, DVI

Hybrid Coding• Gabungan antara lossy + lossless• Mis: JPEG, MPEG, H.261, DVI

15Riki Ruli S - http://blogriki.wordpress.com

Page 16: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

• Run-length Encoding• Repetition Suppression• Pattern Substitution• Huffman Coding

• Run-length Encoding• Repetition Suppression• Pattern Substitution• Huffman Coding

16Riki Ruli S - http://blogriki.wordpress.com

Page 17: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Run-Length-Encoding (RLE)• Kompresi data teks dilakukan jika ada

beberapa huruf yang sama yangditampilkan berturut-turut:

• Mis: Data: ABCCCCCCCCDEFGGGG = 17karakter

• RLE tipe 1 (min. 4 huruf sama) :ABC!8DEFG!4 = 11 karakter

Run-Length-Encoding (RLE)• Kompresi data teks dilakukan jika ada

beberapa huruf yang sama yangditampilkan berturut-turut:

• Mis: Data: ABCCCCCCCCDEFGGGG = 17karakter

• RLE tipe 1 (min. 4 huruf sama) :ABC!8DEFG!4 = 11 karakter

17Riki Ruli S - http://blogriki.wordpress.com

Page 18: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Run-Length-Encoding (RLE)• Beberapa elemen angka yang sama

diwakilkan dengan satu buah elemen angkayang diberikan jumlahnya

• contoh:111333322222211111 (1,3),(3,4),(2,6),(1,5)atau dengan contoh yang lain10000001 dikompresi menjadi 10!61

Run-Length-Encoding (RLE)• Beberapa elemen angka yang sama

diwakilkan dengan satu buah elemen angkayang diberikan jumlahnya

• contoh:111333322222211111 (1,3),(3,4),(2,6),(1,5)atau dengan contoh yang lain10000001 dikompresi menjadi 10!61

18Riki Ruli S - http://blogriki.wordpress.com

Page 19: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Run-Length-Encoding (RLE)• RLE ada yang menggunakan suatu karakter yang

tidak digunakan dalam teks tersebut sepertimisalnya “!‟ untuk menandai.

• Kelemahan? Jika ada karakter angka, manatanda mulai dan akhir?

Misal data : ABCCCCCCCCDEFGGGG = 17 karakterRLE tipe 2: -2AB8C-3DEF4G = 12 karakterMisal data : AB12CCCCDEEEF = 13 karakterRLE tipe 2: -4AB124CD3EF = 12 karakter

Run-Length-Encoding (RLE)• RLE ada yang menggunakan suatu karakter yang

tidak digunakan dalam teks tersebut sepertimisalnya “!‟ untuk menandai.

• Kelemahan? Jika ada karakter angka, manatanda mulai dan akhir?

Misal data : ABCCCCCCCCDEFGGGG = 17 karakterRLE tipe 2: -2AB8C-3DEF4G = 12 karakterMisal data : AB12CCCCDEEEF = 13 karakterRLE tipe 2: -4AB124CD3EF = 12 karakter

19Riki Ruli S - http://blogriki.wordpress.com

Page 20: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Run-Length-Encoding (RLE)• RLE ada yang menggunakan suatu karakter yang

tidak digunakan dalam teks tersebut sepertimisalnya “!‟ untuk menandai.

• Kelemahan? Jika ada karakter angka, manatanda mulai dan akhir?

Misal data : ABCCCCCCCCDEFGGGG = 17 karakterRLE tipe 2: -2AB8C-3DEF4G = 12 karakterMisal data : AB12CCCCDEEEF = 13 karakterRLE tipe 2: -4AB124CD3EF = 12 karakter

Run-Length-Encoding (RLE)• RLE ada yang menggunakan suatu karakter yang

tidak digunakan dalam teks tersebut sepertimisalnya “!‟ untuk menandai.

• Kelemahan? Jika ada karakter angka, manatanda mulai dan akhir?

Misal data : ABCCCCCCCCDEFGGGG = 17 karakterRLE tipe 2: -2AB8C-3DEF4G = 12 karakterMisal data : AB12CCCCDEEEF = 13 karakterRLE tipe 2: -4AB124CD3EF = 12 karakter

20Riki Ruli S - http://blogriki.wordpress.com

Page 21: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Run-Length-Encoding (RLE)• Best case: untuk RLE tipe 2 adalah ketika

terdapat 127 karakter yang sama sehinggaakan dikompres menjadi 2 byte saja.

• Worst case: untuk RLE tipe 2 adalah ketikaterdapat 127 karakter yang berbeda semua,maka akan terdapat 1 byte tambahansebagai tanda jumlah karakter yang tidaksama tersebut.

• Menggunakan teknik loseless

Run-Length-Encoding (RLE)• Best case: untuk RLE tipe 2 adalah ketika

terdapat 127 karakter yang sama sehinggaakan dikompres menjadi 2 byte saja.

• Worst case: untuk RLE tipe 2 adalah ketikaterdapat 127 karakter yang berbeda semua,maka akan terdapat 1 byte tambahansebagai tanda jumlah karakter yang tidaksama tersebut.

• Menggunakan teknik loseless

21Riki Ruli S - http://blogriki.wordpress.com

Page 22: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Repetition Suppression• Mengubah angka atau huruf yang

berulang-ulang diwakilkan dengan satuhurup dengan jumlahnya

• Example:984000000000000000000000000 = 984A24

Repetition Suppression• Mengubah angka atau huruf yang

berulang-ulang diwakilkan dengan satuhurup dengan jumlahnya

• Example:984000000000000000000000000 = 984A24

22Riki Ruli S - http://blogriki.wordpress.com

Page 23: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Pattern Substitution• Melakukan subtitusi kata-kata menjadi huruf

maupun simbol• contoh:

This book is an exemplary example of a book….This 1、is2、an3、of4、a5bookb*….

1b*23exemplary example45b

Pattern Substitution• Melakukan subtitusi kata-kata menjadi huruf

maupun simbol• contoh:

This book is an exemplary example of a book….This 1、is2、an3、of4、a5bookb*….

1b*23exemplary example45b

23Riki Ruli S - http://blogriki.wordpress.com

Page 24: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Pattern Substitution• This book is an exemplary example of a book on multimedia

and networking. Nowhere else will you find this kind ofcoverage and completeness. This is truly a one-stop-shop forall that you want to know about multimedia and networking.

(192 Karakter)• a:1, about:2, all:3, an:4, and:5, for:6, is:7, of:8, on:9, that:+,

this:&, to:=, will:#– & b o o k 7 4 e x e m p l a r y sp e x a m p l e 81 b

o o k 9 m* 5 n* . N o w h e r e sp e l s e # y o…– 129 : 193 = 0.6684 33.16% compression

Pattern Substitution• This book is an exemplary example of a book on multimedia

and networking. Nowhere else will you find this kind ofcoverage and completeness. This is truly a one-stop-shop forall that you want to know about multimedia and networking.

(192 Karakter)• a:1, about:2, all:3, an:4, and:5, for:6, is:7, of:8, on:9, that:+,

this:&, to:=, will:#– & b o o k 7 4 e x e m p l a r y sp e x a m p l e 81 b

o o k 9 m* 5 n* . N o w h e r e sp e l s e # y o…– 129 : 193 = 0.6684 33.16% compression

24Riki Ruli S - http://blogriki.wordpress.com

Page 25: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Static Huffman Coding (SFC)• Frekuensi karakter dari string yang akan dikompres

dianalisa terlebih dahulu. Selanjutnya dibuat pohonhuffman yang merupakan pohon biner dengan rootawal yang diberi nilai 0 (sebelah kiri) atau 1 (sebelahkanan), sedangkan selanjutnya untuk dahan kiriselalu diberi nilai 1(kiri) - 0(kanan) dan di dahankanan diberi nilai 0(kiri) – 1(kanan)

• A bottom-up approach = frekuensi terkecil dikerjakanterlebih dahulu dan diletakkan ke dalam leaf (daun).

• Kemudian leaf-leaf akan dikombinasikan dandijumlahkan probabilitasnya menjadi root diatasnya.

Static Huffman Coding (SFC)• Frekuensi karakter dari string yang akan dikompres

dianalisa terlebih dahulu. Selanjutnya dibuat pohonhuffman yang merupakan pohon biner dengan rootawal yang diberi nilai 0 (sebelah kiri) atau 1 (sebelahkanan), sedangkan selanjutnya untuk dahan kiriselalu diberi nilai 1(kiri) - 0(kanan) dan di dahankanan diberi nilai 0(kiri) – 1(kanan)

• A bottom-up approach = frekuensi terkecil dikerjakanterlebih dahulu dan diletakkan ke dalam leaf (daun).

• Kemudian leaf-leaf akan dikombinasikan dandijumlahkan probabilitasnya menjadi root diatasnya.

25Riki Ruli S - http://blogriki.wordpress.com

Page 26: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Static Huffman Coding• Berdasarkan frekuensi kejadian pada karakter

yang diberikan• A:13, B:4, C:7 A1, B 00, C 01

Static Huffman Coding• Berdasarkan frekuensi kejadian pada karakter

yang diberikan• A:13, B:4, C:7 A1, B 00, C 01

26Riki Ruli S - http://blogriki.wordpress.com

A B C

11

24

24

A

11 13

4 7B C

0

0

1

1

Page 27: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Static Huffman CodingMis: MAMA SAYA• A = 4 -> 4/8 = 0.5• M = 2 -> 2/8 = 0.25• S = 1 -> 1/8 = 0.125• Y = 1 -> 1/8 = 0.125• Total = 8 karakter

Static Huffman CodingMis: MAMA SAYA• A = 4 -> 4/8 = 0.5• M = 2 -> 2/8 = 0.25• S = 1 -> 1/8 = 0.125• Y = 1 -> 1/8 = 0.125• Total = 8 karakter

27Riki Ruli S - http://blogriki.wordpress.com

Page 28: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Static Huffman Coding

p(YSM)=0.5 p(A)=0.5

p(YSMA)=10 1

28Riki Ruli S - http://blogriki.wordpress.com

p(Y)=0.125 p(S)=0.125

p(YS)=0.25 p(M)=0.25

p(YSM)=0.5 p(A)=0.5

01

01

Sehingga w(A) = 1, w(M) = 00, w(S) = 010, dan w(Y) = 011

Page 29: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Shannon-Fano Algorithm• Dikembangkan oleh Shannon (Bell Labs) dan

Robert Fano (MIT)• Contoh : H E L L O

Shannon-Fano Algorithm• Dikembangkan oleh Shannon (Bell Labs) dan

Robert Fano (MIT)• Contoh : H E L L O

29Riki Ruli S - http://blogriki.wordpress.com

Simbol H E L O

Jumlah 1 1 2 1

Page 30: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Shannon-Fano Algorithm• Algoritma :

– Urutkan simbol berdasarkan frekuensi kemunculannya– Bagi simbol menjadi 2 bagian secara rekursif, dengan

jumlah yang kira-kira sama pada kedua bagian, sampaitiap bagian hanya terdiri dari 1 simbol.

• Cara yang paling tepat untukmengimplementasikan adalah dengan membuatbinary tree

Shannon-Fano Algorithm• Algoritma :

– Urutkan simbol berdasarkan frekuensi kemunculannya– Bagi simbol menjadi 2 bagian secara rekursif, dengan

jumlah yang kira-kira sama pada kedua bagian, sampaitiap bagian hanya terdiri dari 1 simbol.

• Cara yang paling tepat untukmengimplementasikan adalah dengan membuatbinary tree

30Riki Ruli S - http://blogriki.wordpress.com

Page 31: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Shannon-Fano Algorithm

31Riki Ruli S - http://blogriki.wordpress.com

Page 32: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Adaptive Huffman Coding (AHC)• Metode SHC mengharuskan diketahui terlebih

dahulu frekuensi masing-masing karaktersebelum dilakukan proses pengkodean. MetodeAHC merupakan pengembangan dari SHC dimanaproses penghitungan frekuensi karakter danpembuatan pohon Huffman dibuat secaradinamis pada saat membaca data.

• Algoritma Huffman tepat bila dipergunakan padainformasi yang bersifat statis. Sedangkan untukmultimedia application, dimana data yang akandatang belum dapat dipastikan kedatangannya(audio dan video streaming), algoritma AdaptiveHuffman dapat dipergunakan

Adaptive Huffman Coding (AHC)• Metode SHC mengharuskan diketahui terlebih

dahulu frekuensi masing-masing karaktersebelum dilakukan proses pengkodean. MetodeAHC merupakan pengembangan dari SHC dimanaproses penghitungan frekuensi karakter danpembuatan pohon Huffman dibuat secaradinamis pada saat membaca data.

• Algoritma Huffman tepat bila dipergunakan padainformasi yang bersifat statis. Sedangkan untukmultimedia application, dimana data yang akandatang belum dapat dipastikan kedatangannya(audio dan video streaming), algoritma AdaptiveHuffman dapat dipergunakan

32Riki Ruli S - http://blogriki.wordpress.com

Page 33: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Adaptive Huffman Coding (AHC)• Metode SHC maupun AHC merupakan

kompresi yang bersifat lossless.• Dibuat oleh David A. Huffman dari MIT tahun

1952• Huffman banyak dijadikan “back-end” pada

algoritma lain, seperti Arithmetic Coding,aplikasi PKZIP, JPEG, dan MP3.

Adaptive Huffman Coding (AHC)• Metode SHC maupun AHC merupakan

kompresi yang bersifat lossless.• Dibuat oleh David A. Huffman dari MIT tahun

1952• Huffman banyak dijadikan “back-end” pada

algoritma lain, seperti Arithmetic Coding,aplikasi PKZIP, JPEG, dan MP3.

33Riki Ruli S - http://blogriki.wordpress.com

Page 34: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

34Riki Ruli S - http://blogriki.wordpress.com

Page 35: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

Algoritma Lempel-Ziv-Welch (LZW)menggunakan teknik adaptif danberbasiskan “kamus” Pendahulu LZWadalah LZ77 dan LZ78 yang dikembangkanoleh Jacob Ziv dan Abraham Lempel padatahun 1977 dan 1978. Terry Welchmengembangkan teknik tersebut padatahun 1984. LZW banyak dipergunakanpada UNIX, GIF, V.42 untuk modem

Algoritma Lempel-Ziv-Welch (LZW)menggunakan teknik adaptif danberbasiskan “kamus” Pendahulu LZWadalah LZ77 dan LZ78 yang dikembangkanoleh Jacob Ziv dan Abraham Lempel padatahun 1977 dan 1978. Terry Welchmengembangkan teknik tersebut padatahun 1984. LZW banyak dipergunakanpada UNIX, GIF, V.42 untuk modem

35Riki Ruli S - http://blogriki.wordpress.com

Page 36: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

ZIP File Format– Ditemukan oleh Phil Katz untuk program PKZIP

kemudian dikembangkan untuk WinZip, WinRAR,7-Zip.

– Berekstensi *.zip dan MIME application/zip– Dapat menggabungkan dan mengkompresi

beberapa file sekaligus menggunakan bermacam-macam algoritma, namun paling umummenggunakan Katz’s Deflate Algorithm.

ZIP File Format– Ditemukan oleh Phil Katz untuk program PKZIP

kemudian dikembangkan untuk WinZip, WinRAR,7-Zip.

– Berekstensi *.zip dan MIME application/zip– Dapat menggabungkan dan mengkompresi

beberapa file sekaligus menggunakan bermacam-macam algoritma, namun paling umummenggunakan Katz’s Deflate Algorithm.

36Riki Ruli S - http://blogriki.wordpress.com

Page 37: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

ZIP File Format– Beberapa method Zip:

• Shrinking : merupakan metode variasi dari LZW• Reducing : merupakan metode yang

mengkombinasikan metode same byte sequence baseddan probability based encoding.

• Imploding : menggunakan metode byte sequencebased dan Shannon-Fano encoding.

• Deflate : menggunakan LZW• Bzip2, dan lain-lain

– Aplikasi: WinZip oleh Nico-Mak Comput

ZIP File Format– Beberapa method Zip:

• Shrinking : merupakan metode variasi dari LZW• Reducing : merupakan metode yang

mengkombinasikan metode same byte sequence baseddan probability based encoding.

• Imploding : menggunakan metode byte sequencebased dan Shannon-Fano encoding.

• Deflate : menggunakan LZW• Bzip2, dan lain-lain

– Aplikasi: WinZip oleh Nico-Mak Comput

37Riki Ruli S - http://blogriki.wordpress.com

Page 38: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

– RAR File• Ditemukan oleh Eugene Roshal, sehingga RAR

merupakan singkatan dari Roshal Archive pada 10Maret 1972 di Rusia.

• Berekstensi .rar dan MIME application/x-rar-compressed

• Proses kompresi lebih lambat dari ZIP tapi ukuran filehasil kompresi lebih kecil.

• Aplikasi: WinRAR yang mampu menangani RAR dan ZIP,mendukung volume split, enkripsi AES.

– RAR File• Ditemukan oleh Eugene Roshal, sehingga RAR

merupakan singkatan dari Roshal Archive pada 10Maret 1972 di Rusia.

• Berekstensi .rar dan MIME application/x-rar-compressed

• Proses kompresi lebih lambat dari ZIP tapi ukuran filehasil kompresi lebih kecil.

• Aplikasi: WinRAR yang mampu menangani RAR dan ZIP,mendukung volume split, enkripsi AES.

38Riki Ruli S - http://blogriki.wordpress.com

Page 39: KOMPRESI DATA -   · PDF filebinary tree Riki Ruli S -   30. Shannon-Fano Algorithm ... – Buat Artikel tentang penjelasan Algoritma Kompresi yang

– Buat Artikel tentang penjelasan Algoritma Kompresi yangada saat ini, kemudian berikan contoh, gambar dan fungsicara kerja dengan melakukan perbandingan dari setiapalgoritma yang telah dijelaskan.

– Tulis artikel ini pada blog anda. (selambat-lambatnya 2minggu)

– Sistematika ;• Pengantar Teknik Kompresi Data• Algoritma Kompresi (Penjelasan masing2 algoritma)• Perbandingan (Algortihm compare)• Kesimpulan• Referensi

– Buat Artikel tentang penjelasan Algoritma Kompresi yangada saat ini, kemudian berikan contoh, gambar dan fungsicara kerja dengan melakukan perbandingan dari setiapalgoritma yang telah dijelaskan.

– Tulis artikel ini pada blog anda. (selambat-lambatnya 2minggu)

– Sistematika ;• Pengantar Teknik Kompresi Data• Algoritma Kompresi (Penjelasan masing2 algoritma)• Perbandingan (Algortihm compare)• Kesimpulan• Referensi

39Riki Ruli S - http://blogriki.wordpress.com