Friday, 31 March 2017

Cara Membuat Aplikasi Persamaan Kuadrat Menggunakan Delphi


Salah satu hasil dari kombinasi antara komponen Pallete StringGrid dan Chart adalah mampu membuat aplikasi grafik. Salah satunya adalah aplikasi persamaan kuadrat. Perhatikan desain berikut.



Pada desain di atas terlihat komponen yang digunakan adalah 6 LabeledEdit, 4 GroupBox, 2 Button, 1 StringGrid, 1 ListBox, dan 1 Chart.

Pada bagian Var, tambahkan beberapa variabel berikut ini.

  i,xn:integer;
  x0,bd:real;
  a,b,c,D,x1,x2,xp,yp:double;
  J,K:String;
  cek:boolean;
  x,y:array[-50..50] of real;

Pada tombol “Hitung”  ketikkan scribs berikut.

a:=strtofloat(e1.Text);
b:=strtofloat(e2.Text);
c:=strtofloat(e3.Text);
x0:=strtofloat(e4.Text);
xn:=strtoint(e5.Text);
bd:=strtofloat(e6.Text);
D:=(b*b)-4*a*c;
xp:=(-b)/2*a;
yp:=(-D)/4*a;
listbox1.Items.Add('=== Keterangan Persamaan & Fungsi Kuadrat ===');
listbox1.Items.Add('Diskriminan (D)= '+floattostr(D));
listbox1.Items.Add('Sumbu Simetri (xp) = '+floattostr(xp));
listbox1.Items.Add('Titik Balik (yp) = '+floattostr(xp));
if D<0 then
begin
x1:=-b/(2*a);
listbox1.Items.Add('Akar x1 = '+Format('%8.4f + %8.4f.i',[X1,sqrt(-D)/(2 * A)]));
listbox1.Items.Add('Akar x2 = '+Format ('%8.4f - %8.4f.i',[X1, sqrt(-D)/ (2 * A)]));
listbox1.Items.Add('Geometris: Grafik tidak memotong Sb X');
listbox1.Items.Add('Jenis: Akar - akarnya Imajiner');
end
else
if D=0 then
begin
x1:=(-b+sqrt(D))/2*a;
x2:=(-b-sqrt(D))/2*a;
listbox1.Items.Add('Akar x1 = '+floattostr(x1));
listbox1.Items.Add('Akar x2 = '+floattostr(x2));
listbox1.Items.Add('Geometris: Grafik menyinggung Sb X');
listbox1.Items.Add('Jenis: Akar - akarnya Kembar');
end
else
if D>0 then
begin
x1:=(-b+sqrt(D))/2*a;
x2:=(-b-sqrt(D))/2*a;
listbox1.Items.Add('Akar x1 = '+floattostr(x1));
listbox1.Items.Add('Akar x2 = '+floattostr(x2));
listbox1.Items.Add('Geometris: Grafik memotong Sb X');
listbox1.Items.Add('Jenis: Akar - akarnya Real Berlainan');
end;

begin
series1.Clear;
x[0]:=x0;
for i :=0 to xn 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]+bd;
end;
chart1.Title.Text.Clear;
chart1.Title.Text.Add('GRAFIK FUNGSI PERSAMAAN KUADRAT');
chart1.Title.Font.Style:=[fsbold];
chart1.LeftAxis.Title.Caption:='Sumbu Y';
chart1.BottomAxis.Title.Caption:='Sumbu X';
cek:=true;
stringgrid1.ColCount:=3;
stringgrid1.RowCount:=xn+1;
stringgrid1.Cells[0,0]:='i';
stringgrid1.Cells[1,0]:='X(i)';
stringgrid1.Cells[2,0]:='Y(i)';
x[0]:=x0;
for i:=0 to xn do
begin
if cek then
y[i]:=a*x[i]*x[i]+b*x[i]+c;
x[i+1]:=x[i]+bd;
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;
end;
end;

Pada tombol “Hapus”, ketikkan scribs ini.

e1.Clear; e2.Clear; e3.Clear; e4.Clear; e5.Clear; e6.Clear;
listbox1.Clear;
series1.Clear;
for i:=0 to xn do
begin
if cek then
stringgrid1.Cells[0,i+1]:='';
stringgrid1.Cells[1,i+1]:='';
stringgrid1.Cells[2,i+1]:='';
end;
end;

Lakukan simulasi dengan persamaan y = x2 – 3x – 4. Sedangkan untuk syarat grafiknya titik awal -10 dan jumlah titik sebanyak 20 dengan beda 1. Maka akan diperoleh hasil seperti berikut.



Silahkan share (dibagikan). Oya jangan lupa like ya sebagai bukti Anda pernah berkunjung ke Pustaka Matematika-ku. Terima Kasih. Semoga bermanfaat.



No comments:
Write komentar

Syaharuddin. Theme images by MichaelJay. Powered by Blogger.

KOMENTAR ANDA