program Menu_Pilihan_Matriks;
uses crt;
var Mat_A,Mat_B,Mat_C:array[1..10,1..10] of integer;
ordo_x,ordo_y:integer;
x,y,z,koor_brs:integer;
pilih:byte;
procedure input_penjumlahan_matriks;
begin
writeln ('ini adalah sebuah program penjumlahan matriks');
writeln('Tentukan Ordo Matriks');
readln (ordo_x,ordo_y);
writeln('input Matriks (A):');
for y:=1 to ordo_y do
begin
koor_brs := wherey;
for x:=1 to ordo_x do
begin
gotoxy (x*5,koor_brs);
read (Mat_A[x,y]);
end;
end;
writeln('input Matriks (B):');
for y:=1 to ordo_y do
begin
koor_brs := wherey;
for x:=1 to ordo_x do
begin
gotoxy (x*5,koor_brs);
read (Mat_B[x,y]);
end;
end;
end;
procedure input_pengurangan_matriks;
begin
writeln ('ini adalah sebuah program pengurangan matriks');
writeln('Tentukan Ordo Matriks');
readln (ordo_x,ordo_y);
writeln('input Matriks (A):');
for y:=1 to ordo_y do
begin
koor_brs := wherey;
for x:=1 to ordo_x do
begin
gotoxy (x*5,koor_brs);
read (Mat_A[x,y]);
end;
end;
writeln('input Matriks (B):');
for y:=1 to ordo_y do
begin
koor_brs := wherey;
for x:=1 to ordo_x do
begin
gotoxy (x*5,koor_brs);
read (Mat_B[x,y]);
end;
end;
end;
procedure input_perkalian_matriks;
begin
writeln('Tentukan Ordo Matriks');
readln (ordo_x,ordo_y);
writeln('input Matriks (A):');
for y:=1 to ordo_y do
begin
koor_brs := wherey;
for x:=1 to ordo_x do
begin
gotoxy (x*5,koor_brs);
read (Mat_A[x,y]);
end;
end;
writeln('input Matriks (B):');
for y:=1 to ordo_y do
begin
koor_brs := wherey;
for x:=1 to ordo_x do
begin
gotoxy (x*5,koor_brs);
read (Mat_B[x,y]);
end;
end;
end;
procedure input_transpost_matriks;
begin
writeln('Tentukan Ordo Matriks');
readln (ordo_x,ordo_y);
writeln('input Matriks (A):');
for y:=1 to ordo_y do
begin
koor_brs := wherey;
for x:=1 to ordo_x do
begin
gotoxy (x*5,koor_brs);
read (Mat_A[x,y]);
end;
end;
end;
procedure rumus_penjumlahan_matriks;
begin
for y:=1 to ordo_y do
begin
for x:=1 to ordo_x do
begin
Mat_C[x,y]:= Mat_A[x,y] + Mat_B[x,y];
end;
end;
end;
procedure rumus_pengurangan_matriks;
begin
for y:=1 to ordo_y do
begin
for x:=1 to ordo_x do
begin
Mat_C[x,y]:= Mat_A[x,y] - Mat_B[x,y];
end;
end;
end;
procedure rumus_perkalian_matriks;
begin
for y:=1 to ordo_y do
begin
for x:=1 to ordo_x do
begin
Mat_C[x,y]:=0;
for z:=1 to ordo_y do
Mat_C[x,y]:=Mat_C[x,y] + Mat_A[z,y]*Mat_B[x,z];
end;
end;
end;
procedure rumus_transpost_matriks;
begin
for y:=1 to ordo_y do
begin
for x:=1 to ordo_x do
begin
Mat_C[x,y]:= Mat_A[y,x];
end;
end
end;
procedure output_penjumlahan_matriks;
begin
writeln;
writeln('maka penjumlahan matriks A dan B =');
for y:=1 to ordo_y do
begin
for x:=1 to ordo_x do
begin
write(Mat_C[x,y]:5);
end;
write;readln;
end;
end;
procedure output_pengurangan_matriks;
begin
writeln;
writeln('maka pengurangan matriks A dan B =');
for y:=1 to ordo_y do
begin
for x:=1 to ordo_x do
begin
write(Mat_C[x,y]:5);
end;
write;readln;
end;
end;
procedure output_perkalian_matriks;
begin
writeln;
writeln('maka perkalian matriks A dan B =');
for y:=1 to ordo_y do
begin
for x:=1 to ordo_x do
begin
write(Mat_C[x,y]:5);
end;
write;readln;
end;
end;
procedure output_transpost_matriks;
begin
writeln('maka transpostnya adalah');
for y:=1 to ordo_y do
begin
for x:=1 to ordo_x do
begin
write(Mat_C[x,y]:5);
end;
write;readln
end;
end;
procedure Penjumlahan_matriks;
begin
writeln;
input_penjumlahan_matriks; readln;
rumus_penjumlahan_matriks; read;
output_penjumlahan_matriks; read;
writeln('tekan ENTER untuk pilih program lain'); readln;
end;
procedure pengurangan_matriks;
begin
writeln;
writeln;
input_pengurangan_matriks; readln;
rumus_pengurangan_matriks; read;
output_pengurangan_matriks; read;
writeln('tekan ENTER untuk pilih program lain'); readln;
end;
procedure perkalian_matriks;
begin
writeln;
input_perkalian_matriks; readln;
rumus_perkalian_matriks; read;
output_perkalian_matriks; readln;
writeln('tekan ENTER untuk pilih program lain'); readln;
end;
procedure transpost_matriks;
begin
writeln;
input_transpost_matriks; readln;
rumus_transpost_matriks; read;
output_transpost_matriks;readln;
writeln('tekan ENTER untuk pilih program lain'); readln;
end;
begin
while true do
begin
textcolor(white);
clrscr;
write('***********************************************');writeln;
write('*******************SELAMAT DATANG *********');writeln;
write('=============YUNIAR DIAN NURINAWATI========');writeln;
write('***********************************************');writeln;
write('=================== MENU ==================');writeln;
write('= 1. penjumlahan matriks =');writeln;
write('= 2. pengurangan matriks =');writeln;
write('= 3. perkalian matriks =');writeln;
write('= 4. transpost matriks =');writeln;
write('= 5. Keluar =');writeln;
write;
pilih:=0;
while(pilih<1)>5) do
begin
write(' Silahkan pilih nomor : ');read(pilih);
if (pilih<1)>5) then
end;
case pilih of
1: penjumlahan_matriks;
2: pengurangan_matriks;
3: perkalian_matriks;
4: transpost_matriks;
5: exit;
end;
end;
end.
TAMPILAN OUTPUT :


