program hitung matriks dengan menu pilihan

5
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. 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);

Upload: simon-patabang

Post on 20-Jul-2015

173 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Program hitung matriks dengan menu pilihan

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.

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);

Page 2: Program hitung matriks dengan menu pilihan

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);

Page 3: Program hitung matriks dengan menu pilihan

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;

Page 4: Program hitung matriks dengan menu pilihan

{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);

Page 5: Program hitung matriks dengan menu pilihan

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 :