Membangun Kode Huffman Berdasarkan Reversible Variable Length Code (RVLC) Unuk Pengkoreksian Error.
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.