Langkah-Langkah Program Delphi Aplikasi Fisika
Langkah-Langkah Program Delphi Aplikasi Fisika
BAB I
PENDAHULUAN
A. Latar Belakang
B. Rumusan Masalah
1. Apa pengertian Delphi?
2. Apa saja kegunaan Delphi?
3. Apa saja keunggulan dan kekurangan Delphi?
4. Bagaimana tutorial pembuatan program dengan Delphi?
2
C. Tujuan
1. Untuk mengetahui pengertian Delphi.
2. Untuk mengetahui kegunaan Delphi.
3. Untuk mengetahui keunggulan dan kekurangan Delphi.
4. Untuk mengetahui tutorial pembuatan program dengan Delphi.
3
BAB II
PEMBAHASAN
Klik here
2. Akan tampil sebuah splash screen Borland Delphi 7. Tunggulah beberapa saat sampai
program Borland Delphi 7 tampil memenuhi dekstop.
4
Speed Bar
ComponentPallate
Object Treeview
Objet Inspector
Code Editor
Form Designer
Komponen Fungsi
Pointer Pointer adalah komponen khusus dan terdapat disetiap tab dalam
component palatte. Komponen pointer adalah komponen select yang
digunakan untuk memilih komponen dalam form designer.
Frames
Sebuah kontainer yang digunakan untuk menampung komponen frame
dapat diletakkan dalam form atau frame-frame yang lain.
MainMenu
Komponen yang digunakan untuk membuat menu bar dan menu drop
down. Komponen ini bersifat invisible.
PopUpMenu Komponen yang digunakan untuk membuat menu popup yang akan
muncul jika pemakai melakukan proses klik kanan. Komponen ini bersifat
invisible.
Label
Komponen ini hanya digunakan untuk menambahkan teks di dalam form
5
Edit Komponen yang digunakan untuk menerima satu baris teks yang
merupakan data input pemakai. Komponen ini juga dapat digunakan
untuk menampilkan teks.
Memo
Komponen Memo dipakai untuk memasukkan atau menapilkan beberapa
baris teks di dalam form.
Button Komponen yang dipakai untuk membuat button yang akan dipakai untuk
memilih pilihan di dalam aplikasi. Jika mengklik komponen button
tersebut maka suatu perintah atau kejadian akan dijalankan.
CheckBox
Komponen yang digunakan untuk memilih atau membatalkan suatu
pilihan, yaitu dengan cara mengklik komponen.
ListBox Komponen yang digunakan untuk membuat sebuah daftar pilihan, dimana
hanya ada satu pilihan yang dapat dipilih. Untuk mencari dan kemudian
memilih salah satu pilihan yang terdapat di dalam daftar dapat
menggunakan batang penggulung.
ComboBox Komponen yang digunakan untuk membuat sebuah daftar pilihan, dimana
hanya ada satu pilihan yang dapat dipilih. Untuk mencari dan kemudian
memilih salah satu pilihan yang terdapat di dalam daftar dapat
menggunakan mengklik tombol drop down.
ScrollBar
Komponen ini mempunyai fungsi yang sama seperti batang
penggulung yang terdapat dalam program-program berbasis Windows
pada umumnya.
GroupBox
Sebuah kontainer yang dapat digunakan untuk mengelompokkan
komponen-komponen lain seperti Radio Button, CheckBox dan komponen
kontainer yang lain.
RadioGroup
Komponen ini merupakan komponen kombinasi dari GroupBox dan
didesain untuk membuat sekelompok RadioButton,
Panel
Sebuah kontainer yang dapat digunakan untuk membuat StatusBar,
ToolBar dan ToolPalette.
ActionList
Komponen yang berisi daftar action yang digunakan bersama-sama
dengan komponen dan kontrol seperti item menu dan button.
Klik here
c. Ubahlah caption yang terletak pada object inspector dengan angka 0 seperti gambar di
bawah ini.
8
d. Kemudian, tambahkan 26 buah button dan rubah caption setiap button tersebut
seperti gambar dibawah ini.
Button16 Button16 - %
Button17 Button17 - X^2
Button18 Button18 - .
Button19 Button19 - Akar
Button20 Button20 - ÷
Button21 Button21 - =
Button22 Button22 - -
Button23 Button23 - Off
Button24 Button24 - C
Button25 Button25 - +/-
Button26 Button26 - X
Label1 Label1 - casian
f. Kemudian, klik ganda pada setiap button dan lengkapi kode program seperti
dibawah ini.
Komponen Caption Kode
Button1 1 procedure TForm1.Button1Click(Sender: TObject);
begin
if hasil.Caption='0' then
hasil.Caption:='';
if Hasil.Caption<>' ' then
if MemLogic='0' then
begin
MemLogic:='1';
if MemOperator<>'' then Hasil.Caption:='1' else
Hasil.Caption:='1';
end
else
Hasil.Caption:=Hasil.Caption+'1';
end;
Button2 2 procedure TForm1.Button2Click(Sender: TObject);
begin
if hasil.Caption='0' then
hasil.Caption:='';
if Hasil.Caption<>' ' then
if MemLogic='0' then
begin
MemLogic:='2';
if MemOperator<>'' then Hasil.Caption:='2' else
10
Hasil.Caption:='2';
end
else
Hasil.Caption:=Hasil.Caption+'2';
end;
Button3 3 procedure TForm1.Button3Click(Sender: TObject);
begin
if hasil.Caption='0' then
hasil.Caption:='';
if Hasil.Caption<>' ' then
if MemLogic='0' then
begin
MemLogic:='1';
if MemOperator<>' ' then Hasil.Caption:='3' else
Hasil.Caption:='3';
end
else
Hasil.Caption:=Hasil.Caption+'3';
end;
Button4 4 procedure TForm1.Button4Click(Sender: TObject);
begin
if hasil.Caption='0' then
hasil.Caption:='';
if Hasil.Caption<>' ' then
if MemLogic='0' then
begin
MemLogic:='1';
if MemOperator<>'' then Hasil.Caption:='4' else
Hasil.Caption:='4';
end
else
Hasil.Caption:=Hasil.Caption+'4';
end;
Button5 5 procedure TForm1.Button5Click(Sender: TObject);
begin
if hasil.Caption='0' then
hasil.Caption:='';
if Hasil.Caption<>' ' then
if MemLogic='0' then
begin
MemLogic:='1';
if MemOperator<>'' then Hasil.Caption:='5' else
Hasil.Caption:='5';
end
else
Hasil.Caption:=Hasil.Caption+'5';
11
end;
Button6 6 procedure TForm1.Button6Click(Sender: TObject);
begin
if hasil.Caption='0' then
hasil.Caption:='';
if Hasil.Caption<>' ' then
if MemLogic='0' then
begin
MemLogic:='1';
if MemOperator<>'' then Hasil.Caption:='6' else
Hasil.Caption:='6';
end
else
Hasil.Caption:=Hasil.Caption+'6';
end;
Button7 7 procedure TForm1.Button7Click(Sender: TObject);
begin
if hasil.Caption='0' then
hasil.Caption:='';
if Hasil.Caption<>' ' then
if MemLogic='0' then
begin
MemLogic:='1';
if MemOperator<>'' then Hasil.Caption:='7' else
Hasil.Caption:='7';
end
else
Hasil.Caption:=Hasil.Caption+'7';
end;
Button8 8 procedure TForm1.Button8Click(Sender: TObject);
begin
if hasil.Caption='0' then
hasil.Caption:='';
if Hasil.Caption<>' ' then
if MemLogic='0' then
begin
MemLogic:='1';
if MemOperator<>'' then Hasil.Caption:='8' else
Hasil.Caption:='8';
end
else
Hasil.Caption:=Hasil.Caption+'8';
end;
Button9 9 procedure TForm1.Button9Click(Sender: TObject);
begin
if hasil.Caption='0' then
12
hasil.Caption:='';
if Hasil.Caption<>' ' then
if MemLogic='0' then
begin
MemLogic:='1';
if MemOperator<>'' then Hasil.Caption:='9' else
Hasil.Caption:='9';
end
else
Hasil.Caption:=Hasil.Caption+'9';
end;
Button10 0 procedure TForm1.Button10Click(Sender: TObject);
begin
if hasil.Caption='0' then
hasil.Caption:='';
if Hasil.Caption<>' ' then
if MemLogic='0' then
begin
if MemOperator<>'' then Hasil.Caption:='0' else
if Hasil.Caption='0' then Hasil.Caption:='0' else
begin
Hasil.Caption:=Hasil.Caption+'0';
MemLogic:='1';
end;
end
else
Hasil.Caption:=Hasil.Caption+'0';
end;
Button11 Sin procedure TForm1.Button11Click(Sender: TObject);
var sudut : real;
begin
if Hasil.Caption<>' ' then
begin
sudut:=strtofloat(Hasil.Caption);
sudut:=sudut*pi/180;
Hasil.Caption := floattostr(sin(sudut));
end;
end;
Button12 Cos procedure TForm1.Button12Click(Sender: TObject);
var sudut:real;
begin
if hasil.Caption<>'' then
begin
sudut:=strtofloat(hasil.Caption);
sudut:=sudut*pi/180;
hasil.Caption := floattostr(cos(sudut));
13
MemLogic :='0';
end;
end;
Button13 Tan procedure TForm1.Button13Click(Sender: TObject);
var sudut,a,b:real;
begin
if hasil.Caption<>'' then
begin
sudut:=strtofloat(hasil.Caption);
sudut:=sudut*pi/180;
a:=sin(sudut);
b:=cos(sudut);
sudut:=a/b;
hasil.Caption := floattostr((sudut));
MemLogic :='0';
end;
end;
Button14 Log procedure TForm1.Button14Click(Sender: TObject);
var angka:real;
begin
angka:=StrToFloat(hasil.Caption);
angka:=ln(10)/ln(angka);
hasil.Caption:=FloatToStr(angka);
end;
Button15 + procedure TForm1.Button15Click(Sender: TObject);
begin
MemOperator:='';
if (hasil.Caption<>'') then
if MemLogic='0' then MemOperator:='+' else
if (MemOperator='') then
begin
MemOperator:='+';
MemLogic:='0';
MemAngka:=hasil.Caption;
end
else
begin
if MemOperator='+' then
hasil.Caption:=floattostr(strtofloat(MemAngka)+strtofloat(hasil.Caption));
if MemOperator='-' then hasil.Caption:=floattostr(strtofloat(MemAngka)-
strtofloat(hasil.Caption));
if MemOperator='x' then
hasil.Caption:=floattostr(strtofloat(MemAngka)*strtofloat(hasil.Caption));
if MemOperator='/' then
hasil.Caption:=floattostr(strtofloat(MemAngka)/strtofloat(hasil.Caption));
if MemOperator='mod' then hasil.Caption:=inttostr(strtoint(MemAngka) mod
14
strtoint(hasil.Caption));
if MemOperator='div' then hasil.Caption:=inttostr(strtoint(MemAngka)div
strtoint(hasil.Caption));
if MemOperator='^' then
hasil.Caption:=floattostr(exp(strtofloat(hasil.Caption)*ln(strtofloat(MemAngka))));
MemAngka:=hasil.Caption;
MemOperator:='+';
MemLogic:='0';
end;
end;
Button16 % procedure TForm1.Button16Click(Sender: TObject);
var angka:real;
begin
angka:=StrToFloat(hasil.Caption);
angka:=angka/100;
hasil.Caption:=FloatToStr(angka);
end;
Button17 X^2 procedure TForm1.Button17Click(Sender: TObject);
var pangkat: real;
begin
pangkat:=StrToFloat(hasil.Caption);
pangkat:=sqr(pangkat);
hasil.Caption:=FloatToStr(pangkat)
end;
Button18 . procedure TForm1.Button18Click(Sender: TObject);
begin
if hasil.Caption<>'' then
hasil.Caption:=hasil.Caption + ',';
end;
Button19 Akar procedure TForm1.Button19Click(Sender: TObject);
begin
if hasil.Caption<>'' then
hasil.Caption:=floattostr(sqrt(strtofloat(hasil.Caption)));
end;
Button20 ÷ procedure TForm1.Button20Click(Sender: TObject);
begin
MemOperator:='';
if (hasil.Caption<>'') then
if MemLogic='0' then MemOperator:='/' else
if (MemOperator='') then
begin
MemOperator:='/';
MemLogic:='0';
MemAngka:=hasil.Caption;
end
else
15
begin
if MemOperator='+' then
hasil.Caption:=floattostr(strtofloat(MemAngka)+strtofloat(hasil.Caption));
if MemOperator='-' then hasil.Caption:=floattostr(strtofloat(MemAngka)-
strtofloat(hasil.Caption));
if MemOperator='x' then
hasil.Caption:=floattostr(strtofloat(MemAngka)*strtofloat(hasil.Caption));
if MemOperator='/' then
hasil.Caption:=floattostr(strtofloat(MemAngka)/strtofloat(hasil.Caption));
if MemOperator='mod' then hasil.Caption:=inttostr(strtoint(MemAngka) mod
strtoint(hasil.Caption));
if MemOperator='div' then hasil.Caption:=inttostr(strtoint(MemAngka)div
strtoint(hasil.Caption));
if MemOperator='^' then
hasil.Caption:=floattostr(exp(strtofloat(hasil.Caption)*ln(strtofloat(MemAngka))));
MemAngka:=hasil.Caption;
MemOperator:='/';
MemLogic:='0';
end;
end;
Button21 = procedure TForm1.Button21Click(Sender: TObject);
begin
if MemOperator='+' then
hasil.Caption:=floattostr(strtofloat(MemAngka)+strtofloat(hasil.Caption));
if MemOperator='-' then hasil.Caption:=floattostr(strtofloat(MemAngka)-
strtofloat(hasil.Caption));
if MemOperator='x' then
hasil.Caption:=floattostr(strtofloat(MemAngka)*strtofloat(hasil.Caption));
if MemOperator='/' then
hasil.Caption:=floattostr(strtofloat(MemAngka)/strtofloat(hasil.Caption));
MemAngka:=hasil.Caption;
MemLogic:='0';
end;
Button22 - procedure TForm1.Button22Click(Sender: TObject);
begin
MemOperator:='';
if (hasil.Caption<>'') then
if MemLogic='0' then MemOperator:='-' else
if (MemOperator='') then
begin
MemOperator:='-';
MemLogic:='0';
MemAngka:=hasil.Caption;
end
else
begin
16
if MemOperator='+' then
hasil.Caption:=floattostr(strtofloat(MemAngka)+strtofloat(hasil.Caption));
if MemOperator='-' then hasil.Caption:=floattostr(strtofloat(MemAngka)-
strtofloat(hasil.Caption));
if MemOperator='x' then
hasil.Caption:=floattostr(strtofloat(MemAngka)*strtofloat(hasil.Caption));
if MemOperator='/' then
hasil.Caption:=floattostr(strtofloat(MemAngka)/strtofloat(hasil.Caption));
if MemOperator='mod' then hasil.Caption:=inttostr(strtoint(MemAngka) mod
strtoint(hasil.Caption));
if MemOperator='div' then hasil.Caption:=inttostr(strtoint(MemAngka)div
strtoint(hasil.Caption));
if MemOperator='^' then
hasil.Caption:=floattostr(exp(strtofloat(hasil.Caption)*ln(strtofloat(MemAngka))));
MemAngka:=hasil.Caption;
MemOperator:='-';
MemLogic:='0';
end;
end;
Button23 Off procedure TForm1.Button23Click(Sender: TObject);
begin
Close;
end;
Button24 C procedure TForm1.Button24Click(Sender: TObject);
begin
if MemOperator='+' then
hasil.Caption:=floattostr(strtofloat(MemAngka)+strtofloat(hasil.Caption));
if MemOperator='-' then hasil.Caption:=floattostr(strtofloat(MemAngka)-
strtofloat(hasil.Caption));
if MemOperator='x' then
hasil.Caption:=floattostr(strtofloat(MemAngka)*strtofloat(hasil.Caption));
if MemOperator='/' then
hasil.Caption:=floattostr(strtofloat(MemAngka)/strtofloat(hasil.Caption));
MemAngka:=hasil.Caption;
MemLogic:='0';
end;
Button25 +/- procedure TForm1.Button25Click(Sender: TObject);
begin
MemOperator:='';
if (hasil.Caption<>'') then
if MemLogic='0' then MemOperator:='-' else
if (MemOperator='') then
begin
MemOperator:='-';
MemLogic:='0';
MemAngka:=hasil.Caption;
17
end
else
begin
if MemOperator='+' then
hasil.Caption:=floattostr(strtofloat(MemAngka)+strtofloat(hasil.Caption));
if MemOperator='-' then hasil.Caption:=floattostr(strtofloat(MemAngka)-
strtofloat(hasil.Caption));
if MemOperator='x' then
hasil.Caption:=floattostr(strtofloat(MemAngka)*strtofloat(hasil.Caption));
if MemOperator='/' then
hasil.Caption:=floattostr(strtofloat(MemAngka)/strtofloat(hasil.Caption));
if MemOperator='mod' then hasil.Caption:=inttostr(strtoint(MemAngka) mod
strtoint(hasil.Caption));
if MemOperator='div' then hasil.Caption:=inttostr(strtoint(MemAngka)div
strtoint(hasil.Caption));
if MemOperator='^' then
hasil.Caption:=floattostr(exp(strtofloat(hasil.Caption)*ln(strtofloat(MemAngka))));
MemAngka:=hasil.Caption;
MemOperator:='-';
MemLogic:='0';
end;
end;
Button26 X procedure TForm1.Button29Click(Sender: TObject);
begin
MemOperator:='';
if (hasil.Caption<>'') then
if MemLogic='0' then MemOperator:='x' else
if (MemOperator='') then
begin
MemOperator:='x';
MemLogic:='0';
MemAngka:=hasil.Caption;
end
else
begin
if MemOperator='+' then
hasil.Caption:=floattostr(strtofloat(MemAngka)+strtofloat(hasil.Caption));
if MemOperator='-' then hasil.Caption:=floattostr(strtofloat(MemAngka)-
strtofloat(hasil.Caption));
if MemOperator='x' then
hasil.Caption:=floattostr(strtofloat(MemAngka)*strtofloat(hasil.Caption));
if MemOperator='/' then
hasil.Caption:=floattostr(strtofloat(MemAngka)/strtofloat(hasil.Caption));
if MemOperator='mod' then hasil.Caption:=inttostr(strtoint(MemAngka) mod
strtoint(hasil.Caption));
if MemOperator='div' then hasil.Caption:=inttostr(strtoint(MemAngka)div
18
strtoint(hasil.Caption));
if MemOperator='^' then
hasil.Caption:=floattostr(exp(strtofloat(hasil.Caption)*ln(strtofloat(MemAngka))));
MemAngka:=hasil.Caption;
MemOperator:='x';
MemLogic:='0';
end;
end;
end.
g. Selanjutnya, edit form sesuai dengan kreativitas anda. Kemudian, klik Run seperti
gambar dibawah ini.
2. Aplikasi Fisika
Berikut langkah-langkah kerja pembuatan aplikasi fisika sederhana adalah :
a. Klik aplikasi Delphi7 pada desktop.
Klik here
b. Tambahkan 13 buah button, 21 edit, 45 label dan 6 grup box. Edit form
sekreativitas anda contohnya seperti gambar di bawah ini.
Label34 Label34 - Kg
Label35 Label35 - m/s2
Label36 Label36 - m
Label37 Label37 - Joule
Label38 Label38 - ‘C
Label39 Label39 - ‘R
Label40 Label40 - ‘F
Label41 Label41 - ‘K
Label42 Label42 - Kg.m3
Label43 Label43 - m/s2
Label44 Label44 - m3
Label45 Label45 - N
Edit1 Edit1 - -
Edit2 Edit2 - -
Edit3 Edit3 - -
Edit4 Edit4 - -
Edit5 Edit5 - -
Edit6 Edit6 - -
Edit7 Edit7 - -
Edit8 Edit8 - -
Edit9 Edit9 - -
Edit10 Edit10 - -
Edit11 Edit11 - -
Edit12 Edit12 - -
Edit13 Edit13 - -
Edit14 Edit14 - -
Edit15 Edit15 - -
Edit16 Edit16 - -
Edit17 Edit17 - -
Edit18 Edit18 - -
22
Edit19 Edit19 - -
Edit20 Edit20 - -
Edit21 Edit21 - -
Groupbox1 Groupbox1 - Konversi suhu
Groupbox2 Groupbox2 - Kecepatan
Groupbox3 Groupbox3 - Momentum
Groupbox4 Groupbox4 - Energi Potensial
Groupbox5 Groupbox5 - Massa Jenis
Groupbox6 Groupbox6 - Hukum Archimedes
Butoon1 Butoon1 - Hitung
Butoon2 Butoon2 - Hapus
Butoon3 Butoon3 - Hitung
Butoon4 Butoon4 - Hapus
Butoon5 Butoon5 - Hitung
Butoon6 Butoon6 - Hapus
Butoon7 Butoon7 - Hitung
Butoon8 Butoon8 - Hapus
Butoon9 Butoon9 - Hitung
Butoon10 Butoon10 - Hapus
Butoon11 Butoon11 - Hitung
Butoon12 Butoon12 - Hapus
Button13 Button13 - Keluar
23
d. Kemudian, klik ganda pada setiap button dan lengkapi kode program seperti
dibawah ini.
Edit13.Text:='';
Edit14.Text:='';
end;
procedure TForm1.Button9Click(Sender: TObject);
var m,v:real;
begin
Butoon9 Hitung m:=StrtoFloat(edit15.text);
v:=StrtoFloat(edit16.text);
edit17.text:=Floattostr(m/v);
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
Butoon10 Hapus Edit15.Text:='';
Edit16.Text:='';
Edit17.Text:='';
end;
procedure TForm1.Button11Click(Sender: TObject);
var rho,g,v:real;
begin
rho:=StrtoFloat(edit18.text);
Butoon11 Hitung g:=StrtoFloat(edit19.text);
v:=StrtoFloat(edit20.Text);
edit21.text:=Floattostr(rho*g*v);
end;
end.
3. Aplikasi Case Of
Berikut langkah-langkah kerja pembuatan aplikasi case of adalah :
a. Klik aplikasi Delphi7 pada desktop.
Klik here
b. Tambahkan 1 buah button, 4 buah label, 1 buah combobox, dan 1 buah edit.
Edit form sesuai dengan kreativitas anda, contoh seperti gambar dibawah ini.
d. Kemudian, klik ganda pada setiap button dan lengkapi kode program seperti
dibawah ini.
procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.Items.Add('PALANTEK');
ComboBox1.Items.Add('PALASKADA');
ComboBox1.Items.Add('ASTAPALA');
ComboBox1.Items.Add('MANSAPALA');
ComboBox1.Items.Add('SEASAPALA');
ComboBox1.Items.Add('PALASMA');
ComboBox1.Items.Add('SAMPALA');
ComboBox1.Items.Add('KOPALASTA');
ComboBox1.Items.Add('SMANCAPALA');
ComboBox1.Items.Add('PALASMIK');
ComboBox1.Items.Add('SWAMAPALA');
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
application.Terminate;
end;
end.
Klik here
b. Tambahkan 1 label, 6 button, dan 1memo. Edit form sesuai keinginan anda,
contoh seperti gambar dibawah ini.
d. Kemudian, klik ganda pada setiap button dan lengkapi kode program seperti
dibawah ini.
procedure TForm1.Button1Click(Sender: TObject);
var n: integer;
f,r,k : real;
begin
n:=1;
Memo1.Lines.Append('Celcius'+' '+'Fahrenheid'+' '+'Reamor'+'
'+'Kelvin');
repeat
f:=9/5*n;
r:=4/5*n;
k:=273+n;
Memo1.Lines.Append(inttostr(n)+' '+formatfloat('0.#',f)+'
'+formatfloat('0.#',r)+' '+formatfloat('0.#',k));
inc(n);
until n > 100;
end;
c:=5/4*n;
f:=9/4*n;
k:=273+c;
Memo1.Lines.Append(inttostr(n)+' '+formatfloat('0.#',f)+'
'+formatfloat('0.#',c)+' '+formatfloat('0.#',k));
inc(n);
until n > 100;
end;
end.
end.
Klik here
b. Tambahkan 16 buah label, 27 buat edit, 2 image, 1 speed button, 1 panel, dan 1
button. Kemudian edit seperti gambar dibawah ini.
Edit18 Edit18 - -
Edit19 Edit19 - -
Edit20 Edit20 - -
Edit21 Edit21 - -
Edit22 Edit22 - -
Edit23 Edit23 - -
Edit24 Edit24 - -
Edit25 Edit25 - -
Edit26 Edit26 - -
Edit27 Edit27 - -
Image1 Image1 - -
Image2 Image2
SpeedButton1 SpeedButton1 - -
Panel1 Panel1 - -
Button1 Button1 - Keluar
Button2 Button2 - New
d. Kemudian, klik ganda pada setiap button dan lengkapi kode program seperti
dibawah ini.
procedure TForm1.SpeedButton1Click(Sender: TObject);
var Rt : double;
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,ip: real;
begin
a:= StrToFloat (edit1.Text);
b:= StrToFloat (edit2.Text);
c:= StrToFloat (edit3.Text);
d:= StrToFloat (edit4.Text);
e:= StrToFloat (edit5.Text);
f:= StrToFloat (edit6.Text);
g:= StrToFloat (edit7.Text);
h:= StrToFloat (edit8.Text);
i:= StrToFloat (edit11.Text);
j:= StrToFloat (edit12.Text);
k:= StrToFloat (edit13.Text);
l:= StrToFloat (edit14.Text);
m:= StrToFloat (edit15.Text);
n:= StrToFloat (edit16.Text);
o:= StrToFloat (edit17.Text);
p:= StrToFloat (edit18.Text);
Rt:= ((a*i+b*j+c*k+d*l+e*m+f*n+g*o+h*p));
Ip:= ((Rt)/(i+j+k+l+m+n+o+p));
edit9.Text := formatfloat('0.##',Ip);
edit10.Text := formatfloat('0.##',Rt);
34
if a = 4 then
edit20.Text := 'A'
else if a = 3.5 then
edit20.Text := 'B+'
else if a = 3 then
edit20.Text := 'B'
else if a = 2.5 then
edit20.Text := 'C+'
else if a = 2 then
edit20.Text := 'C'
else if a = 1.5 then
edit20.Text := 'D+'
else if a = 1 then
edit20.Text := 'D'
else if (a < 1) then
edit20.Text := 'E';
if b = 4 then
edit21.Text := 'A'
else if b = 3.5 then
edit21.Text := 'B+'
else if b = 3 then
edit21.Text := 'B'
else if b = 2.5 then
edit21.Text := 'C+'
else if b = 2 then
edit21.Text := 'C'
else if b = 1.5 then
edit21.Text := 'D+'
else if b = 1 then
edit21.Text := 'D'
else if (b < 1) then
edit21.Text := 'E';
if c = 4 then
edit22.Text := 'A'
else if c = 3.5 then
edit22.Text := 'B+'
else if c = 3 then
edit22.Text := 'B'
else if c = 2.5 then
edit22.Text := 'C+'
else if c = 2 then
edit22.Text := 'C'
else if c = 1.5 then
edit22.Text := 'D+'
else if c = 1 then
edit22.Text := 'D'
else if (c < 1) then
edit22.Text := 'E';
if d = 4 then
edit23.Text := 'A'
else if d = 3.5 then
edit23.Text := 'B+'
else if d = 3 then
edit23.Text := 'B'
else if d = 2.5 then
edit23.Text := 'C+'
else if d = 2 then
edit23.Text := 'C'
else if d = 1.5 then
edit23.Text := 'D+'
else if d = 1 then
edit23.Text := 'D'
35
else if h = 1 then
edit27.Text := 'D'
else if (h < 1) then
edit27.Text := 'E';
if (n >= 3) and (n<=4) then
edit19.Text := '24'
else if (n >= 2.50) and (n<= 2.99) then
edit19.Text := '22'
else if (n >= 2) and (n<= 2.49) then
edit19.Text := '20'
else if (n >= 1.50) and (n<= 1.99) then
edit19.Text := '18'
else if (n < 1.50) then
edit19.Text := '16'
end;
end.
37
Klik here
b. Tambahkan 7 buah label, 4 buah button, 1 buah timer, 1 buah image, 1 buah shape, 5 buah
scroll bar. dan 1 buah checkbox. Kemudian di edit seperti gambar dibawah ini.
d. Kemudian, klik ganda pada setiap button dan lengkapi kode program seperti
dibawah ini.
procedure TForm1.Button1Click(Sender: TObject);
begin
gambar:=TBitmap.Create;
gambar.Width:=Image1.Width;
gambar.Height:=Image1.Height;
gelombang:=ScrollBar5.Position;
Label6.Caption:=IntToStr(ScrollBar5.Position);
Label8.Caption:=IntToStr(ScrollBar1.Position);
Label7.Caption:=IntToStr(-ScrollBar2.Position);
Label4.Caption:=floatToStr(ScrollBar3.Position/rentangtitik);
Label5.Caption:=floatToStr(ScrollBar4.Position/rentangtitik);
sx:=Round(gambar.Height/2);
sy:=Round(gambar.Width/2);
sumbuX:=sx+ScrollBar2.Position;
sumbuY:=sy+ScrollBar1.Position;
gambar.Canvas.MoveTo(sumbuY,0);
gambar.Canvas.LineTo(sumbuY,image1.Height);
gambar.Canvas.MoveTo(0,sumbuX);
gambar.Canvas.LineTo(image1.Width,sumbuX);
40
panjanglengansumbuX:=20*round((image1.Width/2)/rentangtitik);
panjanglengansumbuY:=20*round((image1.Height/2)/rentangtitik);
//X Y
for i:=1 to panjanglengansumbux do
begin
gambar.Canvas.Ellipse(sumbuY+rentangtitik*i-1,sumbuX-5,sumbuY+rentangtitik*i+1,sumbuX+5);
gambar.Canvas.TextOut(sumbuY-3+rentangtitik*i,sumbuX+10,IntToStr(i));
gambar.Canvas.Ellipse(sumbuY+rentangtitik*(-i)-1,sumbuX-5,sumbuY+rentangtitik*(-i)+1,sumbuX+5);
gambar.Canvas.TextOut(sumbuY-3+rentangtitik*(-i),sumbuX+10,IntToStr(-i));
gambar.Canvas.Ellipse(sumbuY-5,sumbuX+rentangtitik*i-1,sumbuY+5,sumbuX+rentangtitik*i+1);
gambar.Canvas.TextOut(sumbuY-15,sumbuX-7+rentangtitik*(-i),IntToStr(i));
gambar.Canvas.Ellipse(sumbuY-5,sumbuX+rentangtitik*(-i)-1,sumbuY+5,sumbuX+rentangtitik*(-i)+1);
gambar.Canvas.TextOut(sumbuY-15,sumbuX-7+rentangtitik*(i),IntToStr(-i));
end;
for i := 0 to gelombang*ScrollBar3.Position do
begin
nil_sin:=Round( ScrollBar4.Position *-sin( 2 * pi * i /ScrollBar3.Position));
gambar.Canvas.Pixels[i+sumbuy, nil_sin+ sumbuX]:=clblue;
if (i mod 2 =0) and (CheckBox1.Checked) then
begin
gambar.Canvas.MoveTo(i+sumbuy,sumbuX);
gambar.Canvas.LineTo(i+sumbuy, nil_sin + sumbuX);
end;
end;
image1.Picture.Assign(gambar);
gambar.Free;
end;
ScrollBar1.Max:=Round(Image1.Width/2);
ScrollBar1.Min:=-Round(Image1.Width/2);
ScrollBar2.Max:=Round(Image1.Height/2);
ScrollBar2.Min:=-Round(Image1.Height/2);
ScrollBar3.Position:=1*rentangtitik;
ScrollBar4.Position:=1*rentangtitik;
Label4.Caption:=floatToStr(ScrollBar3.Position/rentangtitik);
Label5.Caption:=floatToStr(ScrollBar4.Position/rentangtitik);
end;
begin
Shape1.Brush.Color:=RGB(random(255),random(255),random(255));
end;
gambar.Canvas.MoveTo(sumbuY,0);
gambar.Canvas.LineTo(sumbuY,image1.Height);
gambar.Canvas.MoveTo(0,sumbuX);
gambar.Canvas.LineTo(image1.Width,sumbuX);
panjanglengansumbuX:=20*round((image1.Width/2)/rentangtitik);
panjanglengansumbuY:=20*round((image1.Height/2)/rentangtitik);
//XY
for i:=1 to panjanglengansumbux do
begin
gambar.Canvas.Ellipse(sumbuY+rentangtitik*i-1,sumbuX-5,sumbuY+rentangtitik*i+1,sumbuX+5);
gambar.Canvas.TextOut(sumbuY-3+rentangtitik*i,sumbuX+10,IntToStr(i));
gambar.Canvas.Ellipse(sumbuY+rentangtitik*(-i)-1,sumbuX-5,sumbuY+rentangtitik*(-i)+1,sumbuX+5);
gambar.Canvas.TextOut(sumbuY-3+rentangtitik*(-i),sumbuX+10,IntToStr(-i));
gambar.Canvas.Ellipse(sumbuY-5,sumbuX+rentangtitik*i-1,sumbuY+5,sumbuX+rentangtitik*i+1);
gambar.Canvas.TextOut(sumbuY-15,sumbuX-7+rentangtitik*(-i),IntToStr(i));
gambar.Canvas.Ellipse(sumbuY-5,sumbuX+rentangtitik*(-i)-1,sumbuY+5,sumbuX+rentangtitik*(-i)+1);
gambar.Canvas.TextOut(sumbuY-15,sumbuX-7+rentangtitik*(i),IntToStr(-i));
end;
for i := 0 to gelombang*ScrollBar3.Position do
begin
nil_cos:=Round( ScrollBar4.Position *-cos( 2 * pi * i /ScrollBar3.Position));
gambar.Canvas.Pixels[i+sumbuy, nil_cos+ sumbuX]:=clred;
if (i mod 2 =0) and (CheckBox1.Checked) then
begin
gambar.Canvas.MoveTo(i+sumbuy,sumbuX);
gambar.Canvas.LineTo(i+sumbuy, nil_cos + sumbuX);
end;
end;
image1.Picture.Assign(gambar);
gambar.Free;
end;
Label7.Caption:=IntToStr(-ScrollBar2.Position);
Label4.Caption:=floatToStr(ScrollBar3.Position/rentangtitik);
Label5.Caption:=floatToStr(ScrollBar4.Position/rentangtitik);
sx:=Round(gambar.Height/2);
sy:=Round(gambar.Width/2);
sumbuX:=sx+ScrollBar2.Position;
sumbuY:=sy+ScrollBar1.Position;
gambar.Canvas.MoveTo(sumbuY,0);
gambar.Canvas.LineTo(sumbuY,image1.Height);
gambar.Canvas.MoveTo(0,sumbuX);
gambar.Canvas.LineTo(image1.Width,sumbuX);
panjanglengansumbuX:=20*round((image1.Width/2)/rentangtitik);
panjanglengansumbuY:=20*round((image1.Height/2)/rentangtitik);
begin
button1.Click;
end;
end.
//THANKS FANS
Gelombang Cosinus
Gelombang Superposisi
44
Edit3 Text -
Edit4 Text -
Edit5 Text -
Button1 Caption,Name PROSES
Button2 Caption,Name DELETE
Button3 Caption,Name CLOSE
Image1 - -
edit4.text:=FloatToStr(e)+'+'+FloatToStr(f)+'i';
edit5.text:=FloatToStr(e)+'-'+FloatToStr(f)+'i';
end;
end;
BUTTON 2 procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
end;
BUTTON 3 procedure TForm1.Button3Click(Sender: TObject);
begin
application.Terminate;
end;
d. Run program dan aplikasi yang telah dibuat muncul seperti gambar dibawah ini.
47
8. Membuat Aplikasi Untuk Mencari Akar Himpunan Dengan Metode Interaksi Titik
Tetap
Berikut langkah-langkah membuat aplikasi tersebut, yaitu :
a. Design form seperti gambar dibawah ini
Edit3 Text -
Listbox1 - -
Listbox2 - -
Listbox3 - -
Listbox4 - -
Button1 Caption, Name Proses
Botton2 Caption,Name Close
d. Run program dan aplikasi yang telah dibuat tampak seperti gambar dibawah ini
50
9. Membuat Aplikasi Untuk Membuat Akar Persamaan Numerik Dan Grafik Fungsi
Menggunakan Delphi
Berikut langkah-langkah membuat aplikasi tersebut, yaitu :
a. Design Form seperti gambar dibawah ini
Edit3 Text -
Edit4 Text -
Edit5 Text -
Memo1 Text -
Memo2 Text -
Button1 Caption,Name Hitung
Button2 Caption,Name Grafik
Botton3 Caption,Name Ulang
Button4 Caption,Name Keluar
Tchart - -
b := (R*Tc)/(8*pc);
Va := (R*T)/p;
end;
Procedure Newton(var Va,Vb : extended);
begin
Vb := Va - (f(Va)/df(Va));
awal := Va;
akhir := Vb;
Va := Vb;
end;
begin
if edit1.Text =' ' then
messagedlg('Data belum
diisi',mtError,[mbok],0)
else
begin
Tc := strtofloat(edit1.Text);
pc := strtofloat(edit2.Text);
p := strtofloat(edit3.Text);
T := strtofloat(edit4.Text);
Hitung_abVa;
edit5.Text := floattostr(Va);
n := 1;
repeat
Newton(Va,Vb);
Memo1.Lines.Add(floattostr(awal));
Memo2.Lines.Add(floattostr(akhir));
inc(n,1);
until abs(akhir-awal) < presisi;
edit1.SetFocus;
end;
edit1.SetFocus;
end;
BUTTON 2 procedure TForm1.Button2Click(Sender:
TObject);
var n : integer;
function fn(n : integer) : extended;
53
begin
fn :=(p*n*n*n)-((b*p+R*T)*n*n)+(a*n)-(a*b);
end;
begin
series1.Clear;
if edit1.Text ='' then messagedlg('Data belum
diisi',mtError,[mbok],0)
else
begin
for n := -100 to 100 do
begin
series1.add(fn(n));
end;
end;
edit1.SetFocus;
end;
BUTTON 3 procedure TForm1.Button3Click(Sender:
TObject);
begin
edit1.Text := ' ';
edit2.Text := ' ';
edit3.Text := ' ';
edit4.Text := ' ';
edit5.Text := ' ';
memo1.Clear;
memo2.Clear;
edit1.SetFocus;
end;
BUTTON 4 procedure TForm1.Button4Click(Sender:
TObject);
begin
Application.Terminate;
end;
54
d. Run program dan aplikasi yang telah dibuat tampah seperti gambar dibawah ini
55
image - -
function f(x:real):real;
begin
f:=x*x*x*x-31*x*x*x+230*x*x-452*x-144;
{f:=x*x*x-4*x*x-x+2;}
end;
d. Run Program dan aplikasi yang telah dibuat tampak seperti gambar dibawah
58
Edit13 Text -
Edit14 Text -
Edit15 Text -
Edit16 Text -
Edit17 Text -
Edit18 Text -
Edit19 Text -
Button1 Caption,Name Jenis Akar
Button2 Caption,Name Clear
Button3 Caption,Name Proses
Button4 Caption.Name Clear
Button5 Caption,Name Proses
Button6 Caption,Name Clear
Button7 Caption,Name Proses
Button8 Caption,Name Grafik
Button9 Caption,Name Clear
Button10 Caption,Name Close
Label1 Caption Akar-akar persamaan kuadrat
Label2 Caption X2+
Label3 Caption X+
Label4 Caption =0
Label5 Caption Mencari akar hampiran
Label6 Caption X1=
Label7 Caption X2=
Label8 Caption F(x)-cosx-x2
Label9 Caption Dengan metode iterasi tetap
Label10 Caption X0=
Label11 Caption n=
Label12 Caption Iterasi
Label13 Caption X0
60
Label14 Caption X1
Label15 Caption e
Label16 Caption Akar Hampiran
Label17 Caption Mencari akar polinomialdengan
fungsi
Label18 Caption Masukan nial X0
Label19 Caption Masukan nilai X1
Label20 Caption Masukan nilai N
Label21 Caption Akar Fungsi
Label22 Caption Nilai Fungsi
Label23 Caption Interaksi ke
Label24 Caption T kritis
Label25 Caption P Kritis
Label26 Caption Tekanan
Label27 Caption Temperatur
Label28 Caption V estimasi
Label29 Caption Awal
Label30 Caption Akhir
Groupbox1 Caption Proses
Image1 - -
StaticText1 Caption Akar persamaan
StaticText2 Caption Input
StaticText3 Caption Output
ListBox1 Name ListBox1
ListBox2 Name ListBox2
ListBox3 Name ListBox3
ListBox4 Name ListBox4
Memo1 Name Memo1
Memo2 Name Memo2
Chart1 Name Chart1
61
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, TeEngine, Series,
TeeProcs, Chart;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
GroupBox1: TGroupBox;
Label6: TLabel;
Label7: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Button1: TButton;
Edit6: TEdit;
Button2: TButton;
Label5: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Edit7: TEdit;
Edit8: TEdit;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
ListBox1: TListBox;
ListBox2: TListBox;
62
ListBox3: TListBox;
ListBox4: TListBox;
Label16: TLabel;
Edit9: TEdit;
Button3: TButton;
Button4: TButton;
Label17: TLabel;
Image1: TImage;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Button5: TButton;
Button6: TButton;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
Edit16: TEdit;
Edit17: TEdit;
Edit18: TEdit;
Edit19: TEdit;
Edit20: TEdit;
Chart1: TChart;
Series1: TAreaSeries;
Memo1: TMemo;
Memo2: TMemo;
63
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Const dx = 0.001;
presisi = 1e-5; {epsilon}
R = 8.314;
var
p, T, pc, Tc, a, b, awal, akhir,Va,Vb : extended;
n : integer;
Form1: TForm1;
implementation
{$R *.dfm}
BUTTON 1 procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c:integer;
D,AD,akr1,akr2,e,f:real;
begin
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit2.Text);
c:=StrToInt(Edit3.Text);
D:=(b*b-4*a*c);
if(D>0)then
AD:=sqrt(b*b-4*a*c);
64
begin
akr1:=(-b+AD)/(2*a);
akr2:=(-b-AD)/(2*a);
Edit4.Text:=FloatToStr(akr1);
Edit5.Text:=FloatToStr(akr2);
Edit6.Text:='Real Berlainan';
end;
if(D=0)then
begin
akr1:= -b/(2*a);
akr2:= -b/(2*a);
Edit4.Text:=FloatToStr(akr1);
Edit5.Text:=FloatToStr(akr2);
Edit6.Text:='Real dan Sama';
end;
if(D<0)then
begin
e:=-b/(2*a);
f:=sqrt(-D)/(2*a);
Edit4.Text:=formatfloat('0.#',e)+' + i' +
formatfloat('0.#',f);
Edit5.Text:=formatfloat('0.#',e)+' - i' +
formatfloat('0.#',f);
Edit6.Text:='Real Imajiner'
end;
end;
i,n:integer;
begin
x0:=strtofloat(edit7.Text);
e:=0.0001;
i:=0;
n:=strtoint(edit8.Text);
repeat
i:=i+1;
listbox1.Items.add(inttostr(i));
listbox2.Items.add(floattostr(x0));
x1:=sqrt(cos(x0));
listbox3.Items.add(floattostr(x1));
p:=(x1-x0)/x1;
q:=abs(p);
listbox4.Items.add(floattostr(q));
x0:=x1;
until
q<e;
edit9.Text:=floattostr(x1);
end;
BUTTON 4 procedure TForm1.Button4Click(Sender: TObject);
begin
edit7.Clear;
edit8.Clear;
edit9.Clear;
ListBox1.Clear;
ListBox2.Clear;
ListBox3.Clear;
ListBox3.Clear;
ListBox4.Clear;
end;
function f(x:real):real;
begin
f:=x*x*x*x-31*x*x*x+230*x*x-452*x-144;
{f:=x*x*x-4*x*x-x+2;}
end;
BUTTON 5 procedure TForm1.Button5Click(Sender: TObject);
var
x0,x1,x2,f0,f1,f2:real;
i,n,j : integer;
begin
66
x0:=strtofloat(edit10.text);
x1:=strtofloat(edit11.text);
n:=strtoint(edit12.Text);
f0:=f(x0);
f1:=f(x1);
for i:=0 to n do
begin
j:=i;
if((f1-f0)<>0)then
x2:=x1-(f1*(x1-x0))/(f1-f0)
else
begin
j:=n;
end;
f2:=f(x2);
x0:=x1;f0:=f1;
x1:=x2;f1:=f2;
edit13.Text:=floattostr (x2);
edit14.Text:=floattostr(f2);
edit15.Text:=inttostr (i);
end;
end;
BUTTON 6 procedure TForm1.Button6Click(Sender: TObject);
begin
edit10.Clear;
edit11.Clear;
edit12.Clear;
edit13.Clear;
edit14.Clear;
edit15.Clear;
end;
BUTTON 7 procedure TForm1.Button7Click(Sender: TObject);
function f(x : extended) : extended;
begin
f :=(p*x*x*x)-((b*p+R*T)*x*x)+(a*x)-(a*b);
end;
Function df(x : extended) : extended;
begin
df := (f(x+dx) - f(x-dx))/(2*dx);
end;
67
Procedure Hitung_abVa;
begin
a := (27*sqr(R)*sqr(Tc))/(64*pc);
b := (R*Tc)/(8*pc);
Va := (R*T)/p;
end;
Procedure Newton(var Va,Vb : extended);
begin
Vb := Va - (f(Va)/df(Va));
awal := Va;
akhir := Vb;
Va := Vb;
end;
begin
if edit16.Text =' ' then
messagedlg('Data belum diisi',mtError,[mbok],0)
else
begin
Tc := strtofloat(edit16.Text);
pc := strtofloat(edit17.Text);
p := strtofloat(edit18.Text);
T := strtofloat(edit19.Text);
Hitung_abVa;
edit20.Text := floattostr(Va);
n := 1;
repeat
Newton(Va,Vb);
Memo1.Lines.Add(floattostr(awal));
Memo2.Lines.Add(floattostr(akhir));
inc(n,1);
until abs(akhir-awal) < presisi;
edit16.SetFocus;
end;
edit1.SetFocus;
end;
BUTTON 8 procedure TForm1.Button8Click(Sender: TObject);
var n : integer;
function fn(n : integer) : extended;
begin
fn :=(p*n*n*n)-((b*p+R*T)*n*n)+(a*n)-(a*b);
end;
68
begin
series1.Clear;
if edit16.Text ='' then
messagedlg('Data belum diisi',mtError,[mbok],0)
else
begin
for n := -100 to 100 do
begin
series1.add(fn(n));
end;
end;
edit16.SetFocus;
end;
BUTTON 9 procedure TForm1.Button9Click(Sender: TObject);
begin
edit16.Text := ' ';
edit17.Text := ' ';
edit18.Text := ' ';
edit19.Text := ' ';
edit20.Text := ' ';
memo1.Clear;
memo2.Clear;
edit16.SetFocus;
end;
BUTTON 10 procedure TForm1.Button10Click(Sender: TObject);
begin
application.Terminate;
end;
end.
69
d. Run Program dan aplikasi yang telah dibuat tampak seperti gambar dibawah
70
12. Membuat Program Interaksi Numerik Dengan Metode Trapesium, Titik Tengah, Dan
Simpson
LANGKAH-LANGKAH
a. Design Form seperti gambar dibawah ini :
Edit5 Text -
Edit6 Text -
Edit6 Text -
image - -
implementation
function F(var c:double):double;
begin
F:=1/c;
end;
{$R *.dfm}
BUTTON 1 procedure TForm1.Button1Click(Sender: TObject);
var a,b,h,x,sigma,integral:double;
i,n:integer;
begin
a:=StrToFloat(edit1.Text);
b:=StrToFloat(edit2.Text);
n:=StrToInt(edit3.Text);
h:=(b-a)/n;
x:=a;
Integral:=F(a)+F(b);
sigma:=0;
begin
x:=x+h;
sigma:=sigma+2*F(x);
end;
Integral:=(Integral+sigma)*h/2;
edit4.text:=FloatToStr(Integral) ;
end;
BUTTON 2 procedure TForm1.Button2Click(Sender: TObject);
72
var a,b,h,x,sigma,integral:double;
i,n:integer;
begin
a:=StrToFloat(edit1.Text);
b:=StrToFloat(edit2.Text);
n:=StrToInt(edit3.Text);
h:=(b-a)/n;
x:=a+h/2;
sigma:=f(x);
h:=(a-b)/N;
sigma:=f(a)+f(b);
fak:=2;
end;
BUTTON 4 procedure TForm1.Button4Click(Sender: TObject);
var a,b,h,x,sigma,integral,fak:double;
i,n:integer;
begin
a:=StrToFloat(edit1.Text);
b:=StrToFloat(edit2.Text);
n:=StrToInt(edit3.Text);
h:=(a-b)/n;
sigma:=f(a)+f(b);
d. Run Program dan aplikasi yang telah dibuat tampak seperti gambar dibawah
74
var
Form1: TForm1;
implementation
{$R *.dfm}
SPEEDBUTTON 6 Procedure Euler;
var i: integer;
Begin
for i:= 1 to dim do m1[i]:= fx(i,t,y);
for i:= 1 to dim do yEuler[i]:= y[i]+ (h*m1[i]);
for i:= 1 to dim do m2[i]:= fx(i,t+h,yEuler);
for i:= 1 to dim do y[i]:= y[i]+
0.5*h*(m1[i]+m2[i]);
for i:= 1 to dim do yt[i]:= y[i]+ j*plot;
Memo2.Lines.Add(' '+inttostr(j)+'--
>'+floattostr(yt[zat]))
end;
t:= t0 + j*h;
end;
Procedure RungeKutta4;
var i: integer;
Begin
for i:= 1 to dim do m1[i]:= fx(i,t,y);
for i:= 1 to dim do yEuler[i]:= y[i]+
(h*m1[i]/2);
for i:= 1 to dim do m2[i]:= fx(i,t+h/2,yEuler);
for i:= 1 to dim do yEuler[i]:= y[i]+
(h*m2[i]/2);
for i:= 1 to dim do m3[i]:= fx(i,t+h/2,yEuler);
for i:= 1 to dim do yEuler[i]:= y[i]+
(h*m3[i]);
for i:= 1 to dim do m4[i]:= fx(i,t+h,yEuler);
for i:= 1 to dim do y[i]:= y[i]+
(h/6)*(m1[i]+2*m2[i]+2*m3[i]+m4[i]);
for i:= 1 to dim do yt[i]:= y[i]+ j*plot;
begin
series1.Clear;
Memo1.Clear;
memo2.Clear;
Edit7.SetFocus;
zat:= strtoint(edit7.Text);
N:= strtoint(edit6.Text);
t0:= 1;
tf:= N;
t := t0;
y0[1]:= strtofloat(Edit1.Text);
y0[2]:= strtofloat(Edit2.Text);
y0[3]:= strtofloat(Edit3.Text);
k1 := StrToFloat(Edit4.Text);
k2 := StrToFloat(Edit5.Text);
77
y:= y0;
h:= (tf-t0)/N;
for j := 1 to N do
Begin
if radiobutton3.Checked = true then Euler;
if radiobutton4.Checked = true then
RungeKutta4;
end;
Edit7.SetFocus;
end;
SPEED BUTTON 7 procedure TForm1.SpeedButton7Click(Sender: TObject);
begin
Close;
end;
d. Run program dan aplikasi yang telah dibuat tampah seperti gambar dibawah ini
78
var
Form1: TForm1;
implementation
{$R *.dfm}
SPEEDBUTTON 6 Procedure Euler;
var i: integer;
Begin
for i:= 1 to dim do m1[i]:= fx(i,t,y);
for i:= 1 to dim do yEuler[i]:= y[i]+ (h*m1[i]);
for i:= 1 to dim do m2[i]:= fx(i,t+h,yEuler);
for i:= 1 to dim do y[i]:= y[i]+
0.5*h*(m1[i]+m2[i]);
for i:= 1 to dim do yt[i]:= y[i]+ j*plot;
Procedure RungeKutta4;
80
var i: integer;
Begin
for i:= 1 to dim do m1[i]:= fx(i,t,y);
for i:= 1 to dim do yEuler[i]:= y[i]+
(h*m1[i]/2);
for i:= 1 to dim do m2[i]:= fx(i,t+h/2,yEuler);
for i:= 1 to dim do yEuler[i]:= y[i]+
(h*m2[i]/2);
for i:= 1 to dim do m3[i]:= fx(i,t+h/2,yEuler);
for i:= 1 to dim do yEuler[i]:= y[i]+
(h*m3[i]);
for i:= 1 to dim do m4[i]:= fx(i,t+h,yEuler);
for i:= 1 to dim do y[i]:= y[i]+
(h/6)*(m1[i]+2*m2[i]+2*m3[i]+m4[i]);
for i:= 1 to dim do yt[i]:= y[i]+ j*plot;
begin
series1.Clear;
Memo1.Clear;
memo2.Clear;
Edit7.SetFocus;
zat:= strtoint(edit7.Text);
N:= strtoint(edit6.Text);
t0:= 1;
tf:= N;
t := t0;
y0[1]:= strtofloat(Edit1.Text);
y0[2]:= strtofloat(Edit2.Text);
y0[3]:= strtofloat(Edit3.Text);
k1 := StrToFloat(Edit4.Text);
k2 := StrToFloat(Edit5.Text);
y:= y0;
h:= (tf-t0)/N;
for j := 1 to N do
Begin
if radiobutton3.Checked = true then Euler;
81
d. Run program dan aplikasi yang telah dibuat tampah seperti gambar dibawah ini
82
BAB III
PENUTUP
A. Kesimpulan
Dari Uraian pengenalan Program Delphi di atas penulis dapat mengambil
kesimpulan bahwa program ini mudah digunakan oleh seorang programmer
pemula. Adapun sejumlah kelebihan Delphi antara lain meliputi:
1. IDE (Integrated Development Environment) atau lingkungan pengembangan aplikasi
sendiri adalah satu dari beberapa keunggulan delphi, didalamnya terdapat menu–
menu yang memudahkan kita untuk membuat suatu proyek program.
2. Proses Kompilasi cepat, pada saat aplikasi yang kita buat dijalankan pada Delphi,
maka secara otomatis akan dibaca sebagai sebuah program, tanpa dijalankan terpisah.
3. Mudah digunakan, source kode delphi yang merupakan turunan dari pascal, sehingga
tidak diperlukan suatu penyesuain lagi.
4. Bersifat multi purphase, artinya bahasa pemrograman Delphi dapat digunakan untuk
mengembangkan berbagai keperluan pengembangan aplikasi.
Delphi adalah bahasa pemrograman yang sangat menarik bagi para programer.
Dari sisi bahasa, Delphi merupakan salah satu bahasa pemrograman tingkat tinggi
sehingga relatif lebih mudah untuk dipahami dan lebih komunikatif. Dari segi fasilitas,
delphi menyediakan fasilitas cukup lengkap, dari segi tampilan program. Delphi mampu
membuat program yang cukup cantik dan menarik.
83
DAFTAR PUSTAKA
http://muhimatul-azka.blogspot.com/2012/12/makalah-pengenalan-delphi.html