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. 

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:



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