Sabtu, 02 Juni 2012

Program PASCAL Matrik

Program PASCAL Matrik. kali ini UD akan posting tentang program PASCAL lagi. Programnya kali ini adalah tentang matriks. sudah pada tau kan matriks yang di maksud, yang jelas yang UD maksud bukan "The Matrix Reloaded", hehehehe


Ok dech langsung aja ni kode programnya



program hitung_matriks_sebarang;
uses crt;
type
q = object
A,B,C : array[1..100,1..100] of integer;
lok : array [1..5] of integer;
procedure jum;
procedure kur;
procedure tran;
procedure kal;
end;
var
m : q;
i,j,t,u,r,s,bar,kol,barb,kolb,barc,kolc,pil : integer;

procedure q.jum;
begin
clrscr;
write('Tentukan baris matriks A : '); readln(bar);
write('Tentukan kolom matriks A : '); readln(kol);
{ mengentrikan matriks }
For i:=1 to bar do
For j:= 1 to kol do
begin
write('Entri baris ke ',i,' kolom ke ',j, ' matriks A '); readln(A[i,j]);
end;



{input entri matriks}
begin
writeln;
write('Tentukan baris matriks B : '); readln(bar);
write('Tentukan kolom matriks B : '); readln(kol);
{ mengentrikan matriks }
For i :=1 to bar do
For j:= 1 to kol do
begin
write('Entri baris ke ',i,' kolom ke ',j, ' matriks B '); readln(B[i,j]);
end;

{ Menampilkan matriks A }
begin
writeln;
writeln ('matriks A adalah');
end;
For i:=1 to bar do
begin
writeln;
For j:=1 to kol do write( A[i,j]:5);
writeln;
end;

{ Menampilkan matriks B }
begin
writeln;
writeln ('matriks B adalah');
end;
For i:=1 to bar do
begin
writeln;
For j:=1 to kol do write( B[i,j]:5);
writeln;
end;
end;

{penjumlahan}
begin
for i := 1 to bar do
for j := 1 to kol do
begin
c[i,j] := A[i,j] + B[i,j];
end;

{ Menampilkan Hasil jumlah matriks }
begin
writeln;
writeln (' Hasil penjumlahan matriks A dan matriks B adalah');
end;
For i:=1 to bar do
begin
writeln;
For j:=1 to kol do write(C[i,j]:5);
writeln;
end;
end;
end;


procedure q.kur;
begin
clrscr;
write('Tentukan baris matriks A : '); readln(bar);
write('Tentukan kolom matriks A : '); readln(kol);
{ mengentrikan matriks }
For i:=1 to bar do
For j:= 1 to kol do
begin
write('Entri baris ke ',i,' kolom ke ',j, ' matriks A '); readln(A[i,j]);
end;



{input entri matriks}
begin
writeln;
write('Tentukan baris matriks B : '); readln(bar);
write('Tentukan kolom matriks B : '); readln(kol);
{ mengentrikan matriks }
For i :=1 to bar do
For j:= 1 to kol do
begin
write('Entri baris ke ',i,' kolom ke ',j, ' matriks B '); readln(B[i,j]);
end;

{ Menampilkan matriks A }
begin
writeln;
writeln ('matriks A adalah');
end;
For i:=1 to bar do
begin
writeln;
For j:=1 to kol do write( A[i,j]:5);
writeln;
end;

{ Menampilkan matriks B }
begin
writeln;
writeln ('matriks B adalah');
end;
For i:=1 to bar do
begin
writeln;
For j:=1 to kol do write( B[i,j]:5);
writeln;
end;
end;

{penjumlahan}
begin
for i := 1 to bar do
for j := 1 to kol do
begin
c[i,j] := A[i,j] - B[i,j];
end;

{ Menampilkan Hasil kurang matriks }
begin
writeln;
writeln (' Hasil pengurangan matriks A dan matriks B adalah');
end;
For i:=1 to bar do
begin
writeln;
For j:=1 to kol do write(C[i,j]:5);
writeln;
end;
end;
end;


procedure q.tran;
{input entri matriks A}
begin
clrscr;
write('Tentukan baris matriks A : '); readln(bar);
write('Tentukan kolom matriks A : '); readln(kol);
{ mengentrikan matriks }
For i:=1 to bar do
For j:= 1 to kol do
begin
write('Entri baris ke ',i,' kolom ke ',j, ' matriks A '); readln(A[i,j]);
end;


{input entri matriks B}
begin
writeln;
write('Tentukan baris matriks B : '); readln(barb);
write('Tentukan kolom matriks B : '); readln(kolb);
{ mengentrikan matriks }
For r :=1 to barb do
For s:= 1 to kolb do
begin
write('Entri baris ke ',r,' kolom ke ',s, ' matriks B '); readln(B[r,s]);
end;

{ Menampilkan matriks A }
begin
writeln;
writeln ('matriks A adalah');
end;
For i:=1 to bar do
begin
writeln;
For j:=1 to kol do write( A[i,j]:5);
writeln;
end;

{ Menampilkan matriks B }
begin
writeln;
writeln ('matriks B adalah');
end;
For r:=1 to barb do
begin
writeln;
For s:=1 to kolb do write( B[r,s]:5);
writeln;
end;
end;

{transpose matriks A}
begin
barc:= kol;
kolc:= bar;
for i := 1 to bar do
for j := 1 to kol do
c[j,i] := a[i,j]
end;

{ Menampilkan transpose matriks A }
begin
writeln;
writeln (' Transpose matriks A adalah');
end;
For i:=1 to kol do
begin
writeln;
For j:=1 to bar do write( c[i,j]:5);
writeln;
end;


{transpose matriks B}
begin
barc:= kolb;
kolc:= barb;
for r := 1 to barb do
for s := 1 to kolb do
c[s,r] := b[r,s]
end;

{ Menampilkan transpose matriks B }
begin
writeln;
writeln (' Transpose matriks B adalah');
end;
For r:=1 to kolb do
begin
writeln;
For s:=1 to barb do write( c[r,s]:5);
writeln;
end;
end;

procedure q.kal;
{input entri matriks A}
begin
clrscr;
write('Tentukan baris matriks A : '); readln(bar);
write('Tentukan kolom matriks A : '); readln(kol);
{ mengentrikan matriks }
For i:=1 to bar do
For j:= 1 to kol do
begin
write('Entri baris ke ',i,' kolom ke ',j, ' matriks A '); readln(A[i,j]);
end;


{input entri matriks B}
begin
writeln;
write('Tentukan baris matriks B : '); readln(barb);
write('Tentukan kolom matriks B : '); readln(kolb);
{ mengentrikan matriks }
For r :=1 to barb do
For s:= 1 to kolb do
begin
write('Entri baris ke ',r,' kolom ke ',s, ' matriks B '); readln(B[r,s]);
end;

{ Menampilkan matriks A }
begin
writeln;
writeln ('matriks A adalah');
end;
For i:=1 to bar do
begin
writeln;
For j:=1 to kol do write( A[i,j]:5);
writeln;
end;

{ Menampilkan matriks B }
begin
writeln;
writeln ('matriks B adalah');
end;
For r:=1 to barb do
begin
writeln;
For s:=1 to kolb do write( B[r,s]:5);
writeln;
end;
end;

{perkalian}
begin
barc := bar;
kolc := kolb;
for t:= 1 to barc do
for u := 1 to kolc do
c[t,u] := 0
end;

begin
for t:= 1 to bar do
for u:= 1 to kolb do
for j:= 1 to kol do
c[t,u] := c[t,u] + a[t,j]*b[j,u]
end;

{ Menampilkan matriks hasil perkalian }
begin
writeln;
writeln (' hasil perkalian antara matriks A dan matriks B adalah');
end;
For t:=1 to barc do
begin
writeln;
For u:=1 to kolc do write( c[t,u]:5);
writeln;
end;
end;

begin
clrscr;
repeat
writeln;
writeln ('========================================');
writeln (' kunjungi www.matem-mania.co.cc ');
writeln (' BAHRUDIN ');
writeln ('========================================');
writeln (' MENU ');
writeln (' 1. penjumlahan matriks ');
writeln (' 2. pengurangan matriks ');
writeln (' 3. transpose matriks ');
writeln (' 4. perkalian matriks ');
writeln (' 5. keluar program ');
writeln ('========================================');
write('masukkan nomor menu pilhan anda "1/2/3/4/5" '); readln(pil);

case pil of
1 :
Begin
m.jum;
end;
2 :
Begin
m.kur;
end;
3 :
Begin
m.tran;
end;
4 :
Begin
m.kal;
end;
end;
until (pil) = 5
end.


Kodenya tinggal di copy lalu di paste di TPW (Turbo Pascal for Windows) atau di Turbo PASCAL 7 juga bisa. terus di run dech. kalau ada yang mau di tanyakan silahkan coment or contact me Disini
Sekian dulu post kali ini.

Tidak ada komentar:

Posting Komentar