program gabungan;
uses crt;
const
orde=10;
type matriks =
array[1..orde,1..orde] of integer;
var
matrikI,matrikII : matriks;
baris,kolom,pil : integer;
n,z,r,i,b:longint;
procedure
isimatrik;
var i,j : integer;
begin
writeln('Penentuan Ordo Matriks A');
write('Masukan banyak baris matriks A =
');readln(baris);
write('Masukan banyak kolom matriks A =
');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 B');
write('Masukan banyak baris matrik B =
');readln(baris);
write('Masukan banyak kolom matrik B =
');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 : matriks);
var hasil :
matriks;
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:=r*z;
l:=n 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(n);
b:=n;
faktorial(n);
write('masukkan
nilai r! = '); readln(r);
z:=b-n;
end;
procedure
kalimatrik(m1,m2 : matriks);
var hasil :
matriks;
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;
{modul utama}
begin
repeat
clrscr;
gotoxy(24,2); writeln('NAMA = tuliskan nama anda');
gotoxy(24,3); writeln('STAMBUK = tuliskan stambuk anda');
gotoxy(24,4); writeln('JURUSAN = tuliskan jurusan anda');
gotoxy(24,5);
writeln('_________________________________');
gotoxy(32,8); writeln('MENU GABUNGAN FINAL');
gotoxy(24,9);
writeln('________________________________');
gotoxy(24,11); writeln('(1) FINAL 1: Penjumlahan
Matriks');
gotoxy(24,12); writeln('(2) FINAL 2:
Kombinasi');
gotoxy(24,13); writeln('(3) FINAL 3:
Perkalian Matriks');
gotoxy(24,14); writeln('(4) Keluar');
gotoxy(24,15);
writeln('________________________________');
gotoxy(24,17); write('Pilihan =
');readln(pil);
clrscr;
if pil = 1 then
begin
isimatrik;
jumlahmatrik(matrikI,matrikII);
end;
if pil = 2 then
begin
faktorial(n);
isikombinasi;
kombinasi(n);
end;
if pil = 3 then
begin
isimatrik;
kalimatrik(matrikI,matrikII);
end;
readln;
until pil = 4 ;
end.