Program ini berfungsi untuk menghitung Pejumlahan, pengurangan, perkalian, dan transpose matriks. Proses dilakukan dengan memilih pilihan pada menu. Program terdiri dari sub program dimana setiap sub program bertugas untuk melakukan tugas sesuai dengan tugasnya.
Source code program sebagai berikut :
PROGRAM HITUNG_MATRIKS;
USES Crt;
type matrix = array [1..10,1..10] of integer;
var
i,j : integer;
PROCEDURE MENU(var pil:char);
Begin
gotoxy(15,5);write(' Menu Pilihan');
gotoxy(15,6);write('=========================');
gotoxy(15,7);write('1. Input Data Matriks');
gotoxy(15,8);write('2. Penjumlahan Matriks');
gotoxy(15,9);write('3. Pengurangan Matriks');
gotoxy(15,10);write('4. Perkalian Matriks');
gotoxy(15,11);write('5. Transpose Matriks');
gotoxy(15,12);write('6. Keluar');
gotoxy(15,13);write('=========================');
gotoxy(15,14);write(' Pilihan Anda?? : ');readln(pil);
End;
PROCEDURE ORDO(var M,N,P,Q:integer);
Begin
clrscr;
{Input Ukuran/Ordo Matrix A dan B}
repeat
writeln('Tentukan Ordo/Ukuran Matrix ');
write('Jumlah Baris Matrik A: '); readln(m);
write('Jumlah Kolom Matrik A: '); readln(n);
write('Jumlah Baris Matrik B: '); readln(p);
write('Jumlah Kolom Matrik B: '); readln(q);clrscr;
writeln('Ulangi, tidak memenuhi syarat Perkalian');
until n=p;
End;
PROCEDURE input(x,y : integer; var m : matrix);
Begin
for i:=1 to x do
for j:=1 to y do
begin
write('M[',i,',',j,'] : ');readln(m[i,j]);
end; writeln;
end;
PROCEDURE TAMBAH(x,y : integer;a,b : matrix; var m : matrix);
Begin
for i:=1 to x do
for j:=1 to y do
begin
m[i,j]:=a[i,j]+b[i,j];
end; writeln;
end;
PROCEDURE KURANG(x,y : integer;a,b : matrix; var m : matrix);
Begin
for i:=1 to x do
for j:=1 to y do
begin
m[i,j]:=a[i,j]-b[i,j];
end; writeln;
end;
{Procedure Hitung}
PROCEDURE Kali (x,y,z:integer; a,b :matrix;var c:matrix);
var k : integer;
Begin
for i:=1 to x do
for j:=1 to y do
Begin
C[i,j]:=0;
for k:=1 to z do
c[i,j] := C[i,j] + A[i,k]*B[k,j];
End;
End;
{Procedure Cetak}
PROCEDURE Cetak(x,y : integer; m : matrix);
Begin
Writeln;
for i:=1 to x do
begin
for j:=1 to y do
write(M[i,j],' ');
writeln;
end;
writeln;
End;
PROCEDURE TRANS(b,k :integer; n:matrix; var m :matrix);
Begin
for i := 1 to b do
for j := 1 to k do
begin
m[j,i]:=n[i,j];
end;
End;
{Program Utama}
var x,y,z,r : integer;
a,b,tb,kr,tr,kl : matrix;
ya,p :char;
Begin
ya:='y';
while ya='y' do
Begin
clrscr;
menu(p);
case p of
'1' : Begin
clrscr;ordo(x,y,z,r);
clrscr;writeln('Input Data Matrik A');
input(x,y,a);
writeln('Input Data Matrik B');
input(z,r,b);
End;
'2' : Begin
clrscr;tambah(x,y,a,b,tb);
cetak(x,y,a);
cetak(z,r,b);
cetak(x,y,tb);
End;
'3' : Begin
clrscr;kurang(x,y,a,b,kr);
cetak(x,y,a);
cetak(z,r,b);
cetak(x,y,kr);
End;
'4' : Begin
clrscr;kali(x,r,y,a,b,kl);
cetak(x,y,a);
cetak(z,r,b);
cetak(x,r,kl);
End;
'5' : Begin
clrscr;
writeln('Transpose Matriks A');
Trans(x,y,a,tr);
cetak(x,y,a);
cetak(y,x,tr);
writeln('Transpose Matriks B');
Trans(z,r,b,tr);
cetak(z,r,b);
cetak(r,z,tr);
End;
'6' : Begin
exit;
End;
End; write('Lanjutkan, tekan sebarang tombol');readln;
End;
readkey;
End.
Output Program :
Selamat belajar.
God bless you all
Tidak ada komentar:
Posting Komentar
Silakan memberikan komentar dan pertanyaan yang sifatnya positif.