Ezy Pascal Eliminasi Gauss

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 1

Program&EliminasiGauss;

Const
NofEqn := 5;
Type
RVector = Array[1..NofEqn] of Real;
RMatrix = Array[1..NofEqn,1..NofEqn] of Real;
( === PROGRAM UTAMA === }
Var
A : RMatrix;
b,x : RVector;
I,J,K,N : Integer;
Diag,FMul,Sum : Real;
Begin
{ ---> Seksi ELIMINASI GAUSS <--- }
{INPUT N => Masukkan Jumlah Persamaan}
N := 3;
{AKHIR dari INPUT N}
{INPUT
A[1,1]
A[2,1]
A[3,1]
{AKHIR

A => Masukkan
:= 6; A[1,2]
:= 3; A[2,2]
:= 2; A[3,2]
dari INPUT A}

harga komponenen MATRIKS A}


:= 3; A[1,3] := 2;
:= 5; A[2,3] := 7;
:= 4; A[3,3] := 3;

{INPUT b => Masukkan harga komponenen VEKTOR b}


b[1] := 26;
b[2] := 26;
b[3] := 17;
{AKHIR dari INPUT b}
{ ---> Pembentukan MATRIKS DIAGONAL ATAS <--- }
For I:=1 to N-1 do
Begin
Diag := A[I,I];
For J:=I+1 to N do
Begin
FMul := A[J,I]/Diag;
For K:=I to N do A[J,K] := A[J,K] - A[I,K]*FMul;
b[J] := b[J] - b[I]*FMul;
End;
End;
{ ---> AKHIR dari Pembentukan MATRIKS DIAGONAL ATAS <--- }
{ ---> Backsubstitution <--- }
x[N] := b[N]/A[N,N];
For I:=N-1 downto 1 do
Begin
Sum := 0.0;
For J:=N downto I+1 do Sum := Sum + A[I,J]*x[J];
x[I] := (b[I] - Sum)/A[I,I];
End;
{ ---> AKHIR dari Backsubstitution <--- }
{ ---> AKHIR dari Seksi Eliminasi GAUSS <--- }
Writeln('Matriks DIAGONAL ATAS dan VEKTOR RUAS KANAN:');
For I:=1 to N do
Begin
For J:=1 to N do write(A[I,J]:8:4,'
');
writeln(b[I]:5:4);
End;
Writeln;
Writeln('HASIL, berupa VEKTOR JAWAB:');
For I:=1 to N do Writeln(' x[',I,'] = ',x[I]:1:6);
End.
{ === AKHIR dari Program Utama === }

You might also like