MY SHARE
Sabtu, 05 Mei 2012
tugas 4
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ForToDo: TButton;
ForDowntoDo: TButton;
WhileDo: TButton;
RepeatUntil: TButton;
bt_pangkat: TButton;
btKeluar: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
bil: TLabel;
Pangkat: TLabel;
hasil: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Binput: TButton;
Label5: TLabel;
Label6: TLabel;
lnama: TLabel;
lnim: TLabel;
procedure btKeluarClick(Sender: TObject);
procedure ForToDoClick(Sender: TObject);
procedure ForDowntoDoClick(Sender: TObject);
procedure WhileDoClick(Sender: TObject);
procedure RepeatUntilClick(Sender: TObject);
procedure bt_pangkatClick(Sender: TObject);
procedure BinputClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btKeluarClick(Sender: TObject);
begin
if(application.MessageBox('Keluar Aplikasi dari ririn ?','konfirmasi',mb_yesno)=idyes)then
close;
end;
procedure TForm1.ForToDoClick(Sender: TObject);
var
i,j:integer;b:string;
begin
b:='';j:=2;
for i:=1 to 10 do
begin
b:=b+inttostr(i)+'';
j:=j+2;
end;
label1.Caption:=b;
end;
procedure TForm1.ForDowntoDoClick(Sender: TObject);
var
i,j:integer;b:string;
begin
b:='';j:=2;
for i:=10 downto 1 do
begin
b:=b+inttostr(i)+'';
j:=j+2;
end;
label2.caption:=b;
end;
procedure TForm1.WhileDoClick(Sender: TObject);
var
i,j:integer;b:string;
begin
i:=1;
b:='';
while i<=10 do
begin
b:=b+inttostr(i)+'';
i:=i+1;
end;
label3.Caption:=b;
end;
procedure TForm1.RepeatUntilClick(Sender: TObject);
var
i,j:integer;b:string;
begin
i:=1;
b:='';
repeat
b:=b+inttostr(i)+'';
i:=i+1;
until i>10;
label4.caption:=b;
end;
procedure TForm1.bt_pangkatClick(Sender: TObject);
var
bil,hasil,pangkat,a:integer;
begin
bil:=strtoint(edit1.Text);
hasil:=bil;
pangkat:=strtoint(edit2.Text);
if edit2.text='0'then edit3.Text:='1'else
if edit2.text='1'then edit3.Text:=edit1.text else
begin
for a:=2 to pangkat do
hasil:=hasil*bil;
edit3.Text:=inttostr(hasil);
lnama.Caption:='RIRIN USFADILATUL ASLAMIYAH';
lnim.Caption:='111221094';
end;
end;
procedure TForm1.BinputClick(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit3.clear;
lnama.caption:='';
lnim.Caption:='';
label1.Caption:='';
label2.Caption:='';
label3.Caption:='';
label4.Caption:='';
end;
end.
Jumat, 23 Maret 2012
tugas 3 kombinasi
program kombinasi;
uses wincrt;
var n,r,nr,c,h1,h2,h3 :real;
i,j,k :integer;
procedure f1(var p,h1:real);
begin
h1:=1;
i :=1;
while i<=p do
begin
h1:=h1*i;
i :=i+1;
end;
end;
procedure f2(var q,h2:real);
begin
h2:=1;
j :=1;
while j<=q do
begin
h2:=h2*j;
j :=j+1;
end;
end;
procedure f3(var r,h3:real);
begin
h3:=1;
k :=1;
while k<=r do
begin
h3:=h3*k;
k :=k+1;
end;
end;
begin
write('NAMA');readln;
write('NIM');readln;
write ('n= ');readln(n);
write ('r= ');readln(r);
nr:=n-r;
f1(n,h1);
f3(r,h3);
f2(nr,h2);
c:=h1/(h2*h3);
writeln('Hasil Kombinasi= ',c:1:0);
end.
Sabtu, 10 Maret 2012
program invers matriks
.Invers
Matriks Persegi Pada bagian D.1, Anda telah mempelajari determinan dari
suatu matriks persegi. Konsep determinan tersebut akan dipergunakan
untuk mencari invers dari suatu matriks. Pembahasan dibatasi hanya untuk
matriks persegi ordo 2 × 2. Ketika di SMP, Anda telah mempelajari
operasi hitung pada bilangan.
program matriks_invers;
uses wincrt;
var n,i,j,x,y,k,l,m: integer;
a:array[1..20,1..20] of real;
begin
{gotoxy (10,1);}
writeln ('RIRIN usfadilatul aslamiyah');
writeln;
writeln ('111221094');
writeln;
writeln ('Program Pencarian Invers Matriks');
writeln;
writeln ('Masukkan ordo matrik (n x n).');
write ('n : ');
readln (n);
writeln;
for i:=1 to n do
begin
for j:=1 to n do
begin
write ('A(',i,',',j,') : ');
readln (a[i,j]);
end;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write (' ',a[i,j]:0:0);
writeln;
end;
{MATTRIK SISI KANAN}
for j:=n+1 to n+n do
begin
i:=j-n;
a[i,j]:=1;
end;
for j:=n+1 to n+n do
begin
for i:=1 to n do
if i<>j-n then a[i,j]:=0;
end;
{PROSES PENGINVERSAN}
for i:=1 to n do
begin
for j:=1 to n+n do
begin
if i<>j then a[i,j]:=a[i,j]/a[i,i];
end;
for j:=1 to n+n do
begin
if i=j then a[i,j]:=1;
end;
{PENJUMLAHAN KESATU BARIS ELEMENT}
for l:=1 to n do
begin
if i<>l then
begin
for j:=i+1 to n+n do
begin
a[l,j]:=a[l,j]-(a[i,j]*a[l,i]);
end;
end;
end;
{PEMBUATAN NOL DISEKITAR MATRIKS KIRI}
for k:=1 to n do
begin
if i<>k then
begin
a[k,i]:=0;
end;
end;
end;
{PENCETAKAN}
readln;
writeln('Maka invers dari matrik adalah :');
for i:=1 to n do
begin
for j:=n+1 to n+n do
write (' ',a[i,j]:0:2);
writeln;
end;
readln;
end.
Pada saat
mempelajari konsep tersebut, Anda dikenalkan dengan istilah invers
(kebalikan) bilangan. Suatu bilangan jika dikalikan dengan inversnya
akan menghasilkan unsur identitas. Senada dengan hal tersebut, dalam
aljabar matriks pun berlaku ketentuan seperti itu. Ketika Anda
mengalikan suatu matriks dengan matriks inversnya, akan dihasilkan
identitas, yang dalam hal inh adalah matriks identitas.
Definisi
Invers Matriks Misalkan A dan B adalah dua matriks yang berordo 2 × 2
dan memenuhi persamaan AB = BA = I2 maka matriks A adalah matriks invers
dari matriks B atau matriks B adalah matriks invers dari matriks A.
CONTOH:
CONTOH:
program matriks_invers;
uses wincrt;
var n,i,j,x,y,k,l,m: integer;
a:array[1..20,1..20] of real;
begin
{gotoxy (10,1);}
writeln ('RIRIN usfadilatul aslamiyah');
writeln;
writeln ('111221094');
writeln;
writeln ('Program Pencarian Invers Matriks');
writeln;
writeln ('Masukkan ordo matrik (n x n).');
write ('n : ');
readln (n);
writeln;
for i:=1 to n do
begin
for j:=1 to n do
begin
write ('A(',i,',',j,') : ');
readln (a[i,j]);
end;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write (' ',a[i,j]:0:0);
writeln;
end;
{MATTRIK SISI KANAN}
for j:=n+1 to n+n do
begin
i:=j-n;
a[i,j]:=1;
end;
for j:=n+1 to n+n do
begin
for i:=1 to n do
if i<>j-n then a[i,j]:=0;
end;
{PROSES PENGINVERSAN}
for i:=1 to n do
begin
for j:=1 to n+n do
begin
if i<>j then a[i,j]:=a[i,j]/a[i,i];
end;
for j:=1 to n+n do
begin
if i=j then a[i,j]:=1;
end;
{PENJUMLAHAN KESATU BARIS ELEMENT}
for l:=1 to n do
begin
if i<>l then
begin
for j:=i+1 to n+n do
begin
a[l,j]:=a[l,j]-(a[i,j]*a[l,i]);
end;
end;
end;
{PEMBUATAN NOL DISEKITAR MATRIKS KIRI}
for k:=1 to n do
begin
if i<>k then
begin
a[k,i]:=0;
end;
end;
end;
{PENCETAKAN}
readln;
writeln('Maka invers dari matrik adalah :');
for i:=1 to n do
begin
for j:=n+1 to n+n do
write (' ',a[i,j]:0:2);
writeln;
end;
readln;
end.
Jumat, 02 Maret 2012
MATRIKS IDENTITAS
uses
WinCrt;
var
A,B,C:ARRAY[1..10,1..10] OF INTEGER;
X,Y,KOL,BAR:INTEGER;
BEGIN
FOR X:=1 TO 5 DO
BEGIN
FOR Y:=1 TO 5 DO
BEGIN
C[X,Y]:=0;
IF X+Y=6 THEN
C[X,Y]:=1;
WRITE(C[X,Y]:4);
END;
WRITELN;
END;
END.
PASCAL KALI MATRIKS
Program kali_matriks;
uses wincrt;
type
matriksint = array [1..20,1..20] of integer;
var
M,a,b : matriksint; p , q: integer;
procedure bacamatriks (var M:matriksint;Nbar,Nkol:integer);
var i,j: integer;
begin
for i:=1 to Nbar do
begin
for j:= 1 to Nkol
do
begin
write
('M[',i,',',j,'] = ');readln (M[i,j]);
end;
end;
end;
procedure tulismatriks (var M:matriksint;Nbar,Nkol:integer);
var i,j : integer;
begin
for i:= 1 to Nbar do
begin
for j:= 1 to Nkol
do
begin
write (M[i,j]);
end;
writeln;
end;
end;
procedure kalimatriks (a,b:matriksint; Nbar,Nkol : integer);
var
hasil:matriksint;
i,j,z : integer;
begin
for i := 1 to Nbar
do
begin
for j := 1 to Nkol
do
begin
hasil[i,j] := 0;
for z := 1 to Nbar
do
hasil[i,j] :=
hasil[i,j]+a[i,z]*b[z,j];
begin
gotoxy (j*5,i*23);
write(hasil[i,j])
;
end;
end;
writeln;
end;
end;
begin
writeln ('MATRIK A
');
write ('masukkan
jumlah baris : '); readln (p);
write ('masukkan
jumlah kolom : '); readln (q);
bacamatriks (a,p,q);
write ('A = ');
writeln;
tulismatriks
(a,p,q);
writeln;
writeln ('MATRIKS B
');
write ('masukkan
jumlah baris : '); readln (p);
write ('masukkan
jumlah kolom : '); readln (q);
bacamatriks (b,p,q);
write ('B = ');
writeln;
tulismatriks
(b,p,q);
writeln ('hasil
perkalian matriks adalah : ');
kalimatriks
(a,b,p,q);
end.

Kamis, 23 Februari 2012
Langganan:
Postingan (Atom)





