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).
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.
DAFTAR ISI
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
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
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’
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
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
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
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
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
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.
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.
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
Tabel 12. Hasil Pendekodean pada kata OZ dimana simbol terakhir ’Z’ dengan panjang biner 10 bit.
Program Untuk Mengubah Data karakter ke kode biner
% 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;
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
pjg_kode_final=length(kode_final);
for p=1:pjg_kode_final
if kode_final(p)==48
program untuk mendekodekan kode Huffman yang terkena error clc;
for m=1:pjg_data
if data_masuk(m) == 0
for m=1:pjg_kod
huru=cell2mat(huruf(m));
if huru == 1
hasil_dekode=[huruf_1 huruf_2 huruf_3 huruf_RVLC];
program untuk de simbol dari biner ke simbol
% huruf=1;% tambahan agar loncat keluar fungsi jika tidak ada yang match
Program apabila ada error di dekodekan oleh Symm. RVLC
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;
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?
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
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
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
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