GantiB menggan j} S:=M[k] intersect {

i+1=M[v],v=M[i+1],M: [i+1] then : ,M; }: ile T={} and kn do and kn then i+1],M: ,M; d T{} then i+1],M: ,M; d T={} then ,u,[w,M]; us {i}: ,M; ukarRi,m,[w,M]; i+1=M[v],v=M[i+1],M: m:=m-1: M:=subsop v:=v-1: k:=i+1: if i in M S:=M[i+1] minus {i} for j in S do M:=GantiBi,j end do: else T:={ for j wh T:=M[k+1] intersect {i}: k:=k+1: end do: if ki+1 M:=subsopi+1=M[k],k=M[ S:=M[i+1] minus {i}: for j in S do M:=GantiBi,j end do: elif k=n an M:=subsopi+1=M[k],k=M[ S:=M[i+1] minus {i}: for j in S do M:=GantiBi,j end do: elif k=n an u:=maxopM[i+1]: if ui then N:=TukarRi M:=op2,N: S:=M[i+1] min for j in S do M:=GantiBi,j end do: else N:=T M:=op2,N: m:=m-1: M:=subsop v:=v-1: end if: ,M];

2.10 AddMtx menjumlahkan dua matriks.

er: : n:=nopsB: d if: .2.11 DotV menentukan produk titik dua vektor T mod 2;

2.12 MultMtx

mengalikan matriks kolom dengan matriks kolom

m,n,i,j,k,p::integer: :=nopsB:

if: om 1 to p do om 1 to m do -1}: ,S] end if: end if: end if: end if: end if: end do: return[w end proc: 1. AddMtx:=procM::list,N::list local A,B,H::list, m,n::integ A:=op2,M: B:=op2,N: m:=op1,M if mop1,N or nopsAn then returnfalse en H:=[seqAddVA[i],B[i],i=1..n]: return[m,H]; end proc: 1 DotV:=procS::set,T::set local C::integer: C:=nopsS intersect returnC; end proc: 1. MultMtx:=procM::list,N::list local TA,A,B,H::list, S::set, A:=op2,M: B:=op2,N: m:=op1,M: n:=op1,N: p if nnopsA then returnfalse end TA:=op2,TrpsCM: H:=[]: for i fr S:={}: for j fr k:=DotVTA[j],B[i]: if k=1 then S:={opS,j end if: end do: H:=[opH ,H];

2.13 InkodG mengkoding vektor pesan P menjadi vektor katakode C

Inkod ,p::integer: P]]:

2.14 ParG menentukan vektor paritas X dari vektor pesan P menggunakan

enjadi r C = P|X a ParG: er: -1}: ; .2.15 InkodS mengkoding vektor pesan P menjadi vektor katakode C m hal ini P InkodS:=procP::set,B::list,k::posint +i-1}: end do: return[m end proc: 1. menggunakan matriks generator umum G berordo kxn. G:=procP::set,G::list local A,B,C::list, H::set, k k:=op1,G: A:=TrpsC[k,[ B:=MultMtxA,G: C:=TrpsCB: H:=opC[2]: returnH; end proc: 1. matriks generator bentuk standar dalam hal ini P dan B m input, dan X adalah output. Vekto dalah katakode dari pesan P. =procP::set,B::list local S::set, r,i,s::integ r:= nopsB: S:={}: for i from 1 to r do s:=DotVP,B[i]: if s=1 then S:={opS,i end if: end do: returnS end proc: 1 menggunakan matriks generator bentuk standar dala dan B menjadi input local S::set, r,i,s::integer: r:= nopsB: S:=P: for i from 1 to r do s:=DotVP,B[i]: if s=1 then S:={opS,k ;

2.16 HmDist menentukan jarak Hamming dua vektor

;

2.17 NonZeroWt menentukan bobot tak-nol dari suatu kode yang

NonZe ,k::integer: Wt:={}: o }: ; .3 Pendefinisian Prosedur yang digunakan untuk konstruksi Kode Optimal . 1.3.1 ombinM menentukan list semua kombinasi j vektor dari vektor-vektor M Kombi i,k::integer: ,j: N do S do end if: end do: returnS end proc: 1. HmDist:=procS::set,T::set local C::set: C:=AddVS,T; returnnopsC end proc: 1. direpresentasikan oleh matriks generator G. roWt:=procB::list local Wt,C,P::set, i,r,m k:=B[1]: m:=2k-1: for i from 1 to m d P:=UbahDesKeSeti; C:=InkodSP,B[2],k; r:=nopsC: Wt:={opWt,r end do: returnWt end proc: 1 Diberikan matriks generator bentuk standar Misalkan M adalah matriks representasi vektor baris dari B. K representasi baris untuk suatu nilai j = 1,2,…,k. nM:=procj::posint,M::list local S,C,L,K,N::set, W::list, K:= M[1]: k:=nopsK: L:={seqi,i=1..k}: N:=combinat[choose]L W:=[]: for S in C:={}: for i in