Sunteți pe pagina 1din 4

Syntak Program Matrik Pascal

uses wincrt; var a : array [0..100,0..100] of integer; b : array [0..100,0..100] of integer; c : array [0..10,0..10] of integer; p,ca,ck,ss,bk,i,h,j,k,r,x,y: integer; procedure tambah; begin write ('matriks A+B'); if (ck=bk)and(ca=ss) then begin j:=1; for h:=1 to ca do begin k:=1; for i:=1 to ck do begin write (' ',(a[h,i]+b[j,k]),' '); k:=k+1; end; writeln; j:=j+1; end; end; if ck<>bk then writeln('maaf.. jumlah kolom kedua matrik berbeda'); if ca<>ss then writeln('maaf.. jumlah baris kedua matrik berbeda'); end; procedure kurang; begin writeln ('matrik A-B'); if (ck=bk)and(ca=ss) then begin j:=1; for h:=1 to ca do begin k:=1; for i:=1 to ck do begin write (' ',(a[h,i]-b[j,k]),' '); k:=k+1; end; writeln; j:=j+1; end; end; if ck<>bk then writeln('maaf.. jumlah kolom kedua matrik berbeda'); if ca<>ss then writeln('maaf.. jumlah baris kedua matrik berbeda');

end; procedure kali; begin writeln ('Matrik A*B'); if ca=ss then begin for h:=1 to ca do begin for k:=1 to ck do begin r:=0; j:=1; for i:=1 to ck do begin r:= r+ a[h,i]*b[j,k]; j:= j+1 end; write (r,' '); end;writeln; end; end else begin writeln;writeln('Maaf!! Jumlah KOLOM matrik A tidak sama dengan BARIS matrik B');end; end; procedure transpose; begin writeln ('Transpose matrik a'); for i:=1 to ca do begin for h:=1 to ck do write (' ',a[h,i],' '); writeln; end; writeln; gotoxy(27,y+2);writeln ('Transpose matrik b'); y:=y+3; for k:=1 to ca do begin x:=27; for j:=1 to ck do begin gotoxy(x,y);write (' ',b[j,k],' ');x:=x+3; end;y:=y+1; writeln; end;writeln; end; Procedure cetak; begin clrscr; gotoxy(10,1);writeln ('####### PERHITUNGAN MATRIK 2 ORDO #######') ; writeln; writeln ('Data yang anda masukan adalah :');writeln;

writeln ('Matrik a'); for h:=1 to ca do begin for i:=1 to ck do write (' ',a[h,i],' '); writeln; end; writeln; gotoxy (27,5);writeln ('Matrik b'); y:=6; for j:=1 to ss do begin x:=27; for k:=1 to ck do begin gotoxy(x,y);write (' ',b[j,k],' '); x:=x+3;end; y:=y+1; end;writeln; end; procedure input; begin writeln (' -== PERHITUNGAN MATRIK ORDO 2 ==- ') ; writeln; write ('Masukan jumlah baris matrik A: '); readln (ca); write ('Masukan jumlah kolom matrik A: '); readln (ck);writeln; write ('Masukan jumlah baris matrik B: '); readln (ss); write ('Masukan jumlah kolom matrik B: '); readln (bk); writeln; writeln ('Masukan komponen data Matrik A'); for h:=1 to ca do begin for i:=1 to ck do begin write ('Data ke-(',h,',',i,')= '); readln (a[h,i]); end; end; writeln; writeln ('Masukan komponen data matrik B'); for j:=1 to ss do begin for k:=1 to ck do begin write ('Data ke-(',j,',',k,')= '); readln (b[j,k]); end; end; end; procedure keluar; begin gotoxy(0,10);

writeln(' Terima kasih telah menggunakan program ini'); writeln;writeln; write('***************(SAMPUN CEKAP)***************'); exit; end; procedure garis; begin writeln ('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++'); writeln ('###############################################################################'); end; procedure menu; begin writeln; writeln ('Menu Operasi'); writeln ('1. Penambahan Matrik'); writeln ('2. Pengurangan Matrik'); writeln ('3. Perkalian Matrik'); writeln ('4. Transpose Matrik'); writeln ('5. Input matrik yang baru'); writeln ('6. Keluar');writeln; write ('Masukan nomor pilihan anda :'); readln (p); if p= 1 then begin cetak; garis; tambah; garis; menu; end; if p= 2 then begin cetak; garis; kurang; garis; menu; end; if p= 3 then begin cetak; garis; kali; garis; menu; end; if p= 4 then begin cetak; garis; transpose; garis; menu; end; if p= 5 then begin clrscr; input ; cetak; garis; writeln; writeln; garis; menu; end; if p= 6 then begin clrscr; keluar; end else begin cetak; writeln('Maaf!! angka yang anda masukan tidak sesuai perintah');menu; end; end; {program Utama} begin input; cetak; garis; writeln;writeln; writeln; garis; menu; end.

S-ar putea să vă placă și