You are on page 1of 11

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls, Grids;

type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; GroupBox2: TGroupBox; Label4: TLabel; Label5: TLabel; Label6: TLabel; Button2: TButton; Label8: TLabel; Label9: TLabel;

Image1: TImage; Bevel1: TBevel; LabeledEdit1: TLabeledEdit; StringGrid1: TStringGrid; Image2: TImage; Memo1: TMemo; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); var gbr:TBitmap;

awal, akhir, totalIntegral, delta, xa, xb, ya, yb, a, b, c, total : double; i, pias:integer;

begin if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') or (edit4.Text='') or (edit5.Text='') or (edit6.Text='') then begin showmessage('Silahkan lengkapi data!!'); end

else begin awal:=strtoint(edit1.Text); akhir:=strtoint(edit2.Text); pias:=strtoint(edit3.Text); a:=strtoint(edit4.Text); b:=strtoint(edit5.Text); c:=strtoint(edit6.Text);

delta:=(akhir-awal)/pias;

totalIntegral:=0; xa:=awal; stringgrid1.RowCount:=pias+1;

for i:=1 to pias do begin ya:=a*xa*xa+b*xa+c;

xb:=xa+delta; yb:=a*xb*xb+b*xb+c; total:=(ya+yb)*delta/2; totalIntegral:=totalIntegral+(total);

stringgrid1.Cells[0,0]:='Pias ke-'; stringgrid1.Cells[1,0]:='Luas per pias'; stringgrid1.Cells[0,i]:=floattostr(i); stringgrid1.Cells[1,i]:=floattostr(total);

xa:=xb; end; labelededit1.Text:=floattostr(totalIntegral);

end; end;

procedure TForm1.Button2Click(Sender: TObject); begin edit1.Text:=''; edit2.Text:=''; edit3.Text:=''; edit4.Text:=''; edit5.Text:='';

edit6.Text:=''; labelededit1.Clear; end;

procedure TForm1.Button4Click(Sender: TObject); var awal, akhir,cek, delta, xa, xb, ya, yb, a, b, c, total,xaa,xbb : real; i,pias, k, piasb:integer;

begin if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') or (edit4.Text='') or (edit5.Text='') or (edit6.Text='') then begin showmessage('Silahkan lengkapi data!!'); end

else begin awal:=strtoint(edit1.Text); akhir:=strtoint(edit2.Text); pias:=strtoint(edit3.Text); a:=strtoint(edit4.Text); b:=strtoint(edit5.Text); c:=strtoint(edit6.Text); piasb:=strtoint(edit3.Text);

memo1.Clear;

for i:=1 to 3 do begin delta:=(akhir-awal)/piasb; xa:=awal; memo1.Lines.Add('Iterasi : '+inttostr(i));

for k:=1 to piasb do begin ya:=a*xa*xa+b*xa+c; xb:=xa+delta; yb:=a*xb*xb+b*xb+c; cek:=ya*yb;

if cek<=0 then begin memo1.Lines.Add('AKARNYA!!!!'); memo1.Lines.Add('hasil cek = ' + floattostr(cek)); memo1.Lines.Add('xa = ' + floattostr(xa)); memo1.Lines.Add('ya = ' + floattostr(ya)); memo1.Lines.Add('xb = ' + floattostr(xb)); memo1.Lines.Add('yb = ' + floattostr(yb)); memo1.Lines.Add('delta = ' + floattostr(delta)); memo1.Lines.Add('------------------------'); xaa:=xa; xbb:=xb; end;

xa:=xb; end; awal:= xaa; akhir:=xbb; end;

end; end;

procedure TForm1.Button3Click(Sender: TObject); var gbr : tbitmap; delta1, delta,tinggi, lebar, sumbux, sumbuy, Jmlkoordinat : integer; awal, p, q, akhir,cek, xa, xb, ya, yb, yawal, yakhir, a, b, c, total,xaa,xbb : integer; i,pias, k, piasb:integer;

begin awal:=strtoint(edit1.Text); akhir:=strtoint(edit2.Text); pias:=strtoint(edit3.Text); a:=strtoint(edit4.Text); b:=strtoint(edit5.Text);

c:=strtoint(edit6.Text); //pias:=strtoint(edit3.Text);

{awal:=-2; akhir:=5; pias:=20; a:=1; b:=1; c:=1; }

Gbr:= TBitmap.Create; gbr.Width:=image2.Width; gbr.Height:=image2.Height;

//inisialisasi scrolbar tinggi:=gbr.height; Lebar:=gbr.width;

xa:=awal; delta:=5;

Sumbux:=round(tinggi/2); Sumbuy:=round(lebar/2);

//untuk membuat sumbu koordinat Gbr.canvas.moveto(0,sumbux); // penentuan posisi sumbu x Gbr.canvas.lineto(lebar,sumbux); //penggambaran garis sumbu x

Gbr.canvas.moveto(sumbuy,0); //penentuan posisi sumbu y Gbr.canvas.lineto(sumbuy,tinggi); //penggambaran garis sumbu y

//untuk membuat titik koordinat. Jmlkoordinat := round (sumbuy/delta);

For i :=1 to jmlkoordinat do begin Gbr.canvas.ellipse(sumbuy+(delta*i)-1, sumbux-3, sumbuy+(delta*i)+1, sumbux+3); Gbr.canvas.ellipse(sumbuy-(delta*i)-1, sumbux-3, sumbuy-(delta*i)+1, sumbux+3);

Gbr.canvas.ellipse(sumbuy-3, sumbux+(delta*i)-1, sumbuy+3, sumbux+(delta*i)+1); Gbr.canvas.ellipse(sumbuy+3, sumbux-(delta*i)-1, sumbuy-3, sumbux-(delta*i)+1); end; //membuat kurva xa:= -100; for i:=1 to jmlkoordinat*2 do begin ya:=a*xa*xa+b*xa+c; xb:=xa+1; yb:=a*xb*xb+b*xb+c;

gbr.Canvas.MoveTo(xa*delta+sumbuy,-ya*delta+sumbux); gbr.Canvas.LineTo(xb*delta+sumbuy,-yb*delta+sumbux);

xa:=xb; end;

//membuat pias atau arsiran xa:=awal; for i:=0 to akhir-awal do begin ya:=a*xa*xa+b*xa+c; xb:=xa+1;

gbr.Canvas.Pen.Color:=clfuchsia; gbr.Canvas.MoveTo(xa*delta+sumbuy,0*delta+sumbux); gbr.Canvas.LineTo(xa*delta+sumbuy,-ya*delta+sumbux);

xa:=xb; end;

Image2.picture.assign(gbr); gbr.Free;

end;

end.

You might also like