program matrik;
uses crt;
type data =
array[1..10,1..10] of integer;
var
matrikI,matrikII : data;
baris,kolom,pil : integer;
m,z,n,i,b:longint;
procedure
isimatrik;
var i,j : integer;
begin
writeln('Penentuan Ordo Matriks 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 Matriks 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 Matriks');
writeln('_________________________');
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
faktorial(var a:longint);
var
x:longint;
begin
x:=1;
for i := a downto
1 do
x:=x*i;
a:=x;
end;
procedure
kombinasi(var l:longint);
begin
faktorial(z);
b:=n*z;
l:=m div b;
writeln;
writeln('Hasil
dari Kombinasi = ',l);
writeln('______________________________');
end;
procedure
isikombinasi;
begin
gotoxy(30,2);
writeln('FINAL 2: KOMBINASI');
gotoxy(24,3);
writeln('_______________________________');
writeln;
write('masukkan
nilai n! = '); readln(m);
b:=m;
faktorial(m);
write('masukkan
nilai r! = '); readln(n);
z:=b-n;
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 Perkalian Matriks');
writeln('_______________________');
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
clrscr;
gotoxy(24,2); writeln('NAMA = ABISAI JIRA');
gotoxy(24,3); writeln('STAMBUK = F1A1 10 045');
gotoxy(24,4); writeln('JURUSAN = MATEMATIKA');
gotoxy(24,5);
writeln('_________________________________');
gotoxy(32,8); writeln('MENU FINAL
PEMKOM');
gotoxy(24,9);
writeln('________________________________');
gotoxy(24,11); writeln('(1) FINAL 1:
Penjumlahan Matrik');
gotoxy(24,12); writeln('(2) FINAL 2:
Kombinasi');
gotoxy(24,13); writeln('(3) FINAL 3:
Perkalian Matrik');
gotoxy(24,14);
writeln('________________________________');
gotoxy(24,16); write('Pilihan =
');readln(pil);
clrscr;
case pil of
1 : begin
isimatrik;
jumlahmatrik(matrikI,matrikII);
end;
2 : begin
faktorial(n);
isikombinasi;
kombinasi(n);
end;
3 : begin
isimatrik;
kalimatrik(matrikI,matrikII);
end;
end;
readln;
end.