Jumat, 02 Maret 2012

program matrik (pascal)


program matrik;
uses crt;
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('Menentukan 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('Menentukan 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]+matrikI[i,z]*matrikII[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;
     readln;
end.

Tidak ada komentar:

Posting Komentar