• Tidak ada hasil yang ditemukan

Simulasi dan Perbandingan Waktu Penkodean Antara Algoritma Peterson-Gorenstein-Zierler dan Berlekamp-Massey Pada Kode Reed-Solomon.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Simulasi dan Perbandingan Waktu Penkodean Antara Algoritma Peterson-Gorenstein-Zierler dan Berlekamp-Massey Pada Kode Reed-Solomon."

Copied!
46
0
0

Teks penuh

(1)

i

Universitas Kristen Maranatha

SIMULASI DAN PERBANDINGAN WAKTU PENDEKODEAN ANTARA

ALGORITMA PETERSON-GORENSTEIN-ZIERLER DAN

BERLEKAMP-MASSEY PADA KODE REED-SOLOMON

Disusun oleh :

Februyanto Maranda Sagala (0722010)

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha,

Jl.Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,

e-mail : [email protected]

ABSTRAK

Pada sistem komunikasi, proses pengiriman data dari sumber ke tujuan

dapat dikatakan baik bila data yang diterima sama dengan data yang dikirim. Pada

kenyataannya selama proses pengiriman data, data yang dikirim seringkali

mengalami gangguan yang dapat menyebabkan data yang diterima tidak sama

dengan data yang dikirim. Pada Tugas Akhir ini dibahas metode Reed-Solomon

untuk memperbaiki error yang mungkin terjadi pada proses pengiriman. Proses

pengkodean dan pendekodean kode Reed-Solomon telah berhasil disimulasikan

pada Tugas Akhir ini. Untuk mendekodekan kode Reed-Solomon digunakan dua

dekoder dengan algoritma berbeda. Algoritma yang digunakan untuk dekoder

adalah Berlekamp-Massey (BMA) dan Peterson-Gorenstein-Zierler (PGZ). Waktu

proses pendekodean dengan kedua algoritma tersebut dibandingkan. Hasil

simulasi dan analisa data diketahui bahwa kedua dekoder memiliki kemampuan

yang sama dalam mengoreksi error dengan batas maksimal berjumlah t simbol.

Perbedaan waktu pendekodean rata-rata kedua dekoder adalah 0,115 s

untuk nilai t dari 1 sampai 5 simbol. Dekoder PGZ lebih lama sekitar 10 kali,120

kali, dan 960 kali dibanding dekoder BMA untuk nilai t=6,7, dan 8 berdasarkan

nilai t untuk setiap nilai m (jumlah bit tiap 1 simbol). Perbedaan waktu

pendekodean rata-rata untuk nilai t dari 1 sampai 7 simbol secara berturut-turut

adalah 0,04 s, 0,048 s, 0,058 s, 0,054 s, 0,259s, 1,605 s, dan 14,606 s berdasarkan

nilai m untuk setiap nilai t. Dekoder PGZ kurang efisien dari segi waktu proses

pendekodean dibandingkan dekoder BMA untuk nilai t>5 simbol.

(2)

ii

Universitas Kristen Maranatha

SIMULATION AND DECODING TIME COMPARISON BETWEEN

PETERSON-GORENSTEIN-ZIERLER ALGORITHM AND

BERLEKAMP-MASSEY ALGORITHM ON REED-SOLOMON CODE

Composed by :

Februyanto Maranda Sagala (0722010)

Electrical Engineering Department, Maranatha Christian University,

Jl.Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,

e-mail: [email protected]

ABSTRACT

In the communication system, the process of sending data from source to

destination can be said to be good when the data is sent equal with the data

received. In fact during the process of sending data, the data sent is often

susceptible to interference which can cause the received data does not match with

data sent. In this final project, to fix the error which may occur when data sent is

used Reed-Solomon method. Process of encoding and decoding Reed-Solomon

code have been successfully simulated in this final project. For decoding

Reed-Solomon code was used by two decoders with different algorithms. The algorithm

that used for the decoder is Berlekamp-Massey Algorithm (BMA) and

Peterson-Gorenstein-Zierler Algorithm (PGZ). The duration of decoding process by two

decoders are compared. In this simulation results and analysis of data was known

that two decoder has the same capability in error correcting maximum up to t

symbols.

The decoding time differences of the two decoders for t from 1 to 5

symbols in the average is 0.115 second. PGZ decoder longer about 10 times, 120

times and 960 times compared to the value decoder BMA for t= 6,7, and 8 based

on the value of t for each value of m. The decoding time difference in the average

for value of t from 1 to 7 symbols in a row is 0.04 s, 0.048 s, 0.058 s, 0.054 s,

0.259 s, 1.605 s and 14.606 s based on the value of m for each value of t. PGZ

decoder is less efficient in terms of processing time compared to decoding use

BMA decoder for the value of t > 5 symbols.

(3)

v

Universitas Kristen Maranatha

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Identifikasi Masalah ... 2

1.3 Tujuan ... 2

1.4 Pembatasan Masalah ... 3

1.5 Sistematika Penulisan ... 3

BAB II LANDASAN TEORI ... 4

2.1 Pendahuluan ... 4

2.2 Klasifikasi Kode Reed-Solomon ... 5

2.3 Aritmatika Galois Field- GF(2) ... 6

2.3.1 Operasi Penjumlahan dan Pengurangan ... 6

2.3.2 Operasi Perkalian dan Pembagian ... 7

2.3.3 Polinomial Galois Field ... 7

2.3.4 Polinomial Primitif ... 8

2.4 Proses Pengkodean Kode Reed-Solomon ... 11

2.4.1 Pembentukan Polinomial Generator ... 11

(4)

vi

Universitas Kristen Maranatha

2.5 Proses Pendekodean Kode Reed-Solomon ... 13

2.5.1 Menghitung Nilai Sindrom ... 14

2.5.2 Menghitung Polinomial Lokasi Error ... 15

2.5.3 Metode Pencarian Chien ... 17

2.5.4 Menghitung Error Magnitude ... 19

BAB III SIMULASI PENGKODEAN DAN PENDEKODEAN ... 20

3.1 Enkoder Kode Reed-Solomon... 20

3.2 Dekoder Kode Reed-Solomon ... 24

3.2.1 Menghitung Sindrom ... 26

3.2.2Mencari Error Locator Polynomial (Algoritma Berlekamp-Massey) .. 27

3.2.3 Mencari Error Locator Polynomial (Algoritma PGZ)... 29

3.2.4 Menghitung Akar Error Locator Polynomial (Chien Search) ... 33

3.2.5 Mencari LokasiError ... 34

3.2.6 Menghitung Error MagnitudePada Dekoder BMA ... 35

3.2.7 Menghitung Error Magnitude Pada dekoder PGZ... 36

3.2.8 Perbaikan Error ... 37

BAB IV DATA PENGAMATAN DAN PERBANDINGAN ... 38

4.1

Data Pengamatan Dekoder BMA ... 39

4.1.1 Analisa DataPada Dekoder BMA ... 41

4.2 Data Pengamatan Pada Dekoder PGZ... 46

4.2.1 Analisa Data Pada Dekoder PGZ ... 48

4.3 Perbandingan Dekoder BMA dengan PGZ ... 53

4.3.1 Perbandingan Berdasarkan Nilai t ... 53

4.3.2 Perbandingan Berdasarkan Nilai m ... 55

4.3.3 Perbandingan Berdasarkan Nilai k dan Jumlah Error... 57

(5)

vii

Universitas Kristen Maranatha

BAB V KESIMPULAN DAN SARAN ... 63

5.1 Kesimpulan ... 63

5.2 Saran ... 63

DAFTAR PUSTAKA ... 64

(6)

viii

Universitas Kristen Maranatha

DAFTAR GAMBAR

Gambar 2.1 Diagram blok kode Reed-Solomon ... 4

Gambar 2.2 Diagram Kode Reed-Solomon (n,k) ... 5

Gambar 2.3 Tahap-tahap pada dekoder Reed Solomon ... 13

Gambar 3.1 Diagram alir proses pembentukan kode RS...21

Gambar 3.2 Subroutine pembentukan Galois field GF(2

m

) ... 21

Gambar 3.3 Diagram alir subroutine pembentukan polinomial generator ... 22

Gambar 3.4 Diagram alir pembentukan kode RS ... 23

Gambar 3.5 Diagram alir pendekodean dengan algoritma BMA ... 24

Gambar 3.6 Diagram alir pedekodean dengan algoritma PGZ ... 25

Gambar 3.7 Diagram alir proses menghitung sindrom ... 26

Gambar 3.8 Diagram alir subroutine mencari error locator polynomial (BMA) 27

Gambar 3.9 Diagram alir subroutine mencari error locator polynomial-BMA

(lanjutan) ... 28

Gambar 3.10 Diagram alir subroutineerror locator polynomial (PGZ) ... 29

Gambar 3.11 Diagram alir subroutine jika t = 1 ... 30

Gambar 3.12 Diagram alir subroutine jika t = 2 ... 30

Gambar 3.13 Diagram alir subroutine jika t = 3 ... 31

Gambar 3.14 Diagram alir subroutine jika t = 4 ... 32

Gambar 3.15 Diagram alir subroutine mencari akar error locator polynomial ... 33

Gambar 3.16 Diagram alir subroutine mencari lokasi error... 34

Gambar 3.17 Diagram alir subroutine menghitung error magnitude (BMA) ... 35

Gambar 3.18 Diagram alir subroutine menghitung error magnitude (PGZ) ... 36

Gambar 3.19 Diagram alir subroutine perbaikan error ... 37

Gambar 4.1 Tampilan program simulasi pada MATLAB...38

Gambar 4.2 Tampilan program menghitung waktu proses pendekodean ... 41

Gambar 4.3 Grafik waktu pendekodean rata-rata pada dekoder BMA (m= 4) .. 45

Gambar 4.4 Grafik waktu pendekodean rata-rata pada dekoder BMA (m= 5) .. 45

Gambar 4.5 Grafik waktu pendekodean rata-rata pada dekoder BMA (m= 6) .. 46

(7)

ix

Universitas Kristen Maranatha

Gambar 4.7 Grafik waktu pendekodean rata-rata pada dekoder PGZ (m= 5) .... 52

Gambar 4.8 Grafik waktu pendekodean rata-rata pada dekoder PGZ (m= 6) .... 53

Gambar 4.9 Grafik perbandingan untuk nilai m=4 ... 54

Gambar 4.10 Grafik perbandingan untuk nilai m=5 ... 54

Gambar 4.11 Grafik perbandingan untuk nilai m=6 ... 54

Gambar 4.12 Grafik perbandingan untuk nilai t=1 ... 55

Gambar 4.13 Grafik perbandingan untuk nilai t=2 ... 55

Gambar 4.14 Grafik perbandingan untuk nilai t=3 ... 56

Gambar 4.15 Grafik perbandingan untuk nilai t=4 ... 56

Gambar 4.16 Grafik perbandingan untuk nilai t=5 ... 56

Gambar 4.17 Grafik perbandingan untuk nilai t=6 ... 57

Gambar 4.18 Grafik perbandingan untuk nilai t=7 ... 57

Gambar 4.19 Grafik perbandingan kedua dekoder untuk nilai m=4 ... 58

Gambar 4.20 Grafik perbandingan kedua dekoder untuk nilai m=5 ... 59

(8)

x

Universitas Kristen Maranatha

DAFTAR TABEL

Tabel 2.1 Polinomial primitif pada GF(2

m

) ... 9

Tabel 2.2 Pembentukan Galois field (16) ... 10

Tabel 4.1 Waktu proses pendekodean rata-rata berdasarkan nilai m dan t...42

Tabel 4.2 Waktupendekodean rata-rata pada dekoder BMA (m=4 dan m=5) .... 43

Tabel 4.3 Waktu proses pendekodean pada dekoder BMA (m=6) ... 44

Tabel 4.4 Waktu proses pendekodean rata-rata berdasarkan nilai m dan t ... 49

Tabel 4.5 Waktu pendekodean rata-ratapada dekoder PGZ (m=4 dan m=5) ... 50

(9)

LAMPIRAN A

(10)

Universitas Kristern Maranatha

%---Simulasi

Error Correcting Code

dengan algoritma

---%

%--- Berlekamp-Massey atau Peterson-Gorenstein-Zierler ----%

%--- Pada kode Reed-Solomon ---%

%*** Parameter Kode RS ***

m = 4 %Jumlah bit dalam 1 simbol, GF(2^m) n = 2^m - 1 %Panjang kode RS

k = 3 %Jumlah data dalam satu kode RS h = n-k %Panjang parity tiap kode RS

t = h/2 %Jumlah maksimum error yang dapat dikoreksi

%****Membangkitkan Galois Field dan Generator polynomial***%

% Membentuk Galois Field

field = gftuple([-1:2^m-2]', m, 2);

%Membangkitkan polinomial generator

c = [1 0]; p(1) = c(1);

for i = 1:h-1

p(1) = gfmul(p(1),1,field); p(2) = 0;

c = gfconv(c,p,field); end

g = c;

%**************** Pengkodean Reed-Solomon *****************%

%Membangkitkan data acak integer

DATA_IN = randint(1,k,[0 n-1]);

%Membentuk kode RS

parity = RS_ENC4(DATA_IN,n,k,g,field); RS_CODE = [parity DATA_IN];

%************************ Channel *************************%

RECEIVED = RS_CODE

%************Menambahkan error secara manual***************%

%*********dengan nilai acak di sembarang posisi************%

RECEIVED(3) = gfadd(RECEIVED(3),randint(1,1,[-1 n-1]),field); RECEIVED(5) = gfadd(RECEIVED(3),randint(1,1,[-1 n-1]),field);

%****************

%***** Pendekodean dengan algoritma Berlekamp-Massey ******%

DECODED = RS_E_DEC(RECEIVED,n,k,t,h,g,field);

%*Pendekodean dengan algoritma Peterson-Gorenstein-Zierler*%

(11)

Universitas Kristern Maranatha

%****************

if all(DECODED == RS_CODE) disp('Decoding Success') else

disp('Decoding Failure') end

%---Subroutine pembentukan kode Reed-Solomon---%

function R = RS_ENC(code,n,k,g,field)

for ii = 1:n-k

shiftpol(ii)= -inf; end

shiftpol(n-k+1)=0;

shiftcode=gfconv(code,shiftpol,field);

[Q, R]=gfdeconv(shiftcode,g,field); while length(R)< n-k

R=[R -inf]; end

%--Subroutine pendekodean dgn algoritma Berlekamp-Massey---%

function DECODED = RS_E_DEC(received,n,k,t,h,g,field);

%******************Menghitung nilai sindrom**********************% S = [];

%Substitusi nilai alpha^i dari tiap polinomial yg diterima for ii = 1:2*t

S(ii)= -Inf; for cc = 1:n

S(ii) = gfadd(S(ii),gfmul(received(cc),gfpow(ii,cc-1,n),field) ,field); %Sum all the terms

end end

%Periksa apakah nilai semua sindrom = 0,

%Jika semua nilai sindrom 0, artinya tidak terjadi error for i = 1:2*t

pol_tes(i) = -Inf; end

if all (S == pol_tes)

message = received; else

%*Hitung Error Locator Polynomial dgn algoritma Berlekamp-Massey*% sigma = BMA(n,k,t,S,field);

%*Mencari nilai akar dr error locator polynomial dg Chien search*% akar_polinomial = [];

(12)

Universitas Kristern Maranatha for cc = 1:length(sigma)

error_r = gfadd(error_r,gfmul(sigma(cc),gfpow(ii,cc-1,n),field) ,field); %Sum all the terms

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_tes

% Jika panjang sisa hasil bagi lbh dr 1 maka akar tidak real pol_tes = 0;

for ii = 1:length(akar_polinomial)

pol_tes = gfconv(pol_tes,[akar_polinomial(ii) 0],field);

end

[QQ,RR] = gfdeconv(sigma,pol_tes,field); if length(QQ) > 1

DECODED = received; return

end

%******************** Mencari posisi error *********************% lokasi_error = [];

for ii = 1:length(akar_polinomial)

lokasi_error(ii) = gfdiv(0,akar_polinomial(ii),field); end

%********Menghitung Error Magnitude dgn algoritma Forney********%

%Hitung polinomial error magnitude: %1. Membentuk fungsi [1 + S(x)] SS(1) = 0;

for ii = 1: 2*t

SS(ii+1) = S(ii); end

%2. Membentuk persamaan (x)= ?(x) [1 + S(x)] OMEGA = gfconv(sigma,gfadd(0,SS,field),field);

%3. OMEGA = (SS * sigma)mod(x^(2t+1)) %3.1. Bentuk fungsi := x^(2t+1)

for ii = 1: (2*t) DIV(ii)= -Inf; end

DIV(2*t+1) = 0;

(13)

Universitas Kristern Maranatha %OMEGA

%4. Differentiate the key equation with respect to x sigma_diff = gfdiff(sigma);

%Menghitung error magnitude

%Substitusi nilai invers ke sigma_diff for ii = 1:length(lokasi_error)

ERR_DEN= gfsubstitute(sigma_diff,gfdiv(0,lokasi_error(ii),field), length(sigma_diff),n,field);

ERR_NUM= gfsubstitute(OMEGA,gfdiv(0,lokasi_error(ii),field),length (OMEGA),n,field);

ERR_NUM= gfmul(ERR_NUM,lokasi_error(ii),field);

ERR(ii) = gfmul(ERR_NUM,gfdiv(0,ERR_DEN,field),field); end

%Menyusun polinomial error sesuai lokasi dan error magnitude for ii = 1:n

ERR_p(ii) = -Inf; end

for ii = 1:length(lokasi_error) pp = lokasi_error(ii); ERR_p(pp+1) = ERR(ii); end

% kode RS yang diterima lalu dijumlahkan dengan polinomial error message = gfadd(received,ERR_p,field);

end

DECODED = message;

%---Subroutine mencari error locator polynomial dgn BMA----%

function sigma = BMA(n,k,t,S,field)

%Step 2: Inisialisasi variabel kk = 0;

for i = 1:n

Kappa(1,i) = -Inf; end

Kappa(1,1) = 0; %Kappa=>?(0)(x)=1

%shift register L = 0;

%C(x)= x C = [-inf 0];

done = 0;

%Step 3:

(14)

Universitas Kristern Maranatha sum = -Inf;

for i = 1:L %Kappa(kk,i+1) %S(kk-i)

sum = gfadd(sum,gfmul(Kappa(kk,i+1),S(kk-i),field),field); end

%discrepancy ->pers.2.14

discrepancy(kk) = gfadd(S(kk),sum,field);

%Step 4:

if (discrepancy(kk) == -Inf) for i = 1:n

Kappa(kk+1,i) = Kappa(kk,i); end

end

if (discrepancy(kk) ~= -Inf) for i = 1:n

Kappa_i(i) = Kappa(kk-1+1,i); end

Kappa_k = gfadd(Kappa_i,gfconv(discrepancy(kk),C,field),field);

while length(Kappa_k) < n Kappa_k = [Kappa_k -Inf]; end

for i = 1:length(Kappa_k)

Kappa(kk+1,i) = Kappa_k(i); end

%Step 7: if (2*L < kk)

L = kk - L; for i = 1:n

Kappa_k(i) = Kappa(kk+1-1,i); end

C = gfconv(Kappa_k,gfdiv(0,discrepancy(kk),field),field); end

end

%Step 8:

C = gfconv([-Inf 0],C,field);

%step 9: if kk >= 2*t done = 1; end

end

for i = 1:n

sigma(i) = Kappa(kk+1,i); end

%---Subroutine pendekodean dgn algoritma PGZ---%

(15)

Universitas Kristern Maranatha %*****************Menghitung nilai sindrom***********************% S = [];

%Substitusi nilai alpha^i dari tiap polinomial yg diterima for ii = 1:2*t

S(ii)= -Inf; for cc = 1:n

S(ii) = gfadd(S(ii),gfmul(received(cc),gfpow(ii,cc-1,n),field) ,field); %Sum all the terms

end end

%Periksa apakah nilai semua sindrom = 0,Jika semua nilai sindrom 0, artinya tidak terjadi error

for i = 1:2*t

pol_tes(i) = -Inf; end

if all (S == pol_tes) message = received; else

%******Hitung Error Locator Polynomial dengan algoritma PGZ******% sigma= PGZ(n,k,t,S,field);

%*Mencari nilai akar dr error locator polynomial dgn Chien search% akar_polinomial = [];

kk = 0;

for ii = 0:n-1 error_r = -Inf;

for cc = 1:length(sigma)

error_r = gfadd(error_r,gfmul(sigma(cc),gfpow(ii,cc-1,n),field), field); %Sum all the terms

end

if error_r == -Inf kk = kk + 1;

akar_polinomial(kk) = ii; end

end

% Mengecek nilai akar adalah real dengan Membentuk kembali error % locator polynomial dgn mengalikan tiap akar yg didapat

% Lalu bagi error locator polynomial dgn polinomial_tes

% Jika panjang sisa hasil bagi lbh dr 1 maka akar tidak real pol_tes = 0;

for ii = 1:length(akar_polinomial)

pol_tes = gfconv(pol_tes,[akar_polinomial(ii) 0],field);

end

[QQ,RR] = gfdeconv(sigma,pol_tes,field); if length(QQ) > 1

(16)

Universitas Kristern Maranatha end

%Mencari posisi error lokasi_error = [];

for ii = 1:length(akar_polinomial)

lokasi_error(ii) = gfdiv(0,akar_polinomial(ii),field); end

%disusun dari posisi terendah lokasi_error=sort(lokasi_error);

%*******Menghitung Error Magnitude dgn menyusun Matriks Be*******% for ii=1:length(akar_polinomial)

for jj=1:length(akar_polinomial)

Be(ii,jj)=mod(lokasi_error(jj)*ii,n); end

end

%Mencari besar error jika hanya terjadi 1 error if(length(akar_polinomial)==1)

besar_error(1)=gfdiv(S(1),sigma(2),field);

else

determinan=deter(Be,field); kofaktor=kofak(Be,field); Adj=kofaktor';

mydets=abs(determinan);

%Nilai invers matriks [q,z]=size(Be);

for a=1:q for d=1:z

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

%Mencari besar error dari brp banyak error yg terjadi if(length(akar_polinomial)==2)

besar_error(1)=gfadd(gfconv(Adj(1,1),S(1),field),gfconv(Adj(1,2),S (2),field),field);

besar_error(2)=gfadd(gfconv(Adj(2,1),S(1),field),gfconv(Adj(2,2),S (2),field),field);

else if(length(akar_polinomial)==3)

besar_error(1)=gfadd(gfadd(gfconv(Adj(1,1),S(1),field),gfconv(Adj( 1,2),S(2),field),field),gfconv(Adj(1,3),S(3),field),field); besar_error(2)=gfadd(gfadd(gfconv(Adj(2,1),S(1),field),gfconv(Adj( 2,2),S(2),field),field),gfconv(Adj(2,3),S(3),field),field); besar_error(3)=gfadd(gfadd(gfconv(Adj(3,1),S(1),field),gfconv(Adj( 3,2),S(2),field),field),gfconv(Adj(3,3),S(3),field),field);

(17)

Universitas Kristern Maranatha else if(length(akar_polinomial)==4)

besar_error(1)=gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(1),field),gfcon v(Adj(1,2),S(2),field),field),gfconv(Adj(1,3),S(3),field),field),g fconv(Adj(1,4),S(4),field),field);

besar_error(2)=gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(1),field),gfcon v(Adj(2,2),S(2),field),field),gfconv(Adj(2,3),S(3),field),field),g fconv(Adj(2,4),S(4),field),field);

besar_error(3)=gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(1),field),gfcon v(Adj(3,2),S(2),field),field),gfconv(Adj(3,3),S(3),field),field),g fconv(Adj(3,4),S(4),field),field);

besar_error(4)=gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(1),field),gfcon v(Adj(4,2),S(2),field),field),gfconv(Adj(4,3),S(3),field),field),g fconv(Adj(4,4),S(4),field),field);

else if(length(akar_polinomial)==5)

besar_error(1)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(1),field) ,gfconv(Adj(1,2),S(2),field),field),gfconv(Adj(1,3),S(3),field),fi eld),gfconv(Adj(1,4),S(4),field),field),gfconv(Adj(1,5),S(5),field ),field);

besar_error(2)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(1),field) ,gfconv(Adj(2,2),S(2),field),field),gfconv(Adj(2,3),S(3),field),fi eld),gfconv(Adj(2,4),S(4),field),field),gfconv(Adj(2,5),S(5),field ),field);

besar_error(3)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(1),field) ,gfconv(Adj(3,2),S(2),field),field),gfconv(Adj(3,3),S(3),field),fi eld),gfconv(Adj(3,4),S(4),field),field),gfconv(Adj(3,5),S(5),field ),field);

besar_error(4)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(1),field) ,gfconv(Adj(4,2),S(2),field),field),gfconv(Adj(4,3),S(3),field),fi eld),gfconv(Adj(4,4),S(4),field),field),gfconv(Adj(4,5),S(5),field ),field);

besar_error(5)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1),S(1),field) ,gfconv(Adj(5,2),S(2),field),field),gfconv(Adj(5,3),S(3),field),fi eld),gfconv(Adj(5,4),S(4),field),field),gfconv(Adj(5,5),S(5),field ),field);

else if(length(akar_polinomial)==6)

besar_error(1)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(1), field),gfconv(Adj(1,2),S(2),field),field),gfconv(Adj(1,3),S(3),fie ld),field),gfconv(Adj(1,4),S(4),field),field),gfconv(Adj(1,5),S(5) ,field),field),gfconv(Adj(1,6),S(6),field),field);

besar_error(2)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(1), field),gfconv(Adj(2,2),S(2),field),field),gfconv(Adj(2,3),S(3),fie ld),field),gfconv(Adj(2,4),S(4),field),field),gfconv(Adj(2,5),S(5) ,field),field),gfconv(Adj(2,6),S(6),field),field);

(18)

Universitas Kristern Maranatha besar_error(4)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(1), field),gfconv(Adj(4,2),S(2),field),field),gfconv(Adj(4,3),S(3),fie ld),field),gfconv(Adj(4,4),S(4),field),field),gfconv(Adj(4,5),S(5) ,field),field),gfconv(Adj(4,6),S(6),field),field);

besar_error(5)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1),S(1), field),gfconv(Adj(5,2),S(2),field),field),gfconv(Adj(5,3),S(3),fie ld),field),gfconv(Adj(5,4),S(4),field),field),gfconv(Adj(5,5),S(5) ,field),field),gfconv(Adj(5,6),S(6),field),field);

besar_error(6)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(6,1),S(1), field),gfconv(Adj(6,2),S(2),field),field),gfconv(Adj(6,3),S(3),fie ld),field),gfconv(Adj(6,4),S(4),field),field),gfconv(Adj(6,5),S(5) ,field),field),gfconv(Adj(6,6),S(6),field),field);

else if(length(akar_polinomial)==7)

besar_error(1)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1) ,S(1),field),gfconv(Adj(1,2),S(2),field),field),gfconv(Adj(1,3),S( 3),field),field),gfconv(Adj(1,4),S(4),field),field),gfconv(Adj(1,5 ),S(5),field),field),gfconv(Adj(1,6),S(6),field),field),gfconv(Adj (1,7),S(7),field),field);

besar_error(2)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1) ,S(1),field),gfconv(Adj(2,2),S(2),field),field),gfconv(Adj(2,3),S( 3),field),field),gfconv(Adj(2,4),S(4),field),field),gfconv(Adj(2,5 ),S(5),field),field),gfconv(Adj(2,6),S(6),field),field),gfconv(Adj (2,7),S(7),field),field);

besar_error(3)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1) ,S(1),field),gfconv(Adj(3,2),S(2),field),field),gfconv(Adj(3,3),S( 3),field),field),gfconv(Adj(3,4),S(4),field),field),gfconv(Adj(3,5 ),S(5),field),field),gfconv(Adj(3,6),S(6),field),field),gfconv(Adj (3,7),S(7),field),field);

besar_error(4)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1) ,S(1),field),gfconv(Adj(4,2),S(2),field),field),gfconv(Adj(4,3),S( 3),field),field),gfconv(Adj(4,4),S(4),field),field),gfconv(Adj(4,5 ),S(5),field),field),gfconv(Adj(4,6),S(6),field),field),gfconv(Adj (4,7),S(7),field),field);

besar_error(5)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1) ,S(1),field),gfconv(Adj(5,2),S(2),field),field),gfconv(Adj(5,3),S( 3),field),field),gfconv(Adj(5,4),S(4),field),field),gfconv(Adj(5,5 ),S(5),field),field),gfconv(Adj(5,6),S(6),field),field),gfconv(Adj (5,7),S(7),field),field);

besar_error(6)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(6,1) ,S(1),field),gfconv(Adj(6,2),S(2),field),field),gfconv(Adj(6,3),S( 3),field),field),gfconv(Adj(6,4),S(4),field),field),gfconv(Adj(6,5 ),S(5),field),field),gfconv(Adj(6,6),S(6),field),field),gfconv(Adj (6,7),S(7),field),field);

(19)

Universitas Kristern Maranatha ),S(5),field),field),gfconv(Adj(7,6),S(6),field),field),gfconv(Adj (7,7),S(7),field),field);

else if(length(akar_polinomial)==8)

besar_error(1)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Ad j(1,1),S(1),field),gfconv(Adj(1,2),S(2),field),field),gfconv(Adj(1 ,3),S(3),field),field),gfconv(Adj(1,4),S(4),field),field),gfconv(A dj(1,5),S(5),field),field),gfconv(Adj(1,6),S(6),field),field),gfco nv(Adj(1,7),S(7),field),field),gfconv(Adj(1,8),S(8),field),field);

besar_error(2)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Ad j(2,1),S(1),field),gfconv(Adj(2,2),S(2),field),field),gfconv(Adj(2 ,3),S(3),field),field),gfconv(Adj(2,4),S(4),field),field),gfconv(A dj(2,5),S(5),field),field),gfconv(Adj(2,6),S(6),field),field),gfco nv(Adj(2,7),S(7),field),field),gfconv(Adj(2,8),S(8),field),field);

besar_error(3)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Ad j(3,1),S(1),field),gfconv(Adj(3,2),S(2),field),field),gfconv(Adj(3 ,3),S(3),field),field),gfconv(Adj(3,4),S(4),field),field),gfconv(A dj(3,5),S(5),field),field),gfconv(Adj(3,6),S(6),field),field),gfco nv(Adj(3,7),S(7),field),field),gfconv(Adj(3,8),S(8),field),field);

besar_error(4)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Ad j(4,1),S(1),field),gfconv(Adj(4,2),S(2),field),field),gfconv(Adj(4 ,3),S(3),field),field),gfconv(Adj(4,4),S(4),field),field),gfconv(A dj(4,5),S(5),field),field),gfconv(Adj(4,6),S(6),field),field),gfco nv(Adj(4,7),S(7),field),field),gfconv(Adj(4,8),S(8),field),field);

besar_error(5)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Ad j(5,1),S(1),field),gfconv(Adj(5,2),S(2),field),field),gfconv(Adj(5 ,3),S(3),field),field),gfconv(Adj(5,4),S(4),field),field),gfconv(A dj(5,5),S(5),field),field),gfconv(Adj(5,6),S(6),field),field),gfco nv(Adj(5,7),S(7),field),field),gfconv(Adj(5,8),S(8),field),field);

besar_error(6)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Ad j(6,1),S(1),field),gfconv(Adj(6,2),S(2),field),field),gfconv(Adj(6 ,3),S(3),field),field),gfconv(Adj(6,4),S(4),field),field),gfconv(A dj(6,5),S(5),field),field),gfconv(Adj(6,6),S(6),field),field),gfco nv(Adj(6,7),S(7),field),field),gfconv(Adj(6,8),S(8),field),field);

besar_error(7)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Ad j(7,1),S(1),field),gfconv(Adj(7,2),S(2),field),field),gfconv(Adj(7 ,3),S(3),field),field),gfconv(Adj(7,4),S(4),field),field),gfconv(A dj(7,5),S(5),field),field),gfconv(Adj(7,6),S(6),field),field),gfco nv(Adj(7,7),S(7),field),field),gfconv(Adj(7,8),S(8),field),field);

besar_error(8)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Ad j(8,1),S(1),field),gfconv(Adj(8,2),S(2),field),field),gfconv(Adj(8 ,3),S(3),field),field),gfconv(Adj(8,4),S(4),field),field),gfconv(A dj(8,5),S(5),field),field),gfconv(Adj(8,6),S(6),field),field),gfco nv(Adj(8,7),S(7),field),field),gfconv(Adj(8,8),S(8),field),field); end

(20)

Universitas Kristern Maranatha end

end end

%Menyusun polinomial error sesuai lokasi dan error magnitude for ii = 1:n

ERR_p(ii) = -Inf; end

for ii = 1:length(lokasi_error) pp = lokasi_error(ii);

ERR_p(pp+1) = besar_error(ii); end

% kode RS yang diterima lalu dijumlahkan dengan polinomial error

% untuk mendapatkan kode RS yang sama dengan yg dikirim message = gfadd(received,ERR_p,field);

end

DECODED = message;

%*Subroutine mencari error locator polynomial dgn algoritma PGZ**% function sigma= PGZ(n,k,t,S,field)

%Menyusun matriks sindrom c=0;

for i = 1:t for j = 1:t

M(i,j)=S(j+c); end

c=c+1; end

for i = 1:n

Kappa(1,i) = -Inf; end

Kappa(1,1)=0;

%******************************* if (t==1)

Sigma(1) = gfdeconv(S(2),S(1),field); Kappa(1,2)=Sigma(1);

elseif(t==2)

%Hitung nilai determinan matriks 2x2 determinan = deter(M,field);

if (determinan==-inf)

Sigma(1)=gfdeconv(S(2),S(1),field); Kappa(1,2)=Sigma(1);

else

%****mencari nilai invers matriks sindrom****% kofaktor=kof(M,S,field);

Adj=kofaktor'; %adjoin adalah tranpose kofaktornya mydets=abs(determinan);

(21)

Universitas Kristern Maranatha Adj(1,1)=gfdeconv(Adj(1,1),mydets,field);

Adj(2,2)=gfdeconv(Adj(2,2),mydets,field); Adj(1,2)=gfdeconv(Adj(1,2),mydets,field);

Adj(2,1)=gfdeconv(Adj(2,1),mydets,field);

Sigma(2)=gfadd(gfconv(Adj(1,1),S(3),field),gfconv(Adj(1,2),S(4),fi eld),field);

Sigma(1)=gfadd(gfconv(Adj(2,1),S(3),field),gfconv(Adj(2,2),S(4),fi eld),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); end

elseif(t==3)

%hitung nilai determinan 3x3 determinan = deter(M,field); if(determinan==-inf)

[n,m]=size(M); n1=n-1;

m1=m-1;

B=zeros(2,2); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end M=B; %Matriks 2x2

determinan=deter(M,field);

if(determinan==-inf)

Sigma(1)=gfdeconv(S(2),S(1),field); Kappa(1,2)=Sigma(1);

else

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan);

Adj(1,1)=gfdeconv(Adj(1,1),mydets,field); Adj(2,2)=gfdeconv(Adj(2,2),mydets,field); Adj(1,2)=gfdeconv(Adj(1,2),mydets,field);

Adj(2,1)=gfdeconv(Adj(2,1),mydets,field); Sigma(2)=gfadd(gfconv(Adj(1,1),S(3),field),gfconv(Adj(1,2),S(4),fi

eld),field);

Sigma(1)=gfadd(gfconv(Adj(2,1),S(3),field),gfconv(Adj(2,2),S(4),fi eld),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); end else

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:3

for d=1:3

(22)

Universitas Kristern Maranatha end

Sigma(3)=gfadd(gfadd(gfconv(Adj(1,1),S(4),field),gfconv(Adj(1,2),S (5),field),field),gfconv(Adj(1,3),S(6),field),field);

Sigma(2)=gfadd(gfadd(gfconv(Adj(2,1),S(4),field),gfconv(Adj(2,2),S (5),field),field),gfconv(Adj(2,3),S(6),field),field);

Sigma(1)=gfadd(gfadd(gfconv(Adj(3,1),S(4),field),gfconv(Adj(3,2),S (5),field),field),gfconv(Adj(3,3),S(6),field),field); Kappa(1,2)=Sigma(1);

Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); end

elseif(t==4)

%hitung nilai determinan 4x4 determinan = deter(M,field); if(determinan==-inf)

[n,m]=size(M); n1=n-1;

m1=m-1;

B=zeros(3,3); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end M=B;

determinan=deter(M,field); if(determinan==-inf) [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(2,2); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end M=B; %Matrik 2x2

determinan=deter(M,field);

if(determinan==-inf) Sigma(1)=gfdeconv(S(2),S(1),field); Kappa(1,2)=Sigma(1);

else

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan);

Adj(1,1)=gfdeconv(Adj(1,1),mydets,field); Adj(2,2)=gfdeconv(Adj(2,2),mydets,field); Adj(1,2)=gfdeconv(Adj(1,2),mydets,field);

Adj(2,1)=gfdeconv(Adj(2,1),mydets,field); Sigma(2)=gfadd(gfconv(Adj(1,1),S(3),field),gfconv(Adj(1,2),S(4),fi

(23)

Universitas Kristern Maranatha Sigma(1)=gfadd(gfconv(Adj(2,1),S(3),field),gfconv(Adj(2,2),S(4),fi eld),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); end

else

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:3

for d=1:3

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(3)=gfadd(gfadd(gfconv(Adj(1,1),S(4),field),gfconv(Adj(1,2),S (5),field),field),gfconv(Adj(1,3),S(6),field),field);

Sigma(2)=gfadd(gfadd(gfconv(Adj(2,1),S(4),field),gfconv(Adj(2,2),S (5),field),field),gfconv(Adj(2,3),S(6),field),field);

Sigma(1)=gfadd(gfadd(gfconv(Adj(3,1),S(4),field),gfconv(Adj(3,2),S (5),field),field),gfconv(Adj(3,3),S(6),field),field); Kappa(1,2)=Sigma(1);

Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); end else

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:4

for d=1:4

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(4)=gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(5),field),gfconv(Adj( 1,2),S(6),field),field),gfconv(Adj(1,3),S(7),field),field),gfconv( Adj(1,4),S(8),field),field);

Sigma(3)=gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(5),field),gfconv(Adj( 2,2),S(6),field),field),gfconv(Adj(2,3),S(7),field),field),gfconv( Adj(2,4),S(8),field),field);

Sigma(2)=gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(5),field),gfconv(Adj( 3,2),S(6),field),field),gfconv(Adj(3,3),S(7),field),field),gfconv( Adj(3,4),S(8),field),field);

Sigma(1)=gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(5),field),gfconv(Adj( 4,2),S(6),field),field),gfconv(Adj(4,3),S(7),field),field),gfconv( Adj(4,4),S(8),field),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); end

(24)

Universitas Kristern Maranatha elseif(t==5)

%hitung nilai determinan 5x5 determinan = deter(M,field);

if(determinan==-inf) %Ubah jadi matriks 4x4 [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(4,4); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end

M=B;

determinan=deter(M,field); if(determinan==-inf) [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(3,3); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end M=B;

%Matrik 2x2

determinan=deter(M,field); if(determinan==-inf)

[n,m]=size(M); n1=n-1;

m1=m-1;

B=zeros(2,2); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end M=B;

determinan=deter(M,field); if(determinan==-inf)

Sigma(1)=gfdeconv(S(2),S(1),field); Kappa(1,2)=Sigma(1); else %terdapat 2 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan);

Adj(1,1)=gfdeconv(Adj(1,1),mydets,field); Adj(2,2)=gfdeconv(Adj(2,2),mydets,field); Adj(1,2)=gfdeconv(Adj(1,2),mydets,field);

Adj(2,1)=gfdeconv(Adj(2,1),mydets,field); Sigma(2)=gfadd(gfconv(Adj(1,1),S(3),field),gfconv(Adj(1,2),S(4),fi

eld),field);

Sigma(1)=gfadd(gfconv(Adj(2,1),S(3),field),gfconv(Adj(2,2),S(4),fi eld),field);

(25)

Universitas Kristern Maranatha Kappa(1,3)=Sigma(2);

end

else %terdapat 3 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:3

for d=1:3

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(3)=gfadd(gfadd(gfconv(Adj(1,1),S(4),field),gfconv(Adj(1,2),S (5),field),field),gfconv(Adj(1,3),S(6),field),field);

Sigma(2)=gfadd(gfadd(gfconv(Adj(2,1),S(4),field),gfconv(Adj(2,2),S (5),field),field),gfconv(Adj(2,3),S(6),field),field);

Sigma(1)=gfadd(gfadd(gfconv(Adj(3,1),S(4),field),gfconv(Adj(3,2),S (5),field),field),gfconv(Adj(3,3),S(6),field),field); Kappa(1,2)=Sigma(1);

Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); end

else %terdapat 4 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:4

for d=1:4

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(4)=gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(5),field),gfconv(Adj( 1,2),S(6),field),field),gfconv(Adj(1,3),S(7),field),field),gfconv( Adj(1,4),S(8),field),field);

Sigma(3)=gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(5),field),gfconv(Adj( 2,2),S(6),field),field),gfconv(Adj(2,3),S(7),field),field),gfconv( Adj(2,4),S(8),field),field);

Sigma(2)=gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(5),field),gfconv(Adj( 3,2),S(6),field),field),gfconv(Adj(3,3),S(7),field),field),gfconv( Adj(3,4),S(8),field),field);

Sigma(1)=gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(5),field),gfconv(Adj( 4,2),S(6),field),field),gfconv(Adj(4,3),S(7),field),field),gfconv( Adj(4,4),S(8),field),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); end

else %terdapat 5 error kofaktor=kof(M,S,field); Adj=kofaktor';

(26)

Universitas Kristern Maranatha for a=1:5

for d=1:5

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(5)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(6),field),gfcon v(Adj(1,2),S(7),field),field),gfconv(Adj(1,3),S(8),field),field),g fconv(Adj(1,4),S(9),field),field),gfconv(Adj(1,5),S(10),field),fie ld);

Sigma(4)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(6),field),gfcon v(Adj(2,2),S(7),field),field),gfconv(Adj(2,3),S(8),field),field),g fconv(Adj(2,4),S(9),field),field),gfconv(Adj(2,5),S(10),field),fie ld);

Sigma(3)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(6),field),gfcon v(Adj(3,2),S(7),field),field),gfconv(Adj(3,3),S(8),field),field),g fconv(Adj(3,4),S(9),field),field),gfconv(Adj(3,5),S(10),field),fie ld);

Sigma(2)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(6),field),gfcon v(Adj(4,2),S(7),field),field),gfconv(Adj(4,3),S(8),field),field),g fconv(Adj(4,4),S(9),field),field),gfconv(Adj(4,5),S(10),field),fie ld);

Sigma(1)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1),S(6),field),gfcon v(Adj(5,2),S(7),field),field),gfconv(Adj(5,3),S(8),field),field),g fconv(Adj(5,4),S(9),field),field),gfconv(Adj(5,5),S(10),field),fie ld);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); Kappa(1,6)=Sigma(5); end

elseif(t==6)

determinan = deter(M,field);

if(determinan==-inf) %Ubah jadi matriks 5x5 [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(5,5); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end M=B;

determinan=deter(M,field); if(determinan==-inf) [n,m]=size(M);

n1=n-1; m1=m-1;

(27)

Universitas Kristern Maranatha for j=1:m1

B(i,j)=M(i,j); end

end M=B;

%Matrik 3x3

determinan=deter(M,field); if(determinan==-inf)

[n,m]=size(M); n1=n-1;

m1=m-1;

B=zeros(3,3); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end

if(determinan==-inf) [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(2,2); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end

M=B;

determinan=deter(M,field);

if(determinan==-inf) %hanya terdapat 1 error Sigma(1)=gfdeconv(S(2),S(1),field);

Kappa(1,2)=Sigma(1);

\

else %terdapat 2 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan);

Adj(1,1)=gfdeconv(Adj(1,1),mydets,field); Adj(2,2)=gfdeconv(Adj(2,2),mydets,field); Adj(1,2)=gfdeconv(Adj(1,2),mydets,field); Adj(2,1)=gfdeconv(Adj(2,1),mydets,field);

Sigma(2)=gfadd(gfconv(Adj(1,1),S(3),field),gfconv(Adj(1,2),S(4),fi eld),field);

Sigma(1)=gfadd(gfconv(Adj(2,1),S(3),field),gfconv(Adj(2,2),S(4),fi eld),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); end

else %terdapat 3 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:3

for d=1:3

(28)

Universitas Kristern Maranatha end

end

Sigma(3)=gfadd(gfadd(gfconv(Adj(1,1),S(4),field),gfconv(Adj(1,2),S (5),field),field),gfconv(Adj(1,3),S(6),field),field);

Sigma(2)=gfadd(gfadd(gfconv(Adj(2,1),S(4),field),gfconv(Adj(2,2),S (5),field),field),gfconv(Adj(2,3),S(6),field),field);

Sigma(1)=gfadd(gfadd(gfconv(Adj(3,1),S(4),field),gfconv(Adj(3,2),S (5),field),field),gfconv(Adj(3,3),S(6),field),field); Kappa(1,2)=Sigma(1);

Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); end

else %terdapat 4 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:4

for d=1:4

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(4)=gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(5),field),gfconv(Adj( 1,2),S(6),field),field),gfconv(Adj(1,3),S(7),field),field),gfconv( Adj(1,4),S(8),field),field);

Sigma(3)=gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(5),field),gfconv(Adj( 2,2),S(6),field),field),gfconv(Adj(2,3),S(7),field),field),gfconv( Adj(2,4),S(8),field),field);

Sigma(2)=gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(5),field),gfconv(Adj( 3,2),S(6),field),field),gfconv(Adj(3,3),S(7),field),field),gfconv( Adj(3,4),S(8),field),field);

Sigma(1)=gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(5),field),gfconv(Adj( 4,2),S(6),field),field),gfconv(Adj(4,3),S(7),field),field),gfconv( Adj(4,4),S(8),field),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); end

else %terdapat 5 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:5

for d=1:5

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

(29)

Universitas Kristern Maranatha

Sigma(4)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(6),field),gfcon v(Adj(2,2),S(7),field),field),gfconv(Adj(2,3),S(8),field),field),g fconv(Adj(2,4),S(9),field),field),gfconv(Adj(2,5),S(10),field),fie ld);

Sigma(3)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(6),field),gfcon v(Adj(3,2),S(7),field),field),gfconv(Adj(3,3),S(8),field),field),g fconv(Adj(3,4),S(9),field),field),gfconv(Adj(3,5),S(10),field),fie ld);

Sigma(2)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(6),field),gfcon v(Adj(4,2),S(7),field),field),gfconv(Adj(4,3),S(8),field),field),g fconv(Adj(4,4),S(9),field),field),gfconv(Adj(4,5),S(10),field),fie ld);

Sigma(1)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1),S(6),field),gfcon v(Adj(5,2),S(7),field),field),gfconv(Adj(5,3),S(8),field),field),g fconv(Adj(5,4),S(9),field),field),gfconv(Adj(5,5),S(10),field),fie ld);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); Kappa(1,6)=Sigma(5);

end else %terdapat 6 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:6

for d=1:6

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(6)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(7),field) ,gfconv(Adj(1,2),S(8),field),field),gfconv(Adj(1,3),S(9),field),fi eld),gfconv(Adj(1,4),S(10),field),field),gfconv(Adj(1,5),S(11),fie ld),field),gfconv(Adj(1,6),S(12),field),field);

Sigma(5)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(7),field) ,gfconv(Adj(2,2),S(8),field),field),gfconv(Adj(2,3),S(9),field),fi eld),gfconv(Adj(2,4),S(10),field),field),gfconv(Adj(2,5),S(11),fie ld),field),gfconv(Adj(2,6),S(12),field),field);

Sigma(4)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(7),field) ,gfconv(Adj(3,2),S(8),field),field),gfconv(Adj(3,3),S(9),field),fi eld),gfconv(Adj(3,4),S(10),field),field),gfconv(Adj(3,5),S(11),fie ld),field),gfconv(Adj(3,6),S(12),field),field);

Sigma(3)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(7),field) ,gfconv(Adj(4,2),S(8),field),field),gfconv(Adj(4,3),S(9),field),fi eld),gfconv(Adj(4,4),S(10),field),field),gfconv(Adj(4,5),S(11),fie ld),field),gfconv(Adj(4,6),S(12),field),field);

(30)

Universitas Kristern Maranatha ,gfconv(Adj(5,2),S(8),field),field),gfconv(Adj(5,3),S(9),field),fi eld),gfconv(Adj(5,4),S(10),field),field),gfconv(Adj(5,5),S(11),fie ld),field),gfconv(Adj(5,6),S(12),field),field);

Sigma(1)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(6,1),S(7),field) ,gfconv(Adj(6,2),S(8),field),field),gfconv(Adj(6,3),S(9),field),fi eld),gfconv(Adj(6,4),S(10),field),field),gfconv(Adj(6,5),S(11),fie ld),field),gfconv(Adj(6,6),S(12),field),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); Kappa(1,6)=Sigma(5); Kappa(1,7)=Sigma(6); end

elseif(t==7)

determinan = deter(M,field);

if(determinan==-inf) %Ubah jadi matriks 6x6 [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(6,6); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end M=B;

determinan=deter(M,field); if(determinan==-inf) [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(5,5); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end M=B;

%Matrik 4x4

determinan=deter(M,field); if(determinan==-inf)

[n,m]=size(M); n1=n-1;

m1=m-1;

B=zeros(4,4); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end

M=B;

determinan=deter(M,field);

(31)

Universitas Kristern Maranatha [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(3,3); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end

M=B;

determinan=deter(M,field);

if(determinan==-inf) %ubah jadi matrik 2x2 [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(2,2); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end

M=B;

determinan=deter(M,field); if(determinan==-inf) %hanya terdapat 1 error

Sigma(1)=gfdeconv(S(2),S(1),field);%Hanya 1 error yg terjadi

Kappa(1,2)=Sigma(1); else %terdapat 2 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan);

Adj(1,1)=gfdeconv(Adj(1,1),mydets,field); Adj(2,2)=gfdeconv(Adj(2,2),mydets,field); Adj(1,2)=gfdeconv(Adj(1,2),mydets,field); Adj(2,1)=gfdeconv(Adj(2,1),mydets,field);

Sigma(2)=gfadd(gfconv(Adj(1,1),S(3),field),gfconv(Adj(1,2),S(4),fi eld),field);

Sigma(1)=gfadd(gfconv(Adj(2,1),S(3),field),gfconv(Adj(2,2),S(4),fi eld),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); end

else %terdapat 3 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:3

for d=1:3

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(3)=gfadd(gfadd(gfconv(Adj(1,1),S(4),field),gfconv(Adj(1,2),S (5),field),field),gfconv(Adj(1,3),S(6),field),field);

(32)

Universitas Kristern Maranatha

Sigma(1)=gfadd(gfadd(gfconv(Adj(3,1),S(4),field),gfconv(Adj(3,2),S (5),field),field),gfconv(Adj(3,3),S(6),field),field); Kappa(1,2)=Sigma(1);

Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); end

else %terdapat 4 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:4

for d=1:4

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(4)=gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(5),field),gfconv(Adj( 1,2),S(6),field),field),gfconv(Adj(1,3),S(7),field),field),gfconv( Adj(1,4),S(8),field),field);

Sigma(3)=gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(5),field),gfconv(Adj( 2,2),S(6),field),field),gfconv(Adj(2,3),S(7),field),field),gfconv( Adj(2,4),S(8),field),field);

Sigma(2)=gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(5),field),gfconv(Adj( 3,2),S(6),field),field),gfconv(Adj(3,3),S(7),field),field),gfconv( Adj(3,4),S(8),field),field);

Sigma(1)=gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(5),field),gfconv(Adj( 4,2),S(6),field),field),gfconv(Adj(4,3),S(7),field),field),gfconv( Adj(4,4),S(8),field),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); end

else %terdapat 5 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:5

for d=1:5

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(5)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(6),field),gfcon v(Adj(1,2),S(7),field),field),gfconv(Adj(1,3),S(8),field),field),g fconv(Adj(1,4),S(9),field),field),gfconv(Adj(1,5),S(10),field),fie ld);

Sigma(4)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(6),field),gfcon v(Adj(2,2),S(7),field),field),gfconv(Adj(2,3),S(8),field),field),g fconv(Adj(2,4),S(9),field),field),gfconv(Adj(2,5),S(10),field),fie ld);

(33)

Universitas Kristern Maranatha v(Adj(3,2),S(7),field),field),gfconv(Adj(3,3),S(8),field),field),g fconv(Adj(3,4),S(9),field),field),gfconv(Adj(3,5),S(10),field),fie ld);

Sigma(2)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(6),field),gfcon v(Adj(4,2),S(7),field),field),gfconv(Adj(4,3),S(8),field),field),g fconv(Adj(4,4),S(9),field),field),gfconv(Adj(4,5),S(10),field),fie ld);

Sigma(1)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1),S(6),field),gfcon v(Adj(5,2),S(7),field),field),gfconv(Adj(5,3),S(8),field),field),g fconv(Adj(5,4),S(9),field),field),gfconv(Adj(5,5),S(10),field),fie ld);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); Kappa(1,6)=Sigma(5); end

else %terdapat 6 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:6

for d=1:6

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(6)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(7),field) ,gfconv(Adj(1,2),S(8),field),field),gfconv(Adj(1,3),S(9),field),fi eld),gfconv(Adj(1,4),S(10),field),field),gfconv(Adj(1,5),S(11),fie ld),field),gfconv(Adj(1,6),S(12),field),field);

Sigma(5)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(7),field) ,gfconv(Adj(2,2),S(8),field),field),gfconv(Adj(2,3),S(9),field),fi eld),gfconv(Adj(2,4),S(10),field),field),gfconv(Adj(2,5),S(11),fie ld),field),gfconv(Adj(2,6),S(12),field),field);

Sigma(4)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(7),field) ,gfconv(Adj(3,2),S(8),field),field),gfconv(Adj(3,3),S(9),field),fi eld),gfconv(Adj(3,4),S(10),field),field),gfconv(Adj(3,5),S(11),fie ld),field),gfconv(Adj(3,6),S(12),field),field);

Sigma(3)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(7),field) ,gfconv(Adj(4,2),S(8),field),field),gfconv(Adj(4,3),S(9),field),fi eld),gfconv(Adj(4,4),S(10),field),field),gfconv(Adj(4,5),S(11),fie ld),field),gfconv(Adj(4,6),S(12),field),field);

Sigma(2)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1),S(7),field) ,gfconv(Adj(5,2),S(8),field),field),gfconv(Adj(5,3),S(9),field),fi eld),gfconv(Adj(5,4),S(10),field),field),gfconv(Adj(5,5),S(11),fie ld),field),gfconv(Adj(5,6),S(12),field),field);

(34)

Universitas Kristern Maranatha eld),gfconv(Adj(6,4),S(10),field),field),gfconv(Adj(6,5),S(11),fie ld),field),gfconv(Adj(6,6),S(12),field),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); Kappa(1,6)=Sigma(5); Kappa(1,7)=Sigma(6); end

else %terdapat 7 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:7

for d=1:7

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(7)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(8), field),gfconv(Adj(1,2),S(9),field),field),gfconv(Adj(1,3),S(10),fi eld),field),gfconv(Adj(1,4),S(11),field),field),gfconv(Adj(1,5),S( 12),field),field),gfconv(Adj(1,6),S(13),field),field),gfconv(Adj(1 ,7),S(14),field),field);

Sigma(6)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(8), field),gfconv(Adj(2,2),S(9),field),field),gfconv(Adj(2,3),S(10),fi eld),field),gfconv(Adj(2,4),S(11),field),field),gfconv(Adj(2,5),S( 12),field),field),gfconv(Adj(2,6),S(13),field),field),gfconv(Adj(2 ,7),S(14),field),field);

Sigma(5)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(8), field),gfconv(Adj(3,2),S(9),field),field),gfconv(Adj(3,3),S(10),fi eld),field),gfconv(Adj(3,4),S(11),field),field),gfconv(Adj(3,5),S( 12),field),field),gfconv(Adj(3,6),S(13),field),field),gfconv(Adj(3 ,7),S(14),field),field);

Sigma(4)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(8), field),gfconv(Adj(4,2),S(9),field),field),gfconv(Adj(4,3),S(10),fi eld),field),gfconv(Adj(4,4),S(11),field),field),gfconv(Adj(4,5),S( 12),field),field),gfconv(Adj(4,6),S(13),field),field),gfconv(Adj(4 ,7),S(14),field),field);

Sigma(3)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1),S(8), field),gfconv(Adj(5,2),S(9),field),field),gfconv(Adj(5,3),S(10),fi eld),field),gfconv(Adj(5,4),S(11),field),field),gfconv(Adj(5,5),S( 12),field),field),gfconv(Adj(5,6),S(13),field),field),gfconv(Adj(5 ,7),S(14),field),field);

Sigma(2)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(6,1),S(8), field),gfconv(Adj(6,2),S(9),field),field),gfconv(Adj(6,3),S(10),fi eld),field),gfconv(Adj(6,4),S(11),field),field),gfconv(Adj(6,5),S( 12),field),field),gfconv(Adj(6,6),S(13),field),field),gfconv(Adj(6 ,7),S(14),field),field);

(35)

Universitas Kristern Maranatha 12),field),field),gfconv(Adj(7,6),S(13),field),field),gfconv(Adj(7 ,7),S(14),field),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); Kappa(1,6)=Sigma(5); Kappa(1,7)=Sigma(6); Kappa(1,8)=Sigma(7); end

elseif(t==8)

%hitung nilai determinan 8x8 determinan = deter(M,field);

if(determinan==-inf) %Ubah jadi matriks 7x7 [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(7,7); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end

M=B;

determinan=deter(M,field); if(determinan==-inf) [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(6,6); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end M=B;

%Matrik 5x5

determinan=deter(M,field); if(determinan==-inf)

[n,m]=size(M); n1=n-1;

m1=m-1;

B=zeros(5,5); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end

M=B;

determinan=deter(M,field);

if(determinan==-inf) %ubah jadi matrik 4x4 [n,m]=size(M);

n1=n-1; m1=m-1;

(36)

Universitas Kristern Maranatha for i=1:n1

for j=1:m1

B(i,j)=M(i,j); end

end

M=B;

determinan=deter(M,field);

if(determinan==-inf) %ubah jadi matrik 3x3 [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(3,3); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end

M=B;

determinan=deter(M,field);

if(determinan==-inf) %ubah jadi matrik 2x2 [n,m]=size(M);

n1=n-1; m1=m-1;

B=zeros(2,2); for i=1:n1 for j=1:m1

B(i,j)=M(i,j); end

end

M=B;

determinan=deter(M,field); if(determinan==-inf) %hanya terdapat 1 error

Sigma(1)=gfdeconv(S(2),S(1),field);%Hanya 1 error yg terjadi

Kappa(1,2)=Sigma(1);

else %terdapat 2 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan);

Adj(1,1)=gfdeconv(Adj(1,1),mydets,field); Adj(2,2)=gfdeconv(Adj(2,2),mydets,field); Adj(1,2)=gfdeconv(Adj(1,2),mydets,field); Adj(2,1)=gfdeconv(Adj(2,1),mydets,field);

Sigma(2)=gfadd(gfconv(Adj(1,1),S(3),field),gfconv(Adj(1,2),S(4),fi eld),field);

Sigma(1)=gfadd(gfconv(Adj(2,1),S(3),field),gfconv(Adj(2,2),S(4),fi eld),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); end

else %terdapat 3 error

kofaktor=kof(M,S,field); Adj=kofaktor';

(37)

Universitas Kristern Maranatha for d=1:3

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(3)=gfadd(gfadd(gfconv(Adj(1,1),S(4),field),gfconv(Adj(1,2),S (5),field),field),gfconv(Adj(1,3),S(6),field),field);

Sigma(2)=gfadd(gfadd(gfconv(Adj(2,1),S(4),field),gfconv(Adj(2,2),S (5),field),field),gfconv(Adj(2,3),S(6),field),field);

Sigma(1)=gfadd(gfadd(gfconv(Adj(3,1),S(4),field),gfconv(Adj(3,2),S (5),field),field),gfconv(Adj(3,3),S(6),field),field); Kappa(1,2)=Sigma(1);

Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); end

else %terdapat 4 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:4

for d=1:4

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(4)=gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(5),field),gfconv(Adj( 1,2),S(6),field),field),gfconv(Adj(1,3),S(7),field),field),gfconv( Adj(1,4),S(8),field),field);

Sigma(3)=gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(5),field),gfconv(Adj( 2,2),S(6),field),field),gfconv(Adj(2,3),S(7),field),field),gfconv( Adj(2,4),S(8),field),field);

Sigma(2)=gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(5),field),gfconv(Adj( 3,2),S(6),field),field),gfconv(Adj(3,3),S(7),field),field),gfconv( Adj(3,4),S(8),field),field);

Sigma(1)=gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(5),field),gfconv(Adj( 4,2),S(6),field),field),gfconv(Adj(4,3),S(7),field),field),gfconv( Adj(4,4),S(8),field),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); end

else %terdapat 5 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:5

for d=1:5

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

(38)

Universitas Kristern Maranatha v(Adj(1,2),S(7),field),field),gfconv(Adj(1,3),S(8),field),field),g fconv(Adj(1,4),S(9),field),field),gfconv(Adj(1,5),S(10),field),fie ld);

Sigma(4)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(6),field),gfcon v(Adj(2,2),S(7),field),field),gfconv(Adj(2,3),S(8),field),field),g fconv(Adj(2,4),S(9),field),field),gfconv(Adj(2,5),S(10),field),fie ld);

Sigma(3)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(6),field),gfcon v(Adj(3,2),S(7),field),field),gfconv(Adj(3,3),S(8),field),field),g fconv(Adj(3,4),S(9),field),field),gfconv(Adj(3,5),S(10),field),fie ld);

Sigma(2)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(6),field),gfcon v(Adj(4,2),S(7),field),field),gfconv(Adj(4,3),S(8),field),field),g fconv(Adj(4,4),S(9),field),field),gfconv(Adj(4,5),S(10),field),fie ld);

Sigma(1)=gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1),S(6),field),gfcon v(Adj(5,2),S(7),field),field),gfconv(Adj(5,3),S(8),field),field),g fconv(Adj(5,4),S(9),field),field),gfconv(Adj(5,5),S(10),field),fie ld);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); Kappa(1,6)=Sigma(5);

end else %terdapat 6 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:6

for d=1:6

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(6)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(7),field) ,gfconv(Adj(1,2),S(8),field),field),gfconv(Adj(1,3),S(9),field),fi eld),gfconv(Adj(1,4),S(10),field),field),gfconv(Adj(1,5),S(11),fie ld),field),gfconv(Adj(1,6),S(12),field),field);

Sigma(5)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(7),field) ,gfconv(Adj(2,2),S(8),field),field),gfconv(Adj(2,3),S(9),field),fi eld),gfconv(Adj(2,4),S(10),field),field),gfconv(Adj(2,5),S(11),fie ld),field),gfconv(Adj(2,6),S(12),field),field);

Sigma(4)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(7),field) ,gfconv(Adj(3,2),S(8),field),field),gfconv(Adj(3,3),S(9),field),fi eld),gfconv(Adj(3,4),S(10),field),field),gfconv(Adj(3,5),S(11),fie ld),field),gfconv(Adj(3,6),S(12),field),field);

(39)

Universitas Kristern Maranatha eld),gfconv(Adj(4,4),S(10),field),field),gfconv(Adj(4,5),S(11),fie ld),field),gfconv(Adj(4,6),S(12),field),field);

Sigma(2)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1),S(7),field) ,gfconv(Adj(5,2),S(8),field),field),gfconv(Adj(5,3),S(9),field),fi eld),gfconv(Adj(5,4),S(10),field),field),gfconv(Adj(5,5),S(11),fie ld),field),gfconv(Adj(5,6),S(12),field),field);

Sigma(1)=gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(6,1),S(7),field) ,gfconv(Adj(6,2),S(8),field),field),gfconv(Adj(6,3),S(9),field),fi eld),gfconv(Adj(6,4),S(10),field),field),gfconv(Adj(6,5),S(11),fie ld),field),gfconv(Adj(6,6),S(12),field),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); Kappa(1,6)=Sigma(5); Kappa(1,7)=Sigma(6); end

else %terdapat 7 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:7

for d=1:7

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(7)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1),S(8), field),gfconv(Adj(1,2),S(9),field),field),gfconv(Adj(1,3),S(10),fi eld),field),gfconv(Adj(1,4),S(11),field),field),gfconv(Adj(1,5),S( 12),field),field),gfconv(Adj(1,6),S(13),field),field),gfconv(Adj(1 ,7),S(14),field),field);

Sigma(6)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1),S(8), field),gfconv(Adj(2,2),S(9),field),field),gfconv(Adj(2,3),S(10),fi eld),field),gfconv(Adj(2,4),S(11),field),field),gfconv(Adj(2,5),S( 12),field),field),gfconv(Adj(2,6),S(13),field),field),gfconv(Adj(2 ,7),S(14),field),field);

Sigma(5)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1),S(8), field),gfconv(Adj(3,2),S(9),field),field),gfconv(Adj(3,3),S(10),fi eld),field),gfconv(Adj(3,4),S(11),field),field),gfconv(Adj(3,5),S( 12),field),field),gfconv(Adj(3,6),S(13),field),field),gfconv(Adj(3 ,7),S(14),field),field);

Sigma(4)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(4,1),S(8), field),gfconv(Adj(4,2),S(9),field),field),gfconv(Adj(4,3),S(10),fi eld),field),gfconv(Adj(4,4),S(11),field),field),gfconv(Adj(4,5),S( 12),field),field),gfconv(Adj(4,6),S(13),field),field),gfconv(Adj(4 ,7),S(14),field),field);

(40)

Universitas Kristern Maranatha 12),field),field),gfconv(Adj(5,6),S(13),field),field),gfconv(Adj(5 ,7),S(14),field),field);

Sigma(2)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(6,1),S(8), field),gfconv(Adj(6,2),S(9),field),field),gfconv(Adj(6,3),S(10),fi eld),field),gfconv(Adj(6,4),S(11),field),field),gfconv(Adj(6,5),S( 12),field),field),gfconv(Adj(6,6),S(13),field),field),gfconv(Adj(6 ,7),S(14),field),field);

Sigma(1)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(7,1),S(8), field),gfconv(Adj(7,2),S(9),field),field),gfconv(Adj(7,3),S(10),fi eld),field),gfconv(Adj(7,4),S(11),field),field),gfconv(Adj(7,5),S( 12),field),field),gfconv(Adj(7,6),S(13),field),field),gfconv(Adj(7 ,7),S(14),field),field);

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); Kappa(1,6)=Sigma(5); Kappa(1,7)=Sigma(6); Kappa(1,8)=Sigma(7); end else %terdapat 8 error

kofaktor=kof(M,S,field); Adj=kofaktor';

mydets=abs(determinan); for a=1:8

for d=1:8

Adj(a,d)=gfdeconv(Adj(a,d),mydets,field); end

end

Sigma(8)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(1,1) ,S(9),field),gfconv(Adj(1,2),S(10),field),field),gfconv(Adj(1,3),S (11),field),field),gfconv(Adj(1,4),S(12),field),field),gfconv(Adj( 1,5),S(13),field),field),gfconv(Adj(1,6),S(14),field),field),gfcon v(Adj(1,7),S(15),field),field),gfconv(Adj(1,8),S(16),field),field) ;

Sigma(7)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(2,1) ,S(9),field),gfconv(Adj(2,2),S(10),field),field),gfconv(Adj(2,3),S (11),field),field),gfconv(Adj(2,4),S(12),field),field),gfconv(Adj( 2,5),S(13),field),field),gfconv(Adj(2,6),S(14),field),field),gfcon v(Adj(2,7),S(15),field),field),gfconv(Adj(2,8),S(16),field),field) ;

Sigma(6)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(3,1) ,S(9),field),gfconv(Adj(3,2),S(10),field),field),gfconv(Adj(3,3),S (11),field),field),gfconv(Adj(3,4),S(12),field),field),gfconv(Adj( 3,5),S(13),field),field),gfconv(Adj(3,6),S(14),field),field),gfcon v(Adj(3,7),S(15),field),field),gfconv(Adj(3,8),S(16),field),field) ;

(41)

Universitas Kristern Maranatha v(Adj(4,7),S(15),field),field),gfconv(Adj(4,8),S(16),field),field) ;

Sigma(4)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(5,1) ,S(9),field),gfconv(Adj(5,2),S(10),field),field),gfconv(Adj(5,3),S (11),field),field),gfconv(Adj(5,4),S(12),field),field),gfconv(Adj( 5,5),S(13),field),field),gfconv(Adj(5,6),S(14),field),field),gfcon v(Adj(5,7),S(15),field),field),gfconv(Adj(5,8),S(16),field),field) ;

Sigma(3)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(6,1) ,S(9),field),gfconv(Adj(6,2),S(10),field),field),gfconv(Adj(6,3),S (11),field),field),gfconv(Adj(6,4),S(12),field),field),gfconv(Adj( 6,5),S(13),field),field),gfconv(Adj(6,6),S(14),field),field),gfcon v(Adj(6,7),S(15),field),field),gfconv(Adj(6,8),S(16),field),field) ;

Sigma(2)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(7,1) ,S(9),field),gfconv(Adj(7,2),S(10),field),field),gfconv(Adj(7,3),S (11),field),field),gfconv(Adj(7,4),S(12),field),field),gfconv(Adj( 7,5),S(13),field),field),gfconv(Adj(7,6),S(14),field),field),gfcon v(Adj(7,7),S(15),field),field),gfconv(Adj(7,8),S(16),field),field) ;

Sigma(1)=gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfadd(gfconv(Adj(8,1) ,S(9),field),gfconv(Adj(8,2),S(10),field),field),gfconv(Adj(8,3),S (11),field),field),gfconv(Adj(8,4),S(12),field),field),gfconv(Adj( 8,5),S(13),field),field),gfconv(Adj(8,6),S(14),field),field),gfcon v(Adj(8,7),S(15),field),field),gfconv(Adj(8,8),S(16),field),field) ;

Kappa(1,2)=Sigma(1); Kappa(1,3)=Sigma(2); Kappa(1,4)=Sigma(3); Kappa(1,5)=Sigma(4); Kappa(1,6)=Sigma(5); Kappa(1,7)=Sigma(6); Kappa(1,8)=Sigma(7); Kappa(1,9)=Sigma(8);

end end

%Menyusun error locator polynomial for i = 1:n

(42)

1

Universitas Kristen Maranatha

BAB I

PENDAHULUAN

1.1 Latar Belakang

Pada sistem komunikasi, proses pengiriman data dari sumber ke tujuan

dapat dikatakan baik bila

Referensi

Dokumen terkait

dibanding merek lokal, walaupun dinilai dari segi harga produk The Body Shop kota Padang lebih mahal dibanding kosmetik merek lokal lainnya dan masih

Alhamdulillah, segala puji syukur bagi Allah yang telah melimpahkan rahmat serta hidayahnya sehingga penulis bisa menyelesaikan skripsi dengan judul: “Pengaruh

Sehubungan dengan pelaksanaan Seleksi Umum Prakualifikasi Jasa Konsultansi yang dilaksanakan oleh Pokja ULP Dinas Pekerjaan Umum Kab. Buru Selatan Paket Pekerjaan

3/3/2014 12:49:04 23 tahun Semarang Mahasiswi Mengetahui Batik per daerah saja Menarik Suka Siap Pakai Karena desain baju dan motifnya bagus M otif, Warna Tidak M engetahui -

Skripsi yang berjudul “Peranan Tokoh Masyarakat Dalam Mediasi Konflik (Studi Kasus : Peranan Tokoh Masyarakat Dalam Mediasi Perselisihan Antar Warga Desa Tolang Jae dengan Dusun

Ilmu kimia berperan sangat penting dalam bidang kesehatan, contohnya seperti penemuan obat-obatan yang sangat berguna untuk semua umat manusia.Berikut contoh manfaat kimia dalam

A: Yang mendominasi kursi di DPRD yaitu partai PKB dengan Partai PKB memperoleh 10 kursi, Partai Golkar memperoleh 5 kursi, Partai PDIP memperoleh 3 kursi, Partai PKS memperoleh

Olahan Mangrove II Komunitas Mangrove Bengkulu (KMB) 1 Olahan Buah Mangrove Jenis Pidada Merah ( Sonneratia caseolaris) dan Pidada.. putih ( Sonneratia