Senin, 09 Juli 2012


Pascal : Program Perhitungan Matriks

Program matrik;
uses wincrt;
type data = array[1..10,1..10] of integer;
var matrikI,matrikII : data;
    baris,kolom,pil : integer;

procedure isimatrik;
var i,j : integer;
begin
 writeln('Penentuan ORDO MATRIK I');
 write('Masukan banyak baris matrik I = ');readln(baris);
 write('Masukan banyak kolom matrik I = ');readln(kolom);
 for i:=1 to baris do
   for j:=1 to kolom do
     begin
       gotoxy(j*10,i*5);
       readln(matrikI[i,j]);
     end;
 clrscr;
 writeln('Penentuan ORDO MATRIK II');
 write('Masukan banyak baris matrik II = ');readln(baris);
 write('Masukan banyak kolom matrik II = ');readln(kolom);
 for i:=1 to baris do
   for j:=1 to kolom do
     begin
       gotoxy(j*10,i*5);
       readln(matrikII[i,j]);
     end;
end;
procedure jumlahmatrik(m1,m2 : data);
var hasil : data;
    i,j : integer;
begin
  for i:=1 to baris do
    for j:=1 to kolom do
      begin
        hasil[i,j]:=m1[i,j]+m2[i,j];
      end;
  clrscr;
  writeln('Hasil Penjumlahan MATRIK');
  for i:=1 to baris do
    for j:=1 to kolom do
      begin
        gotoxy(j*10,i*5);
        write(hasil[i,j]);
      end;
end;

procedure kurangmatrik(m1,m2 : data);
var hasil : data;
    i,j : integer;
begin
  for i:=1 to baris do
    for j:=1 to kolom do
      begin
        hasil[i,j]:=m1[i,j]-m2[i,j];
      end;
  clrscr;
  writeln('Hasil Penjumlahan MATRIK');
  for i:=1 to baris do
    for j:=1 to kolom do
      begin
        gotoxy(j*10,i*5);
        write(hasil[i,j]);
      end;
end;

procedure kalimatrik(m1,m2 : data);
var hasil : data;
    i,j,z : integer;
begin
    for i:=1 to baris do
      for j:=1 to kolom do
        begin
          hasil[i,j]:=0;
          for z:=1 to baris do
             hasil[i,j]:=hasil[i,j]+m1[i,z]*m2[z,j];
        end;
    clrscr;
    writeln('Hasil Penjumlahan MATRIK');
    for i:=1 to baris do
      for j:=1 to kolom do
        begin
          gotoxy(j*10,i*5);
          write(hasil[i,j]);
        end;
end;
begin
  writeln(' M E N U');
  writeln('(1) Penjumlahan Matrik');
  writeln('(2) Pengurangan Matrik');
  writeln('(3) Perkalian Matrik');
  write('Pilihan = ');readln(pil);
  clrscr;
  case pil of
  1 : begin
        isimatrik;
        jumlahmatrik(matrikI,matrikII);
      end;
  2 : begin
        isimatrik;
        kurangmatrik(matrikI,matrikII);
      end;
  3 : begin
        isimatrik;
        kalimatrik(matrikI,matrikII);
      end;
  end;
end.

Tidak ada komentar:

Posting Komentar