Membuat Grafik Cartesian Menggunakan Delphi 7 Sistem koordinat Kartesius digunakan untuk menentukan tiap titikdalam bidang dengan menggunakan dua bilangan yang biasa disebut koordinat x (absis) dan koordinat y (ordinat) dari titik tersebut. Untuk mendefinisikan koordinat diperlukan dua garis berarah yang tegak lurus satu sama lain (sumbu x dan sumbu y). Kita bisa membuat grafik kartesian menggunakan delphi 7. Berikut ini adalah cara membuat grafik kartesian menggunakan delphi 7: Ini adalah komponen-komponen yang harus ada pada platform
dan berikut adalah source code pada setiap komponen:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Image1: TImage;
Button1: TButton; ScrollBar1: TScrollBar; ScrollBar2: TScrollBar; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; procedure Button1Click(Sender: TObject); procedure ScrollBar2Change(Sender: TObject); procedure ScrollBar1Change(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; //variabel yang digunakan dalam membuat program gambar:TBitmap; sx,sy,sumbuX,sumbuY,panjanglengansumbuX,panjanglengansumbuY, i,j,koordinatY,rentangtitik,gelombang,nil_sin:Integer; X,Y:integer;implementation {$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);begin//Menampilkan grafik pada image gambar:=TBitmap.Create; gambar.Width:=Image1.Width; gambar.Height:=Image1.Height; //Mengubah bahasa komputer menjadi tampilan //Menampilkan posisi sumbu-Y Label3.Caption:=IntToStr(ScrollBar1.Position); //Menampilkan posisi sumbu-X Label4.Caption:=IntToStr(-ScrollBar2.Position); //Menentukan posisi dari sumbu-x dan sumbu-y sx:=Round(gambar.Height/2); sy:=Round(gambar.Width/2); sumbuX:=sx+ScrollBar2.Position; sumbuY:=sy+ScrollBar1.Position; //Membuat garis (sumbu-x dan sumbu-y) gambar.Canvas.MoveTo(sumbuY,0); gambar.Canvas.LineTo(sumbuY,gambar.Height); gambar.Canvas.MoveTo(0,sumbuX); gambar.Canvas.LineTo(gambar.Width,sumbuX); //Menentukan panjang sumbu-X dan sumbu-Y panjanglengansumbuX:=20*round((gambar.Width/2)/rentangtitik); panjanglengansumbuY:=20*round((gambar.Height/2)/rentangtitik); //Membuat titik pada koordinat sumbu-X dan sumbu-Y for i:=1 to panjanglengansumbuX do begin gambar.Canvas.Ellipse(sumbuY+rentangtitik*i-1,sumbuX5,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*i1,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; //membuat titik dengan koordinat (x,y) X:=StrToInt(Edit1.Text); Y:=StrToInt(Edit2.Text); gambar.Canvas.Rectangle(sumbuY+(X*rentangtitik)+1,sumbuX(Y*rentangtitik)+1,sumbuY+(X*rentangtitik)-1,sumbuX-(Y*rentangtitik)1); gambar.Canvas.TextOut(sumbuY+(X*rentangtitik)+15,sumbuX-17rentangtitik*(Y),('('+IntToStr(X)+','+IntToStr(Y)+')')); //menampilkan gambar image1.Picture.Assign(gambar); gambar.Free; end; //Menentukan posisidarisumbu-Xprocedure TForm1.ScrollBar2Change(Sender: TObject);begin Button1Click(Action);end;//Menentukan posisi dari sumbu-Y (pada Button1 prosedurnya) procedure TForm1.ScrollBar1Change(Sender: TObject);begin Button1Click(Action);end; //Membuat sumbu-X dan sumbu-Y berpotongan pada tengah gambar (pada Button2 prosedurnya) procedure TForm1.FormCreate(Sender: TObject);begin//menunjukkan rentang 1 skala pada gambar adalah 25 pixel rentangtitik:=25; //Memberi jangkauan dari scrollbar ScrollBar1.Max:=Round(Image1.Width/2); ScrollBar1.Min:=-Round(Image1.Width/2); ScrollBar2.Max:=Round(Image1.Height/2); ScrollBar2.Min:=-Round(Image1.Height/2); end; end.
Setelah program jadi, berikut adalah program grafik kartesian pada delphi 7