PERCOBAAN 9

PERCOBAAN 9

MEMBUAT APLIKASI SUMBU X DAN Y

( MENGGUNAKAN PIKSEL PADA DELPI XE8 )


1.    Tujuan.        Agar Bintara Mahasiswa mampu membuat program simulasi piano.

 

2.    Alat dan Bahan.

 

a.       Laptop;

b.       Aplikasi Delphi;

c.       Tshape

d.       Tool Button;

e.       Timage;

f.        Tedit

g.       Snd Playsound

.

 

 

3.    Dasar Teori

a.       TButton.

 

TButton digunakan untuk membuat tombol (button) di antarmuka pengguna. TButton memungkinkan pengguna untuk memicu suatu aksi atau perintah ketika tombol tersebut diklik. Tombol sangat berguna dalam aplikasi Delphi untuk menjalankan berbagai macam perintah.





b.       TImage.

 

TImage merujuk pada komponen atau kontrol yang digunakan untuk menampilkan dan mengelola gambar dalam aplikasi.dengan format .jpg, .gif, .bmp dan sebagainya. Komponen Image terdapat pada Tab Additional.





c.       TEdit.

 

TEdit Dalam Delphi 8, fungsi t edit biasanya merujuk pada komponen TEdit, yang digunakan untuk membuat kontrol input teks di antarmuka pengguna. Komponen ini memungkinkan pengguna untuk mengetikkan teks atau memodifikasi teks yang sudah ada.



    




d.       TLabel.

 

Tlabel adalah komponen visual yang digunakan untuk menampilkan teks statis atau dinamis di antarmuka pengguna. TLabel sering digunakan untuk memberikan keterangan atau deskripsi singkat tentang elemen lain di form, seperti input field atau tombol.





4.       Langkah Percobaan.

 

a.               Flowchart;

 



 

b.       Buat Coding untuk menjalankan simulasi piano. Berikut adalah contoh program sederhana:

 

unit Unit1;

 

interface

 

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls;

 

type

  TForm1 = class(TForm)

    Edit1: TEdit;

    Edit2: TEdit;

    Image1: TImage;

    Label1: TLabel;

    Label2: TLabel;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

var X:integer;

begin

{menyiapkan warna pen}

image1.Canvas.Pen.Color:=clred;

{tebal pen}

image1.Canvas.pen.Width:=5;

{sumbu y}

 image1.Canvas.moveto(500,10);

 image1.Canvas.lineto(500,700);

 {sumbu x}

image1.Canvas.moveto(10,250);

 image1.Canvas.lineto(1000,250);

 

 image1.Canvas.pen.color:=clblue;

 image1.Canvas.pen.style:=pssolid;

 image1.Canvas.Brush.color:=clblue;

 image1.Canvas.Brush.Style:=bssolid;

 image1.Canvas.ellipse(490,240,510,260);

 image1.Canvas.font.color:=clyellow;

 image1.Canvas.font.size:=20;

 image1.Canvas.Textout(505,260,'0;0');

 image1.Canvas.Textout(505,10,'Y');

 image1.Canvas.Textout(10,235,'X');

 

end;

procedure TForm1.Button2Click(Sender: TObject);

var x,a,F:integer;   Y:real;

begin

 image1.Picture:=nil;

for a := 1 to 1000 do

begin

  X:= STRTOINT(EDIT1.Text);

  F:= STRTOINT(EDIT2.Text);

 

form1.image1.Canvas.pen.color:=clblue;

 //image1.Canvas.pen.style:=pssolid;

Y:= sin(a*pi/180*F)*X;

form1.image1.Canvas.Pixels[X+a, 250-round(y)]:=clblue;

//image1.Canvas.ellipse(X+a,240-round(y),X+10+a,260-round(y));

 

 

 

 //image1.Canvas.Brush.color:=clblue;

 //image1.Canvas.Brush.Style:=bssolid;

 //image1.Canvas.ellipse(320+X,200,350+X,300);

 

end;

 

end;

 

procedure TForm1.Button3Click(Sender: TObject);

var X,a,F:integer;   Y:real;

begin

 image1.Picture:=nil;

for a := 1 to 1000 do

begin

 X:= STRTOINT(EDIT1.Text);

 F:= STRTOINT(EDIT2.Text);

 

image1.Canvas.pen.color:=clblue;

 //image1.Canvas.pen.style:=pssolid;

 //image1.Canvas.Brush.color:=clblue;

 //image1.Canvas.Brush.Style:=bssolid;

Y:=sin(a*pi/180*F)*X;

image1.Canvas.ellipse(X+a,240-round(Y),X+10+a,260-round(y));

end;

end;

 

 

 

end.

 

 

5.       Hasil dan Pembahasan

 

a.               Hasil Video.

 

 

1)              Tampilan awal.

 





 2)              Video.





  

b.               Pembahasan.


           Aplikasi ini bisa dikembangkan lebih lanjut dengan beberapa fitur tambahan:

      1. Menambahkan Garis Grid: Anda bisa menambahkan garis grid untuk membagi area kanvas menjadi kotak-kotak kecil, yang membantu dalam visualisasi yang lebih jelas.
      2. Fungsi Matematis: Menggambar grafik fungsi matematis pada kanvas, seperti grafik sinus, kosinus, parabola, dll.
      3. Interaksi Pengguna: Menambahkan kontrol input untuk memperbesar atau memperkecil skala sumbu, atau bahkan untuk menggambar titik-titik tertentu berdasarkan input koordinat dari pengguna.

 

6.       Kesimpulan. 

            Percobaan ini memberikan gambaran dasar tentang cara menggambar objek grafik menggunakan piksel dalam Delphi XE8. Dengan memahami cara menggambar sumbu X dan Y, Anda dapat melangkah lebih jauh ke dalam dunia grafik dan visualisasi data dalam pemrograman Delphi.


7.       Daftar Pustaka. 

Delphi XE8 Documentation. (2015). Embarcadero Technologies.
Dokumentasi resmi Delphi XE8 yang mencakup berbagai topik teknis, termasuk penggunaan komponen TImage dan manipulasi kanvas. Tersedia secara online di: https://docwiki.embarcadero.com.