"Ilmu yang bermanfaat" adalah salah satu kunci naungan Allah kepada kita di padang Masyar.

Membuat Program Aplikasi Grafik Fungsi Kuadrat Dengan Delphi



*    Program Aplikasi Grafik Fungsi Kuadrat

Program aplikasi ini adalah program aplikasi untuk menentukan nilai Diskriminan (D), akar-akar (X1 dan X2), jenis akar, sumbu simetri (Xp), titik balik maksimum atau minimum (Yp), nilai x dan f(x), serta gambar grafik fungsi persamaan kuadrat. Perhatikan Gambar 7.1 di bawah ini!.
Gambar 7.1 Grafik Fungsi Persamaan Kuadrat
           
Langkah-langkah Kerja:
1.    Letakkan 5 komponen GroupBox, 12 komponen Edit, 12 komponen Label, 1 komponen StringGrid, 1 komponen Chart, dan 4 komponen BitButton pada sebuah Form. Kemudian ubahlah property komponen – komponen di atas seperti pada tabel berikut ini:
Tabel 7.1 Daftar Komponen Program Aplikasi Grafik Fungsi Kuadrat
Komponen
Properti
Nama
Form
Caption
Grafik Fungsi Kuadrat
GroupBox1

Input Nilai a, b, c
GroupBox2

Input Batas Grafik
GroupBox3

Nilai Fungsi
GroupBox4

Grafik
BitButton1
Glyph
Tangan ke arah kiri (Tombol New)
BitButton2

Tangan ke arah kanan (Tombol Proses1)
BitButton3

Tangan ke arah bawah (Tombol Proses2)
BitButton4

Tanda larangan merah (Tombol Exit)
Edit 1-12
Text
Kosongkan
Label1
Caption
a
Label2

b
Label3

c
Label4

Titik Awal
Label5

Jumlah Titik
Label6

Interval
Label7

D
Label8

X1
Label9

X2
Label10

Xp
Label11

Yp
Label12

Jenis Akar
StringGrid1
-
-
Chart1
-
-

2.    Aturlah letak komponen – komponen tersebut pada form seperti gambar di atas.
3.    Double klik pada Chart1, kemudian akan muncul kotak dialog Editing Chart1.
4.    Klik Add, pilih gambar Line, contreng 3D, kemudian klik OK.
5.    Klik Titles, ubah TChar menjadi “Grafik Fungsi Kuadrat”.
6.    Klik Axis, buka contreng Automatic, kemudian pilih Minimum -50 dan Maximum 50. Kemudian pilih Close untuk menutup kotak dialog tersebut.
7.    Tambahkan sintak berikut ini di bawah var sebelum implementation.
var
 Form1: TForm1;
 i,ndat:integer;
 teta0,step:real;
 a,b,c,D,X1,X2,Xp,Yp:double;
 J:String;
 ceksin:boolean;
  x,y:array[-50..50] of real;
implementation
{$R *.dfm}
8.    Klik ganda pada tombol “Proses1/Tangan ke kanan” dan ketikkan sintak berikut ini:
procedure TForm1.BitBtn4Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
c:=strtofloat(edit3.Text);
D:=b*b-4*a*c;
Xp:=(-b)/2*a;
Yp:=(-D)/4*a;
IF D<0 THEN
BEGIN
X1 := -B / (2 * A);
Edit8.Text := Format('%8.4f + %8.4f.i',[X1, sqrt(-D) / (2 * A)]);
Edit9.Text := Format ('%8.4f - %8.4f.i',[X1, sqrt(-D) / (2 * A)]);
J:='Akar - akarnya Imajiner';
EDIT7.Text:=FLOATTOSTR(D);
EDIT11.Text:=FLOATTOSTR(Xp);
EDIT12.Text:=FLOATTOSTR(Yp);
EDIT8.Text:=FLOATTOSTR(X1);
EDIT9.Text:=FLOATTOSTR(X2);
EDIT10.Text:=J;
END
ELSE
IF D=0 THEN
BEGIN
X1:=(-b+sqrt(D))/2*a;
X2:=(-b-sqrt(D))/2*a;
J:='Akar - akarnya Kembar (sama)';
EDIT7.Text:=FLOATTOSTR(D);
EDIT11.Text:=FLOATTOSTR(Xp);
EDIT12.Text:=FLOATTOSTR(Yp);
EDIT8.Text:=FLOATTOSTR(X1);
EDIT9.Text:=FLOATTOSTR(X2);
EDIT10.Text:=J;
END
ELSE
IF D>0 THEN
BEGIN
X1:=(-b+sqrt(D))/2*a;
X2:=(-b-sqrt(D))/2*a;
J:='Akar - akarnya Real dan Berlainan';
EDIT7.Text:=FLOATTOSTR(D);
EDIT11.Text:=FLOATTOSTR(Xp);
EDIT12.Text:=FLOATTOSTR(Yp);
EDIT8.Text:=FLOATTOSTR(X1);
EDIT9.Text:=FLOATTOSTR(X2);
EDIT10.Text:=J;
end;
end;
9.    Klik ganda pada tombol “Proses2/Tangan ke bawah” dan ketikkan sintak berikut ini:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
b:=strtofloat(edit2.Text);
c:=strtofloat(edit3.Text);
teta0:=strtofloat(edit4.Text);
ndat:=strtoint(edit5.Text);
step:=strtofloat(edit6.Text);
series1.Clear;
x[0]:=teta0;
for i :=0 to ndat do
begin
y[i]:=a*x[i]*x[i]+b*x[i]+c;
series1.AddXY(x[i],y[i],'',clred);
x[i+1]:=x[i]+step;
end;
chart1.Title.Text.Clear;
chart1.Title.Text.Add('GRAFIK FUNGSI KUADRAT');
chart1.Title.Font.Style:=[fsbold];
chart1.LeftAxis.Title.Caption:='Sumbu Y';
chart1.BottomAxis.Title.Caption:='Sumbu X';
ceksin:=true;
stringgrid1.ColCount:=3;
stringgrid1.RowCount:=ndat+1;
stringgrid1.Cells[0,0]:='i';
stringgrid1.Cells[1,0]:='X(i)';
stringgrid1.Cells[2,0]:='Y(i)';
x[0]:=teta0;
for i:=0 to ndat do
begin
if ceksin then
y[i]:=a*x[i]*x[i]+b*x[i]+c;
x[i+1]:=x[i]+step;
stringgrid1.Cells[0,i+1]:=inttostr(i);
stringgrid1.Cells[1,i+1]:=floattostr(x[i]);
stringgrid1.Cells[2,i+1]:=formatfloat('#0.000',y[i]);
end;
10. Klik ganda pada tombol “New/Tangan ke kiri” dan ketikkan sintak berikut ini:
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
Edit9.Clear;
Edit10.Clear;
Edit11.Clear;
Edit12.Clear;
Edit1.SetFocus;
end;
11. Klik ganda pada tombol “Exit/Larangan merah” dan ketikkan sintak berikut ini:
procedure TForm1.Clear1Click(Sender: TObject);
begin
Showmessage('Syaharuddin: 151074002: III/A');
Application.Terminate;
end;

12. Terakhir silahkan eksekusi program aplikasi anda dengan meng-klik  komponen Run pada Toolbar atau tekan tombol F9 pada keyboard.
13. Simpanlah Program Aplikasi anda melalui: File à Save All, tempatkan  di D. Simpan dengan nama folder “Praktikum Delphi VII-a”, klik OK.

No comments:

Post a Comment