[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

dokumen-dokumen yang mirip
SOLUSI QUIZ #1 SEMESTER I 2014/2015

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

BAB II DASAR TEORI. 2.1 Pendahuluan


SOLUSI QUIZ#2. Soal: Untuk nomor 1-3, diketahui pesan string jaya berjaya

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

KOMPRESI TEKS dengan MENGGUNAKAN ALGORITMA HUFFMAN

ANALISIS BEBERAPA TEKNIK CODING RAHMAD FAUZI, ST, MT JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA BAB I PENDAHULUAN

KOMPRESI TEKS MENGGUNAKAN ALGORITMA DAN POHON HUFFMAN. Nama : Irfan Hanif NIM :

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

BAB 2 LANDASAN TEORI

Informasi dan Coding

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

TTG3B3 - Sistem Komunikasi 2 Teori Informasi

HUFFMAN CODING. Huffman Coding

BAB 2 TINJAUAN PUSTAKA

Teknik Pembangkitan Kode Huffman

Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding

PENINGKATAN EFISIENSI KODE HUFFMAN (HUFFMAN CODE) DENGAN MENGGUNAKAN KODE HUFFMAN KANONIK (CANONICAL HUFFMAN CODE)

Algoritma Huffman dan Kompresi Data

1 PENDAHULUAN 1.1 Latar Belakang

KODE HUFFMAN UNTUK KOMPRESI PESAN

Penerapan Pengkodean Huffman dalam Pemampatan Data

Kompleksitas Algoritma dari Algoritma Pembentukan pohon Huffman Code Sederhana

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

MEMBANGUN KODE HUFFMAN BERDASARKAN REVERSIBLE VARIABLE LENGTH CODE (RVLC) UNTUK PENGKOREKSIAN ERROR. Bangkit Erlangga/

Kode Huffman dan Penggunaannya dalam Kompresi SMS

BAB 2 TINJAUAN PUSTAKA

BAB IV HASIL DAN UJI COBA

TEKNIK KOMPRESI LOSSLESS TEXT

Image Compression. Kompresi untuk apa?

Entropy Naskah Bahasa Sunda Dan Bahasa Jawa Untuk Kompresi Teks Menggunakan Algoritma Binary Huffman Code

METODE POHON BINER HUFFMAN UNTUK KOMPRESI DATA STRING KARAKTER

1. PENDAHULUAN 1.1. Latar Belakang Masalah

TTG3B3 - Sistem Komunikasi 2 Convolutional Coding

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

ANALISA KODE HUFFMAN UNTUK KOMPRESI DATA TEKS ABSTRAK

BAB I PENDAHULUAN 1.1 Latar Belakang

Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding.

BAB 2 LANDASAN TEORI

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

BAB 2 LANDASAN TEORI

Analisa Perbandingan Rasio Kecepatan Kompresi Algoritma Dynamic Markov Compression Dan Huffman

N, 1 q N-1. A mn cos 2M , 2N. cos. 0 p M-1, 0 q N-1 Dengan: 1 M, p=0 2 M, 1 p M-1. 1 N, q=0 2. α p =

PEMAMPATAN DATA DENGAN KODE HUFFMAN (APLIKASI POHON BINER)

Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC

JURNAL IT STMIK HANDAYANI

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

HAND OUT EK. 462 SISTEM KOMUNIKASI DIGITAL

Image Compression. Tujuan Kompresi Image. Teknik kompresi yang diharapkan. Image Compression. Kompresi untuk apa?

8/29/2014. Kode MK/ Nama MK. Matematika Diskrit 2 8/29/2014

PENGANTAR KOMPRESI DATA

Image Compression. Tujuan Kompresi Image. Teknik kompresi yang diharapkan. Image Compression. Kompresi untuk apa?

BAB II TINJAUAN PUSTAKA

Perbandingan Kompresi Data Dengan Algoritma Huffman Statik dan Adaptif

BAB 2 STANDARD H.264/MPEG-4 DAN ALGORITMA CABAC

PENDAHULUAN 1.1. Latar belakang

BAB II DASAR TEORI. 7. Menuliskan kode karakter dimulai dari level paling atas sampai level paling bawah.

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN

Deteksi dan Koreksi Error

TEKNIK PENGOLAHAN CITRA. Kuliah 13 Kompresi Citra. Indah Susilawati, S.T., M.Eng.

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. Terdapat beberapa literatur yang mengulas kembali algoritma JBE (Sadiq, et

Lesson 8. Run Length Encoding (RLE) dan BW Transform

Kode Sumber dan Kode Kanal

PENGENALAN BINARY INDEXED TREE DAN APLIKASINYA

BAB I PENDAHULUAN. Masalah kompresi data merupakan salah satu aspek penting perkembangan

PENYANDIAN SUMBER DAN PENYANDIAN KANAL. Risanuri Hidayat

BAB 2 TINJAUAN PUSTAKA

APLIKASI KOMPRESI TEKS SMS PADA MOBILE DEVICE DENGAN MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

Sebuah pewarnaan dari graph G adalah sebuah pemetaan warna-warna ke simpulsimpul dari G sedemikian hingga simpul relasinya mempunyai warna warna yang

MULTIMEDIA system. Roni Andarsyah, ST., M.Kom Lecture Series

APLIKASI GREEDY PADA ALGORITMA HUFFMAN UNTUK KOMPRESI TEKS

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan

BAB 2 LANDASAN TEORI

APLIKASI KOMPRESI TEKS SMS PADA MOBILE DEVICE BERBASIS ANDROID DENGAN MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

TTG3B3 - Sistem Komunikasi 2 MAP & ML Detection

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

Teknik Pengkodean (Encoding) Dosen : I Dewa Made Bayu Atmaja Darmawan

Pembimbing 1 : TOHARI AHMAD, S.Kom., MIT., Ph.D. Pembimbing 2 : HUDAN STUDIAWAN, S.Kom., M.Kom. Melvin Simon Zepta Marbun

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. Kompresi data atau pemampatan data adalah suatu proses pengubahan


Analisis Algoritma Huffman Statis Dalam Kompresi Teks Pada Short Message Service (SMS)

BAB I PENDAHULUAN. Keamanan data merupakan hal yang sangat penting dalam menjaga

PERFORMANSI MODIFIKASI LZW UNTUK KOMPRESI SMS LAPORAN TUGAS AKHIR. Deny Aprianto /Teknik Telekomunikasi

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

BAB 2 LANDASAN TEORI

Penggunaan Pohon Huffman pada Algoritma Deflate

IMPLEMENTASI TEKNIK STEGANOGRAFI LEAST SIGNIFICANT BIT (LSB) DAN KOMPRESI UNTUK PENGAMANAN DATA PENGIRIMAN SURAT ELEKTRONIK

Transkripsi:

[TTG4J3] KODING DAN KOMPRESI Oleh : Ledya Novamizanti Astri Novianty Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

Kode (Code) adalah sekumpulan rangkaian bit-bit Codeword adalah representasi bit per simbol Kode terdiri atas kumpulan codewords Contoh: Letter/Symbol Codeword a 1 0 a 2 01 a 3 11 [TTG4J3] Koding dan Kompresi 110001011101 Code! (7 codewords) {0, 01, 11}, code!

Berdasarkan panjang kodenya, ada 2 jenis Kode: 1. Fixed-Length Code 2. Variable-Length Code

Setiap simbol atau karakter (letter) direpresentasikan oleh codeword yang panjangnya tetap (fixed) Contoh: representasi ASCII Setiap codeword memiliki panjang 8 bit Banyaknya bit dalam sebuah pesan teks = banyaknya karakter * 8 bit

Umumnya kompresi tidak menggunakan Fixedlength Code Fixed-Length Code menyebabkan jumlah simbol yang dapat diencode menjadi terbatas 5 bit Fixed-Length Code berapa simbol?

Yaitu kode yang codewords-nya memiliki panjang berbedabeda Digunakan untuk mengurangi jumlah bit yang diperlukan dalam merepresentasikan pesan teks Prinsip dasar: Simbol/karakter yang sering muncul -> codeword pendek Simbol/karakter yang jarang muncul -> codeword panjang Codeword sebuah simbol dapat berbeda pada pesan yang berbeda Rata-rata jumlah bit per symbol pada sebuah kode disebut rate of the code atau average length

Encode -> mengubah simbol/karakter pada message menjadi kode Decode -> mengubah kembali kode ke simbol/karakter awal Tahapan mendasar kompresi teks: teks di-encode, lalu di-decode

Idealnya, setiap pesan dapat di-encode menjadi kode yang memiliki karakterisitik: 1. Memiliki codeword yang unik 2. Tidak menyebabkan ambiguitas dalam men-decode (Unique decodable) 3. Instantaneous Decodable 4. Average Length kecil

Terdapat message (pesan) yang mengandung 4 simbol a 1, a 2, a 3, a 4 dengan probabilitas masingmasing simbol di dalam pesan tersebut: P(a 1 ) = ½, P(a 2 ) = ¼, P(a 3 ) = P(a 4 ) = 1/8 Berapa entropi dari message tersebut? Apa artinya?

Misalkan message tersebut di-encode ke dalam beberapa skema code sbb: a 1 a 2 a 3 a 4 Code 1 0 0 1 10 Code 2 0 1 00 11 Code 3 0 01 011 0111 Code 4 0 10 110 111 Rata-rata panjang bit per simbol untuk masingmasing kode disebut Average Length kode tersebut

Average Length untuk kode di atas dihitung menggunakan: dengan: L = average length (bits/simbol atau bits/sampel) P(a i ) = probabilitas simbol a i n(a i ) = panjang bit codewords yang merepresentasikan a i

a 1 a 2 a 3 a 4 Average Length Code 1 0 0 1 10 1.125 Code 2 0 1 00 11 1.25 Code 3 0 01 011 0111 1.875 Code 4 0 10 110 111 1.75 Di antara 4 skema kode di atas, kode mana yang memiliki karakteristik ideal?

Ingat, karakterisitik kode ideal: 1. Memiliki codeword yang unik 2. Tidak menyebabkan ambiguitas dalam men-decode (Unique decodable) 3. Instantaneous Decodable 4. Average Length kecil

a 1 a 2 a 3 a 4 Average Length Code 1 0 0 1 10 1.125 Code 2 0 1 00 11 1.25 Code 3 0 01 011 0111 1.875 Code 4 0 10 110 111 1.75 Code 1 = {0, 0, 1, 10} Average length paling kecil, tetapi codewords tidak unik a 1 = a 2 codeword tidak unik! Code 1 tidak ideal, dapat menyebabkan ambiguitas Misalkan string hasil encode: 11100100, hasil decode?

a 1 a 2 a 3 a 4 Average Length Code 1 0 0 1 10 1.125 Code 2 0 1 00 11 1.25 Code 3 0 01 011 0111 1.875 Code 4 0 10 110 111 1.75 Code 2 = {0, 1, 00, 11} Codewords unik Punya potensi masalah Contoh: encode rangkaian simbol a 2 a 1 a 1 Hasil encode 100 Hasil decode: a 2 a 1 a 1 atau a 2 a 3? Tidak unique decodable

a 1 a 2 a 3 a 4 Average Length Code 1 0 0 1 10 1.125 Code 2 0 1 00 11 1.25 Code 3 0 01 011 0111 1.875 Code 4 0 10 110 111 1.75 Code 3 = {0, 01, 011, 0111} Codewords unik Unique decodable Semua codewords berawal 0, yang membedakan adalah jumlah bit 1 Contoh: 01100101011101011 didecode menjadi? Bukan instantaneous code (Ketika mendapati codeword tertentu, belum dapat dipastikan bahwa codeword yang dimaksud adalah codeword tersebut, harus menunggu bit selanjutnya)

a 1 a 2 a 3 a 4 Average Length Code 1 0 0 1 10 1.125 Code 2 0 1 00 11 1.25 Code 3 0 01 011 0111 1.875 Code 4 0 10 110 111 1.75 Code 4 = { 0, 10, 110, 111} Codewords unik Unique decodable Tiga codewords berakhir 0 Satu codeword terdiri atas 3 bit bernilai 1 Contoh: 10011111010010 didecode menjadi? Instantaneous code artinya kode tersebut dapat diencode secara langsung (instan) pada saat menemukan codewords yang sesuai tanpa perlu menunggu bit selanjutnya

Misalkan ada 2 buah codewords a dan b, dengan panjang a = k bits, panjang b = n bits, dan k < n Jika k buah bit pertama dari b adalah a, maka a adalah prefix dari b Sisa bit pada b disebut dangling suffix Misal a = 010, b = 01011 a prefix dari b dangling suffix = 11

1. List semua codewords pada kode yang akan diuji 2. Jika ada codeword yang menjadi prefix dari codeword lainnya, tambahkan dangling suffix tersebut ke list 3. Lakukan kembali pengecekkan prefix pada langkah 2 4. Pengecekkan berhenti jika: 1. Dangling suffix yang harus ditambahkan merupakan codeword not unique decodability 2. Tidak terjadi kondisi 1 dan tidak ada lagi penambahan dangling suffix yang unik unique decodability

Diketahui code 5 dan code 6 sebagai berikut. Simbol Codeword a 1 0 a 2 01 a 3 11 Simbol Codeword a 1 0 a 2 01 a 3 10 Mana yang unique decodable?

Code 5 = {0, 01, 11} Berdasarkan Unique Decodability Test: Unique Decodable Contoh sampel: Decode string berikut: 011111111111 Code 5 unique decodable, tetapi tidak instantaneous decodable

Code 6 = {0, 01, 10} Berdasarkan Unique Decodability Test: Not Unique Decodable Contoh sampel: Decode string berikut: 01010101010101010 Code 6 Tidak unique decodable

Tentukan apakah kode-kode berikut unique decodable atau tidak: 1. {0, 01, 11, 111} 2. {0, 01, 110, 111} 3. {0, 10, 110, 111} 4. {1, 10, 110, 111}

Berdasarkan unique decodability test, sebuah kode tidak unique decodable jika terdapat dangling suffix yang merupakan codeword pada kode tersebut Langkah aman utk menjamin sebuah kode itu unique decodable adalah menghindari adanya dangling suffix D. k. l => tidak ada codeword yang menjadi prefix codeword yang lain prefix-free code!

Karakteristik instanteneous code hanya dipenuhi oleh prefix-free code Prefix-Free code = unique decodable + instaneous code Kode Ideal!

Dapat direpresentasikan dalam bentuk pohon biner Ciri khas: setiap simbol akan menjadi leaves nodes, tidak ada yang menjadi internal nodes

Prefix-free Code {01, 10, 11, 000, 001} 0 1 0 1 0 1 0 1 01 10 11 000 001 Jika n i = banyaknya codeword yang memiliki panjang bit i, maka: n 2 = 3 (pada level 2, ada 3 codeword) n 3 = 2 (pada level 3 ada 2 codeword

Code {0, 01, 011, 0111} 0 Bukan prefix-free code, 1 tapi unique decodable 01 1 011 1 Code {0, 01, 11} 0 1 0111 Bukan prefix-free code, tapi unique decodable 1 1 01 11

Teorema 1 Jika C adalah sebuah kode yang unique decodable yang terdiri atas N buah codewords, maka panjang keseluruhan codewordsnya akan memenuhi ketidaksamaan: N = banyaknya codewords l j = panjang codeword ke-j (dalam bit) n i = banyaknya codeword yang memiliki panjang bit i, b = base (dalam hal ini = 2) M = panjang maksimum codeword (M buah bit)

{01, 10, 11, 000, 001} {0, 01, 011, 0111} {0, 01, 11, 111} {1, 10, 110, 111}

Setiap unique-decodable-code, pasti memenuhi ketidaksamaan Kraft-McMillan Bisa prefix-free code, atau Bukan prefix-free code Setiap kode yang tidak memenuhi ketidaksamaan Kraft-McMillan, pasti bukan unique-decodable-code Setiap kode yang memenuhi ketidak samaan Kraft- McMillan, belum tentu unique-decodable-code

{0, 01, 110, 111} Decode : 01111110 {1, 10, 110, 111} Decode: 10110110

Teorema 2 Untuk setiap himpunan codewords yang panjangnya memenuhi ketidaksamaan Kraft-McMillan yaitu akan selalu dapat dibentuk prefix free-code dengan panjang codewords yang memenuhi Kraft-McMillan tersebut.

Dengan kata lain, setiap prefix-free code pasti memenuhi ketidaksamaan Kraft-McMillan, dan Untuk setiap komposisi panjang codeword pada kode yang memenuhi ketidaksamaan Kraft- McMillan, pasti dapat dibentuk prefix-fre-code

{0, 01, 110, 111} Tidak unique decodable, tapi komposisi panjang codeword pada kode tersebut memenuhi ketidaksamaan KM {0, 10, 110, 111} Prefix free code dengan komposisi panjang codeword yang sama dengan kode di atas

1. Diketahui kode {1, 10, 011, 100, 111, 0011, 1011} Apakah unique decodable? Apakah instantenoues code? Dapatkah dibentuk prefix-free-code yang memiliki komposisi panjang yang sama dengan codewords pada kode tersebut? Jika iya, buat prefix-free codenya.

2. Diketahui sebuah code S = {1, 01, 001, 1010, 0111} Apakah kita dapat membentuk prefix-free code dengan komposisi panjang codeword yang sama dengan code S? Alasannya? Jika dapat, sebutkan contoh prefix code-nya Apakah S unique decodable? Apakah S instantaneous code?