Minggu, 10 Juni 2012

PROGRAM MATRIKS: PENJUMLAHAN, PENGURANGAN, DAN PERKALIAN


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]+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; 
end.

Tidak ada komentar:

Poskan Komentar