andrypein.net : Meskipun bukan termasuk anak diehard math, aing bisa ko bikin apps grafik sinus cosinus dengan delphi.
Yaiks lumayan Panjang nih, kita akan memakai komponen Chart & StringGrid untuk memainkannya, kalau step nya ga diikuti jamin pusiiing.
Skrinsut aplikasi pada akhirnya akan seperti ini.
Grafik sinus :
Grafik Cosinus :
lanjuuuuuut……..
Untuk komponen StringGrid ada di pallete Additional seperti pada gambar dibawah :
Untuk komponen chart (pada delphi xe, xe2, 2010) ada pada pallete Tee Chart Std.
Untuk versi delphi yang lain silahkan cari pallete mana, ane lupa lalu rancang form nya seperti ini :
Dobel Klik pada komponen chart nya sehingga muncul dialog seperti dibawah ini, lalu pilih add.
Lalu pada chart gallery pilih type line :
Hingga hasil akhirnya seperti ini lalu close saja.
Setelah selesai dengan persiapan dari form dan komponen-komponenya next lanjut ke kodingannya, sebelumnya tambahkan variabel global dulu seperti ini :
Setelah itu tambahkan sebuah prosedur pripat (Baca : Procedure Private) ,namanya mah bebas, kalo aing pake nama apdetnilai.
Dan ini procedure untuk apdetnilai tersebut :
procedure TForm1.apdetnilai; var i : integer; begin 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]:=teta; for i := 0 to ndat do begin if ceksin then y[i]:=sin(x[i]*3.14/180) else y[i]:=cos(x[i]*3.13/180); 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; end;
Pada button ber caption sinus isikan kode ini :
procedure TForm1.Button1Click(Sender: TObject); begin if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') then begin showmessage('tidak boleh kosong'); end else begin teta:=strtofloat(edit1.Text); ndat:=strtoint(edit2.Text); step:=strtofloat(edit3.Text); series1.Clear; x[0]:=teta; for a := 0 to ndat do begin y[a]:=sin(x[a]*3.14/180); series1.AddXY(x[a],y[a],'',clred); x[a+1]:=x[a]+step; end; chart1.Title.Clear; chart1.Title.Text.Add('Grafik Trigonometri'); chart1.Title.Font.Style:=[fsBold]; chart1.LeftAxis.Title.Caption:='Nilai Sinus'; ceksin:=true; apdetnilai; end; end;
Dan untuk terakhir pada tombol kosinus beri kode :
procedure TForm1.Button2Click(Sender: TObject); begin if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') then begin showmessage('tidak boleh kosong'); end else begin teta:=strtofloat(edit1.Text); ndat:=strtoint(edit2.Text); step:=strtofloat(edit3.Text); series1.Clear; x[0]:=teta; for a := 0 to ndat do begin y[a]:=cos(x[a]*3.14/180); series1.AddXY(x[a],y[a],'',clred); x[a+1]:=x[a]+step; end; chart1.Title.Clear; chart1.Title.Text.Add('Grafik Trigonometri'); chart1.Title.Font.Style:=[fsBold]; chart1.LeftAxis.Title.Caption:='Nilai Cosinus'; ceksin:=false; apdetnilai; end; end;
Done dude, silahkan dicoba run.