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.


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);
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

Postingan populer dari blog ini

Sistem Operasi 1

Tugas Pertemuan 4 - Etika Profesi

Tugas Pertemuan 3