Simulasi Pengkodean dan Pendekodean Kode BCH.

(1)

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.