(*PROGRAM KOMPUTER*)
(*PROGRAM KOMPUTER METODE DETERMINAN MATRIKS*)
(*======================================*)
PROGRAM DETERMINAN_MATRIKS;
USES CRT,PRINTER;
LABEL
ULANG;
type
daftar=array[1..10,1..10]of real;
asal = array[1..100] of real;
var
aa,a:daftar;x,h:asal;i,j:byte;deta:real;ab:char;
begin (*Memulai program komputer invers dan determinan matriks*)
ulang:
clrscr;
write('tulis koefisien koefisien matriks yang akan diproses');
writeln;
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
write ('A',i,j,' ');read(a[i,j]);
end;
write('H',i,' ');readln(h[i]);
end;
(*mencari determinan matriks ordo tiga*)
deta := a[1,1]*(a[2,2]*a[3,3]-a[2,3]*a[3,2])+a[1,2]*(a[3,1]*a[2,3]-a[2,1]*a[3,3])+a[1,3]*(a[2,1]*a[3,2]-a[3,1]*a[2,2]);
(*nilai minor matriks ordo tiga *)
aa[1,1] :=(a[2,2]*a[3,3]-a[3,2]*a[2,3])/deta;
aa[1,2] :=-(a[1,2]*a[3,3]-a[3,2]*a[1,3])/deta;
aa[1,3] :=(a[1,2]*a[2,3]-a[2,2]*a[1,3])/deta;
aa[2,1] :=-(a[2,1]*a[3,3]-a[3,1]*a[2,3])/deta;
aa[2,2] :=(a[1,1]*a[3,3]-a[3,1]*a[1,3])/deta;
aa[2,3] :=-(a[1,1]*a[2,3]-a[2,1]*a[1,3])/deta;
aa[3,1] :=(a[2,1]*a[3,2]-a[2,2]*a[3,1])/deta;
aa[3,2] :=-(a[1,1]*a[3,2]-a[3,1]*a[1,2])/deta;
aa[3,3] :=(a[1,1]*a[2,2]-a[2,1]*a[1,2])/deta;
(*matriks koefisien yang dicari*)
x[1]:=aa[1,1]*h[1]+aa[1,2]*h[2]+aa[1,3]*h[3];
x[2]:=aa[2,1]*h[1]+aa[2,2]*h[2]+aa[2,3]*h[3];
x[3]:=aa[3,1]*h[1]+aa[3,2]*h[2]+aa[3,3]*h[3];
writeln('nilai matriks x adalah');
for i:= 1to 3 do
begin
writeln(x[i]);
end;clrscr;
write('matriks A ');write('');
write('matriks x ');
write('');writeln('matriks H');
writeln;writeln;
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin write(a[i,j]:3:1);write(' ');
end;
write(' ');write(' x',i,' ');write(' ');
for j:=1 to 3 do
begin write(aa[i,j]:6:3);write(' ');
end;
writeln;
write('apakah anda ingin mengulangi(y/t) : ');
readln(ab);
if (ab='y') or (ab='Y')then
begin
goto ulang;
end
else
begin
end;
end;
end.
Tidak ada komentar:
Posting Komentar