Pemrograman Grafis

6 Januari 2010

Setelah mengikuti pelatihan pada Modul XI, Anda diharapkan telah memilki kemampuan untuk :
– memahami konsep gambar
– menciptakan obyek grafis di form
– mengenali control grafis di toolbox
– memanipulasi obyek grafis

Pengantar

Kiasan “Satu Gambar Memiliki Sejuta Arti” merupakan ungakapan yang banyak diutarakan orang. Peminat seni gambar memandang suatu gamar dari beragam segi mulai dari ukuran, bentuk, warna, pencahayaan gambar, kondisi serta waktu pembuatan gambar, serta segi-segi yang lainnya. Para penikmat seni gambar akan mampu menjelaskan elemen gambar yang terkecil hingga yang terbesar. Tentu saja bagi orang yang bukan peminat seni memandang perilaku seniman (spt : seniman gambar) kadang-kadang mememperlihatkan perilaku yang aneh dalam menikmati suatu gambar. Yah.. begitulah seorang seniman. Ha.ha.ha.ha.ha.ha….

Gambar di komputer terbentuk dari himpunan titik-titik gambar. Titik disebut dengan pixel (picture element). Pixel merupakan element terkecil dari suatu gambar. Pixel dapat diberi warna tertentu. Dari himpunan titik dapat dibentuk obyek-obyek gambar seperti garis, lingkaran, segitiga, persegi, balok, ellips, dan sebagainya. Banyak teknik pemrograman yang telah diciptakan untuk menciptakan obyek-obyek gambar.

Semakin banyak titik pembentuk gambar maka kualitas gambar akan semakin baik. Bila layar komputer Anda memiliki resolusi 800 x 600 px menandakan bahwa sepanjang sumbu X dapat diletakkan 800 pixel dan sepanjang sumbu Y dapat ditempatkan 600 pixel. Tentu saja gambar tampilan gambar akan lebih baik bila resolusi layar monitor Anda 1024 X 768, 1024 X 800 atau bahkan lebih.

Di toolbox Visual Basic terdapat dua kontrol yang dapat digunakan untuk memanipulasi gambar yaitu control Picture dan Image. Selain itu control Form juga dapat digunakan sebagai area gambar

a. Menciptakan titik di form
Visual Basic telah menyediakan fungsi Pset untuk menciptakan titik. Format penulisan dari Pset:

Pset (X,Y),Warna

dimana X : adalah posis titik di sumbu X; Y : posisi titik di sumbu Y; Warna adalah warna dari titik.

a. Menciptakan titik di Form
1. Buka Proyek Standar.Exe
2. Simpan Proyek dengan nama PTitik
3. Simpan Form dengan nama FTitik
4. Ganti properti form
– Name : FrmTitik
– Caption : Titik
5. Tuliskan kode berikut di Event Form_Paint

Private Sub Form_Paint()
Pset (1000,1000),yellow
End Sub

6. Eksekusi Proyek dengan menekan tombol F5 di keyboard

Mungkin saja titik di Form sulih melihatnya. Bagian berikut akan dicetak himpunan titik-titik dengan memanfaatkan pernyataan perulangan (looping statement).

7. Tekan simbol Close (X) untuk kembali ke perancangan

b. Menciptakan Garis di Form
1. Ubah kode program di event Form_Paint

Private Sub Form_Pain()
Dim I As Integer
For I=1000 To 2000 Step 1
Pset (I,1000),Yellow
Next I
End Sub

2. Simpan Form dan Proyek dengan mengklik menu File –> Save Project
3. Eksekusi Proyek dengan menekan F5 di keyboard

4. Kembali ke perancangan dengan menekan simbol Close (X)

c. Menciptakan Grafik Sinus di Form
1. Ubah properti Form
-WindowState : Maximized
2. Ubah kode program di Form_Paint

Private Sub Form_Paint()
Dim I,TengahLayar As Integer
Dim Y,Radian As Single
TengahLayar = Screen.Height / 2
For I = 0 To Screen.Width Step 1
Radian = 3.14 / 180 * I
Y = Sin(Radian)
PSet (I, TengahLayar + Y * 1000), yellow
Next I
End Sub

3. Simpan kode dengan menekan tombol Ctrl + S di keyboard
4. Eksekusi Proyek dengan menekan F5 di keyboard

5.Tekan simbol Close (X) untuk mentup Jendela Eksekusi

c. Menciptakan Jaring Laba-Laba di Form
1. Ciptakan Proyek Standard.Exe
2. Simpan Proyek dengan nama PLingkaran
3. Simpan Form dengan nama FLingkaran
4. Ganti properti Form
– Name : FrmLingkaran
– Caption : Lingkaran
– WindowState : Maximized
5. Masukkan control Timer ke Form
– Name : TmrLingkaran
– Interval : 1000 (dalam satuan milisecond. 1 detik = 1000 milisecond)
3. Ketikkan Kode Program Berikut di Jendela Kode.

Dim JariJari As Integer
Dim XTengah, YTengah As Single

4. Tambahkan Event Form_Load

Private Form_Load()
JariJari=0
XTengah=Screen.Width/2
YTengah=Screen.Height/2
Randomize(10)
End Sub

5.Ubah kode program di Form_Paint seperti di bawah ini:

Private Sub Form_Paint()
Circle (XTengah, YTengah), JariJari, RGB(Rnd() * 255, Rnd() * 255, Rnd(255) * 255)
End Sub

6. Tambahkan Event TmrLingkaran_Timer()

Private Sub TmrLingkaran_Timer()
JariJari = JariJari + 100
If (JariJari > YTengah) Then
JariJari = 100
Cls
End If
Form_Paint
End Sub

7. Simpan Kode Program dengan menekan Tombol Ctrl + S
8. Eksekusi Proyek dengan menekan F5

9. Tutup Jendela Eksekusi dengan menekan simbol Close (X)

Jalanya program bekerja dapat dijelaskan seperti berikut:
1. Pada saat Anda menekan F5 maka Event Form_Load akan dikerjakan.
JariJari=0
XTengah=Screen.Width/2
YTengah=Screen.Height/2
Randomize(10);

ctt : Randomize(10) dapat saja Anda tuliskan menjadi Randomize(1), Randomize(2). Angka berapa saja bisa dituliskan. Fungsi Prosedur ini agar Visual Basic setiap memanggil fungsi Rnd akan membangkitkan bilangan acak yang berbeda. Jika Anda tidak menggunakan fungsi Randomize maka bilangan acak yang dibangkitkan dari fungsi Rnd akan tetap sama.

2. Event Form_Paint dikerjakan.
Circle (XTengah,YTengah),JariJari,RGB(Rnd()*255,Rnd()*255,Rnd()*255)

ctt : RGB merupakan fungsi menuliskan warna. R = Red, G=Green, B=Blue. Kalau Anda perhatikan pada fungsi RGB terdapat tiga parameter. Nilai ketiga parameternya akan dirandom mulai dari angka 0 hingga 254. Percampuran antara nilai Red, Green dan Blue tentu akan diberikan sebagai nilai akhir.

Pada tahap ini tentu saja penciptaan lingkaran telah dilakukan, namun karena jari-jari lingkaran masih 0 maka lingkaran tidak terlihat di Form.

3. 50 milisecond ( 1/20 detik) kemudian dikerjakan Event TmrLingkaran_Timer()
JariJari=JariJari+100
IF (JariJari>YTengah) Then
JariJari=100
Cls
End IF
Form_Paint

JariJari ditambah 100. Kemudian diuji apakah JariJari lebih besar dari YTengah. Hal ini dilakukan agar jari-jari lingkaran tidak melebihi layar. Jika JariJari lebih besar dari Y Tengah maka kembalikan nilai JariJari menjadi 100, kemudian form dibersihkan dari obyek grafis. Selanjutnya prosedur Form_Pain dipanggil.

4. Setiap 50 second akan dipanggil kembali Prosedur Form_Paint

b. Menciptakan titik di Control Picture
Control Picture menyediakan beragam fungsi untuk memanipulasi grafis.