Array 2 Dimensi
SOAL:
1. Buatlah sebuah program untuk menjumlahkan dua buah matrik menggunakan array dua dimensi dengan ketentuan:
o Syarat dari penjumlahan matrik adalah jumlah ordo matrik A = jumlah ordo matrik B.
o User yang menginputkan ordo matrik.
o User yang menginputkan nilai dari tiap elemen matrik yang ada.
2. Buat program perkalian antara 2 buah matrik dengan menggunakan array
dimana nilai tiap elemennya di-inputkan oleh user! Selain itu,
perhatikan syarat perkalian antar matrik, yaitu jumlah kolom pada matrik
A = jumlah baris pada matrik B!
3. Transpose
matrik adalah terjadinya pertukaran tempat antara elemen baris dan
elemen kolom dan sebaliknya pada sebuah matrik. Buatlah sebuah program
transpose matrik dengan ordo yang ditentukan oleh user sendiri!
JAWABAN:
1. program penjumlahanmatrik;
uses crt;
var
a,b : array[1..3,1..2] of integer;
i,j,m,n : integer;
c : array[1..20,1..20] of integer;
begin
clrscr;
write('Masukan Jumlah Baris : ');readln(m);
write('MAsukan Jumlah Kolom : ');readln(n);
writeln;
writeln('Elemen Matrik Satu');
for i := 1 to m do
begin
for j := 1 to n do
begin
write('Masukan Elemen Baris-',i,' Kolom -',j,' : ');
readln(a[i,j]);
end;
end;
writeln('Elemen Matrik Dua');
for i := 1 to m do
begin
for j := 1 to n do
begin
write('Masukan Elemen Baris-',i,' Kolom -',j,' : ');
readln(b[i,j]);
end;
end;
for i := 1 to m do
begin
for j :=1 to n do
begin
c[i,j]:= a[i,j]+b[i,j];
end;
end;
writeln;
for i := 1 to m do
begin
for j:= 1 to n do
begin
write(a[i,j]:4);
end;
writeln;
end;
writeln('+');
for i := 1 to m do
begin
for j := 1 to n do
begin
write(b[i,j]:4);
end;
writeln;
end;
writeln('=');
for i := 1 to m do
begin
for j:= 1 to n do
begin
write(c[i,j]:4);
end;
writeln;
end;
readln;
end.
uses crt;
var
a,b : array[1..3,1..2] of integer;
i,j,m,n : integer;
c : array[1..20,1..20] of integer;
begin
clrscr;
write('Masukan Jumlah Baris : ');readln(m);
write('MAsukan Jumlah Kolom : ');readln(n);
writeln;
writeln('Elemen Matrik Satu');
for i := 1 to m do
begin
for j := 1 to n do
begin
write('Masukan Elemen Baris-',i,' Kolom -',j,' : ');
readln(a[i,j]);
end;
end;
writeln('Elemen Matrik Dua');
for i := 1 to m do
begin
for j := 1 to n do
begin
write('Masukan Elemen Baris-',i,' Kolom -',j,' : ');
readln(b[i,j]);
end;
end;
for i := 1 to m do
begin
for j :=1 to n do
begin
c[i,j]:= a[i,j]+b[i,j];
end;
end;
writeln;
for i := 1 to m do
begin
for j:= 1 to n do
begin
write(a[i,j]:4);
end;
writeln;
end;
writeln('+');
for i := 1 to m do
begin
for j := 1 to n do
begin
write(b[i,j]:4);
end;
writeln;
end;
writeln('=');
for i := 1 to m do
begin
for j:= 1 to n do
begin
write(c[i,j]:4);
end;
writeln;
end;
readln;
end.
download pascalnya ==> Disini
2.program perkalian_matrix;
uses crt;
var
a,b,c : array [1..50,1..50] of integer;
i,j,k,x,y,z : integer;
begin
clrscr;
writeln('Matriks A');
write('Baris : ');readln(x);
write('Kolom : ');readln(y);
writeln;
writeln;
writeln('Ukuran matriks B');
writeln('Baris : ',y);
write('Kolom : ');readln(z);
for i:=1 to x do
for j:=1 to y do
begin
write('Elemen A[',i,',',j,'] : ');readln(a[i,j]);
end;
writeln;
for i:=1 to y do
for j:=1 to z do
begin
write('Elemen B[',i,',',j,'] : ');
readln(b[i,j]);
end;
for i:=1 to x do
for j:=1 to z do
for k:=1 to y do
c[i,j] := c[i,j] + a[i,k]*b[k,j];
writeln;
writeln;
writeln('Hasil dari perkalian Matriks A dengan Matriks B adalah : ');
writeln;
for i:=1 to x do
begin
for j:=1 to z do
write(c[i,j],' ');
writeln;
end;
writeln;
readln;
end.
uses crt;
var
a,b,c : array [1..50,1..50] of integer;
i,j,k,x,y,z : integer;
begin
clrscr;
writeln('Matriks A');
write('Baris : ');readln(x);
write('Kolom : ');readln(y);
writeln;
writeln;
writeln('Ukuran matriks B');
writeln('Baris : ',y);
write('Kolom : ');readln(z);
for i:=1 to x do
for j:=1 to y do
begin
write('Elemen A[',i,',',j,'] : ');readln(a[i,j]);
end;
writeln;
for i:=1 to y do
for j:=1 to z do
begin
write('Elemen B[',i,',',j,'] : ');
readln(b[i,j]);
end;
for i:=1 to x do
for j:=1 to z do
for k:=1 to y do
c[i,j] := c[i,j] + a[i,k]*b[k,j];
writeln;
writeln;
writeln('Hasil dari perkalian Matriks A dengan Matriks B adalah : ');
writeln;
for i:=1 to x do
begin
for j:=1 to z do
write(c[i,j],' ');
writeln;
end;
writeln;
readln;
end.
download pascalnya ==> disini
3. program transpose_matrix;
uses crt;
var
a : array [0..100,0..100] of integer;
b : array [0..100,0..100] of integer;
c : array [0..10,0..10] of integer;
ba,ka,bb,kb,i,h,j,k,x,y: integer;
procedure input;
begin
clrscr;
writeln (' Masukan inputan matrix ') ; writeln;
write ('Masukan jumlah baris matriks A: '); readln (ba);
write ('Masukan jumlah kolom matriks A: '); readln (ka);writeln;
write ('Masukan jumlah baris matriks B: '); readln (bb);
write ('Masukan jumlah kolom matriks B: '); readln (kb);
writeln;
writeln ('Masukan komponen data Matriks A');
for h:=1 to ba do
begin
for i:=1 to ka do
begin
write ('Data ke-(',h,',',i,')= ');
readln (a[h,i]);
end;
end;
writeln;
writeln ('Masukan komponen data matriks B');
for j:=1 to bb do
begin
for k:=1 to kb do
begin
write ('Data ke-(',j,',',k,')= ');
readln (b[j,k]);
end;
end;
end;
Procedure cetak;
begin
clrscr; writeln ('Transpose Matrix') ; writeln;
writeln ('Data yang anda masukan adalah :');writeln;
writeln ('Matriks a');
for h:=1 to ba do
begin
for i:=1 to ka do
write (' ',a[h,i],' ');
writeln;
end;
writeln;
gotoxy (27,5);writeln ('Matriks b');
y:=6;
for j:=1 to bb do
begin
x:=27;
for k:=1 to kb do begin
gotoxy(x,y);write (' ',b[j,k],' '); x:=x+3;end; y:=y+1;
end;writeln;
end;
procedure transpose;
begin
writeln ('Transpose matriks a');
for i:=1 to ka do
begin
for h:=1 to ba do
write (' ',a[h,i],' ');
writeln;
end;
writeln;
gotoxy(27,y+2);writeln ('Transpose matriks b');
y:=y+3;
for k:=1 to kb do
begin
x:=27;
for j:=1 to bb do begin
gotoxy(x,y);write (' ',b[j,k],' ');x:=x+3; end;y:=y+1;
writeln;
end;writeln;
end;
begin
clrscr;
input;
cetak;
writeln;
writeln;
transpose;
readln;
end.
uses crt;
var
a : array [0..100,0..100] of integer;
b : array [0..100,0..100] of integer;
c : array [0..10,0..10] of integer;
ba,ka,bb,kb,i,h,j,k,x,y: integer;
procedure input;
begin
clrscr;
writeln (' Masukan inputan matrix ') ; writeln;
write ('Masukan jumlah baris matriks A: '); readln (ba);
write ('Masukan jumlah kolom matriks A: '); readln (ka);writeln;
write ('Masukan jumlah baris matriks B: '); readln (bb);
write ('Masukan jumlah kolom matriks B: '); readln (kb);
writeln;
writeln ('Masukan komponen data Matriks A');
for h:=1 to ba do
begin
for i:=1 to ka do
begin
write ('Data ke-(',h,',',i,')= ');
readln (a[h,i]);
end;
end;
writeln;
writeln ('Masukan komponen data matriks B');
for j:=1 to bb do
begin
for k:=1 to kb do
begin
write ('Data ke-(',j,',',k,')= ');
readln (b[j,k]);
end;
end;
end;
Procedure cetak;
begin
clrscr; writeln ('Transpose Matrix') ; writeln;
writeln ('Data yang anda masukan adalah :');writeln;
writeln ('Matriks a');
for h:=1 to ba do
begin
for i:=1 to ka do
write (' ',a[h,i],' ');
writeln;
end;
writeln;
gotoxy (27,5);writeln ('Matriks b');
y:=6;
for j:=1 to bb do
begin
x:=27;
for k:=1 to kb do begin
gotoxy(x,y);write (' ',b[j,k],' '); x:=x+3;end; y:=y+1;
end;writeln;
end;
procedure transpose;
begin
writeln ('Transpose matriks a');
for i:=1 to ka do
begin
for h:=1 to ba do
write (' ',a[h,i],' ');
writeln;
end;
writeln;
gotoxy(27,y+2);writeln ('Transpose matriks b');
y:=y+3;
for k:=1 to kb do
begin
x:=27;
for j:=1 to bb do begin
gotoxy(x,y);write (' ',b[j,k],' ');x:=x+3; end;y:=y+1;
writeln;
end;writeln;
end;
begin
clrscr;
input;
cetak;
writeln;
writeln;
transpose;
readln;
end.
download file pascalnya ==> Disini

0 Response to "PROGRAM PASCAL contoh Array 2 Dimensi"
Post a Comment