Pages

Kamis, 03 Januari 2013

program matrix

uses wincrt;
type matrix=array[1..10,1..10] of integer;
var A,B, hasil:matrix;
i,j,ba,ka,bb,kb:byte;
pil:1..8;

procedure isi_matrix(var X:matrix;m,n:byte);

begin
for i:=1 to m do
begin
for j:=1 to n do
begin
writeln('isi elemen ke [',i,',',j,'] =. ');
readln(X[i,j]);
end;
end;
end;

procedure tampil(var X:matrix;m,n:byte);
begin
for i:=1 to m do
begin
for j:=1 to n do write(X[i,j]:5);
writeln;
end;
end;

procedure kurang(var X,Y:matrix;m,n:byte);
begin
for i:=1 to m do
begin
for j:=1 to n do hasil[i,j]:=X[i,j]-Y[i,j];
end;
end;


{program utama}
begin
repeat
begin
clrscr;
writeln('OPERASI-OPERASI MATRIX');
writeln('-------------------------');
writeln('1. Isi matrix A');
writeln('2. Isi matrix B');
writeln('3. A+B');
writeln('4. A-B');
writeln('5. B-A');
writeln('6. A transpose');
writeln('7. B transpose');
writeln('8. selesai');
write('masukkan pilihan anda <1-8> ');readln(pil);
case pil of
1: begin
write('mengisi matrix A,masukkan baris A ==> ');readln(ba);
write('masukan kolom matrix A ==> ');readln(ka);
isi_matrix(A,ba,ka);
writeln('Matrix a adalah ');
tampil(A,ba,ka);
end;
2:begin
write('mengisi matrix B,masukkan baris B ==> ');readln(bb);
write('masukan kolom matrix B ==> ');readln(kb);
isi_matrix(B,bb,kb);
writeln('Matrix B adalah ');
tampil(B,bb,kb);
end;
3:writeln('anda memilih no 3');
4: begin
if (ba=bb) and (ka=kb) then
begin
writeln('matrix A = ');
tampil (A,ba,ka);
writeln('matrix B = ');
tampil (B,bb,kb);
writeln('hasil A-B adalah ');
kurang(B,A,ba,ka);
tampil(hasil,ba,ka);
end
else writeln('operasi A-B tidak bisa dilakukan karena orde berbeda');
end;
5: begin
if (ba=bb) and (ka=kb) then
begin
writeln('matrix A = ');
tampil (A,ba,ka);
writeln('matrix B = ');
tampil (B,bb,kb);
writeln('hasil B-A adalah ');
kurang(B,A,ba,ka);
tampil(hasil,ba,ka);
end
else writeln('operasi B-A tidak bisa dilakukan karena orde berbeda');
end;
6:writeln('anda memilih no 6');
7:writeln('anda memilih no 7');
8:writeln('terima kasih');
end;
readln;
end
until(pil=8);
end.