loading...
Update Belajar TPW(pascal) by fonaindo
Hari ini saya akan melanjutkan post saya, yang sebelumnya
sudah saya berikan. Pada pembelajaran sekarang saya akan menjelaskan tentang :
1.
Program palindrome pada pascal
2.
Program invers matriks pada pascal
3.
Program transpose matriks pada pascal
4.
Program perkalian matriks ordo 2x2 pada pascal
Baiklah, dari pada banyak basa-basi langsung saja lihat petunjuk
dibawah ini.
Untuk yang pertama dalah program palindrome.
Bisa dilihat seperti yang ada dibawah ini :
program
palindrom;
uses
wincrt;
var
a,b: string;
i:integer;
begin
clrscr;
write('masukkan kata: ');
readln(a);
for i:=length(a) downto 1 do
b:= b+a[i];
if (a=b) then
writeln(' kata ', a, ' palindrom')
else
writeln(' kata ', a, ' tidak
palindrom');
readln;
end.
Dan ini dia
hasilnya :
Untuk yang kedua adalah program invers matriks. Bisa dilihat seperti
yang ada dibawah ini :
program
invers_determinan;
uses
wincrt;
var
inv,a,b,c: array[1..10,1..10] of real;
i,j,k1,k2,b1,b2,sum,r:integer;
det,deter:real;
begin
writeln
('program determinan & invers matriks');
write('banyak
baris Matrik A = ');readln(b1);
write('banyak
kolom Matrik A = ');readln(k1);
if
(b1=2)and (k1=2) then
begin
for
i:=1 to b1 do
for
j:=1 to k1 do
readln(a[i,j]);
writeln;
for
i:=1 to b2 do
for
j:=1 to k2 do
readln(b[i,j]);
writeln;
writeln('Matrik
A = ');
for
i:=1 to b1 do
begin
for
j:=1 to k1 do
write(a[i,j]:8:3,'
');
writeln;
end;
writeln;
det:=
(a[1,1]*a[2,2]-a[1,2]*a[2,1]);
writeln('determinan
matriks A = ');
writeln
(det:8:2);
writeln;
writeln
('invers matriks A = ');
for
i:=b1 downto 1 do
begin
deter:=1/det;
for
j:=k1 downto 1 do
begin
b[1,2]:= -a[2,1]*deter;
b[1,1]:=a[1,1]*deter;b[2,1]:=-a[1,2]*deter;b[2,2]:=a[2,2]*deter;
write
(b[i,j]:8:1);end;
writeln;end;
end
else
writeln
('program ini hanya bisa digunakan pada ordo 2x2');
end.
Dan ini dia
hasilnya :
Untuk yang ketiga adalah program transpose matriks. Bisa dilihat
seperti yang ada dibawah ini :
program
transpose_matriks;
uses
crt;
var
matrik:array [1..10, 1.. 10] of integer;
I,j,k,baris,kolom, matriks:integer;
begin
clrscr;
write('jumlah baris: ');
readln(baris);
write('jumlah kolom: ');
readln(kolom);
for i:=1 to baris do
for j:=1 to kolom do
begin
write('isi [',I, ', ',j , ']: ');
readln(matrik [I,j] );
end;
clrscr;
gotoxy(3,4);
write('Matrik A');
for i := 1 To Baris do
for j := 1 to kolom do
Begin
Gotoxy (3+(4*j),(i*2)+5);
write(matrik[i,j]);
end;
k:=i;
gotoxy(3,10+k); write('transposenya matrik A');
for i:=1 to kolom do
for j:=1 to baris do
Begin
Gotoxy (3+(4*j),(i*2)+10+k);
write(matrik[j,i]);
end;
readln;
end.
Dan ini dia
hasilnya :
Untuk yang keempat adalah program perkalian matriks ordo
2x2. Bisa dilihat
seperti yang ada dibawah ini :
program
perkalian_matriks_ordo_2x2;
uses
crt;
var
matrik1,matrik2,matrik3:array[1..10, 1..10]
of integer;
i,j,k,baris1,baris2,kolom1,kolom2:integer;
begin
clrscr;
write('masukkan jumlah baris matrik A: ');
readln(baris1);
write('masegukkan jumlah kolom matrik A:
');
readln(kolom1);
write('masukkan jumlah baris matrik B: ');
readln(baris2);
write('masukkan jumlah kolom matrik B: ');
readln(kolom2);
if baris1=kolom2 then
begin
clrscr;
write('masukkan matrik A: ');
for i:= 1 to baris1 do
for j:= 1 to kolom1 do
begin
write('isi [',i, ', ' ,j,']: ');
readln(matrik1[i,j] );
end;
write('masukkan matrik B: ');
for i:= 1 to baris2 do
for j:= 1 to kolom2 do
begin
write('isi [',i, ', ' ,j, ']: ');
readln(matrik2[i,j] );
end;
end;
for i:= 1 to 2 do
for j:= 1 to 2 do
for k:= 1 to 2 do matrik3[k,j]:=
matrik3[k,j] + matrik1[k,i]*matrik2[i,j];
for i:= 1 to 2 do
begin
for j:= 1 to 2 do write(matrik3[i,j] : 5);
writeln;
end;
readln;
end.
Dan ini dia
hasilnya :
Selamat mencobany,
dan semoga berhasil .
loading...
No comments:
Post a Comment