POLTEKAD KODIKLATAD
JURUSAN TELEKOMUNIKASI
PRAKTIK BAHASA PEMROGAMAN
PERCOBAAN 11
MEMBUAT GRAFIK
DENGAN SCROLLBAR
1. Tujuan Praktikum. Agar
Bamasis mampu membuat grafik dengan scrollbar menggunakan Embarcadero XE5.
2. Alat dan Bahan.
a. Laptop/PC; dan
b. Software Delphi / Embarcadero XE5.
3. Landasan Teori.
Fungsi trigonometri
merupakan suatu fungsi yang
grafiknya berulang secara terus menerus dalam periode tertentu. Fungsi
dari periode itu sendiri merupakan suatu jarak antara dua puncak/lembah atau
jarak antara awal puncak dan akhir lembah. Selain itu, terdapat amplitudo yang
merupakan setengah dari selisih nilai maksimum dan minimum dari suatu fungsi.
Rumus amplitudo sebagai berikut:
Fungsi
trigonometri sederhana meliputi fungsi sinus, fungsi cosinus dan fungsi tangen.
Masing-masing fungsi tersebut dijelaskan dalam bentuk grafik baku fungsi trigonometri seperti
berikut:
- Grafik Fungsi Sinus, y = sin x
Nilai
dari sinus adalah -1 ≤ sin (x) ≤ 1
- Grafik Fungsi Cosinus, y = cos x
Nilai dari cosinus adalah -1 ≤ cos (x) ≤ 1
- Grafik Fungsi Tangen, y = tan x
Grafik tangen ini tidak mempunyai nilai maksimum.
Selain itu terdapat grafik tidak baku pada fungsi trigonometri yang
lebih kompleks. Bentuk fungsinya adalah:
Fungsi
trigonometri memiliki nilai minimum dan maksimum, cara menentukannya dapat
menggunakan metode grafik dan melalui rumus. Metode grafik dengan cara
menggambarkan grafiknya, titik puncak pada bukit adalah nilai maksimum
sedangkan titik terendah pada lembah adalah nilai minimum.
Grafik
adalah lukisan dengan gambar/garis untuk mengetahui naik turunnya
suatu keadaan data yang ada. Semua grafik memiliki tujuan yang sama yaitu
memudahkan melakukan analisa sekumpulan data-data angka. Karena jika hanya
angka-angka saja akan membutuhkan waktu lama untuk memahami makna dibalik
angka-angka tersebut, tapi jika di wakili dengan simbol grafik bisa mempermudah
pemahamannya.
Berikut
pengertian grafik menurut para ahli:
a. Menurut
Soedarso, grafik adalah sajian visual untuk membandingkan jumlah data pada
waktu berbeda.
b. Menurut
I Wayan Nuarsa, grafik adalah sajian data dalam bentuk gambar atau symbol.
c. Menurut
Nani Darmayanti, grafik adalah gambaran pasang surut keadaan yang dilukiskan
dengan garis atau gambar.
d. Menurut
Yudhi Wicaksono, grafik adalah sajian dalam bentuk visual yang di pakai dalam
berbagai bidang.
e. Menurut
Karl E. Case, grafik adalah sajian dua dimensi dari kelompok angka atau data.
f. Menurut
Lilis Rohaeni & Fikurrahman, grafik adalah gambar yang terdiri atas garis
dan titik-titik koordinat.
g. Menurut
Murray, grafik adalah representasi gambar variable.
h. Menurut
J.Supranto, grafik adalah gambar visual data berupa angka dan symbol yang
berasal dari table yang telah dibuat.
i. Menurut
Hery Sonawan, grafik adalah gambaran data yang diplot disebuah bidang dengan
menghubungkan dua variable atau lebih.
j. Menurut
Kathleen Meehan Arias, grafik adalah metode untuk menyajikan data kuantitatif
secara visual.
Menggambar
di embarcadero dilakukan dengan
memanipulasi canvas.
Canvas dapat
dianalogikan sebagai sebuah
canvas pelukis yang dapat digambar sesuai dengan
kehendak pelukisnya. Pada materi ini yang akan kita gunakan
adalah canvas pada komponen TImage (ada di bagian Additional).
Coba letakkan komponen Timage,
letakkan
satu
tombol
Sistem Koordinat Canvas. Aturan koordinat pada canvas adalah
sebagai berikut:
Image.Canvas
Arah
koordinat x membesar
Titik
(0,0)
Arah
koordinat y membesar
Semua koordinat bernilai positif dan merupakan bilangan
bulat (tidak ada pecahan)
Berbagai Method
Canvas untuk Menggambar. Objek canvas memiliki beberapa method lain untuk
menggambar:
Nama Method
|
Keterangan
|
Arc
|
Menggambar lengkungan
|
Ellipse
|
Menggambar lingkaran/ellips.
|
MoveTo
|
Menggeser posisi
|
LineTo
|
Menggambar garis (digunakan bersama
MoveTo)
|
Rectangle
|
Membuat kotak
|
RoundRect
|
Membuat kotak yang memiliki sudut
melengkung
|
Polygon
|
Menggambar poligon
|
http://file.upi.edu/Direktori/FPMIPA/JUR._PEND._MATEMATIKA/196606251990012-RINI_MARWATI/11_HandOutProgKomp12.pdf
Obyek ScrollBar digunakan untuk menunjukkan atau
menampilkan angka dengan batasan tertentu pada suatu program yang telah
ditentukan.
Gambar 11.1 Tampilan object scrollbar
Contoh Programnya :
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
edit1.Text:=inttostr(scrollbar1.Position);
form1.Color:=rgb(strtoint(edit1.Text),strtoint(edit2.Text),strtoint(edit3.Text));
end;
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
edit1.Text:=inttostr(scrollbar1.Position);
form1.Color:=rgb(strtoint(edit1.Text),strtoint(edit2.Text),strtoint(edit3.Text));
end;
4. Langkah-Langkah
Percobaan.
a. Setelah laptop telah menyala dan membuka
software Embarcadero XE5;
b.
Buka program
embarcadero XE5 yang sudah berjalan, lalu buatlah form pada Menu
File>New>Forms application;
c. Rangkailah lembar kerja form grafik, Setiap icon dari object
pada tool Palette akan dimasukkan ke
jendela form yang akan menghasilkan program yang dijalankan dengan code/syntax;
d. Setelah itu atur object lembar kerja form di menu properties sebelah
kiri lembar kerja . Melalui Jendela Properties atur property
setiap object sebagai berikut ;
Tabel
10.1 Pengaturan setiap object pada design lembar kerja.
Object Tool Palette
|
Properties
|
Value
|
Form
|
Caption
|
Grafik
|
Standart
-Button1
-Button2
-Button3
|
Caption
|
-Sinus
-Cosinus
-Pulsa
|
Standart
Label 1-3
|
-Caption
-Visible
|
- X
- Y
- Z
- False
|
Standart
Edit1
Edit2
Edit3
|
Text
|
-
|
Additional
Image1
Image2
Image3
|
Properties>Visible
|
-
False
|
Standart
Scrollbar1
Scrollbar2
Scrollbar3
|
-
|
-
|
Gambar 10.1 Tool palette berisikan banyak
object
e.
Atur setip
object yang ingin tidak dinampakkan
setelah program diplay/dijalankan dengan mengubah visible menjadi true atau
false. Object image1, image2, image3, label5,label6,dan label7 gunakan
pengaturan visible>false .Setelah tombol diplay akan didapatkan tampilan
object tidak ada.
f.
Tambahkan
object Scrollbar untuk mengatur gelombang yang diinginkan.
11.2 Menyisipkan object scrollbar pada lembar kerja.
g. Pada lembar percobaan kali ini Buat syntax
program/coding dari setiap object Button1 (Sinus) ,Button2 (cosinus) dan ditambah kan Button3 (Pulsa )yang
telah dibuat pada lembar kerja form . Program dapat berhasil dan sukses terlaksana bila kode dibuat sesuai
ketentuan aritmatika.
Gambar 10.4 Pembuatan object Button
h. Desain
embarcadero
Tampilan
jendela kode dapat muncul bila di jendela form icon yang dibuat dari toolbox
dilklik dua kali atau klik menu view- setelah itu pilih klik code.
Setelah kode dibuat klik tombol design dibawah jendela kode tersebut, maka Form
dapat dibuktikan dengan klik tombol play
pada menu toolbar
i.
Tunggu sampai
jendela form memunculkan UI (User interface) dengan klik tombol play atau Run
F9.
5. Hasil Percobaan.
a.
Nyalakan
laptop, sampai muncul tampilan utama pada laptop/PC;
Gambar
10.5 Menjalankan embarcadero
b.
Buka program
embarcadero XE5;
Gambar 10.6 Lembar kerja form
c. Rangkailah lembar kerja form sesuai yang
diharapkan, Setiap icon dari tool
palette akan dimasukkan ke jendela form yang akan menghasilkan program yang
dijalankan dengan code/syntax. Sesuai Tabel Jendela Properties atur
property setiap object . Maka akan mendapatkan lembar kerja seperti pada
tampilan berikut ini;
Gambar 11.7 Tampilan
Design yang diinginkan
d.
Atur setip
object yang ingin tidak dinampakkan
setelah program diplay/dijalankan dengan mengubah visible menjadi true atau
false. Object image1, image2, image3 label5,label6,dan label7 gunakan
pengaturan visible>false .Setelah tombol diplay akan didapatkan tampilan
object tidak.
e. Buat syntax program/coding, Program dapat berhasil dan sukses terlaksana bila code/syntax dibuat sesuai ketentuan yang berlaku.
Code/syntax pada
button1(Sinus) :
procedure TForm1.Button1Click(Sender: TObject);
Var X,Y :integer;
sx,T,A : Integer;
sy:real;
i,tanda,tanda1 :Integer;
begin
Label5.visible:=True;
Label6.visible:=True;
Label7.visible:=True;
Image1.Visible:=True;
Image2.Visible:=False;
image1.Picture:=nil;
begin
for Y := 1 to 500 do
begin
Image1.Canvas.Pixels[200,Y]:=clred;
end;
for X := 1 to 800 do
begin
Image1.Canvas.Pixels[X,200]:=clred;
end;
begin
for sx := 1 to 800 do
begin
T:=strtoint (Edit1.Text);
A:=strtoint (Edit3.Text);
sy:=sin(sx*pi/180*T)*A;
Form1.Image1.Canvas.Pixels[sx+T,200-round(sy)]:=clblack;
end;
end;
end;
for i := 1 to 100 do
begin
tanda:=(10*i)-10;
Image1.Canvas.Pixels[tanda,100]:=clgreen;
for tanda1 := 1 to 10 do
Begin
Image1.Canvas.Pixels[tanda,195+tanda1]:=clgreen;
End;
end;
for i := 1 to 100 do
Begin
tanda:=(10*i)-10;
Image1.Canvas.Pixels[tanda,100]:=clgreen;
for tanda1 := 1 to 10 do
Begin
Image1.Canvas.Pixels[195+tanda1,tanda]:=clgreen;
End;
End;
end;
1) Code/syntax
pada button2(Cosinus) :
procedure
TForm1.Button2Click(Sender: TObject);
Var X,Y
:integer;
sx,T,A
: Integer;
sy:real;
i,tanda,tanda1
:Integer;
begin
Label8.visible:=True;
Label9.visible:=True;
Label7.visible:=True;
Image2.Visible:=True;
Image1.Visible:=False;
image2.Picture:=nil;
begin
for Y
:= 1 to 500 do
begin
Image2.Canvas.Pixels[200,Y]:=clred;
end;
for X
:= 1 to 800 do
begin
Image2.Canvas.Pixels[X,200]:=clred;
end;
begin
for sx
:= 1 to 800 do
begin
T:=strtoint
(Edit1.Text);
A:=strtoint
(Edit3.Text);
sy:=Cos(sx/pi/T)*A;
Form1.Image2.Canvas.Pixels[sx+T,200-round(sy)]:=clblack;
end;
end;
for i
:= 1 to 100 do
begin
tanda:=(10*i)-10;
Image2.Canvas.Pixels[tanda,100]:=clgreen;
for
tanda1 := 1 to 10 do
Begin
Image2.Canvas.Pixels[tanda,195+tanda1]:=clgreen;
End;
end;
for i
:= 1 to 100 do
Begin
tanda:=(10*i)-10;
Image2.Canvas.Pixels[tanda,100]:=clgreen;
for
tanda1 := 1 to 10 do
Begin
Image2.Canvas.Pixels[195+tanda1,tanda]:=clgreen;
End;
End;
end;
end;
2) Code/syntax
pada button3(Pulsa) :
procedure
TForm1.Button3Click(Sender: TObject);
Var X,Y
:integer;
sx,T,A
: Integer;
sy:real;
i,tanda,tanda1
:Integer;
begin
Label8.visible:=True;
Label9.visible:=True;
Label7.visible:=True;
Image1.Visible:=True;
Image2.Visible:=False;
image1.Picture:=nil;
image2.Picture:=nil;
begin
for Y
:= 1 to 500 do
begin
Image1.Canvas.Pixels[200,Y]:=clred;
end;
for X
:= 1 to 800 do
begin
Image1.Canvas.Pixels[X,200]:=clred;
end;
begin
for sx
:= 1 to 800 do
begin
T:=strtoint
(Edit1.Text);
A:=strtoint
(Edit3.Text);
sy:=sin(sx*pi/180*T)*A;
if
(round(sy)>0) and (round(sy)<=a) then
begin
form1.Image1.Canvas.pixels[sx+T,200-A]:=clblack;
end;
if
round(sy)=0 then
begin
form1.Image1.Canvas.Pen.Color:=clblack;
form1.Image1.Canvas.MoveTo(sx+T,200-A);
form1.Image1.Canvas.LineTo(sx+T,200+A);
end;
if
(round(sy)<0) and (round(sy)>=-a) then
begin
form1.Image1.Canvas.Pixels[sx+T,200+a]:=clblack;
end;
end;
end;
for i
:= 1 to 100 do
begin
tanda:=(10*i)-10;
Image1.Canvas.Pixels[tanda,100]:=clgreen;
for
tanda1 := 1 to 10 do
Begin
Image1.Canvas.Pixels[tanda,195+tanda1]:=clgreen;
End;
end;
for i
:= 1 to 100 do
Begin
tanda:=(10*i)-10;
Image1.Canvas.Pixels[tanda,100]:=clgreen;
for
tanda1 := 1 to 10 do
Begin
Image1.Canvas.Pixels[195+tanda1,tanda]:=clgreen;
End;
End;
end;
end;
4) Code/syntax pada
Scrollbar1
procedure TForm1.ScrollBar1Change(Sender: TObject);
Var X,Y :integer;
sx,T,A : Integer;
sy:real;
i,tanda,tanda1 :Integer;
begin
edit1.Text:=Inttostr(Scrollbar1.Position);
Label5.visible:=True;
Label6.visible:=True;
Label7.visible:=True;
Image1.Visible:=True;
Image2.Visible:=False;
image1.Picture:=nil;
begin
for Y := 1 to 500 do
begin
Image1.Canvas.Pixels[200,Y]:=clred;
end;
for X := 1 to 800 do
begin
Image1.Canvas.Pixels[X,200]:=clred;
end;
begin
for sx := 1 to 800 do
begin
T:=strtoint (Edit1.Text);
A:=strtoint (Edit3.Text);
sy:=sin(sx*pi/180*T)*A;
Form1.Image1.Canvas.Pixels[sx+T,200-round(sy)]:=clblack;
end;
end;
end;
for i := 1 to 100 do
begin
tanda:=(10*i)-10;
Image1.Canvas.Pixels[tanda,100]:=clgreen;
for tanda1 := 1 to 10 do
Begin
Image1.Canvas.Pixels[tanda,195+tanda1]:=clgreen;
End;
end;
for i := 1 to 100 do
Begin
tanda:=(10*i)-10;
Image1.Canvas.Pixels[tanda,100]:=clgreen;
for tanda1 := 1 to 10 do
Begin
Image1.Canvas.Pixels[195+tanda1,tanda]:=clgreen;
End;
End;
end;
5) Code/syntax pada
Scrollbar2
procedure TForm1.ScrollBar2Change(Sender: TObject);
Var X,Y :integer;
sx,T,A : Integer;
sy:real;
i,tanda,tanda1 :Integer;
begin
edit1.Text:=Inttostr(Scrollbar2.Position);
Label8.visible:=True;
Label9.visible:=True;
Label7.visible:=True;
Image2.Visible:=True;
Image1.Visible:=False;
image2.Picture:=nil;
begin
for Y := 1 to 500 do
begin
Image2.Canvas.Pixels[200,Y]:=clred;
end;
for X := 1 to 800 do
begin
Image2.Canvas.Pixels[X,200]:=clred;
end;
begin
for sx := 1 to 800 do
begin
T:=strtoint (Edit1.Text);
A:=strtoint (Edit3.Text);
sy:=Cos(sx/pi/T)*A;
Form1.Image2.Canvas.Pixels[sx+T,200-round(sy)]:=clblack;
end;
end;
for i := 1 to 100 do
begin
tanda:=(10*i)-10;
Image2.Canvas.Pixels[tanda,100]:=clgreen;
for tanda1 := 1 to 10 do
Begin
Image2.Canvas.Pixels[tanda,195+tanda1]:=clgreen;
End;
end;
for i := 1 to 100 do
Begin
tanda:=(10*i)-10;
Image2.Canvas.Pixels[tanda,100]:=clgreen;
for tanda1 := 1 to 10 do
Begin
Image2.Canvas.Pixels[195+tanda1,tanda]:=clgreen;
End;
End;
end;
end;
6) Code/syntax pada
Scrollbar3(Pulsa)
procedure TForm1.ScrollBar3Change(Sender: TObject);
Var X,Y :integer;
sx,T,A : Integer;
sy:real;
i,tanda,tanda1 :Integer;
begin
edit1.Text:=Inttostr(Scrollbar3.Position);
Label8.visible:=True;
Label9.visible:=True;
Label7.visible:=True;
Image1.Visible:=True;
Image2.Visible:=False;
image1.Picture:=nil;
image2.Picture:=nil;
begin
for Y := 1 to 500 do
begin
Image1.Canvas.Pixels[200,Y]:=clred;
end;
for X := 1 to 800 do
begin
Image1.Canvas.Pixels[X,200]:=clred;
end;
begin
for sx := 1 to 800 do
begin
T:=strtoint (Edit1.Text);
A:=strtoint (Edit3.Text);
sy:=sin(sx*pi/180*T)*A;
if (round(sy)>0) and (round(sy)<=a) then
begin
form1.Image1.Canvas.pixels[sx+T,200-A]:=clblack;
end;
if round(sy)=0 then
begin
form1.Image1.Canvas.Pen.Color:=clblack;
form1.Image1.Canvas.MoveTo(sx+T,200-A);
form1.Image1.Canvas.LineTo(sx+T,200+A);
end;
if (round(sy)<0) and
(round(sy)>=-a) then
begin
form1.Image1.Canvas.Pixels[sx+T,200+a]:=clblack;
end;
end;
end;
for i := 1 to 100 do
begin
tanda:=(10*i)-10;
Image1.Canvas.Pixels[tanda,100]:=clgreen;
for tanda1 := 1 to 10 do
Begin
Image1.Canvas.Pixels[tanda,195+tanda1]:=clgreen;
End;
end;
for i := 1 to 100 do
Begin
tanda:=(10*i)-10;
Image1.Canvas.Pixels[tanda,100]:=clgreen;
for tanda1 := 1 to 10 do
Begin
Image1.Canvas.Pixels[195+tanda1,tanda]:=clgreen;
End;
End;
end;
end.
e.
Jalankan
program dengan menekan tombol play/ run F9 , sampai jendela form memunculkan UI
(User interface) .
Gambar 10.9 Cara menjalankan form
f.
Dapat diketahui Percobaan berhasil dengan
baik setelah mengetahui hasil dari project lembar kerja yang telah dibuat .
Hasil aritmatika pada lembar kerja sesuai dengan program yang dipilih pada
setiap object button. Data input yang diolah sesuai ketentuan aritmatika akan
muncul di data hasil atau “Z”
Gambar
11.10 Contoh hasil grafik sinus
Gambar 11.11 Contoh
hasil grafik cosinus
Gambar 11.12 Contoh hasil grafik penambahan scrollbar
g. Desain
embarcadero
Tampilan
jendela kode dapat muncul bila di jendela form icon yang dibuat dari toolbox dilklik
dua kali atau klik menu view- setelah itu pilih klik code. Setelah kode dibuat klik tombol design dibawah jendela kode tersebut, maka Form
dapat dibuktikan dengan klik tombol play
pada menu toolbar
h.
Tunggu sampai
jendela form kalkulator memunculkan UI (User interface) dengan klik tombol play
atau Run F9.
Gambar 11.14 Tampilan form grafik saat di run
F9
6. Analisa Percobaan.
Pada percobaan grafik
dengan tambahan object scrollbar, dengan grafik gelombang pulsa pada software
embarcadero XE5 yang telah dipelajari. Hasil desain yang telah dibuat akan berjalan
sesuai yang diharapkan bila pada object edit1, edit2 dan edit3 telah dimasukkan
angka yang ingin diproses menjadi grafik, baik grafik berupa sinus,cosinus dan
Pulsa. Pada desain ketika dijalankan tidak akan memunculkan object image dan
object label untuk keterangan titik koordinat, akan muncul setelah memasukkan
input data di object edit dan menekan atau double klik object Button sinus,
cosinus atau Pulsa sesuai apa yang
diinginkan. Program pada grafik akan berjalan sempurna setelah code yang
dimasukkan sesuai dengan ketentuan pada grafik.
Penambahan Object
Scrollbar pada setiap fungsi trigonometri pada sinus,cosinus dan
pulsa/gelombang digital. Program penambahan scrollbar dapat berhasil bilamana
data yang dimasukkan pada code sudah sesuai ketentuan . Pemasanagn scrollbar
pada setiap fungsi dapat mempermudah membaca perubahan gelombangnya.
7. Kesimpulan dan Saran.
Kesimpulan :
Pada
percobaan membuat grafik dengan tambahan scroolbar dapat dijalankan bila code
yang dimasukkan pada object button dan scrollbar sesuai dengan ketentuan grafik
, fungsi sinus cosinus , dan pulsa bahasa pemrogaman .Hasil dari gelombang yang
dihasilkan berbeda dengan sinus dan cosinus bentuknya gelombang analog
sedangkan pada square wave bentuknya gelombang digital . Ketelitian pada
peletakkan code juga mempengaruhi hasil atau jalannya suatu pemrogaman grafik
yang telah dibuat. Code yang telah dibuat harus sesuai dengan apa yang diinginkan
pada caption button. Hasil grafik yang telah dibuat harus menerapkan system
trigonemetri fungsi nilai dari sinus dan fungsi nilai dari cosinus. Pada object
scrollbar ini membantu mengetahui bentuk perubahan gelombang setiap fungsi yang
berbeda.
Saran
:
Disarankan
bagi mahasiswa untuk mempelajari dengan benar mengenai code perhitungan grafik
aritmatika trigonometri fungsi sinus, cosinus dan tangen pada bahasa
pemrogaman. Setiap code penyelesaian aritmatika memiliki ketentuan yang
berbeda-beda dan diharapkan dapat mengembangkan program tersebut menjadi lebih
detail dan lebih baik. Dengan mengetahui dasar bagaimana gelombang analog dan
digital terbentuk diharapkan lebih mengembangkan kembali dari fungsi program
tersebut.