Soal Kumpulan Matematika Lanjut 3
Program Gauss;
type
matrix = array[1..25,1..25] of real;
var
n,i,j : integer;
a,b,c := matrix;
procedure bacadata(var y:matrix);
begin
for j = 1 to n do
begin
for i := 1 to n do
begin
write ('a',i,j,' = ');
readln(y[i,j]);
end;
end;
end;
procedure tulisdata(y : matrix);
begin
for i := 1 to n do
begin
for j = 1 to n do
write(y[i,j]:8:2);
writeln;
end;
writeln;
end;
{statement di bawah ini merupakan blok program utama}
Begin
writeln ('mencari det matrik menggunakan metode eliminasi gauss');
writeln('---------------------------------------------------');
writeln('masukan ordo matrix yang diinginkan(nxn)');
write('ordo matrik : '), readln(n);
bacadata(a);
writeln('matrik yang dimasukan : ');
tulisdata(a);
writeln(“matrik yang dimasukan : “);
bacadata(b);
tulisdata(b);
readln
end.
type
matrix = array[1..25,1..25] of real;
end;
ordo matrik : 2
a11= 2
a21= 5
a12= 4
a22= 3
matrik yang dimasukan :
a11= 5
a21= 1
a12= 2
a22= 3
type
matrix = array[1..25,1..25] of real;
var
n,i,j : integer;
a,b,c := matrix;
procedure bacadata(var y:matrix);
begin
for j = 1 to n do
begin
for i := 1 to n do
begin
write ('a',i,j,' = ');
readln(y[i,j]);
end;
end;
end;
procedure tulisdata(y : matrix);
begin
for i := 1 to n do
begin
for j = 1 to n do
write(y[i,j]:8:2);
writeln;
end;
writeln;
end;
{statement di bawah ini merupakan blok program utama}
Begin
writeln ('mencari det matrik menggunakan metode eliminasi gauss');
writeln('---------------------------------------------------');
writeln('masukan ordo matrix yang diinginkan(nxn)');
write('ordo matrik : '), readln(n);
bacadata(a);
writeln('matrik yang dimasukan : ');
tulisdata(a);
writeln(“matrik yang dimasukan : “);
bacadata(b);
tulisdata(b);
readln
end.
1. (Pilihlah 2 jawaban yang menurut anda benar)
Select one or more:
Jika sebelum pendeklarasian var ditambahkan end; sehingga menjadi :
type
matrix = array[1..25,1..25] of real;
end;
maka apa yang akan terjadi ?
Select one:
Jika dimasukkan inputan di bawah ini :
ordo matrik : 2
a11= 2
a21= 5
a12= 4
a22= 3
matrik yang dimasukan :
a11= 5
a21= 1
a12= 2
a22= 3
maka output yang dihasilkan adalah........
mencari det matrik menggunakan metode eliminasi gauss
Lanjutkan program yang anda buat dengan mengikuti langkah – langkah di bawah ini
Tambahkan pada program yang anda buat tadi dengan mengetikkan perintah di bawah ini dan letakkan setelah pendeklarasian variable :
{statement di bawah ini berupa prosedur-prosedur yang digunakan untuk melakukan penambahan matrik dan mencari determinan matrik dengan metode eliminasi gaus}
procedure tambahanmatrix(x,y : matrix; var z : matrix);
begin
for i := 1 to n do
for j := 1 to n do
z[i,j] := x[i,j] + y[i,j];
end;
procedure proses(var s:matrix);
var
i,m : integer;
k,det : real;
procedure tukar (var a,b : real);
var
temp : real;
begin
temp := a;
a=b;
b:= temp;
end;
{prosedur di bawah ini merupakan proses eliminasi gaus}
procedure nol_kan(x,y : integer);
var
i,j : integer;
begin
for i :=x to n do
begin
k := s[i,y]/s[x-1,y];
for j := y to n do
begin
s[i,j] :=s[i,j]-(k*s[x-1,j]);
end;
end;
end;
begin
if s[1,1]=0 then
begin
i:=1;
repeat
i = i+1;
until s[i,1]<>0;
tukar (s[1,1],s[i,1]);
end;
m := 2;
while m<=n do
begin
nol_kan(m,m-1); inc(m);
end;
i:=1; j:=1; det :=1
repeat
det = s[i,j]*det;
inc(i); inc(j);
until i>n;
for i :=1 to n do
begin
for j := 1 to n do
write (s[i,j]:8:2);
writeln
end;
writeln ('nilai determinannya:',det:6:2);
end;
Step 4
Tambahkan perintah di bawah ini pada blok program utama (setalah tulisdata(b);) :
tambahanmatrix (a,b,c);
writeln('hasil jumlah matrik:');
tulisdata(c)
writeln(“hasil matrik jumlah setelah di eliminasi gauss : ');
writeln;
proses(c);
{statement di bawah ini berupa prosedur-prosedur yang digunakan untuk melakukan penambahan matrik dan mencari determinan matrik dengan metode eliminasi gaus}
procedure tambahanmatrix(x,y : matrix; var z : matrix);
begin
for i := 1 to n do
for j := 1 to n do
z[i,j] := x[i,j] + y[i,j];
end;
procedure proses(var s:matrix);
var
i,m : integer;
k,det : real;
procedure tukar (var a,b : real);
var
temp : real;
begin
temp := a;
a=b;
b:= temp;
end;
{prosedur di bawah ini merupakan proses eliminasi gaus}
procedure nol_kan(x,y : integer);
var
i,j : integer;
begin
for i :=x to n do
begin
k := s[i,y]/s[x-1,y];
for j := y to n do
begin
s[i,j] :=s[i,j]-(k*s[x-1,j]);
end;
end;
end;
begin
if s[1,1]=0 then
begin
i:=1;
repeat
i = i+1;
until s[i,1]<>0;
tukar (s[1,1],s[i,1]);
end;
m := 2;
while m<=n do
begin
nol_kan(m,m-1); inc(m);
end;
i:=1; j:=1; det :=1
repeat
det = s[i,j]*det;
inc(i); inc(j);
until i>n;
for i :=1 to n do
begin
for j := 1 to n do
write (s[i,j]:8:2);
writeln
end;
writeln ('nilai determinannya:',det:6:2);
end;
Step 4
Tambahkan perintah di bawah ini pada blok program utama (setalah tulisdata(b);) :
tambahanmatrix (a,b,c);
writeln('hasil jumlah matrik:');
tulisdata(c)
writeln(“hasil matrik jumlah setelah di eliminasi gauss : ');
writeln;
proses(c);
4. Jika ditambahkan readln; sebelum perintah end; pada procedure tulisdata, maka yang akan terjadi adalah…….
Select one:
Jika readln; pada blok program utama (sebelum end.) dihapus, maka yang akan terjadi adalah…….
Select one:
Komentar
Posting Komentar