Pemrograman Grafis
Gambar dalam pemrograman grafis merupakan hal penting
untuk dipelajari dalam Visual Basic, karena bisa menambah kemampuan dalam
mendesain visual effect bagi program-program yang dibuat.
unit kontrol yang digunakan untuk pemrograman
grafis meliputi :
·
Line,
digunakan untuk garis lurus di atad form
·
Shape, digunakan untuk membuat lingkaran,
persegi empat, elips atau persegi panjang bersiku bulat
·
Image,
untuk menampilkan gambar pada form
·
Picture Box, digunakan untuk menampilkan
gambar di form. Namun kontrol ini paling baik jika digunakan untuk dipindahkan
atau dibuat animasi.
Dasar Pemrograman Grafis
A.
Sistem
Koordinat
Hampir
semua operasi pemrograman grafis bekerja dengan sistem koordinat, seperti
berpindah, mengubah ukuran, dan lain-lain. Pada Visual Basic hanya dikenal
sistem koordinat dua dimensi, walupun natinya bisa saja dibuat sistem koordinat
3 dimensi dengan tambahan rutin yang dibuat.
Untuk
mendefinisikan koordinat pada form atau obyek yang lain digunakan penulisan
(x,y). Standar awal dari koordinat adalah (0,0) pada titik paling kiri atas
dari obyek yang didefinisikan koordinatnya.
B. Warna
Untuk
mendefinisikan warna pada Visual Basic bisa digunakan :
·
Fungsi
RGB
·
Fungsi QBColor untuk memilih satu dari 16
warna pada Microsoft Quick Basic
·
Salah satu konstanta intrinsic yang bisa
dilihat pada Object Browser
·
Langsung
mengisikan nilai warna, misalkan “&H00FFFFF&”
Untuk
menggunakan fungsi RGB digunakan standar penulisan rutin RGB(merah, hijau,
biru). Fungsi ini akan menghasilkan warna sebagai kombinasi dari nilai-nilai
yang diisikan pada merah, hijau dan biru. Nilai yang bisa dilakukan adalah dari
0 hingga 255.
Contoh :
Text1.BackColor = RGB(0,0,0) ‘ warna
latar belakang hitan
Pset
(100,100), RGB(255,255,0) ‘titik pada koordinat (100,100) latar warna kunig
Text1.BackColor = QBColor(2) ‘latar belakang berwarna hijau
Kontrol untuk Pemrograman Grafis
A.
Kontrol
Line
Kontrol ini digunakan untuk menggambar garis lurus yang
menghubungkan antara dua titik pada form, saat berada dalam mode desain.
B.
Kontrol
Shape
Kontrol ini menyediakan
beberapa bentuk geometri yang bisa dibuat. Visual Basic juga memberikan berbagai cara pengisian
bentuk-bentuk geometri tersebut
.
C.
Kontrol
Image
Fungsi utamna dari kontrol ini adalah menampilkan gambar.
Namun demikian kontrol ini memiliki sebuah properti uni bernama Stretch. Jika
properti ini bernilai True maka fungsinya adalah menarik gambar menjadi besar
sesuai dengan kontrol ini.
D.
Kontrol
PictureBox
Kontro ini fungsinya mirip dengan kontrol image,
Kelebihannya adalah kemampuan untuk menerima obyek lain diatasnya, bahkan bisa
menulis atau menggambar pada kontrol ini, Bahkan jika kontrol ini dipindahkan,
posisi obyek yang ada dalam kontrol ini tetap tak akan berubah. Prinsip ini
mirip dengan penggunaan kontrol Frame.
Metoda-Metoda Pemrograman Grafis
Visual
Basic menyediakan beberapa metoda yang bisa digunakan dalam permrograman grafis
yang meliputi :
·
Cls, mebuat semua grafis terhapus
·
Pset, mengatur warna pada
sebuah titik pixel terpilih
[Obyek.]Pset(x,y),[,warna]
·
Point, untuk mengembalikan
nilai warna suatu titik
·
Line, untuk mebuat garis, persegi
atau mengisi kotak
[Obyek.]Line[(x1,y1)]-(x2-y2)[,warna]
·
Circle, untuk menggambar lingkaran, elips
[Obyek.]Circle[Step] (x,y), radius[, warna]
·
PaintPicture, untuk mengecat grafis pada suatu koordinat
terpilih.
Contoh
Program 1
Membuat grafik menggunakan listing Visual Basic.
Grafik yang akan kita buat adalah
Line Chart, Bar Chart dan Spiral Chart.
·
Langkah pertama, buatlah
sebuah form dengan tampilan seperti pada gambar berikut ini.
·
Langkah berikutnya adalah
dengan mengetikkan listing berikut ini pada form diatas.
·
Option Explicit
Dim N As Integer
Dim X(199) As Single
Dim Y(199) As Single
Dim YD(199) As Single
Dim N As Integer
Dim X(199) As Single
Dim Y(199) As Single
Dim YD(199) As Single
·
Private Sub
LineChart(objectname As Control, N As Integer, X() As Single, Y() As Single)
Dim Xmin As Single, Xmax As Single
Dim Ymin As Single, Ymax As Single
Dim I As Integer
Xmin = X(0): Xmax = X(0)
Ymin = Y(0): Ymax = Y(0)
For I = 1 To N – 1
If X(I) Xmax Then Xmax = X(I)
If Y(I) Ymax Then Ymax = Y(I)
Next I
Ymin = (1 – 0.05 * Sgn(Ymin)) * Ymin
Ymax = (1 + 0.05 * Sgn(Ymax)) * Ymax
objectname.Scale (Xmin, Ymax)-(Xmax, Ymin)
objectname.Cls
objectname.PSet (X(0), Y(0))
For I = 1 To N – 1
objectname.Line -(X(I), Y(I))
Next I
End Sub
Dim Xmin As Single, Xmax As Single
Dim Ymin As Single, Ymax As Single
Dim I As Integer
Xmin = X(0): Xmax = X(0)
Ymin = Y(0): Ymax = Y(0)
For I = 1 To N – 1
If X(I) Xmax Then Xmax = X(I)
If Y(I) Ymax Then Ymax = Y(I)
Next I
Ymin = (1 – 0.05 * Sgn(Ymin)) * Ymin
Ymax = (1 + 0.05 * Sgn(Ymax)) * Ymax
objectname.Scale (Xmin, Ymax)-(Xmax, Ymin)
objectname.Cls
objectname.PSet (X(0), Y(0))
For I = 1 To N – 1
objectname.Line -(X(I), Y(I))
Next I
End Sub
·
Private Sub Form_Load()
Dim I As Integer
Const PI = 3.14159
N = 200
For I = 1 To N – 1
X(I) = I
Y(I) = Exp(-0.01 * I) * Sin(PI * I / 10)
YD(I) = Exp(-0.01 * I) * (PI * Cos(PI * I / 10) / 10 – 0.01 * Sin(PI * I / 10))
Next I
End Sub
Dim I As Integer
Const PI = 3.14159
N = 200
For I = 1 To N – 1
X(I) = I
Y(I) = Exp(-0.01 * I) * Sin(PI * I / 10)
YD(I) = Exp(-0.01 * I) * (PI * Cos(PI * I / 10) / 10 – 0.01 * Sin(PI * I / 10))
Next I
End Sub
·
Private Sub
mnuPlotBar_Click()
Call BarChart(PicPlot, N, X, Y)
End Sub
Call BarChart(PicPlot, N, X, Y)
End Sub
·
Private Sub
mnuPlotExit_Click()
End
End Sub
End
End Sub
·
Private Sub
mnuPlotLine_Click()
Call LineChart(PicPlot, N, X, Y)
End Sub
Call LineChart(PicPlot, N, X, Y)
End Sub
·
Private Sub
mnuPlotSpiral_Click()
Call LineChart(PicPlot, N, Y, YD)
End Sub
Call LineChart(PicPlot, N, Y, YD)
End Sub
·
Private Sub
BarChart(objectname As Control, N As Integer, X() As Single, Y() As Single)
Dim Xmin As Single, Xmax As Single
Dim Ymin As Single, Ymax As Single
Dim I As Integer
Xmin = X(0): Xmax = X(0)
Ymin = Y(0): Ymax = Y(0)
For I = 1 To N – 1
If X(I) Xmax Then Xmax = X(I)
If Y(I) Ymax Then Ymax = Y(I)
Next I
Ymin = (1 – 0.05 * Sgn(Ymin)) * Ymin
Ymax = (1 + 0.05 * Sgn(Ymax)) * Ymax
objectname.Scale (Xmin, Ymax)-(Xmax, Ymin)
objectname.Cls
For I = 1 To N – 1
objectname.Line (X(I), 0)-(X(I), Y(I)), vbBlue
Next I
End Sub
Dim Xmin As Single, Xmax As Single
Dim Ymin As Single, Ymax As Single
Dim I As Integer
Xmin = X(0): Xmax = X(0)
Ymin = Y(0): Ymax = Y(0)
For I = 1 To N – 1
If X(I) Xmax Then Xmax = X(I)
If Y(I) Ymax Then Ymax = Y(I)
Next I
Ymin = (1 – 0.05 * Sgn(Ymin)) * Ymin
Ymax = (1 + 0.05 * Sgn(Ymax)) * Ymax
objectname.Scale (Xmin, Ymax)-(Xmax, Ymin)
objectname.Cls
For I = 1 To N – 1
objectname.Line (X(I), 0)-(X(I), Y(I)), vbBlue
Next I
End Sub
·
Kalau sudah selesai
silahkan disimpan dan dijalankan. Bagaimana hasilnya?
Line Chart:
·
Bar Chart:
·
·
Spiral Chart:
·
Contoh Program 2
Program di bawah ini untuk menampilkan grafik
perolehan nilai bahasa komputer. Input data melalui textbox.
Code program :
Private Sub command1_click()
Form1.Line (600, 5150)-(2650, 5150), QBColor(0)
Form1.Line (600, 5150)-(600, 2500), QBColor(0)
Dim a(1 To 5) As Integer
For i = 1 To 5
a(i) = Val(Text1(i).Text)
Next i
x = 600
For i = 1 To 5
x = x + 300
Form1.FillStyle = 0
Form1.FillColor =
QBColor(i)
Form1.Line (x, 5150) -(x, (5150 - a(i) * 50)), QBColor(1), B
Form1.Line (x, 5150)-(x
+ 150, (5150 - a(i) * 50)),QBColor(1), B
Next i
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Activate()
Text1(1).SetFocus
End Sub
No comments:
Post a Comment