Simulasi Pengkodean dan Pendekodean Kode BCH.
i
SIMULASI PENGKODEAN DAN PENDEKODEAN KODE BCH
Disusun oleh :
Rainbow Mangaratua Siboro (0822112)
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha,
Jl. Prof. Drg. Suria Sumantri, MPH no. 65, Bandung, Indonesia
e-mail : rainbowsiboro@gmail.com
ABSTRAK
Kanal (saluran transmisi) digital sangat rentan dipengaruhi oleh noise, distorsi,
dan interferensi, sehingga output kanal yang ditransmisikan akan berbeda dari
input kanal, akibatnya akan timbul kesalahan (error) pada data. Oleh karena itu,
dibutuhkan teknik pengkodean untuk mengatasi hal tersebut. Teknik pengkodean
dirancang agar mampu mengkoreksi kesalahan (error) pada proses transmisi
sehingga diperoleh data sesuai dengan yang dikirimkan. Pada Tugas Akhir ini
disimulasikan suatu sistem yang dapat mengubah suatu data (pesan) menjadi kode
BCH, mendeteksi dan memperbaiki bit error. Kode BCH dirancang agar mampu
memperbaiki bit error (t) sebanyak - banyaknya tiga, panjang kode dan panjang
data (n,k) sebanyak: (15,5), (31,16), (63,45), (127,106), (255,231), dan pada
proses pendekodean digunakan algoritma Berlekamp. Sistem telah berhasil
direalisasikan sesuai yang direncanakan.
(2)
ii
BCH CODE ENCODER AND DECODER SIMULATION
Composed by :
Rainbow Mangaratua Siboro (0822112)
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha,
Jl. Prof. Drg. Suria Sumantri, MPH no. 65, Bandung, Indonesia
e-mail : rainbowsiboro@gmail.com
ABSTRACT
Digital channels are often to get vulnerable against noise, distortion, interference.
Therefore, the output of channels may be different from the input and it produces
error on received data. In order to solve that, coding technique is needed. Coding
technique is designed to provide error corrector in transmission so that the correct
message can be obtained. This final project is a simulation of how to generate
BCH code, adding error to the codeword, detection the error and how to repair it.
This BCH code is designed to repair 3 errors (t) at most, code length and data
length (n,k) : (15,5), (31,16), (63,45), (127,106), (255,231), and uses Berlekamp
algorithm on the decoding process. The coding and decoding system has been
successfully created.
(3)
v
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iiii
DAFTAR ISI ... v
DAFTAR GAMBAR ... vii
DAFTAR TABEL ... viii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Perumusan Masalah ... 2
1.3 Tujuan ... 2
1.4 Pembatasan Masalah ... 2
1.5 Sistematika Penulisan ... 2
BAB II LANDASAN TEORI ... 4
2.1 Pendahuluan ... 4
2.2 Kode BCH ... 5
2.3 Dasar Aljabar ... 8
2.3.1 Group ... 8
2.3.2 Ring ... 9
2.3.3 Field ... 9
2.3.4 Polinomial Galois Field ... 12
2.3.5 Polinimial Primitif ... 13
2.3.6 Jarak Minimum ...15
2.4 Proses Pengkodean Kode BCH ... 16
2.4.1 Pembentukan Polinomial Generator ... 16
2.4.2 Pembentukan Kode BCH ... 18
2.5 Proses Pendekodean Kode BCH ... 18
(4)
vi
2.5.2 Menghitung Polinomial Lokasi Error ... 23
2.5.2.1 Algoritma Berlekamp ... 24
2.5.3 Menentukan Akar Polinomial Error Locator dan Posisi Error ... 24
BAB III PERANCANGAN SIMULASI ERROR CORRECTING CODE ... 26
3.1 Enkoder Kode BCH ... 26
3.2 Dekoder Kode BCH ... 30
3.2.1 Menghitung Sindrom ... 31
3.2.2 Mencari Error Locator Polynomial (Algoritma Berlekamp)... 32
3.2.3 Menghitung Akar Error Locator Polynomial ... 33
3.2.4 Mencari Posisi Error ... 34
3.2.5 Perbaikan Error ... 35
BAB IV DATA PENGAMATAN ... 36
BAB V KESIMPULAN DAN SARAN ... 41
5.1 Kesimpulan ... 41
5.2 Saran ... 41
DAFTAR PUSTAKA ... 42
LAMPIRAN A
(5)
vii
DAFTAR GAMBAR
Gambar 2.1 Diagram blok kode BCH ... 4
Gambar 2.2 Diagram Kode BCH (n,k) ... 5
Gambar 2.3 Tahapan dekoder BCH ... 19
Gambar 3.1 Diagram alir proses pembentukan kode BCH ... 27
Gambar 3.2 Diagram alir Subroutine pembentukan Galois Field (2
m) ... 27
Gambar 3.3 Diagram alir Subroutine pembentukan polinomial generator ... 28
Gambar 3.4 Diagram alir pembentukan kode BCH ... 29
Gambar 3.5 Diagram alir pendekodean algoritma Berlekamp ... 30
Gambar 3.6 Diagram alir menghitung sindrom ... 31
Gambar 3.7 Diagram alir subroutine mencari error locator polynomial ...32
Gambar 3.8 Diagram alir subroutine mencari akar error locator polynomial ....33
(6)
viii
DAFTAR TABEL
Tabel 2.1 Hubungan n, k, t, m untuk m=4 ... 6
Tabel 2.2 Hubungan n, k, t, m untuk m=5 ... 7
Tabel 2.3 Hubungan n, k, t, m untuk m=6 ... 7
Tabel 2.4 Hubungan n, k, t, m untuk m=7 ... 8
Tabel 2.5 Hubungan n, k, t, m untuk m=8 ... 8
Tabel 2.6 Identitas penjumlahan ...10
Tabel 2.7 Identitas perkalian ...11
Tabel 2.8 Polinomial primitif pada GF (2
m) ...13
Tabel 2.9 Pembentukan Galois field (
) ...15
(7)
A.0
LAMPIRAN A
(8)
A.1 %pembentukan galois filed
field=gftuple([-1:2^m-2]',m,2);
%Membangkitkan polinomial generator c = [1 0];
p(1) = c(1);
for i = 1:2t-1
p(1) = gfmul(p(1),1,field); p(2) = 0;
c = gfconv(c,p,field); end
g = c;
%Membangkitkan data acak biner [1,k] msg=gf(randint(1,k));
% pembentukan kode bch % code = msg * gen;
Function BCHCode = BCH_ENC(msg,n,k,g,field) for ii = 1:n-k
shiftpol(ii)= -inf; end
shiftpol(n-k+1)=0;
shiftcode=conv(msg,shiftpol,field);
[Q, BCHcode]= conv(shiftcode,g,field); while length(c)< n-k
BCHcode=[BCHcode -inf]; end
%menambahkan random error
coded=BCHcode+randerr(1,n,t);% menambahkan error pada codeword sebanyak t
%pendekodean
DECODED=BCH_DEC(coded,n,k)
%Subroutine pendekodean %Menghitung Sindrom S=[];
%substitusi nilai alpha^I dari tiap polinomial codeword yang diterima.
for ii=1:2t S(ii)=-Inf;
(9)
A.2 for cc=1:n
S(ii)= (S(ii)+(coded(cc)+field); end
%Periksa apabila nilai semua sindrom=0, tidak terjadi error for i=2*t
pol_uji(i)=-Inf; end
if all(S==pol_uji) message=received; else
% codeword dalam galois field coded = gf(coded.x,m);
[m_code, n_code] = size(coded); for j=1:m_code,
% algoritma berlekamp
[coded(j,:) cnumerr(j)] = berlekamp(coded(j,:),n,k,t,1); end
% dalam GF
ccode = gf(coded.x); switchparityPos case'end'
decoded = ccode(:,1:K); case'beginning'
decoded = ccode(:,n-k+1:end); end;
%Subroutine mencari error locator
function [code, cnumerr] = berlekamp(coded,n,k,t) M = code.m
T2 = 2*t;
% Langkah 1 periksa jika semua syndrome==0, tidak terjadi error. if ~any(S)
cnumerr = 0; return
end
% langkah 2 -- inisialisasi % panjang register
(10)
A.3
% polinomial konekai = 1. Dalam susunan dari yang terkecil sampai yang terbesar. deg(LambdaX) = 2*t
LambdaX = gf([1 zeros(1,T2)],M,code.prim_poly);
% polinomialkoreksi = x. Dalam susunan dari yang terkecil sampai yang terbesar.
Tx = [0 1 zeros(1,T2-1)];
% Lakukan iterasi sebanyak 2*t for k = 1:T2
% simpan polinomial koneksi dari iterasi terakhir LambdaXTemp = LambdaX;
% langkah 3 -- Discrepancy
% S(k) - sum of LambdaXTemp(i+1)*S(k-i) Delta = S(k) - LambdaXTemp(1+[1:L])*(S(k-[1:L]))'; % langkah 4
ifDelta.x
% langkah 5 – polinomial konekai
% Lambda_k(x)=Lambda_(k-1)(x)-Delta_k*T(x) LambdaX = LambdaXTemp - Delta*Tx;
% langkah 6 if 2*L < k
% langkah 7 – polinomial korekai
% T(x) = Lambda_(k-1)(x)/Delta_k L = k-L;
Tx = LambdaXTemp/Delta; end
end
% langkah 8 – polinomial korekai % T(x) = x * T(x) Tx = [0 Tx(1:T2)];
% langkah 9 – lakukan iterasi berikutnya end
%**Mencari nilai akar dr error locator polynomial akar_polinomial = [];
kk = 0; for ii = 0:n-1 error_r = -Inf;
(11)
A.4 for cc = 1:length(code)
error_r = error_r +code(cc).*(ii,cc-1,n); end
if error_r == -Inf kk = kk + 1;
akar_polinomial(kk) = ii; end
end
% Mengecek nilai akar apakah bernilai real
% Membentuk kembali error locator polynomial dgn mengalikan tiap % akar yg didapat
% Lalu bagi error locator polynomial dgn polinomial_uji
% Jika panjang sisa hasil bagi lbh dr 1 maka akar tidak real pol_uji = 0;
for ii = 1:length(akar_polinomial)
pol_tes = conv(pol_tuji,[akar_polinomial(ii) 0]; end
[QQ,RR] = deconv(sigma,pol_uji); if length(QQ) > 1
DECODED = received; return
end
%********************* Mencari posisi error **********************% lokasi_error = [];
for ii = 1:length(akar_polinomial)
lokasi_error(ii) = 0./akar_polinomial(ii); end
(12)
B.0
LAMPIRAN B
(13)
B.1 (n,k) = (63,45) t=1
Data awal:
Columns 1 through 10 : 0 0 1 1 1 0 1 1 0 0
Columns 11 through 20: 0 1 0 1 0 1 0 1 1 1
Columns 21 through 30: 1 1 0 0 0 1 0 1 0 1
Columns 31 through 40: 0 0 0 1 0 0 1 1 1 1
Columns 41 through 45: 0 1 1 0 1
Codeword: Columns 1 through 10 : 0 0 1 1 1 0 1 1 0 0
Columns 11 through 20: 0 1 0 1 0 1 0 1 1 1
Columns 21 through 30: 1 1 0 0 0 1 0 1 0 1
Columns 31 through 40: 0 0 0 1 0 0 1 1 1 1
Columns 41 through 50: 0 1 1 0 1 1 0 1 1 1
Columns 51 through 60: 1 0 0 1 0 1 1 1 0 1
Columns 61 through 63: 0 0 0
Codeword terkena error : Columns 1 through 10 : 0 0 1 0 1 0 1 1 0 0
Columns 11 through 20: 0 1 0 1 0 1 0 1 1 1
Columns 21 through 30: 1 1 0 0 0 1 0 1 0 1
Columns 31 through 40: 0 0 0 1 0 0 1 1 1 1
Columns 41 through 50: 0 1 1 0 1 1 0 1 1 1
Columns 51 through 60: 1 0 0 1 0 1 1 1 0 1
Columns 61 through 63: 0 0 0
Codeword error setelah proses pendekodean : Columns 1 through 10: 0 0 1 1 1 0 1 1 0 0
Columns 11 through 20: 0 1 0 1 0 1 0 1 1 1
Columns 21 through 30: 1 1 0 0 0 1 0 1 0 1
Columns 31 through 40: 0 0 0 1 0 0 1 1 1 1
Columns 41 through 50: 0 1 1 0 1 1 0 1 1 1
Columns 51 through 60: 1 0 0 1 0 1 1 1 0 1
Columns 61 through 63: 0 0 0
Dibagi dengan polinomial generator: Columns 1 through 10 0 0 1 1 1 0 1 1 0 0
Columns 11 through 20 0 1 0 1 0 1 0 1 1 1
Columns 21 through 30 1 1 0 0 0 1 0 1 0 1
Columns 31 through 40 0 0 0 1 0 0 1 1 1 1
Columns 41 through 45 0 1 1 0 1
Diperoleh data yang sama dengan data awal. (n,k) = (63,45) t=2 Data awal: Columns 1 through 10 0 0 0 1 0 0 1 0 0 0
Columns 11 through 20 0 0 1 1 1 0 0 0 1 0
Columns 21 through 30 0 0 1 1 1 0 1 0 1 0
Columns 31 through 40 1 0 0 1 1 0 1 1 0 0
Columns 41 through 45 0 0 1 1 1
Codeword : Columns 1 through 10 0 0 0 1 0 0 1 0 0 0
Columns 11 through 20 0 0 1 1 1 0 0 0 1 0
Columns 21 through 30 0 0 1 1 1 0 1 0 1 0
(14)
B.2
Columns 41 through 50 0 0 1 1 1 0 0 1 0 1
Columns 51 through 60 1 0 0 0 0 1 0 0 1 1
Columns 61 through 63 0 0 0
Codewrord terkena error: Columns 1 through 10 0 0 0 1 0 0 1 0 0 0
Columns 11 through 20 0 0 1 1 1 0 0 0 1 0
Columns 21 through 30 0 0 1 1 0 0 1 0 1 0
Columns 31 through 40 1 0 0 1 1 0 1 1 0 0
Columns 41 through 50 0 0 1 1 1 0 1 1 0 1
Columns 51 through 60 1 0 0 0 0 1 0 0 1 1
Columns 61 through 63 0 0 0
Codeword error setelah proses pendekodean : Columns 1 through 10 0 0 0 1 0 0 1 0 0 0
Columns 11 through 20 0 0 1 1 1 0 0 0 1 0
Columns 21 through 30 0 0 1 1 1 0 1 0 1 0
Columns 31 through 40 1 0 0 1 1 0 1 1 0 0
Columns 41 through 50 0 0 1 1 1 0 0 1 0 1
Columns 51 through 60 1 0 0 0 0 1 0 0 1 1
Columns 61 through 63 0 0 0
Dibagi dengan polinomial generator : Columns 1 through 10 0 0 0 1 0 0 1 0 0 0
Columns 11 through 20 0 0 1 1 1 0 0 0 1 0
Columns 21 through 30 0 0 1 1 1 0 1 0 1 0
Columns 31 through 40 1 0 0 1 1 0 1 1 0 0
Columns 41 through 45 0 0 1 1 1
Diperoleh data yang sama dengan data awal. (n,k) = (63,45) t=3 Data awal: Columns 1 through 10 1 0 0 0 1 0 1 0 1 0
Columns 11 through 20 1 1 1 1 0 1 0 0 1 1
Columns 21 through 30 0 1 1 1 1 1 1 0 0 1
Columns 31 through 40 0 0 0 1 1 1 0 0 1 0
Columns 41 through 45 0 1 0 1 1
Codeword Columns 1 through 10 1 0 0 0 1 0 1 0 1 0
Columns 11 through 20 1 1 1 1 0 1 0 0 1 1
Columns 21 through 30 0 1 1 1 1 1 1 0 0 1
Columns 31 through 40 0 0 0 1 1 1 0 0 1 0
Columns 41 through 50 0 1 0 1 1 0 1 1 0 1
Columns 51 through 60 1 1 0 0 0 1 1 0 0 1
Columns 61 through 63 1 1 1
Codeword terkena error Columns 1 through 10 1 0 0 0 1 0 1 1 1 0
Columns 11 through 20 1 1 1 1 0 1 0 0 1 1
Columns 21 through 30 0 1 1 1 1 1 1 0 1 1
Columns 31 through 40 0 0 1 1 1 1 0 0 1 0
Columns 41 through 50 0 1 0 1 1 0 1 1 0 1
Columns 51 through 60 1 1 0 0 0 1 1 0 0 1
Columns 61 through 63 1 1 1 Codeword error setelah proses pendekodean
(15)
B.3
Columns 1 through 10 1 0 0 0 1 0 1 0 1 0
Columns 11 through 20 1 1 1 1 0 1 0 0 1 1
Columns 21 through 30 0 1 1 1 1 1 1 0 0 1
Columns 31 through 40 0 0 0 1 1 1 0 0 1 0
Columns 41 through 50 0 1 0 1 1 0 1 1 0 1
Columns 51 through 60 1 1 0 0 0 1 1 0 0 1
Columns 61 through 63 1 1 1
Dibagi dengan polinomial generator: Columns 1 through 10 1 0 0 0 1 0 1 0 1 0
Columns 11 through 20 1 1 1 1 0 1 0 0 1 1
Columns 21 through 30 0 1 1 1 1 1 1 0 0 1
Columns 31 through 40 0 0 0 1 1 1 0 0 1 0
Columns 41 through 45 0 1 0 1 1
Diperoleh data yang sama dengan data awal. (n,k) = (127,106) t=1 Data awal: Columns 1 through 10 0 1 1 0 0 0 1 1 0 1
Columns 11 through 20 1 0 1 0 1 0 0 0 0 1
Columns 21 through 30 0 1 0 0 0 1 0 0 0 1
Columns 31 through 40 0 1 0 1 0 1 0 0 0 1
Columns 41 through 50 1 1 0 1 1 1 1 1 0 1
Columns 51 through 60 0 0 1 0 0 1 1 0 1 0
Columns 61 through 70 1 1 0 1 1 1 1 0 0 0
Columns 71 through 80 1 1 0 1 1 1 1 1 1 1
Columns 81 through 90 0 0 0 0 0 0 0 1 1 1
Columns 91 through 100 1 1 0 0 1 0 1 1 1 0
Columns 101 through 106 0 1 1 1 0 0
Codeword: Columns 1 through 10 0 1 1 0 0 0 1 1 0 1
Columns 11 through 20 1 0 1 0 1 0 0 0 0 1
Columns 21 through 30 0 1 0 0 0 1 0 0 0 1
Columns 31 through 40 0 1 0 1 0 1 0 0 0 1
Columns 41 through 50 1 1 0 1 1 1 1 1 0 1
Columns 51 through 60 0 0 1 0 0 1 1 0 1 0
Columns 61 through 70 1 1 0 1 1 1 1 0 0 0
Columns 71 through 80 1 1 0 1 1 1 1 1 1 1
Columns 81 through 90 0 0 0 0 0 0 0 1 1 1
Columns 91 through 100 1 1 0 0 1 0 1 1 1 0
Columns 101 through 110 0 1 1 1 0 0 1 0 1 1
Columns 111 through 120 0 1 1 0 1 1 0 1 1 1
Columns 121 through 127 1 1 1 1 1 1 0
Codeword terkena error: Columns 1 through 10 0 1 1 0 0 0 1 1 0 1
Columns 11 through 20 1 0 1 0 1 0 0 0 0 1
Columns 21 through 30 0 1 0 0 0 1 0 0 0 1
Columns 31 through 40 0 1 1 1 0 1 0 0 0 1
Columns 41 through 50 1 1 0 1 1 1 1 1 0 1
Columns 51 through 60 0 0 1 0 0 1 1 0 1 0
Columns 61 through 70 1 1 0 1 1 1 1 0 0 0
(16)
B.4
Columns 81 through 90 0 0 0 0 0 0 0 1 1 1
Columns 91 through 100 1 1 0 0 1 0 1 1 1 0
Columns 101 through 110 0 1 1 1 0 0 1 0 1 1
Columns 111 through 120 0 1 1 0 1 1 0 1 1 1
Columns 121 through 127 1 1 1 1 1 1 0
Codeword error setelah proses pendekodean : Columns 1 through 10 0 1 1 0 0 0 1 1 0 1
Columns 11 through 20 1 0 1 0 1 0 0 0 0 1
Columns 21 through 30 0 1 0 0 0 1 0 0 0 1
Columns 31 through 40 0 1 0 1 0 1 0 0 0 1
Columns 41 through 50 1 1 0 1 1 1 1 1 0 1
Columns 51 through 60 0 0 1 0 0 1 1 0 1 0
Columns 61 through 70 1 1 0 1 1 1 1 0 0 0
Columns 71 through 80 1 1 0 1 1 1 1 1 1 1
Columns 81 through 90 0 0 0 0 0 0 0 1 1 1
Columns 91 through 10 1 1 0 0 1 0 1 1 1 0
Columns 101 through 110 0 1 1 1 0 0 1 0 1 1
Columns 111 through 120 0 1 1 0 1 1 0 1 1 1
Columns 121 through 127 1 1 1 1 1 1 0
Dibagi dengan polinomial generator: Columns 1 through 10 0 1 1 0 0 0 1 1 0 1
Columns 11 through 20 1 0 1 0 1 0 0 0 0 1
Columns 21 through 30 0 1 0 0 0 1 0 0 0 1
Columns 31 through 40 0 1 0 1 0 1 0 0 0 1
Columns 41 through 50 1 1 0 1 1 1 1 1 0 1
Columns 51 through 60 0 0 1 0 0 1 1 0 1 0
Columns 61 through 70 1 1 0 1 1 1 1 0 0 0
Columns 71 through 80 1 1 0 1 1 1 1 1 1 1
Columns 81 through 90 0 0 0 0 0 0 0 1 1 1
Columns 91 through 100 1 1 0 0 1 0 1 1 1 0
Columns 101 through 106 0 1 1 1 0 0
Diperoleh data yang sama dengan data awal. (n,k) = (127,106) t=2 Data awal: Columns 1 through 10 1 0 0 0 0 1 1 0 1 1
Columns 11 through 20 1 0 1 1 1 1 1 1 0 0
Columns 21 through 30 0 0 1 0 0 0 0 1 0 1
Columns 31 through 40 1 1 0 0 0 0 1 0 1 0
Columns 41 through 50 1 1 1 1 0 0 0 1 1 0
Columns 51 through 60 0 0 0 1 0 0 0 1 1 0
Columns 61 through 70 1 0 1 1 1 0 1 0 0 0
Columns 71 through 80 1 0 0 0 0 0 1 0 0 0
Columns 81 through 90 0 0 1 0 0 0 0 0 1 1
Columns 91 through 100 1 0 0 1 1 1 0 1 0 0
Columns 101 through 106 1 0 0 1 1 1
Codeword: Columns 1 through 10 1 0 0 0 0 1 1 0 1 1
Columns 11 through 20 1 0 1 1 1 1 1 1 0 0
Columns 21 through 30 0 0 1 0 0 0 0 1 0 1
(17)
B.5
Columns 41 through 50 1 1 1 1 0 0 0 1 1 0
Columns 51 through 60 0 0 0 1 0 0 0 1 1 0
Columns 61 through 70 1 0 1 1 1 0 1 0 0 0
Columns 71 through 80 1 0 0 0 0 0 1 0 0 0
Columns 81 through 90 0 0 1 0 0 0 0 0 1 1
Columns 91 through 100 1 0 0 1 1 1 0 1 0 0
Columns 101 through 110 1 0 0 1 1 1 0 0 1 1
Columns 111 through 120 0 0 0 1 0 1 0 1 0 1
Columns 121 through 127 0 0 1 1 0 1 0
Codeword terkena error: Columns 1 through 10 1 0 0 0 0 1 1 0 1 1
Columns 11 through 20 1 0 1 1 1 1 1 1 0 0
Columns 21 through 30 0 0 1 0 0 0 0 1 0 1
Columns 31 through 40 1 1 0 0 0 0 1 0 1 0
Columns 41 through 50 1 1 1 1 0 0 0 1 1 0
Columns 51 through 60 0 0 0 1 0 0 0 1 1 0
Columns 61 through 70 1 0 1 1 1 0 1 0 0 0
Columns 71 through 80 1 0 0 0 0 0 1 0 0 0
Columns 81 through 90 0 0 1 0 0 0 0 0 1 1
Columns 91 through 100 1 0 0 1 1 1 0 1 1 0
Columns 101 through 110 1 0 0 1 1 1 0 0 1 1
Columns 111 through 120 0 1 0 1 0 1 0 1 0 1
Columns 121 through 127 0 0 1 1 0 1 0
Codeword error setelah proses pendekodean : Columns 1 through 10 1 0 0 0 0 1 1 0 1 1
Columns 11 through 20 1 0 1 1 1 1 1 1 0 0
Columns 21 through 30 0 0 1 0 0 0 0 1 0 1
Columns 31 through 40 1 1 0 0 0 0 1 0 1 0
Columns 41 through 50 1 1 1 1 0 0 0 1 1 0
Columns 51 through 60 0 0 0 1 0 0 0 1 1 0
Columns 61 through 70 1 0 1 1 1 0 1 0 0 0
Columns 71 through 80 1 0 0 0 0 0 1 0 0 0
Columns 81 through 90 0 0 1 0 0 0 0 0 1 1
Columns 91 through 100 1 0 0 1 1 1 0 1 0 0
Columns 101 through 110 1 0 0 1 1 1 0 0 1 1
Columns 111 through 120 0 0 0 1 0 1 0 1 0 1
Columns 121 through 127 0 0 1 1 0 1 0
Dibagi dengan polinomial generator: Columns 1 through 10 1 0 0 0 0 1 1 0 1 1
Columns 11 through 20 1 0 1 1 1 1 1 1 0 0
Columns 21 through 30 0 0 1 0 0 0 0 1 0 1
Columns 31 through 40 1 1 0 0 0 0 1 0 1 0
Columns 41 through 50 1 1 1 1 0 0 0 1 1 0
Columns 51 through 60 0 0 0 1 0 0 0 1 1 0
Columns 61 through 70 1 0 1 1 1 0 1 0 0 0
Columns 71 through 80 1 0 0 0 0 0 1 0 0 0
Columns 81 through 90 0 0 1 0 0 0 0 0 1 1
Columns 91 through 100 1 0 0 1 1 1 0 1 0 0
Columns 101 through 106 1 0 0 1 1 1 Diperoleh data yang sama dengan data awal.
(18)
B.6 (n,k) = (127,106) t=3
Data awal:
Columns 1 through 10 0 1 0 1 0 1 0 0 0 1
Columns 11 through 20 1 0 1 0 1 1 1 0 0 0
Columns 21 through 30 0 0 1 1 0 0 0 0 0 0
Columns 31 through 40 1 1 1 0 0 1 1 1 1 0
Columns 41 through 50 1 0 0 0 1 0 0 1 1 1
Columns 51 through 60 1 0 1 1 1 0 1 1 0 1
Columns 61 through 70 0 1 0 0 0 0 0 1 1 1
Columns 71 through 80 0 1 1 1 0 0 1 0 0 1
Columns 81 through 90 1 1 1 0 0 1 0 1 1 1
Columns 91 through 100 1 1 1 0 0 1 1 0 1 0
Columns 101 through 106 1 1 0 0 0 0
Codeword: Columns 1 through 10 0 1 0 1 0 1 0 0 0 1
Columns 11 through 20 1 0 1 0 1 1 1 0 0 0
Columns 21 through 30 0 0 1 1 0 0 0 0 0 0
Columns 31 through 40 1 1 1 0 0 1 1 1 1 0
Columns 41 through 50 1 0 0 0 1 0 0 1 1 1
Columns 51 through 60 1 0 1 1 1 0 1 1 0 1
Columns 61 through 70 0 1 0 0 0 0 0 1 1 1
Columns 71 through 80 0 1 1 1 0 0 1 0 0 1
Columns 81 through 90 1 1 1 0 0 1 0 1 1 1
Columns 91 through 100 1 1 1 0 0 1 1 0 1 0
Columns 101 through 110 1 1 0 0 0 0 1 1 1 1
Columns 111 through 120 0 0 0 1 1 1 0 0 1 0
Columns 121 through 127 0 1 1 0 1 1 0
Codeword terkena error: Columns 1 through 10 0 1 0 1 0 1 0 0 0 1
Columns 11 through 20 1 0 1 0 1 1 1 0 0 0
Columns 21 through 30 0 0 1 1 0 0 0 0 0 0
Columns 31 through 40 1 1 1 0 0 1 1 1 1 0
Columns 41 through 50 1 0 0 0 1 0 0 0 1 1
Columns 51 through 60 1 0 1 1 1 0 1 1 0 1
Columns 61 through 70 0 1 0 0 0 0 0 1 1 1
Columns 71 through 80 0 1 1 1 0 0 1 0 0 1
Columns 81 through 90 1 1 1 0 0 1 0 1 1 0
Columns 91 through 100 1 1 1 0 0 1 1 0 1 0
Columns 101 through 110 1 1 0 0 0 0 0 1 1 1
Columns 111 through 120 0 0 0 1 1 1 0 0 1 0
Columns 121 through 127 0 1 1 0 1 1 0
Codeword error setelah proses pendekodean : Columns 1 through 10 0 1 0 1 0 1 0 0 0 1
Columns 11 through 20 1 0 1 0 1 1 1 0 0 0
Columns 21 through 30 0 0 1 1 0 0 0 0 0 0
Columns 31 through 40 1 1 1 0 0 1 1 1 1 0
Columns 41 through 50 1 0 0 0 1 0 0 1 1 1
Columns 51 through 60 1 0 1 1 1 0 1 1 0 1
Columns 61 through 70 0 1 0 0 0 0 0 1 1 1
Columns 71 through 80 0 1 1 1 0 0 1 0 0 1
(19)
B.7
Columns 91 through 100 1 1 1 0 0 1 1 0 1 0
Columns 101 through 110 1 1 0 0 0 0 1 1 1 1
Columns 111 through 120 0 0 0 1 1 1 0 0 1 0
Columns 121 through 127 0 1 1 0 1 1 0
Dibagi dengan polinomial generator: Columns 1 through 10 0 1 0 1 0 1 0 0 0 1
Columns 11 through 20 1 0 1 0 1 1 1 0 0 0
Columns 21 through 30 0 0 1 1 0 0 0 0 0 0
Columns 31 through 40 1 1 1 0 0 1 1 1 1 0
Columns 41 through 50 1 0 0 0 1 0 0 1 1 1
Columns 51 through 60 1 0 1 1 1 0 1 1 0 1
Columns 61 through 70 0 1 0 0 0 0 0 1 1 1
Columns 71 through 80 0 1 1 1 0 0 1 0 0 1
Columns 81 through 90 1 1 1 0 0 1 0 1 1 1
Columns 91 through 100 1 1 1 0 0 1 1 0 1 0
Columns 101 through 106 1 1 0 0 0 0
Diperoleh data yang sama dengan data awal. (n,k) = (255,231) t=1 Data awal: Columns 1 through 10 0 0 1 0 1 1 0 1 0 0
Columns 11 through 20 1 1 1 1 0 1 0 1 1 1
Columns 21 through 30 0 1 1 0 1 1 1 0 1 0
Columns 31 through 40 1 0 0 1 1 0 1 1 1 0
Columns 41 through 50 0 1 0 0 1 1 1 1 0 0
Columns 51 through 60 0 0 1 1 0 1 0 1 0 1
Columns 61 through 70 0 1 1 0 1 0 0 1 0 1
Columns 71 through 80 0 1 1 1 0 1 1 0 0 1
Columns 81 through 90 1 0 0 0 0 0 0 0 0 0
Columns 91 through 100 1 0 1 0 0 0 1 1 1 1
Columns 101 through 110 1 0 0 0 0 1 1 1 1 0
Columns 111 through 120 1 1 0 1 1 1 1 0 0 1
Columns 121 through 130 0 1 1 1 0 0 0 0 1 1
Columns 131 through 140 1 0 0 1 0 1 1 0 1 1
Columns 141 through 150 1 1 1 1 1 1 0 0 1 1
Columns 151 through 160 0 1 1 1 0 1 1 1 1 0
Columns 161 through 170 1 0 0 1 1 1 0 1 0 1
Columns 171 through 180 1 1 0 0 0 1 1 1 1 1
Columns 181 through 190 0 1 0 0 1 1 1 0 1 1
Columns 191 through 200 0 0 0 1 0 1 1 0 0 1
Columns 201 through 210 1 1 1 0 0 1 1 1 0 1
Columns 211 through 220 0 0 0 1 0 0 0 0 1 1
Columns 221 through 230 0 0 1 1 1 1 0 1 0 0
Column 231 0
Codeword; Columns 1 through 10 0 0 1 0 1 1 0 1 0 0
Columns 11 through 20 1 1 1 1 0 1 0 1 1 1
Columns 21 through 30 0 1 1 0 1 1 1 0 1 0
Columns 31 through 40 1 0 0 1 1 0 1 1 1 0
Columns 41 through 50 0 1 0 0 1 1 1 1 0 0
(20)
B.8
Columns 61 through 70 0 1 1 0 1 0 0 1 0 1
Columns 71 through 80 0 1 1 1 0 1 1 0 0 1
Columns 81 through 90 1 0 0 0 0 0 0 0 0 0
Columns 91 through 100 1 0 1 0 0 0 1 1 1 1
Columns 101 through 110 1 0 0 0 0 1 1 1 1 0
Columns 111 through 120 1 1 0 1 1 1 1 0 0 1
Columns 121 through 130 0 1 1 1 0 0 0 0 1 1
Columns 131 through 140 1 0 0 1 0 1 1 0 1 1
Columns 141 through 150 1 1 1 1 1 1 0 0 1 1
Columns 151 through 160 0 1 1 1 0 1 1 1 1 0
Columns 161 through 170 1 0 0 1 1 1 0 1 0 1
Columns 171 through 180 1 1 0 0 0 1 1 1 1 1
Columns 181 through 190 0 1 0 0 1 1 1 0 1 1
Columns 191 through 200 0 0 0 1 0 1 1 0 0 1
Columns 201 through 210 1 1 1 0 0 1 1 1 0 1
Columns 211 through 220 0 0 0 1 0 0 0 0 1 1
Columns 221 through 230 0 0 1 1 1 1 0 1 0 0
Columns 231 through 240 0 0 1 0 1 1 0 1 1 0
Columns 241 through 250 0 0 0 1 1 1 1 1 0 1
Columns 251 through 255 0 0 0 0 1
Codeword terkena error; Columns 1 through 10 0 0 1 0 1 1 0 1 0 0
Columns 11 through 20 1 1 1 1 0 1 0 1 1 1
Columns 21 through 30 0 1 1 0 1 1 1 0 1 0
Columns 31 through 40 1 0 0 1 1 0 1 1 1 0
Columns 41 through 50 0 1 0 0 1 1 1 1 0 0
Columns 51 through 60 0 0 1 1 0 1 0 1 0 1
Columns 61 through 70 0 1 1 0 1 0 0 1 0 1
Columns 71 through 80 0 1 1 1 0 1 1 0 0 1
Columns 81 through 90 1 0 1 0 0 0 0 0 0 0
Columns 91 through 100 1 0 1 0 0 0 1 1 1 1
Columns 101 through 110 1 0 0 0 0 1 1 1 1 0
Columns 111 through 120 1 1 0 1 1 1 1 0 0 1
Columns 121 through 130 0 1 1 1 0 0 0 0 1 1
Columns 131 through 140 1 0 0 1 0 1 1 0 1 1
Columns 141 through 150 1 1 1 1 1 1 0 0 1 1
Columns 151 through 160 0 1 1 1 0 1 1 1 1 0
Columns 161 through 170 1 0 0 1 1 1 0 1 0 1
Columns 171 through 180 1 1 0 0 0 1 1 1 1 1
Columns 181 through 190 0 1 0 0 1 1 1 0 1 1
Columns 191 through 200 0 0 0 1 0 1 1 0 0 1
Columns 201 through 210 1 1 1 0 0 1 1 1 0 1
Columns 211 through 220 0 0 0 1 0 0 0 0 1 1
Columns 221 through 230 0 0 1 1 1 1 0 1 0 0
Columns 231 through 240 0 0 1 0 1 1 0 1 1 0
Columns 241 through 250 0 0 0 1 1 1 1 1 0 1
Columns 251 through 255 0 0 0 0 1
Codeword error setelah proses pendekodean : Columns 1 through 10 0 0 1 0 1 1 0 1 0 0
Columns 11 through 20 1 1 1 1 0 1 0 1 1 1
(21)
B.9
Columns 31 through 40 1 0 0 1 1 0 1 1 1 0
Columns 41 through 50 0 1 0 0 1 1 1 1 0 0
Columns 51 through 60 0 0 1 1 0 1 0 1 0 1
Columns 61 through 70 0 1 1 0 1 0 0 1 0 1
Columns 71 through 80 0 1 1 1 0 1 1 0 0 1
Columns 81 through 90 1 0 0 0 0 0 0 0 0 0
Columns 91 through 100 1 0 1 0 0 0 1 1 1 1
Columns 101 through 110 1 0 0 0 0 1 1 1 1 0
Columns 111 through 120 1 1 0 1 1 1 1 0 0 1
Columns 121 through 130 0 1 1 1 0 0 0 0 1 1
Columns 131 through 140 1 0 0 1 0 1 1 0 1 1
Columns 141 through 150 1 1 1 1 1 1 0 0 1 1
Columns 151 through 160 0 1 1 1 0 1 1 1 1 0
Columns 161 through 170 1 0 0 1 1 1 0 1 0 1
Columns 171 through 180 1 1 0 0 0 1 1 1 1 1
Columns 181 through 190 0 1 0 0 1 1 1 0 1 1
Columns 191 through 200 0 0 0 1 0 1 1 0 0 1
Columns 201 through 210 1 1 1 0 0 1 1 1 0 1
Columns 211 through 220 0 0 0 1 0 0 0 0 1 1
Columns 221 through 230 0 0 1 1 1 1 0 1 0 0
Columns 231 through 240 0 0 1 0 1 1 0 1 1 0
Columns 241 through 250 0 0 0 1 1 1 1 1 0 1
Columns 251 through 255 0 0 0 0 1
Dibagi dengan polinomial generator: Columns 1 through 10 0 0 1 0 1 1 0 1 0 0
Columns 11 through 20 1 1 1 1 0 1 0 1 1 1
Columns 21 through 30 0 1 1 0 1 1 1 0 1 0
Columns 31 through 40 1 0 0 1 1 0 1 1 1 0
Columns 41 through 50 0 1 0 0 1 1 1 1 0 0
Columns 51 through 60 0 0 1 1 0 1 0 1 0 1
Columns 61 through 70 0 1 1 0 1 0 0 1 0 1
Columns 71 through 80 0 1 1 1 0 1 1 0 0 1
Columns 81 through 90 1 0 0 0 0 0 0 0 0 0
Columns 91 through 100 1 0 1 0 0 0 1 1 1 1
Columns 101 through 110 1 0 0 0 0 1 1 1 1 0
Columns 111 through 120 1 1 0 1 1 1 1 0 0 1
Columns 121 through 130 0 1 1 1 0 0 0 0 1 1
Columns 131 through 140 1 0 0 1 0 1 1 0 1 1
Columns 141 through 150 1 1 1 1 1 1 0 0 1 1
Columns 151 through 160 0 1 1 1 0 1 1 1 1 0
Columns 161 through 170 1 0 0 1 1 1 0 1 0 1
Columns 171 through 180 1 1 0 0 0 1 1 1 1 1
Columns 181 through 190 0 1 0 0 1 1 1 0 1 1
Columns 191 through 200 0 0 0 1 0 1 1 0 0 1
Columns 201 through 210 1 1 1 0 0 1 1 1 0 1
Columns 211 through 220 0 0 0 1 0 0 0 0 1 1
Columns 221 through 230 0 0 1 1 1 1 0 1 0 0
Column 231 0
Diperoleh data yang sama dengan data awal.
(22)
B.10 Data awal:
Columns 1 through 10 1 0 1 1 0 0 0 1 0 0
Columns 11 through 20 0 0 0 0 0 0 1 0 1 1
Columns 21 through 30 0 0 1 0 0 1 0 1 1 1
Columns 31 through 40 1 0 1 0 1 1 1 0 0 0
Columns 41 through 50 1 1 1 1 0 1 1 0 1 0
Columns 51 through 60 0 1 0 1 1 1 1 1 1 0
Columns 61 through 70 0 1 0 0 0 1 1 1 0 0
Columns 71 through 80 1 1 1 0 0 1 1 1 0 1
Columns 81 through 90 0 1 0 0 0 1 1 0 0 0
Columns 91 through 100 1 1 0 0 0 1 1 0 0 1
Columns 101 through 110 0 0 1 0 1 1 1 0 1 1
Columns 111 through 120 0 1 0 0 0 1 1 0 1 0
Columns 121 through 130 1 1 0 1 0 1 0 0 1 1
Columns 131 through 140 0 0 1 0 1 1 1 0 0 1
Columns 141 through 150 1 1 1 1 0 1 0 0 0 1
Columns 151 through 160 1 1 1 1 1 1 0 0 0 1
Columns 161 through 170 1 1 1 0 1 1 0 1 0 0
Columns 171 through 180 0 0 1 0 0 0 0 0 1 0
Columns 181 through 190 0 0 1 0 1 1 0 1 1 0
Columns 191 through 200 1 1 0 0 1 1 1 0 1 1
Columns 201 through 210 1 1 0 0 0 0 0 0 1 1
Columns 211 through 220 0 0 0 0 0 0 1 0 1 0
Columns 221 through 230 0 0 0 0 1 0 1 1 1 0
Column 231 0
Codeword: Columns 1 through 10 1 0 1 1 0 0 0 1 0 0
Columns 11 through 20 0 0 0 0 0 0 1 0 1 1
Columns 21 through 30 0 0 1 0 0 1 0 1 1 1
Columns 31 through 40 1 0 1 0 1 1 1 0 0 0
Columns 41 through 50 1 1 1 1 0 1 1 0 1 0
Columns 51 through 60 0 1 0 1 1 1 1 1 1 0
Columns 61 through 70 0 1 0 0 0 1 1 1 0 0
Columns 71 through 80 1 1 1 0 0 1 1 1 0 1
Columns 81 through 90 0 1 0 0 0 1 1 0 0 0
Columns 91 through 100 1 1 0 0 0 1 1 0 0 1
Columns 101 through 110 0 0 1 0 1 1 1 0 1 1
Columns 111 through 120 0 1 0 0 0 1 1 0 1 0
Columns 121 through 130 1 1 0 1 0 1 0 0 1 1
Columns 131 through 140 0 0 1 0 1 1 1 0 0 1
Columns 141 through 150 1 1 1 1 0 1 0 0 0 1
Columns 151 through 160 1 1 1 1 1 1 0 0 0 1
Columns 161 through 170 1 1 1 0 1 1 0 1 0 0
Columns 171 through 180 0 0 1 0 0 0 0 0 1 0
Columns 181 through 190 0 0 1 0 1 1 0 1 1 0
Columns 191 through 200 1 1 0 0 1 1 1 0 1 1
Columns 201 through 210 1 1 0 0 0 0 0 0 1 1
Columns 211 through 220 0 0 0 0 0 0 1 0 1 0
Columns 221 through 230 0 0 0 0 1 0 1 1 1 0
Columns 231 through 240 0 0 0 0 0 0 1 0 0 1
(23)
B.11
Columns 251 through 255 1 1 0 1 1
Codeword terkena error: Columns 1 through 10 1 0 1 1 0 0 0 1 0 0
Columns 11 through 20 0 0 0 0 0 0 1 0 1 1
Columns 21 through 30 0 0 1 0 0 1 0 1 1 1
Columns 31 through 40 1 0 1 0 1 1 1 0 0 0
Columns 41 through 50 1 1 1 1 0 1 1 0 1 0
Columns 51 through 60 0 1 0 1 1 1 1 1 1 0
Columns 61 through 70 0 1 0 0 0 1 1 1 0 0
Columns 71 through 80 1 1 1 0 0 1 1 1 0 1
Columns 81 through 90 0 1 0 0 0 1 1 0 0 0
Columns 91 through 100 1 1 0 0 0 1 1 0 0 1
Columns 101 through 110 0 0 1 0 1 1 1 0 1 1
Columns 111 through 120 0 1 0 0 0 1 1 0 1 0
Columns 121 through 130 0 1 0 1 0 1 0 0 1 1
Columns 131 through 140 0 0 1 0 1 1 1 0 0 1
Columns 141 through 150 1 1 1 1 0 1 0 0 0 1
Columns 151 through 160 1 1 1 1 1 1 0 0 0 1
Columns 161 through 170 1 1 1 0 1 1 0 1 0 0
Columns 171 through 180 0 0 1 0 0 0 0 0 1 0
Columns 181 through 190 0 0 1 1 1 1 0 1 1 0
Columns 191 through 200 1 1 0 0 1 1 1 0 1 1
Columns 201 through 210 1 1 0 0 0 0 0 0 1 1
Columns 211 through 220 0 0 0 0 0 0 1 0 1 0
Columns 221 through 230 0 0 0 0 1 0 1 1 1 0
Columns 231 through 240 0 0 0 0 0 0 1 0 0 1
Columns 241 through 250 1 1 0 0 1 0 0 0 1 0
Columns 251 through 255 1 1 0 1 1
Codeword error setelah proses pendekodean: Columns 1 through 10 1 0 1 1 0 0 0 1 0 0
Columns 11 through 20 0 0 0 0 0 0 1 0 1 1
Columns 21 through 30 0 0 1 0 0 1 0 1 1 1
Columns 31 through 40 1 0 1 0 1 1 1 0 0 0
Columns 41 through 50 1 1 1 1 0 1 1 0 1 0
Columns 51 through 60 0 1 0 1 1 1 1 1 1 0
Columns 61 through 70 0 1 0 0 0 1 1 1 0 0
Columns 71 through 80 1 1 1 0 0 1 1 1 0 1
Columns 81 through 90 0 1 0 0 0 1 1 0 0 0
Columns 91 through 100 1 1 0 0 0 1 1 0 0 1
Columns 101 through 110 0 0 1 0 1 1 1 0 1 1
Columns 111 through 120 0 1 0 0 0 1 1 0 1 0
Columns 121 through 130 1 1 0 1 0 1 0 0 1 1
Columns 131 through 140 0 0 1 0 1 1 1 0 0 1
Columns 141 through 150 1 1 1 1 0 1 0 0 0 1
Columns 151 through 160 1 1 1 1 1 1 0 0 0 1
Columns 161 through 170 1 1 1 0 1 1 0 1 0 0
Columns 171 through 180 0 0 1 0 0 0 0 0 1 0
Columns 181 through 190 0 0 1 0 1 1 0 1 1 0
Columns 191 through 200 1 1 0 0 1 1 1 0 1 1
Columns 201 through 210 1 1 0 0 0 0 0 0 1 1
(24)
B.12
Columns 221 through 230 0 0 0 0 1 0 1 1 1 0
Columns 231 through 240 0 0 0 0 0 0 1 0 0 1
Columns 241 through 250 1 1 0 0 1 0 0 0 1 0
Columns 251 through 255 1 1 0 1 1
Dibagi dengan polinomial generator: Columns 1 through 10 1 0 1 1 0 0 0 1 0 0
Columns 11 through 20 0 0 0 0 0 0 1 0 1 1
Columns 21 through 30 0 0 1 0 0 1 0 1 1 1
Columns 31 through 40 1 0 1 0 1 1 1 0 0 0
Columns 41 through 50 1 1 1 1 0 1 1 0 1 0
Columns 51 through 60 0 1 0 1 1 1 1 1 1 0
Columns 61 through 70 0 1 0 0 0 1 1 1 0 0
Columns 71 through 80 1 1 1 0 0 1 1 1 0 1
Columns 81 through 90 0 1 0 0 0 1 1 0 0 0
Columns 91 through 100 1 1 0 0 0 1 1 0 0 1
Columns 101 through 110 0 0 1 0 1 1 1 0 1 1
Columns 111 through 120 0 1 0 0 0 1 1 0 1 0
Columns 121 through 130 1 1 0 1 0 1 0 0 1 1
Columns 131 through 140 0 0 1 0 1 1 1 0 0 1
Columns 141 through 150 1 1 1 1 0 1 0 0 0 1
Columns 151 through 160 1 1 1 1 1 1 0 0 0 1
Columns 161 through 170 1 1 1 0 1 1 0 1 0 0
Columns 171 through 180 0 0 1 0 0 0 0 0 1 0
Columns 181 through 190 0 0 1 0 1 1 0 1 1 0
Columns 191 through 200 1 1 0 0 1 1 1 0 1 1
Columns 201 through 210 1 1 0 0 0 0 0 0 1 1
Columns 211 through 220 0 0 0 0 0 0 1 0 1 0
Columns 221 through 230 0 0 0 0 1 0 1 1 1 0
Column 231 0
Diperoleh data yang sama dengan data awal. (n,k) = (255,231) t=3 Data awal: Columns 1 through 10 1 1 1 0 0 1 1 1 1 1
Columns 11 through 20 1 0 1 1 0 1 1 0 1 0
Columns 21 through 30 0 0 0 0 1 0 0 0 1 0
Columns 31 through 40 1 1 1 0 1 1 0 0 0 1
Columns 41 through 50 0 1 1 1 0 0 1 0 0 0
Columns 51 through 60 0 1 1 1 1 0 0 0 1 1
Columns 61 through 70 0 0 0 1 1 0 0 0 1 0
Columns 71 through 80 1 0 1 1 1 1 1 0 1 0
Columns 81 through 90 0 0 1 0 1 1 1 1 0 1
Columns 91 through 100 1 1 0 1 1 1 0 0 0 1
Columns 101 through 110 1 1 0 1 1 1 0 0 1 1
Columns 111 through 120 1 0 0 1 1 0 0 0 1 1
Columns 121 through 130 1 1 0 1 1 0 0 0 0 1
Columns 131 through 140 1 1 1 0 1 0 0 0 0 1
Columns 141 through 150 0 1 1 1 0 1 1 1 0 1
Columns 151 through 160 0 0 1 0 0 0 1 0 0 1
Columns 161 through 170 0 1 1 1 0 1 0 1 0 1
(25)
B.13
Columns 181 through 190 1 0 0 0 1 0 0 0 0 1
Columns 191 through 200 1 1 1 1 0 1 0 0 0 1
Columns 201 through 210 1 0 0 1 0 1 1 0 0 1
Columns 211 through 220 1 1 0 1 0 1 1 0 0 1
Columns 221 through 230 0 0 1 0 1 1 1 1 1 0
Column 231 1
Codeword: Columns 1 through 10 1 1 1 0 0 1 1 1 1 1
Columns 11 through 20 1 0 1 1 0 1 1 0 1 0
Columns 21 through 30 0 0 0 0 1 0 0 0 1 0
Columns 31 through 40 1 1 1 0 1 1 0 0 0 1
Columns 41 through 50 0 1 1 1 0 0 1 0 0 0
Columns 51 through 60 0 1 1 1 1 0 0 0 1 1
Columns 61 through 70 0 0 0 1 1 0 0 0 1 0
Columns 71 through 80 1 0 1 1 1 1 1 0 1 0
Columns 81 through 90 0 0 1 0 1 1 1 1 0 1
Columns 91 through 100 1 1 0 1 1 1 0 0 0 1
Columns 101 through 110 1 1 0 1 1 1 0 0 1 1
Columns 111 through 120 1 0 0 1 1 0 0 0 1 1
Columns 121 through 130 1 1 0 1 1 0 0 0 0 1
Columns 131 through 140 1 1 1 0 1 0 0 0 0 1
Columns 141 through 150 0 1 1 1 0 1 1 1 0 1
Columns 151 through 160 0 0 1 0 0 0 1 0 0 1
Columns 161 through 170 0 1 1 1 0 1 0 1 0 1
Columns 171 through 180 0 1 1 0 0 0 1 1 0 1
Columns 181 through 190 1 0 0 0 1 0 0 0 0 1
Columns 191 through 200 1 1 1 1 0 1 0 0 0 1
Columns 201 through 210 1 0 0 1 0 1 1 0 0 1
Columns 211 through 220 1 1 0 1 0 1 1 0 0 1
Columns 221 through 230 0 0 1 0 1 1 1 1 1 0
Columns 231 through 240 1 0 0 0 1 1 1 1 1 1
Columns 241 through 250 0 0 1 1 1 0 0 0 1 0
Columns 251 through 255 0 0 1 1 0
Codeword terkena error: Columns 1 through 10 1 1 1 0 0 1 1 1 1 1
Columns 11 through 20 1 0 1 1 0 1 1 0 1 0
Columns 21 through 30 0 0 0 0 1 0 0 0 1 0
Columns 31 through 40 1 1 1 0 1 1 0 0 0 1
Columns 41 through 50 0 1 1 1 0 0 1 0 0 0
Columns 51 through 60 0 1 1 1 1 0 0 0 1 1
Columns 61 through 70 0 0 0 1 1 0 0 0 1 0
Columns 71 through 80 1 0 1 1 1 1 1 0 1 0
Columns 81 through 90 0 0 1 0 1 1 1 1 0 1
Columns 91 through 100 1 1 0 1 1 1 0 0 0 1
Columns 101 through 110 1 1 0 1 1 1 0 0 1 1
Columns 111 through 120 1 0 0 1 1 0 0 0 1 1
Columns 121 through 130 1 1 0 1 1 0 0 0 0 1
Columns 131 through 140 1 1 1 0 1 0 1 0 0 1
Columns 141 through 150 0 1 1 1 0 1 1 1 0 1
Columns 151 through 160 0 0 1 0 0 0 1 0 0 1
(26)
B.14
Columns 171 through 180 0 1 1 0 0 0 1 1 0 1
Columns 181 through 190 1 0 0 0 1 0 0 0 0 1
Columns 191 through 200 1 1 1 1 0 1 0 0 0 1
Columns 201 through 210 1 0 0 1 0 1 1 0 0 1
Columns 211 through 220 0 1 0 1 0 1 1 0 0 1
Columns 221 through 230 0 0 1 0 1 1 1 1 1 0
Columns 231 through 240 1 0 0 0 1 1 1 1 1 1
Columns 241 through 250 0 0 1 0 1 0 0 0 1 0
Columns 251 through 255 0 0 1 1 0
Codeword error setelah proses pendekodean: Columns 1 through 10 1 1 1 0 0 1 1 1 1 1
Columns 11 through 20 1 0 1 1 0 1 1 0 1 0
Columns 21 through 30 0 0 0 0 1 0 0 0 1 0
Columns 31 through 40 1 1 1 0 1 1 0 0 0 1
Columns 41 through 50 0 1 1 1 0 0 1 0 0 0
Columns 51 through 60 0 1 1 1 1 0 0 0 1 1
Columns 61 through 70 0 0 0 1 1 0 0 0 1 0
Columns 71 through 80 1 0 1 1 1 1 1 0 1 0
Columns 81 through 90 0 0 1 0 1 1 1 1 0 1
Columns 91 through 100 1 1 0 1 1 1 0 0 0 1
Columns 101 through 110 1 1 0 1 1 1 0 0 1 1
Columns 111 through 120 1 0 0 1 1 0 0 0 1 1
Columns 121 through 130 1 1 0 1 1 0 0 0 0 1
Columns 131 through 140 1 1 1 0 1 0 0 0 0 1
Columns 141 through 150 0 1 1 1 0 1 1 1 0 1
Columns 151 through 160 0 0 1 0 0 0 1 0 0 1
Columns 161 through 170 0 1 1 1 0 1 0 1 0 1
Columns 171 through 180 0 1 1 0 0 0 1 1 0 1
Columns 181 through 190 1 0 0 0 1 0 0 0 0 1
Columns 191 through 200 1 1 1 1 0 1 0 0 0 1
Columns 201 through 210 1 0 0 1 0 1 1 0 0 1
Columns 211 through 220 0 1 0 1 0 1 1 0 0 1
Columns 221 through 230 0 0 1 0 1 1 1 1 1 0
Columns 231 through 240 1 0 0 0 1 1 1 1 1 1
Columns 241 through 250 0 0 1 1 1 0 0 0 1 0
Columns 251 through 255 0 0 1 1 0
Dibagi dengan polinomial generator: Columns 1 through 10 1 1 1 0 0 1 1 1 1 1
Columns 11 through 20 1 0 1 1 0 1 1 0 1 0
Columns 21 through 30 0 0 0 0 1 0 0 0 1 0
Columns 31 through 40 1 1 1 0 1 1 0 0 0 1
Columns 41 through 50 0 1 1 1 0 0 1 0 0 0
Columns 51 through 60 0 1 1 1 1 0 0 0 1 1
Columns 61 through 70 0 0 0 1 1 0 0 0 1 0
Columns 71 through 80 1 0 1 1 1 1 1 0 1 0
Columns 81 through 90 0 0 1 0 1 1 1 1 0 1
Columns 91 through 100 1 1 0 1 1 1 0 0 0 1
Columns 101 through 110 1 1 0 1 1 1 0 0 1 1
Columns 111 through 120 1 0 0 1 1 0 0 0 1 1
Columns 121 through 130 1 1 0 1 1 0 0 0 0 1
(27)
B.15
Columns 141 through 150 0 1 1 1 0 1 1 1 0 1
Columns 151 through 160 0 0 1 0 0 0 1 0 0 1
Columns 161 through 170 0 1 1 1 0 1 0 1 0 1
Columns 171 through 180 0 1 1 0 0 0 1 1 0 1
Columns 181 through 190 1 0 0 0 1 0 0 0 0 1
Columns 191 through 200 1 1 1 1 0 1 0 0 0 1
Columns 201 through 210 1 0 0 1 0 1 1 0 0 1
Columns 211 through 220 1 1 0 1 0 1 1 0 0 1
Columns 221 through 230 0 0 1 0 1 1 1 1 1 0
Column 231 1
(28)
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
[3]Teori Informasi (TE-358) merupakan salah satu mata kuliah yang
ditawarkan di Jurusan Teknik Elektro Universitas Kristen Maranatha. Mata kuliah
ini membahas konsep dan aplikasi teori informasi untuk bidang komunikasi. Salah
satu pokok bahasan dari mata kuliah ini adalah pengkodean dan pendekodean
kode BCH. Kode BCH merupakan Error-Correcting Code (ECC) yaitu kode
yang dapat memperbaiki data yang terkena error agar sesuai dengan data yang
diinginkan dengan menambahkan redundant/ parity bit. Redundant/ parity bit
merupakan blok bit yang diletakkan setelah blok data (pesan). Kata BCH
(Bose-Chauduri-Hocquenghem) berasal dari nama penemunya yaitu Bose,
Ray-Chaudhuri, dan Hocquenghem, yang diterbitkan pada tahun 1959 dan 1960. Kode
ini merupakan salah satu metoda pada GF( ) dengan blok kode linier yang
panjang dan dengan jumlah codeword yang besar dan dapat diimplementasikan
untuk sistem komunikasi.
Pada Tugas Akhir ini disimulasikan sistem pengkodean dan pendekodean
kode BCH. Dengan demikian Tugas Akhir ini dapat membantu mahasiswa
memahami konsep, elemen, dan aplikasi teori informasi. Tugas Akhir ini juga
merupakan pengembangan dari Tugas Akhir yang sudah pernah dikerjakan
sebelumnya yang berjudul
“Perancangan Core Err
or Correcting Code dengan
kode
BCH”
(Kustiawan, 9822018, Teknik Elektro Universitas Kristen Maranatha,
2003). Pada Tugas Akhir ini dirancang kode untuk memperbaiki bit error (t)
maksimal dua bit, panjang kode dan panjang data (n,k) sebanyak (15,7) dan
disimulasikan dengan menggunakan Hardware Description Language (HDL).
Tugas Akhir ini dirasa perlu dikembangkan lebih luas lagi. Oleh karena itu, Tugas
Akhir ini akan dikembangkan agar dapat merancang kode yang mampu
memperbaiki bit error (t) maksimal tiga bit, panjang kode dan panjang data (n,k)
sebanyak: (15,5), (31,16), (63,45), (127,106), (255,231), dan pada proses
(29)
2
pendekodean akan digunakan algoritma Berlekamp. Proses pengkodean dan
pendekodean akan disimulasikan dengan menggunakan MATLAB.
1.2 Perumusan Masalah
Permasalahan yang akan dibahas dalam Tugas Akhir ini meliputi:
Bagaimana membuat simulasi pengkodean dan pendekodean yang menggunakan
algoritma Berlekamp untuk kode BCH dengan Matlab?
1.3 Tujuan
Tujuan yang hendak dicapai dalam pengerjaan Tugas Akhir ini adalah:
Membuat simulasi pengkodean dan pendekodean kode BCH dengan Matlab.
1.4 Pembatasan Masalah
Batasan masalah pada Tugas Akhir ini meliputi:
1.
Algoritma perhitungan error locator polynomial yang digunakan adalah
algoritma Berlekamp.
2.
Jumlah error yang dapat dikoreksi dibatasi maksimal 3 bit error.
1.5 Sistematika Penulisan
Sistematika penulisan Tugas Akhir ini sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisikan latar belakang, perumusan masalah, tujuan, pembatasan
masalah, dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi teori proses pengkodean dan pendekodean kode BCH secara
matematis.
BAB III SIMULASI PENGKODEAN DAN PENDEKODEAN
Bab ini berisi diagram alir simulasi pengkodean dan pendekodean kode BCH
menggunakan algoritma Berlekamp.
(30)
3
BAB IV DATA PENGAMATAN
Bab ini berisi data pengamatan dari proses pendekodean yang diperoleh dari hasil
simulasi menggunakan Matlab.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran yang diperoleh dari hasil Tugas Akhir yang
telah dilakukan.
(31)
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Proses simulasi kode BCH telah berhasil direalisasikan, dimulai dari
pembangkitan data input biner acak seterusnya dengan bantuan polinomial generator
dibentuk kode BCH. Seterusnya kode BCH ditambahkan dengan error acak. Kode
yang terkena error ini masuk ke dekoder dengan algoritma perhitungan error locator
polynomial Berlekamp sehingga kode yang terkena error dapat dideteksi dan
diperbaiki. Keseluruhan proses ini disimulasikan pada Matlab 7.
5.2 Saran
Pada penelitian berikutnya, proses pendekodean dapat menggunakan
algoritma perhitungan error locator polynomial yang berbeda, di antaranya adalah
algoritma Peterson.
(1)
B.15
Columns 141 through 150 0 1 1 1 0 1 1 1 0 1
Columns 151 through 160 0 0 1 0 0 0 1 0 0 1
Columns 161 through 170 0 1 1 1 0 1 0 1 0 1
Columns 171 through 180 0 1 1 0 0 0 1 1 0 1
Columns 181 through 190 1 0 0 0 1 0 0 0 0 1
Columns 191 through 200 1 1 1 1 0 1 0 0 0 1
Columns 201 through 210 1 0 0 1 0 1 1 0 0 1
Columns 211 through 220 1 1 0 1 0 1 1 0 0 1
Columns 221 through 230 0 0 1 0 1 1 1 1 1 0
Column 231 1
(2)
1
BAB I
PENDAHULUAN
1.1 Latar Belakang [3]
Teori Informasi (TE-358) merupakan salah satu mata kuliah yang ditawarkan di Jurusan Teknik Elektro Universitas Kristen Maranatha. Mata kuliah ini membahas konsep dan aplikasi teori informasi untuk bidang komunikasi. Salah satu pokok bahasan dari mata kuliah ini adalah pengkodean dan pendekodean kode BCH. Kode BCH merupakan Error-Correcting Code (ECC) yaitu kode yang dapat memperbaiki data yang terkena error agar sesuai dengan data yang diinginkan dengan menambahkan redundant/ parity bit. Redundant/ parity bit merupakan blok bit yang diletakkan setelah blok data (pesan). Kata BCH (Bose-Chauduri-Hocquenghem) berasal dari nama penemunya yaitu Bose, Ray-Chaudhuri, dan Hocquenghem, yang diterbitkan pada tahun 1959 dan 1960. Kode ini merupakan salah satu metoda pada GF( ) dengan blok kode linier yang panjang dan dengan jumlah codeword yang besar dan dapat diimplementasikan untuk sistem komunikasi.
Pada Tugas Akhir ini disimulasikan sistem pengkodean dan pendekodean kode BCH. Dengan demikian Tugas Akhir ini dapat membantu mahasiswa memahami konsep, elemen, dan aplikasi teori informasi. Tugas Akhir ini juga merupakan pengembangan dari Tugas Akhir yang sudah pernah dikerjakan sebelumnya yang berjudul “Perancangan Core Error Correcting Code dengan kode BCH” (Kustiawan, 9822018, Teknik Elektro Universitas Kristen Maranatha, 2003). Pada Tugas Akhir ini dirancang kode untuk memperbaiki bit error (t) maksimal dua bit, panjang kode dan panjang data (n,k) sebanyak (15,7) dan disimulasikan dengan menggunakan Hardware Description Language (HDL). Tugas Akhir ini dirasa perlu dikembangkan lebih luas lagi. Oleh karena itu, Tugas Akhir ini akan dikembangkan agar dapat merancang kode yang mampu memperbaiki bit error (t) maksimal tiga bit, panjang kode dan panjang data (n,k) sebanyak: (15,5), (31,16), (63,45), (127,106), (255,231), dan pada proses
(3)
2 pendekodean akan digunakan algoritma Berlekamp. Proses pengkodean dan pendekodean akan disimulasikan dengan menggunakan MATLAB.
1.2 Perumusan Masalah
Permasalahan yang akan dibahas dalam Tugas Akhir ini meliputi:
Bagaimana membuat simulasi pengkodean dan pendekodean yang menggunakan algoritma Berlekamp untuk kode BCH dengan Matlab?
1.3 Tujuan
Tujuan yang hendak dicapai dalam pengerjaan Tugas Akhir ini adalah: Membuat simulasi pengkodean dan pendekodean kode BCH dengan Matlab.
1.4 Pembatasan Masalah
Batasan masalah pada Tugas Akhir ini meliputi:
1. Algoritma perhitungan error locator polynomial yang digunakan adalah algoritma Berlekamp.
2. Jumlah error yang dapat dikoreksi dibatasi maksimal 3 bit error.
1.5 Sistematika Penulisan
Sistematika penulisan Tugas Akhir ini sebagai berikut : BAB I PENDAHULUAN
Bab ini berisikan latar belakang, perumusan masalah, tujuan, pembatasan masalah, dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisi teori proses pengkodean dan pendekodean kode BCH secara matematis.
BAB III SIMULASI PENGKODEAN DAN PENDEKODEAN
Bab ini berisi diagram alir simulasi pengkodean dan pendekodean kode BCH menggunakan algoritma Berlekamp.
(4)
3 BAB IV DATA PENGAMATAN
Bab ini berisi data pengamatan dari proses pendekodean yang diperoleh dari hasil simulasi menggunakan Matlab.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran yang diperoleh dari hasil Tugas Akhir yang telah dilakukan.
(5)
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Proses simulasi kode BCH telah berhasil direalisasikan, dimulai dari pembangkitan data input biner acak seterusnya dengan bantuan polinomial generator dibentuk kode BCH. Seterusnya kode BCH ditambahkan dengan error acak. Kode yang terkena error ini masuk ke dekoder dengan algoritma perhitungan error locator polynomial Berlekamp sehingga kode yang terkena error dapat dideteksi dan diperbaiki. Keseluruhan proses ini disimulasikan pada Matlab 7.
5.2 Saran
Pada penelitian berikutnya, proses pendekodean dapat menggunakan algoritma perhitungan error locator polynomial yang berbeda, di antaranya adalah algoritma Peterson.
(6)
DAFTAR PUSTAKA
1. Peterson, Wesley and E.J, Weldon, “Error Correcting Codes”, 2nd edition, 1972. 2. Wicker, Stephen, Error Control System, Prentice Hall International Inc, 1995.
3. Kustiawan, 9822018, “Perancangan Core Error Correcting Code dengan Kode BCH”, Universitas Kristen Maranatha, 2003.
4. Lin, Shu and Daniel J.Castello,.Error Control Coding: Fundamental and Application, New Jersey: Prentice-Hall International Inc. 1983.
5. Wilson, Stephen G., Digital Modulation And Coding, Prentice Hall International Inc, 1996.
6. Rhee, Man Young, Error-Correcting Coding theory, McGraw-Hill, 1989.
7. Malepati, Hazarathaiah, Digital Media Processing, Newnes, 2010.