Membangun Kode Huffman Berdasarkan Reversible Variable Length Code (RVLC) Unuk Pengkoreksian Error.

(1)

MEMBANGUN KODE HUFFMAN BERDASARKAN REVERSIBLE VARIABLE LENGTH CODE (RVLC) UNTUK PENGKOREKSIAN

ERROR

Bangkit Erlangga/0422019

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha, Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,

email : bangkit_erlangga@yahoo.com

ABSTRAK

Dalam transmisi data atau informasi banyak gangguan yang dapat menyebabkan kesalahan penerimaan, akibatnya data tidak dapat diterjemahkan dan informasi yang dikirim tidak dapat diterima, banyak faktor yang dapat menyebabkan terjadinya kesalahan (error) didalam transmisi, salah satunya faktor alam yaitu berupa pegunungan, perbukitan, cuaca, dan faktor kesalahan manusia.

Pada Tugas Akhir ini melakukan pengujian pengkoreksian error didalam proses decoding sebuah data yang mengalami error dalam transmisinya , data yang dikirim adalah sebuah teks dalam alfabet Bahasa Inggris kemudian teks tersebut diubah kedalam kode biner yang direpresentasikan oleh pengkodean Huffman (encoding Huffman).

Hasilnya data yang mengalami error dapat didekodekan, dengan menggunakan metode symmetrical RVLCs. Sehingga panjang data yang error dapat didekodekan kembali sesuai atau menyerupai dengan data yang dikirim. Kata kunci: Koreksi Error, Kode Huffman , Symmetrical RVLC


(2)

Universitas Kristen Maranatha CONSTRUCTING THE HUFFMAN-CODE-BASED REVERSIBLE VARIABLE LENGTH CODE (RVLC) FOR ERROR CORRECTING

Bangkit Erlangga/0422019

Department of Electrical Engineering, Maranatha Cristian University, Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,

email : bangkit_erlangga@yahoo.com

ABSTRAK

In transmission of the data or information much disturbance could be causes error the data received which it could not intepretation so that information that transmited could not received by receiver, some factor to causes error occurred in transmission such as mountain, hill, weather and human error.

This Final Project have been correcting error in process decoding of the data having error in transmission, the data that transmission is a text in alphabet English language, further it converted in biner code to representation by Huffman code (Huffman Encoding).

The result is data to having error could redecoded with using symmetrical RVLC methode. So that the data length having error could redecoded to match or similary with original data.


(3)

DAFTAR ISI

Halaman

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR TABEL ... vii

DAFTAR GAMBAR ... viii

BAB I PENDAHULUAN I.1 Latar Belakang... 1

I.2 Perumusan Masalah... 1

I.3 Tujuan... 2

I.4 Batasan Masalah ... 2

I.5 Sistematika Penulisan... 2

BAB II LANDASAN TEORI II.1 Reversible Variable Length Code... 4

II.2 Symmetrical RVLC... 5

II.3 Cara Mendapatkan Symmetrical RVLC... 6

II.4 Teknik-teknik Symmetrical RVLC... 8

II.5 Kode Huffman... 9

II.6 Algoritma Huffman... 11

BAB III PERANCANGAN DAN SIMULASI III.1 Cara Kerja Diagram Blok... 14

III.2 Tahap-tahap pembentuk Algoritma RVLC... 15


(4)

Universitas Kristen Maranatha III.4 Cara Kerja Symmetrical RVLC... 16 III.5 Diagram Alir Utama Pengkoreksian Error... 19

BAB IV DATA PENGAMATAN DAN ANALISA

IV.1 Uji Simulasi Dengan Mengubah Posisi Error Bit pada Data yang Dikirimkan... 22 IV.1.1 Data yang Mengalami Error 1 bit Pada Simbol

Terakhir... 22 IV.1.2 Data Yang Mengalami Error 2 bit Pada Simbol

Terakhir... 28 IV.2 Analisa dari Kesuluruhan Data... 31

BAB V KESIMPULAN DAN SARAN

V.1 Kesimpulan... 32 V.2 Saran... 32

DAFTAR PUSTAKA

LAMPIRAN A TABEL DATA PENGAMATAN LAMPIRAN B LISTING PROGRAM


(5)

DAFTAR TABEL

Halaman

Tabel II.1 Kode Huffman dan RVLC... 5 Tabel II.2 Bentuk Simetris dan Asimetris dari panjang biner 4 bit... 7 Tabel II.3 Kode ASCII... 9 Tabel II.4 Tabel Kemunculan dan Kode Huffman Untuk

String’ABACCDA……… 10

Tabel II.5 Probabilitas Huruf dari Kata ’BACA’... 12 Tabel III.1 Jumlah Kandidat Codeword yang Tersedia Pada Level

4,5,dan 6 Setelah Pemilihan Codeword pada level 3……… 17 Tabel III.2 Symmetrical RVLCs yang Dibangun dari Takishima dan

Algoritma RVLC Berdasarkan Kemunculan Huruf dalam

Kata Bahasa Inggris……… 18

Tabel IV.1 Hasil Pendekodean Kata SEE pada Simbol Terakhir ’E ’

dengan Panjang Biner 3 bit Untuk error 1 Bit... 22 Tabel IV.2 Hasil Pendekodean Kata SAD pada Simbol Terakhir ‘D’

dengan Panjang Biner 5 Bit Untuk error 1 Bit... 23 Tabel IV.3 Hasil Pendekodean Kata ZERO pada Simbol Terakhir ’O’

dengan Panjang Biner 4 Bit Untuk error 1 Bit... 24 Tabel IV.4 Hasil Pendekodean Kata OZ pada Simbol Terakhir ’Z’

dengan Panjang Biner 10 Bit Untuk error 1 Bit... 25 Tabel IV.5 Hasil Pendekodean Kata SEE pada Simbol Terakhir ’E’

dengan Panjang Biner 3 Bit Untuk Error 2 Bit... 28 Tabel IV.6 Hasil Pendekodean Kata SAD pada Simbol Terakhir ’D’


(6)

Universitas Kristen Maranatha

DAFTAR GAMBAR

Halaman

Gambar II.1 Distribusi Pohon biner Symmetrical………... 8

Gambar II.2 Pohon Huffman untuk Pesan ‘ABACCDA’……… 11

Gambar II.3 Pohon Huffman untuk Kata ‘BACA’... 13

Gambar III.1 Cara Kerja Blok Diagram... 14


(7)

LAMPIRAN

A


(8)

  Lampiran 

 

 

  A

­2   

   

Data Yang Mengalami Error 1 bit Pada Simbol Terakhir

Tabel 1. Hasil Pendekodean pada kata SEE dimana simbol terakhir ’E’ dengan panjang biner 3 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean

SEE Bit ke 1 dari belakang SET

SEE Bit ke 2 dari belakang SEE

SEE Bit ke 3 dari belakang SET

Tabel 2. Hasil Pendekodean pada kata SAD dimana simbol terakhir ’D’ dengan panjang biner 4 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean

SAD Bit ke 1 dari belakang SAL

SAD Bit ke 2 dari belakang SAD

SAD Bit ke 3 dari belakang SAH

SAD Bit ke 4 dari belakang SAD

SAD Bit ke 5 dari belakang SAI

Tabel 3. Hasil Pendekodean pada kata TRUE dimana simbol terakhir ’E’ dengan panjang biner 3 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean

TRUE Bit ke1 dari belakang TRUT

TRUE Bit ke 2 dari belakang TRUE


(9)

Tabel 4. Hasil Pendekodean pada kata FALSE dimana simbol terakhir ’E’ dengan panjang biner 3 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean

FALSE Bit ke 1 dari belakang FALST

FALSE Bit ke 2 dari belakang FALSE

FALSE Bit ke 3 dari belakang FALST

Tabel 5. Hasil Pendekodean pada kata ZERO dimana simbol terakhir ’O’ dengan panjang biner 4 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean

ZERO Bit ke 1 dari belakang ZERR

ZERO Bit ke 2 dari belakang ZERN

ZERO Bit ke 3 dari belakang ZERA

ZERO Bit ke 4 dari belakang ZERO

Tabel 6. Hasil Pendekodean pada kata ZOO dimana simbol terakhir ’O’ dengan panjang biner 4 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean

ZOO Bit ke 1 dari belakang ZOR

ZOO Bit ke 2 dari belakang ZON

ZOO Bit ke 3 dari belakang ZOA


(10)

  Lampiran 

 

 

  A

­4   

   

Tabel 7. Hasil Pendekodean pada kata OZ dimana simbol terakhir ’Z’ dengan panjang biner 10 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean

OZ Bit ke 1 dari belakang OZ

OZ Bit ke 2 dari belakang OZ

OZ Bit ke 3 dari belakang OZ

OZ Bit ke 4 dari belakang OZ

OZ Bit ke 5 dari belakang OZ

OZ Bit ke 6 dari belakang OQ

OZ Bit ke 7 dari belakang OZ

OZ Bit ke 8 dari belakang OZ

OZ Bit ke 9 dari belakang OZ

OZ Bit ke 10 dari belakang OZ

Data Yang Mengalami Error 2 bit Pada Simbol Terakhir

Tabel 8. Hasil Pendekodean pada kata SEE dimana simbol terakhir ’E’ dengan panjang biner 3 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean SEE Bit ke 1 dan 2 dari belakang SEE SEE Bit ke 1 dan 3 dari belakang SEE SEE Bit ke 2 dan 3 dari belakang SEE


(11)

Tabel 9. Hasil Pendekodean pada kata SAD dimana simbol terakhir ’D’ dengan panjang biner 5 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean SAD Bit ke 1 dan 2 dari belakang SAI

SAD Bit ke 1 dan 3 dari belakang SAS

SAD Bit ke 1 dan 4 dari belakang SAI

SAD Bit ke 1 dan 5 dari belakang SAD

SAD Bit ke 2 dan 3 dari belakang SAH

SAD Bit ke 2 dan 4 dari belakang SAD

SAD Bit ke 2 dan 5 dari belakang SAI

SAD Bit ke 3 dan 4 dari belakang SAH

SAD Bit ke 3 dan 5 dari belakang SAU

SAD Bit ke 4 dan 5 dari belakang SAI

Tabel 10. Hasil Pendekodean pada kata TRUE dimana simbol terakhir ’E’ dengan panjang biner 3 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean TRUE Bit ke 1 dan 2 dari belakang TRUE TRUE Bit ke 1 dan 3 dari belakang TRUT TRUE Bit ke 2 dan 3 dari belakang TRUE


(12)

  Lampiran 

 

 

  A

­6   

   

Tabel 11. Hasil Pendekodean pada kata ZOO dimana simbol terakhir ’O’ dengan panjang biner 4 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean

ZOO Bit ke 1 dan 2 dari belakang ZOA

ZOO Bit ke 1 dan 3 dari belakang ZOR

ZOO Bit ke 1 dan 4 dari belakang ZON

ZOO Bit ke 2 dan 3 dari belakang ZON

ZOO Bit ke 2 dan 4 dari belakang ZOS

ZOO Bit ke 3 dan 5 dari belakang ZOH

Tabel 12. Hasil Pendekodean pada kata OZ dimana simbol terakhir ’Z’ dengan panjang biner 10 bit.

Kata yang dikirim Posisi Error Pada Kata Hasil Pendekodean

OZ Bit ke 1 dan 2 dari belakang OZ

OZ Bit ke 1 dan 6 dari belakang OQ

OZ Bit ke 2 dan 4 dari belakang OZ

OZ Bit ke 2 dan 6 dari belakang OQ

OZ Bit ke 3 dan 5 dari belakang OZ


(13)

LAMPIRAN

B


(14)

  Lampiran 

 

 

  A

­8   

   

Program Untuk Mengubah Data karakter ke kode biner

function biner=simbol(huruf)

if huruf =='a'

biner='0000';

elseif huruf =='b'

biner='011111';

elseif huruf =='c'

biner='11111';

elseif huruf =='d'

biner='00010';

elseif huruf =='e'

biner='001';

elseif huruf =='l'

biner='00011';

elseif huruf =='s'

biner='1010';

elseif huruf =='t'

biner='110';

elseif huruf =='o'

biner='0100';

elseif huruf =='z'

biner='1110101001';

elseif huruf =='k'

biner='1110100';

elseif huruf =='q'

biner='1110101000';

elseif huruf =='j'

biner='111010101';

elseif huruf =='x'

biner='11101011';

elseif huruf =='v'

biner='111011';

elseif huruf =='y'

biner='011110';

elseif huruf =='g'

biner='011101';

elseif huruf =='w'

biner='011100';

elseif huruf =='m'

biner='11110';

elseif huruf =='f'

biner='11100';

elseif huruf =='p'

biner='10111';

elseif huruf =='u'

biner='10110';

elseif huruf =='n'

biner='0110';

elseif huruf =='r'

biner='0101';

elseif huruf =='h'

biner='1000';

end;


(15)

% simbol=['a','b','c','d','e']; % int_simbol=[1,2,3,4,5];

% int_simbol=[1,2,3,4,5];

Program Untuk Membangkitkan kode Huffman clc;

clear all;

close all;

clc;

text=input('Masukkan kata dalam bahasa Inggris = ');

pjg_text=length(text); m=pjg_text; kode_final=[]; temp_pjg_kode=0;

for m=1:pjg_text

temp=text(m); kode{m}=simbol(temp); kode_temp=kode{m}; pjg_kode(m)=length(kode_temp); temp_pjg_kode(1)=pjg_kode(1);

if m~=1

temp_pjg_kode(m)=temp_pjg_kode(m-1)+pjg_kode(m);

end;

if m==1

kode_final(1:pjg_kode(1))=kode_temp(1:pjg_kode(1)); else kode_final(temp_pjg_kode(m)-pjg_kode(m)+1:temp_pjg_kode(m))=... kode_temp; end; end; pjg_kode_final=length(kode_final);

for p=1:pjg_kode_final

if kode_final(p)==48

code(p)=0;

elseif kode_final(p)==49 code(p)=1; end; end; tot_pjg_kode=cumsum(pjg_kode);


(16)

  Lampiran 

 

 

  A

­10   

   

program untuk mendekodekan kode Huffman yang terkena error clc;

clear all;

close all;

clc;

load data;

benar=text;

disp(['Teks yang benar = ', benar]);

code;

code=[1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1]; data_masuk=code;

pjg_data=length(data_masuk);

for m=1:pjg_data

if data_masuk(m) == 0

data_masuk(m) = 48;

else data_masuk(m)=49; end; end; pjg_kod=length(pjg_kode); kode1=char(data_masuk(1:pjg_kode(1))); huruf{1}=de_simbol(kode1); cek_salah=0;

for m=1:pjg_kod

huru=cell2mat(huruf(m));

if huru == 1

indeks=m; huruf_error=huruf(indeks); huruf_RVLC=de_rvlc(kode_error); cek_salah=1; end; end;

if cek_salah == 1

huruf_1=huruf{1}; huruf_2=huruf{2}; huruf_3=huruf{3}; % huruf_4=huruf{4}; %huruf_5=huruf{5};

hasil_dekode=[huruf_1 huruf_2 huruf_3 huruf_RVLC];

% hasil_dekode=[huruf_1 huruf_2 huruf_3 huruf_4 huruf_RVLC]; disp(' ');

disp(['Hasil dekode = ',hasil_dekode]);

disp(' ');

else

disp(['Hasil dekode = ',huruf]);

disp(' ');


(17)

program untuk de simbol dari biner ke simbol

function huruf=de_simbol(biner)

pjg_biner=length(biner);

if (pjg_biner == 3)

if (biner == '001')

huruf='e';

elseif (biner == '110')

huruf='t';

else

huruf=1;

end;

end;

if (pjg_biner==4)

if (biner == '0000')

huruf='a';

elseif (biner == '1010')

huruf='s';

elseif (biner == '1001')

huruf='i';

elseif (biner == '1000')

huruf='h';

elseif (biner == '0110')

huruf='n';

elseif (biner == '0101')

huruf='r';

elseif (biner == '0100')

huruf='o';

else

huruf=1;

end;

end;

if (pjg_biner == 5)

if (biner == '11111')

huruf='c';

elseif (biner == '00010')

huruf='d';

elseif (biner == '00011')

huruf='l';

elseif (biner == '10110')

huruf='u';

elseif (biner == '10111')

huruf='p';

elseif (biner == '11100')

huruf='f';

elseif (biner == '11110')

huruf='m';

else

huruf=1;

end;

end;


(18)

  Lampiran 

 

 

  A

­12   

   

if (pjg_biner == 6)

if (biner == '011111')

huruf='b';

elseif (biner == '011100')

huruf='w';

elseif (biner == '011101')

huruf='g';

elseif (biner == '011110')

huruf='y';

else

huruf=1;

end;

end;

if (pjg_biner == 7)

if (biner == '1110100')

huruf='k';

else

huruf=1;

end;

end

if (pjg_biner == 8)

if (biner == '11101011')

huruf='x';

else

huruf=1;

end;

end;

if (pjg_biner == 9)

if (biner == '111010101')

huruf='j';

else

huruf=1;

end;

end;

if (pjg_biner == 10)

if (biner == '1110101000')

huruf='q';

elseif (biner == '1110101001')

huruf='z';

else huruf=1; end; end; % return

% huruf=1;% tambahan agar loncat keluar fungsi jika tidak ada yang match


(19)

Program apabila ada error di dekodekan oleh Symm. RVLC

function huruf=de_rvlc(biner)

pjg_biner=length(biner);

if pjg_biner == 3

if biner(2) == 48

huruf = 't';

elseif biner(2) == 49

huruf = 'e';

end;

end;

if pjg_biner == 4

if (biner(2) == 48) && (biner(3) == 48)

if biner(1) == 48

huruf = 'r';

else

huruf = 'o';

end;

elseif (biner(2) == 49) && (biner(3) == 49)

if biner(1) == 48;

huruf = 'a';

else

huruf = 'n';

end;

end;

end;

if pjg_biner == 5

if biner(3) == 48

if biner(1) ~= biner(5)

huruf = 'i';

else

huruf = 'd';

end;

elseif biner(3) == 49;

if biner(1) ~= biner(5)

huruf = 's';

else

huruf = 'h';

end;

end;

end;


(20)

  Lampiran 

 

 

  A

­14   

   

if pjg_biner == 6

if (biner(3) == 48) && (biner(4) == 48)

if biner(2) == 48

huruf = 'u';

else

huruf = 'f';

end;

elseif (biner(3) == 49) && (biner(4) == 49)

if biner(2) == 48;

huruf = 'p';

else

huruf = 'l';

end;

end;


(21)

BAB I

PENDAHULUAN

I.1 I.1 Latar Belakang

Variable-Length Codes (VLCs), sangat sensitif terhadap error sehingga apabila terjadi satu bit error maka akan mengakibatkan masalah yang serius (error propagasi). Reversible Variable Length-Codes (RVLCs) mampu memperbaiki masalah ini karena melakukan proses foward maupun backward decoding, sehingga dapat mendekodekan data yang diterima ketika error terjadi.

Penelitian RVLC pertama dipublikasikan oleh Takishima dkk. Pada tahun 1995. RVLC dapat dibagi menjadi dua bagian yaitu symmetrical RVLC dan asymmetrical RVLC. Jeong and Ho (2003a;2003b) memperkenalkan sebuah konstruksi algoritma symmetrical RVLC yang menggunakan pengkodean bit ‘0’ dan ‘1’ dan konstruksi symmetrical RVLC dinyatakan dalam setengah pohon biner. Semua algoritma ini penggunaannya berbasis kode Huffman. Dengan pengkodean ini didisain berawal dari kode Huffman dan di konversi kedalam sebuah symmetrical RVLC oleh respective codeword selection mechanism.

Dalam Tugas Akhir ini akan membuat simulasi bagaimana mendekodekan data yang telah direpresentasikan berupa kode biner Huffman, kemudian data ditransmisikan namun dalam proses transmisinya mengalami error. Metode yang digunakan didalam proses pendekodeannya adalah Reversible Variable Length Code (RVLC) yang symmetrical.

I.2. Perumusan Masalah

1. Bagaimana mendekodekan kode biner Huffman yang tidak dapat didekodekan oleh decoder huffman ketika terjadi error?

2. Bagaimana kinerja dari symmetrical Reversible Variable Length Code (RVLC) dalam pengkoreksian error agar data dapat didekodekan ?


(22)

BAB I. PENDAHULUAN 2

Universitas Kristen Maranatha I.3. Tujuan

Mengevaluasi kemampuan kinerja Symmetrical RVLC dalam pendekodean data berupa kode biner Huffman yang mengalami error didalam penerimaannya. Sehingga symmetrical RVLC dapat mendekodekan data yang tidak dapat didekodekan oleh decoder Huffman.

I.4. Batasan Masalah

1. Menggunakan Reversible Variable Length Code (RVLC) yang symmetrical berdasarkan tabel Takishima yang sesuai dengan panjang kode huffmannya.

2. Error terjadi sebanyak 1 atau 2 bit pada kode biner huruf terakhir dalam sebuah kata Bahasa Inggris.

I.5. Sistematika Penulisan

Untuk lebih mempermudah dalam pembahasan dan penyusunan laporan tugas akhir ini, maka penulis mengelompokkan pokok-pokok pembahasan sebagai berikut :

BAB I PENDAHULUAN

Bab ini membahas mengenai latar belakang, identifikasi masalah, tujuan, pembatasan masalah dan sistematika penulisan laporan pada tugas akhir ini.

BAB II LANDASAN TEORI

Bab ini membahas teori-teori pendukung dalam pengerjaan tugas akhir ini.


(23)

BAB III PERANCANGAN DAN SIMULASI

Bab ini berisikan bagaimana perancangan dan simulasi didalam pendekodean sebuah data menggunakan symmetrical RVLC. BAB IV DATA PENGAMATAN DAN ANALISA

Bab ini berisikan hasil dari uji coba pendekodean menggunakan symmetrical RVLC dan analisa dari percobaan.

BAB V KESIMPULAN DAN SARAN


(24)

32 Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

V.1 Kesimpulan

Metode Symmetrical Reversible Variable Length Code (RVLC) dapat mendekodekan kode biner Huffman yang mengalami error dan tidak dapat didekodekan oleh kode Huffman.

V.2. Saran

Dalam aplikasinya penggunaan RVLC dalam pengkoreksian error dan pendekodean dapat dikembangkan lebih lanjut, salah satunya didalam video decoding.


(25)

DAFTAR PUSTAKA

1. Chien-Wu Tsai dan Ja-ling Wu,On Constructing the Huffman-Code-Based Reversible Variable-Length Codes.IEEE Trans.Commun., vol.49, no.9,september 2001.

2. Chia-Wei Lin, Ja-Ling Wu and Jun-Cheng Chen, An Algorithm For Construction Error-Corecting Symmetrical Reversible Variable Length Codes, Communication and Multimedia Laboratory Department of Computer Science and Information Engineering National Taiwan University, Taipei, Taiwan

,

2006.

3. Huo jun-yan, Chang Yi-lin, Ma Lin Hua, Luo Zhong, On Constructing Symmetrical Reversible Variable-Length Code indepent of the human.Codes. 7(Suppl.1):59-62,J Zhejiang Univ SCIENCE A 2006.

4. K. Lakovic and J. Villasenor, On design of error-correcting reversible

variable-length codes, IEEE Commun. Lett., vol.6, pp. 337–339, Aug.2002.

5. Limin Liu, Paul Sabria, Luis Torres, and Edward J. Delp,Error Resilience in Network-Driven Wyner-Ziv Video Coding, School of Electrical and Computer Engineering, Purdue University, West Lafayette, Indiana,2006. 6. Munir,Rinaldi, Matematika Diskrit,Informatika,Bandung,2001.

7. Ratnadewi,Novie Theresia, Diktat Teori Informasi,Universitas Kristen Maranatha, Bandung, 2007.

8. Wahidah,Ida, Error Resilience Untuk Transmisi Video Digital Pada Komunikasi Bergerak, Sekolah Tinggi Teknologi Telkom, Bandung

9. Y.Takishima,M.Wada, dan H. Murakami, Reversible Variable Length Codes, IEEE Trans. Commun.,vol.43,pp. 158-162,1995.


(1)

  Lampiran 

 

 

  A

­14   

   

if pjg_biner == 6

if (biner(3) == 48) && (biner(4) == 48) if biner(2) == 48

huruf = 'u'; else

huruf = 'f'; end;

elseif (biner(3) == 49) && (biner(4) == 49) if biner(2) == 48;

huruf = 'p'; else

huruf = 'l'; end;

end;


(2)

1 Universitas Kristen Maranatha

BAB I

PENDAHULUAN

I.1 I.1 Latar Belakang

Variable-Length Codes (VLCs), sangat sensitif terhadap error sehingga apabila terjadi satu bit error maka akan mengakibatkan masalah yang serius (error propagasi). Reversible Variable Length-Codes (RVLCs) mampu memperbaiki masalah ini karena melakukan proses foward maupun backward decoding, sehingga dapat mendekodekan data yang diterima ketika error terjadi.

Penelitian RVLC pertama dipublikasikan oleh Takishima dkk. Pada tahun 1995. RVLC dapat dibagi menjadi dua bagian yaitu symmetrical RVLC dan asymmetrical RVLC. Jeong and Ho (2003a;2003b) memperkenalkan sebuah konstruksi algoritma symmetrical RVLC yang menggunakan pengkodean bit ‘0’ dan ‘1’ dan konstruksi symmetrical RVLC dinyatakan dalam setengah pohon biner. Semua algoritma ini penggunaannya berbasis kode Huffman. Dengan pengkodean ini didisain berawal dari kode Huffman dan di konversi kedalam sebuah symmetrical RVLC oleh respective codeword selection mechanism.

Dalam Tugas Akhir ini akan membuat simulasi bagaimana mendekodekan data yang telah direpresentasikan berupa kode biner Huffman, kemudian data ditransmisikan namun dalam proses transmisinya mengalami error. Metode yang digunakan didalam proses pendekodeannya adalah Reversible Variable Length Code (RVLC) yang symmetrical.

I.2. Perumusan Masalah

1. Bagaimana mendekodekan kode biner Huffman yang tidak dapat didekodekan oleh decoder huffman ketika terjadi error?

2. Bagaimana kinerja dari symmetrical Reversible Variable Length Code (RVLC) dalam pengkoreksian error agar data dapat didekodekan ?


(3)

BAB I. PENDAHULUAN 2

Universitas Kristen Maranatha I.3. Tujuan

Mengevaluasi kemampuan kinerja Symmetrical RVLC dalam pendekodean data berupa kode biner Huffman yang mengalami error didalam penerimaannya. Sehingga symmetrical RVLC dapat mendekodekan data yang tidak dapat didekodekan oleh decoder Huffman.

I.4. Batasan Masalah

1. Menggunakan Reversible Variable Length Code (RVLC) yang symmetrical berdasarkan tabel Takishima yang sesuai dengan panjang kode huffmannya.

2. Error terjadi sebanyak 1 atau 2 bit pada kode biner huruf terakhir dalam sebuah kata Bahasa Inggris.

I.5. Sistematika Penulisan

Untuk lebih mempermudah dalam pembahasan dan penyusunan laporan tugas akhir ini, maka penulis mengelompokkan pokok-pokok pembahasan sebagai berikut :

BAB I PENDAHULUAN

Bab ini membahas mengenai latar belakang, identifikasi masalah, tujuan, pembatasan masalah dan sistematika penulisan laporan pada tugas akhir ini.

BAB II LANDASAN TEORI

Bab ini membahas teori-teori pendukung dalam pengerjaan tugas akhir ini.


(4)

BAB I. PENDAHULUAN 3

Universitas Kristen Maranatha BAB III PERANCANGAN DAN SIMULASI

Bab ini berisikan bagaimana perancangan dan simulasi didalam pendekodean sebuah data menggunakan symmetrical RVLC. BAB IV DATA PENGAMATAN DAN ANALISA

Bab ini berisikan hasil dari uji coba pendekodean menggunakan symmetrical RVLC dan analisa dari percobaan.

BAB V KESIMPULAN DAN SARAN


(5)

32 Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

V.1 Kesimpulan

Metode Symmetrical Reversible Variable Length Code (RVLC) dapat mendekodekan kode biner Huffman yang mengalami error dan tidak dapat didekodekan oleh kode Huffman.

V.2. Saran

Dalam aplikasinya penggunaan RVLC dalam pengkoreksian error dan pendekodean dapat dikembangkan lebih lanjut, salah satunya didalam video decoding.


(6)

Universitas Kristen Maranatha

DAFTAR PUSTAKA

1. Chien-Wu Tsai dan Ja-ling Wu,On Constructing the Huffman-Code-Based Reversible Variable-Length Codes.IEEE Trans.Commun., vol.49, no.9,september 2001.

2. Chia-Wei Lin, Ja-Ling Wu and Jun-Cheng Chen, An Algorithm For Construction Error-Corecting Symmetrical Reversible Variable Length Codes, Communication and Multimedia Laboratory Department of Computer Science and Information Engineering National Taiwan University, Taipei, Taiwan,2006.

3. Huo jun-yan, Chang Yi-lin, Ma Lin Hua, Luo Zhong, On Constructing Symmetrical Reversible Variable-Length Code indepent of the human.Codes. 7(Suppl.1):59-62,J Zhejiang Univ SCIENCE A 2006.

4. K. Lakovic and J. Villasenor, On design of error-correcting reversible

variable-length codes, IEEE Commun. Lett., vol.6, pp. 337–339, Aug.2002.

5. Limin Liu, Paul Sabria, Luis Torres, and Edward J. Delp,Error Resilience in Network-Driven Wyner-Ziv Video Coding, School of Electrical and Computer Engineering, Purdue University, West Lafayette, Indiana,2006. 6. Munir,Rinaldi, Matematika Diskrit,Informatika,Bandung,2001.

7. Ratnadewi,Novie Theresia, Diktat Teori Informasi,Universitas Kristen Maranatha, Bandung, 2007.

8. Wahidah,Ida, Error Resilience Untuk Transmisi Video Digital Pada Komunikasi Bergerak, Sekolah Tinggi Teknologi Telkom, Bandung

9. Y.Takishima,M.Wada, dan H. Murakami, Reversible Variable Length Codes, IEEE Trans. Commun.,vol.43,pp. 158-162,1995.