Professional Documents
Culture Documents
Perkalian Matriks
Perkalian Matriks
Perkalian Matriks
Program Perkalian_Matriks; Uses cr; Var m,n : integer; Matriks_A : array [1..m,1..n] of integer; Matriks_B : array [1..m,1..n] of intger; Hasil : array [ 1..m,1..n] of integer; Begin Clrscr; {Input Matrik A} For m:= 1 to m do Begin For n:= 1 to n do Begin Write(input Baris-,m,Kolom-,n, :);readln(Matriks_A[m,n]; End; End; {Input Matrik B}
For m:= 1 to m do Begin For n:= 1 to n do Begin Write(input Baris-,m,Kolom-,n, :);readln(Matriks_B[m,n]; End; End; Clrscr; Proses Hasil For m:= 1 to m do Begin For n:= 1 to n do Begin For k:= 1 to m do Hasil[m,n]:=0; Hasil[m,n]:=Hasil[m,n] + matriks_A[m,n] * matriks_B[m,n]; Write(Hasil[m,n]:6);radln(Hasil[m,n]); End; Writeln;
Penjumlahan Matriks
Program Penjumlahan_Matriks; Uses crt; Var m,n : integer; Matriks_A: array [1..m,1..n] of ineger; Matriks_B: array [1..m,1..n] of integer; Hasil : array [1..n,1..m] of integer; Begin Clrscr; { input matrik A }; for m:= 1 to m do begin for n:= 1 to n begin
write( input Baris-,m,Kolom-,n, :);readln(Matrik[m,n]); end; end; { input matrik B }; for m:= 1 to m do begin for n:= 1 to n do begin write( input Baris-,m,Kolom-,n, :);readln(Matrik[m,n]); end; end; PROSES HASIL for m:= 1 to m do begin for n:= 1 to n do begin Hasil[m,n] := Matriks_A[m,n] + Matriks_B[m,n]; Write(Hasil[m,n]:6);readln(Hasil[m,n]); end;
Program Transpose_Matriks; Uses crt; Var m,n : integer; Matriks_A: array [1..m,1..n] of ineger; Hasil : array [1..n,1..m] of integer; Begin Clrscr; { input matrik A }; for m:= 1 to m do begin for n:= 1 to n do begin write( input Baris-,m,Kolom-,n, :);readln(Matrik[m,n]); end;
end; for m:= 1 to n do begin for n:= 1 to m do begin Hasil[m,n] := Matriks_A[n,m]; Write(Hasil[m,n]:6);readln(Hasil[m,n]); end; writeln; end; readln; writeln(Tekan Enter!!!);readkey; end
atau
for e:= 1 to c do begin write('entri baris ke-',d,' kolom ke-',e,': '); readln(a[d,e]); end; end;writeln; writeln('M1:');writeln; for d:= 1 to b do begin for e:= 1 to c do begin write(a[d,e]:7); end;writeln;writeln;end;writeln;writeln; writeln('Masukkan data untuk matriks kedua (M2)');writeln; write('berapa banyak baris matriks kedua? '); readln(g); write('berapa banyak kolom matriks kedua? '); readln(h);writeln; for i:= 1 to g do begin for j:=1 to h do begin write('entri baris ke-',i,' kolom ke ',j,': '); readln(f[i,j]); end;end;writeln; writeln('M2:');writeln; for i:= 1 to g do begin for j:= 1 to h do begin write(f[i,j]:7); end;writeln;writeln;end;writeln;writeln; writeln('Tekan Enter Untuk Melihat Hasil Operasi dari M1 x M2!');readln; if c=i then begin writeln('M1 x M2:');writeln; for d:= 1 to b do begin for l:=1 to h do begin for e:= 1 to c do begin for j:= l to h do begin for i:=e to g do begin k[d,j]:=k[d,j]+a[d,e]*f[i,j]; if c=e then begin write(k[d,j]:7);end;i:=g; end;j:=h;end;end;end;writeln;writeln;end;end else begin writeln('Maaf?! Operasi dari M1 x M2 tidak dapat dilakukan'); writeln('karena kolom M1 (',c,' kolom) tidak sama dengan baris M2 (',i,'
Berikut ini adalah code program yang menggunakan bahasa pemrograman Pascal : program matrik; uses wincrt; type data = array[1..5,1..5] of integer; var matrikI,matrikII : data; baris,kolom,pil : integer; procedure isi; var i,j :integer; begin writeln('Penentuan ORDO MATRIK I'); write('Masukan banyak baris matrik I : ');readln(baris); write('Masukan banyak kolom matrik I : ');readln(kolom); for i:=1 to baris do for j:=1 to kolom do begin gotoxy(j*10,i*5); readln(matrikI[i,j]); end; clrscr; writeln('Penentuan ORDO MATRIK II'); write('Masukan banyak baris matrik II : '); readln(baris); write('Masukan banyak kolom matrik II : '); readln(kolom); for i:=1 to baris do for j:=1 to kolom do begin gotoxy(j*10,i*5); readln(matrikII[i,j]); end; end;
procedure jumlah(a1,a2 : data); var hasil:data; i,j:integer; begin for i:=1 to baris do for j:=1 to kolom do begin hasil[i,j]:=a1[i,j]+a2[i,j]; end; clrscr; writeln('Hasil Penjumlahan'); for i:=1 to baris do for j:=1 to kolom do begin gotoxy(j*10,i*5); write(hasil[i,j]); end; end;
procedure kurang(a1,a2 : data); var hasil: data; i,j: integer; begin for i:=1 to baris do for j:=1 to kolom do begin hasil[i,j]:=a1[i,j]-a2[i,j]; end; clrscr; writeln('Hasil Pengurangan'); for i:=1 to baris do for j:=1 to kolom do begin gotoxy(j*10,i*5); write(hasil[i,j]); end; end;
procedure kali(a1,a2 : data); var hasil:data; i,j,z:integer; begin for i:=1 to baris do
for j:=1 to kolom do begin hasil[i,j]:=0; for z:=1 to baris do hasil[i,j]:=hasil[i,j]+matrikI[i,z]*matrikII[z,j]; end; clrscr; writeln('Hasil perkalian'); for i:=1 to baris do for j:=1 to kolom do begin gotoxy(j*10,i*5); write(hasil[i,j]); end; end; begin writeln('MENU'); writeln('(1) Penjumlahan Matrik'); writeln('(2) Pengurangan Matrik'); writeln('(3) Perkalian Matrik'); write('Pilihan = '); readln(pil); clrscr; case pil of 1 :begin isi; jumlah(matrikI,matrikII); end; 2:begin isi; kurang(matrikI,matrikII); end; 3:begin isi; kali(matrikI,matrikII); end; end; end.