Perbandingan Intensitas Radiasi Surya Hasil Pengukuran di Kota Medan Dengan Simulasi Teoritis Menggunakan Visual Basic 6.0

BAB II
TINJAUAN PUSTAKA

2.1

Matahari
Matahari adalah bola energi gas panas dengan diameter 1.39 x 109 m dan

memiliki jarak sekitar 1,5 x 1011 m dari bumi. Seperti yang dapat dilihat dari
bumi, matahari berputar pada sumbunya sekitar sekali dalam empat minggu.
Bagaimanapun, matahari tidak berputar sebagai benda padat pada umumnya, garis
khatulistiwanya membutuhkan sekitar 27 hari dan masing-masing kutubnya
membutuhkan sekitar 30 hari untuk setiap rotasi.
Sumber energi berjumlah besar dan kontinu terbesar yang tersedia bagi
umat manusia adalah energi surya dan energi elektromagnetik yang dipancarkan
oleh matahari. Energi surya sangat efektif karena tidak bersifat polutif dan tidak
dapat habis. Akan tetapi arus energi yang rendah mengakibatkan digunakannya
system dan kolektor yang permukaan luas untuk mengumpulkan dan
mengkonsentrasikan energi matahari ini.

2.1.1


Radiasi Sinar Matahari
Radiasi Sinar matahari yang tersedia diluar atmosfer bumi seperti yang

diungkapkan oleh konstanta surya (Gsc) adalah sebesar 1,353 kJ/(m2), dikurangi
intensitasnya oleh penyerapan dan pemantulan atmosfer sebelum mencapai
permukaan bumi. Ada tiga jenis radiasi matahari pada bidang miring, yaitu :

Universitas Sumatera Utara



Radiasi langsung (direct radiation)
Intensitas radiasi langsung atau sorotan per jam pada sudut masuk normal

Ibn dari persamaan berikut ini,

��� =

� � ………………..………….………………………(2.1)

cos � �

[Lit.2]

Dimana Ib adalah radiasi sorotan pada sumbu permukaan horizontal dan
cos �z adalah sudut zenith. Dengan demikian, untuk suatu permukaan yang
dimiringkan dengan sudut β terhadap bidang horizontal, intensitas dari komponen

sorotan adalah,

��� =

� ��

��
…………………………………(2.2) [Lit.2]
�����= �� cos
cos � �

Dimana �T disebut sudut masuk, dan didefenisikan sebagai sudut antara


arah sorotan pada sudut masuk normal dan arah komponen tegak lurus (90o) pada
permukaan bidang miring.



Radiasi Sebaran (diffuse radiation)
Radiasi sebaran yang disebut juga radiasi langit (sky radiation), adalah

radiasi yang dipancarkan ke permukaan penerima oleh atmosfer, dan karena itu
berasal

dari

seluruh

bagian

hemisfer


langit.

Radiasi

sebaran

(langit)

didistribusikan merata pada hemisfer (disebut distribusi isotropik), maka radiasi
sebaran pada permukaan miring dinyatakan dengan,

��� = �� �1+cos β � …………………………………..(2.3) [Lit.2]
2

Dimana β adalah sudut miring dari permukaan miring dan Id menunjukkan
besarnya radiasi sebaran per jam pada suatu permukaan horizontal.

Universitas Sumatera Utara




Radiasi Pantulan
Selain komponen radiasi langsung dan sebaran, permukaan penerima juga

mendapatkan radiasi yang dipantulkan tergantung dari reflektansi α (albeldo) dari
permukaan yang berdekatan itu, dan kemiringan permukaan yang menerima.
Radiasi yang dipantulkan per jam, juga disebut radiasi pantulan. Radiasi pantulan
dirumuskan sebagai,

��� = α (Ib + Id ) �

1−cos β
2

�…………....…………(2.4) [Lit.2]

Dimana reflektansi dianggap 0,20 – 0,25 untuk permukaan- permukaan
tanpa salju dan 0,7, untuk lapisan salju yang baru saja turun, kecuali jika tersedia
data yang lain.


IbT
Ibn
θT

Ibn
Θz

β

Gambar 2.1 Radiasi Sinar Matahari

2.1.2 Variasi dari Radiasi Matahari pada Ruang Hampa Udara
Ada dua penyebab variasi radiasi matahari pada ruang hampa udara. Yang
pertama adalah variasi pada radiasi yang dihasilkan oleh matahari. Ada perbedaan
pendapat para ahli tentang dasar variasi periodik radiasi matahari. Sebagian
berpendapat bahwa hanya ada variasi kecil (kurang dari ± 1,5%) dengan

Universitas Sumatera Utara

perbedaan periodic dan variasi yang bergantung kepada pori-pori matahari.

Wilson (1981) menjelaskan bahwa variasi yang didapat mencapai 0,2% yang
berhubungan dengan perubahan pori-pori matahari. Sebagian lain berpendapat
pengukuran tidak dipengaruhi variabel pada umumnya. Pengamatan satelit
Nimbus dan Mariner selama beberapa bulan menunjukkan variasi ±0,2%
sepanjang waktu ketika pori-pori matahari sangat kecil (Frohlich, 1997). Data dari
Hickey (1982) selama rentang waktu 2,5 tahun dari satelit Nimbus 7 menunjukkan
bahwa konstanta matahari menurun secara perlahan, rata-rata 0,02% per tahun.
Bagaimanapun, variasi daripada jarak bumi ke matahari, mengakibatkan
variasi dari fluks radiasi matahari pada ruang hampa udara dalam rentang ±3,3%.
Perhitungan sederhana dengan akurasi yang paling memadai untuk perhitungan
bidang teknik ditunjukkan di oleh persamaan :

��� = ��� �1 + 0.033 cos 360
�………………………..………………(2.5) [Lit.3]
365

Spencer (1971), membuat suatu perhitungan yang lebih akurat (±0,01%)

ditunjukkan juga pada perhitungan :
��� = ��� (1.000110 + 0.034221 cos � + 0.001280 sin B +

0.000719 cos 2�

+ 0.000077 sin 2�)…………………...……....(2.6) [Lit.3]

Dimana Gon merupakan radiasi yang diterima atmosfer pada hari ke-n dan B
dirumuskan sebagai
360

� = (� − 1) 365 ………………………………………………………(2.7) [Lit.3]

Untuk nilai n sendiri dapat dilihat pada tabel 2.1 :

Universitas Sumatera Utara

Tabel 2.1 Rekomendasi hari rata-rata dan nilai n untuk setiap bulan
Bulan

Nilai n

Untuk rata-rata tiap bulan


Januari

i

17

17

�(derajat)

Februari

31+i

16

47

-13.0


Maret

59+i

16

75

-2.4

April

90+i

15

105

9.4


Mei

120+i

15

135

18.8

Juni

151+i

11

162

23.1

Juli

181+i

17

198

21.2

Agustus

212+i

16

228

13.5

September

243+i

15

258

2.2

Oktober

273+i

15

288

-9.6

November

304+i

14

318

-18.9

Desember

334+i

10

344

-23.0

Tanggal

N

-20.9

2.1.3 Defenisi
Beberapa defenisi yang akan sering muncul mengenai radiasi matahari
adalah :


Massa udara (m) merupakan perbandingan dari massa atmosfer yang
dilalui oleh radiasi matahari dengan massa atmosfer yang dilalui oleh
radiasi matahari pada kondisi zenith (puncak)



Radiasi beam. Radiasi matahari diterima dari matahari tanpa mengalami
penyebaran oleh atmosfer. (Sinar radiasi sering mengacu kepada radiasi

Universitas Sumatera Utara

secara langsung; untuk menghindari kebingungan antara langsung dan
berdifusi, maka digunakan istilah sinar radiasi)


Radiasi difusal (penyebaran). Radiasi matahari yang diterima dari matahari
setelah mengalami perubahan arah ketika menyentuh lapisan atmosfer



Radiasi total. Total penjumlahan dari radiasi beam dan radiasi difusal pada
permukaan bidang



Irradiance, W/m2. Nilai dari energi radiasi yang terjadi pada permukaan
suatu bidang. Simbol G digunakan untuk penyinaran matahari dengan
penyesuaian untuk beam, difusal dan radiasi spektrum



Waktu matahari merupakan waktu berdasarkan gerakan angular matahari
yang terlihat di langit, dimana waktu siang matahari adalah ketika
matahari melintasi meridian dari sudut pandang pengamat.
Waktu matahari digunakan di semua perhitungan sudut matahari, waktu
matahari tidak sama dengan waktu di bumi. Dibutuhkan untuk
mengkonversikan waktu standard di bumi kedalam waktu matahari dengan
mengacu pada dua faktor koreksi. Pertama, ada faktor koreksi konstan
untuk perbedaan garis bujur antara meridian(bujur) pengamat dan
meridian berdasarkan standar waktu lokal. Matahari membutuhkan sekitar
4 menit untuk berpindah bujur 1o. Faktor koreksi kedua adalah melalui
perhitungan waktu, yang memperhitungkan gangguan di tingkat rotasi
bumi yang mempengaruhi waktu matahari ketika melintasi meridian
pengamat. Perbedaan waktu dalam menit antara waktu matahari dan waktu
standar dirumuskan sebagai :
Waktu matahari – Waktu standar = 4 (Lst – Loc) + E………..…(2.8) [Lit.3]

Universitas Sumatera Utara

Dimana Lst, adalah standar meridian untuk zona waktu lokal, Loc adalah
bujur dari lokasi yang dicari, dan dalam derajat barat, yaitu 0o< L 90o

menunjukkan bahwa permukaan tersebut menghadap ke bawah)


Sudut permukaan azimuth, deviasi dari proyeksi pada bidang horizontal
pada kondisi normal, terhadap permukan dari bujur lokal, dengan nilai
nol untuk selatan, negative



untuk timur, dan positif untuk barat; -180o ≤

� ≤ 180

Sudut waktu, perpindahan angular matahari matahari dari timur ke barat
pada posisi

bujur lokal mengacu kepada rotasi bumi pada sumbunya

yaitu 15o setiap jamnya; notasi negative untuk pagi hari, dan positif untuk
siang hari


Sudut insidensi, sudut diantara sinar radiasi pada permukaan dan pada
garis normal terhadap suatu bidang
Sudut tambahan yang menggambarkan posisi matahari yang terlihat dari
permukaan bumi :

�z

Sudut zenith, merupakan sudut antara garis vertical terhadap matahari,

�s

Sudut matahari altitude, merupakan sudut antar bidang horizontal dan

yaitu sudut

matahari,

insidensi sinar radiasi pada permukaan horizontal

dengan kata lain, merupakan kebalikan dari sudut zenith

Universitas Sumatera Utara

�s

Sudut

azimuth matahari, merupakan perpindahan angular dari selatan

pada proyeksi sinar radiasi matahari pada bidang horizontal, ditunjukkan
pada gambar di atas. Perpindahan dari timur ke selatan dinotasikan
negative sedangkan barat ke selatan dinotasikan positif.
Adapun untuk menghitung sudut declinasi � dapat kita gunakan

persamaan Copper(1969)
� = 23,45 sin �360

284+�
365

�…………………………………………(2.10) [Lit.3]

Atau untuk perhitungan yang lebih akurat (error < 0.035o) dari

Spencer(1971), seperti yang dikutip oleh Iqbal (1983)
δ = 0.006918 – 0.399912 cos B + 0.070257 sin B – 0.006758 cos 2B +
0.000907 sin 2B – 0.002679 cos 3B + 0.00148 sin 3B…….(2.11) [Lit.3]
Untuk permukaan bidang datar, besar sudut insidensi adalah sama dengan
sudut zenith matahari, θz. Nilainya pasti diantara 0o sampai dengan 90o ketika
matahari berada tepat di atas kepala. Untuk kondisi ini maka β = 0, dan persamaan
untuk menghitung cosinus θz adalah :
cos �� = cos � cos � cos � + sin � sin �…………………………….(2.12) [Lit.3]

Dengan menggunakan hubungan antara sudut insidensi pada permukaan

bidang miring baik posisi lintang utara ataupun lintang selatan dapat didapatkan
kenyataan bahwa sudut slope β pada utara ataupun selatan memiliki hubungan
angular yang sama terhadap radiasi beam seperti pada bidang datar dengan asumsi
garis lintang adalah � – β. Sehingga persamaannya berubah menjadi:

cos � = cos(� − �) cos � cos � + sin(� − �) sin �………………(2.13) [Lit.3]

Untuk belahan bumi bagian selatan, modifikasi persamaan tersebut dengan

mengganti � − � dengan � − �, sehingga menjadi :

Universitas Sumatera Utara

cos � = cos(� + �) cos � cos � + sin(� + �) sin �………………(2.14) [Lit.3]
2.1.6 Perbandingan Intensitas Radiasi pada Bidang Miring dengan Bidang
Datar
Untuk tujuan desain dan perhitungan performansi, penting untuk
menghitung radiasi tiap jam pada permukaan miring suatu permukaan dari
pengukuran ataupun perkiraan radiasi matahari pada bidang datar. Umumnya data
yang tersedia adalah radiasi total selama beberapa jam atau hari pada permukaan
horizontal, dimana dibutuhkan radiasi beam dan radiasi difusal pada permukaan
kolektor.
Faktor geometris Rb, perbandingan antara radiasi beam pada permukaan
miring terhadap permukaan horizontal, dapat dihitung dengan menggunakan
persamaan dibawah ini :
�� =

���
��

=

��� cos �

��� cos ��

cos �

= cos � ………………………………………..(2.15) [Lit.3]


Gambar 2.4 Radiasi pada Bidang datar dan pada bidang miring

Universitas Sumatera Utara

2.1.7 Estimasi Radiasi Langit Cerah
Efek dari penyebaran dan penyerapan radiasi oleh atmosfer adalah
berubah-ubah tergantung pada kondisi atmosfer dan perubahan massa udara.
Penting untuk menentukan standarisasi langit cerah dan perhitungan radiasi tiap
jam ataupun tiap hari yang diterima oleh permukaan horizontal pada kondisi
standar.
Hottel (1976) telah menentukan metode untuk memperkirakan radiasi
beam yang ditransmisikan melalui atmosfer yang memperhitungkan sudut zenith
dan altitude untuk atmosfer standar dan untuk 4 (empat) jenis iklim. Transmitansi
atmosfer untuk radiasi beam Ib adalah Gbt/Gon dan dirumuskan sebagai berikut :
−k

�� = �0 + �1 exp �cos θ �…………………………………………...(2.16) [Lit.3]
z

Konstanta a0, a1, dan k untuk atmosfer standar dengan jarak pandang 23km

didapat dari ao*, a1*, dan k* , dengan altitude lebih kecil dari 2,5 km dengan
menggunakan persamaan :
�0∗ = 0.04237 − 0.00821 (6 − �)2 …………………………………(2.17) [Lit.3]

�1∗ = 0.5055 + 0.00595 (6.5 − �)2 …………………………………(2.18) [Lit.3]

� ∗ = 0.2711 + 0.01858 (2.5 − �)2 …………………………………(2.19) [Lit.3]

Dimana A merupakan altitude dari pengamat dalam kilometer. Faktor

koreksi ao*, a1*, dan k* berubah sesuai dengan tipe iklim. Faktor koreksi r0 = a0/a0* ,
r1 = a1/a1*, dan rk = k/k* diperlihatkan pada tabel 2.2. Transmitansi dari atmosfir
standar ini untuk radiasi beam dapat ditentukan untuk sudut zenith berapapun dan
altitud sampai 2,5km. Maka radiasi beam normal pada kondisi clear sky (langit
cerah) dapat dicari dengan menggunakan persamaan :
�� = ��� �� ……………………………………………………………(2.20)[Lit.3]

Universitas Sumatera Utara

Dimana Gon didapat dari persamaan 2. Untuk radiasi beam horizontal pada
kondisi langit cerah, ditentukan dengan persamaan :
�ℎ� = ��� �� cos �� ……………………………………………………(2.21)[Lit.3]
Tabel 2.2 Faktor Koreksi untuk Jenis-Jenis Iklim

Jenis Iklim

r0

r1

r2

Tropis

0.95

0.98

1.02

Midlatitude summer

0.97

0.99

1.02

Subartic summer

0.99

0.99

1.02

Midlatitude winter

1.03

1.01

1.00

Hottel(1976)
2.2 Microsoft Visual Basic 6.0
Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa
pemrograman adalah perintah yang dimengerti oleh komputer untuk melakukan
tugas-tugas tertentu. Bahasa pemrograman Visual Basic, yang dikembangkan oleh
Microsoft sejak tahun 1991, merupakan pengembangan dari
pendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose
Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic
merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai
macam program komputer, khususnya yang menggunakan sistem operasi
Windows. Visual Basic merupakan salah satu bahasa pemrograman komputer
yang mendukung object(Object Oriented Programming = OOP).
2.2.1 Mengenal Integrated Development Environment (IDE) VB 6
Aktifkan VB 6 melalui tombol Start > Programs > Microsoft Visual Studio
6.0 > Microsoft Visual Basic 6.0. Akan muncul tampilan berikut :

Universitas Sumatera Utara

Pilih Standard EXE dan klik tombol Open.

Gambar 2.5 Tampilan awal Visual Basic

Anda akan melihat tampilan area kerja atau IDE VB 6. Kenali bagian-bagian
utama di dalam IDE VB 6 berikut ini :

Gambar 2.6 Tampilan standar Visual Basic

Universitas Sumatera Utara

Keterangan :
1. Menubar
2. Toolbar
3. Toolbox
Bila Toolbox tidak muncul klik tombol Toolbox (

) pada bagian

Toolbar atau klik menu View > Toolbox.
4. Jendela Form
Bila Jendela Form tidak muncul klik tombol View Object (

) pada

bagian Project Explorer atau klik menu View > Object.
5. Jendela Code
Bila Jendela Code tidak muncul klik tombol View Code (

) di pada

bagian Project Explorer atau klik menu View > Code.
6. Project Explorer
Bila Project Explorer tidak muncul klik tombol Project Explorer (

)

pada bagian Toolbar atau klik menu View > Project Explorer.
7. Jendela Properties
Bila Jendela Properties tidak muncul klik tombol Properties Window (

)

pada bagian Toolbar atau klik menu View > Properties Window.

2.2.2 Memahami Istilah Object, Property, Method dan Event
Dalam pemrograman berbasis obyek (OOP), anda perlu memahami istilah
object, property, method dan event sebagai berikut :
Object : komponen di dalam sebuah program
Property : karakteristik yang dimiliki object

Universitas Sumatera Utara

Method : aksi yang dapat dilakukan oleh object
Event : kejadian yang dapat dialami oleh object
Sebagai ilustrasi anggap sebuah mobil sebagai obyek yang memiliki properti,
method dan event. Perhatikan gambar berikut :

Gambar 2.7 Ilustrasi Perbandingan Mobil dengan Visual Basic
Implementasinya dalam sebuah aplikasi misalnya membuat form, maka
form tersebut memiliki property, method, dan event. Sebagaimana pemrograman
visual lain seperti Delphi daan Java, VB juga bersifat event driven progamming.
Artinya anda dapat menyisipkan kode program pada event yang dimiliki suatu
obyek.

2.2.3 Menulis Kode Program
Buka jendela code dan kenali bagian-bagian di dalamnya

Universitas Sumatera Utara

Gambar 2.8 Bagian-bagian dari Jendela Code

Program yang berbasis Windows bersifat event-driven, artinya program
bekerja berdasarkan event yang terjadi pada object di dalam program tersebut.
Misalnya, jika seorang user meng-klik sebuah tombol maka program akan
memberikan “reaksi” terhadap event klik tersebut. Program akan memberikan
“reaksi” sesuai dengan kode-kode program yang dibuat untuk suatu event pada
object tertentu. Pilih object Command1 pada bagian Object Selector.
2.2.4 Mengenal Data dan Variabel
Ketika seorang user (pengguna) menggunakan sebuah program komputer,
seringkali komputer memintanya untuk memberikan informasi. Informasi ini
kemudian disimpan atau diolah oleh komputer. Informasi inilah yang disebut
dengan DATA.
Visual Basic 6 mengenal beberapa type data, antara lain :
1. String adalah type data untuk teks (huruf, angka dan tanda baca).
2. Integer adalah type data untuk angka bulat.
3. Single adalah type data untuk angka pecahan.
4. Currency adalah type data untuk angka mata uang.
5. Date adalah type data untuk tanggal dan jam.

Universitas Sumatera Utara

6. Boolean adalah type data yang bernilai TRUE atau FALSE.
Data yang disimpan di dalam memory komputer membutuhkan sebuah wadah.
Wadah inilah yang disebut dengan VARIABEL. Setiap variabel untuk
menyimpan data dengan type tertentu membutuhkan alokasi jumlah memory
(byte) yang berbeda.
Variabel dibuat melalui penulisan deklarasi variabel di dalam kode program :
Dim As
Contoh : Dim nama_user As String
Aturan di dalam penamaan variabel :
1. Harus diawali dengan huruf.
2. Tidak boleh menggunakan spasi. Spasi bisa diganti dengan karakter underscore
3. Tidak boleh menggunakan karakter-karakter khusus (seperti : +, -, *, /, ,
dll).
4. Tidak boleh menggunakan kata-kata kunci yang sudah dikenal oleh Visual
Basic6 (seperti : dim, as, string, integer, dll).

Sebuah variabel hanya dapat

menyimpan satu nilai data sesuai dengan type datanya. Cara mengisi nilai data ke
dalam sebuah variabel :
=
Contoh : nama_user = “krisna”
Untuk type data tertentu nilai_data harus diapit tanda pembatas. Type data string
dibatasi tanda petik ganda : “nilai_data”. Type data date dibatasi tanda pagar :
#nilai_data#. Type data lainnya tidak perlu tanda pembatas.
Sebuah variabel mempunyai ruang-lingkup (scope) dan waktu-hidup (lifetime) :

Universitas Sumatera Utara

1.

Variabel global adalah variabel yang dapat dikenali oleh seluruh bagian

program. Nilai data yang
tersimpan didalamnya akan hidup terus selama program berjalan.
2. Variabel lokal adalah variabel yang hanya dikenali oleh satu bagian program
saja. Nilai data yang
tersimpan didalamnya hanya hidup selama bagian program tersebut dijalankan.
Variabel yang nilai datanya bersifat tetap dan tidak bisa diubah disebut
KONSTANTA. Penulisan deklarasi konstanta di dalam kode program :
Const As =
Contoh : Const tgl_gajian As Date = #25/09/2003#

2.2.5 Mengenal Struktur Kontrol
Struktur kontrol di dalam bahasa pemrograman adalah perintah dengan
bentuk (struktur) tertentu yangdigunakan untuk mengatur (mengontrol) jalannya
program.Visual Basic 6 mengenal dua jenis struktur kontrol, yaitu :
1. Struktur kontrol keputusan - digunakan untuk memutuskan kode program
mana yang akan dikerjakan berdasarkan suatu kondisi.
2. Struktur kontrol pengulangan - digunakan untuk melakukan pengulangan
kode program.
Ada dua bentuk struktur kontrol keputusan, yaitu :
1. Struktur IF…THEN.
2. Struktur SELECT…CASE.
Bentuk penulisan (syntax) struktur IF…THEN :
1. IF THEN

Universitas Sumatera Utara

Bila bernilai True maka akan dikerjakan.
2. IF THEN ELSE
END IF
Bila bernilai True maka akan dikerjakan, tetapi
bila bernilai False maka yang akan dikerjakan.
Struktur kontrol di dalam bahasa pemrograman adalah perintah dengan bentuk
(struktur) tertentu yang digunakan untuk mengatur (mengontrol) jalannya
program.
Visual Basic 6 mengenal dua jenis struktur kontrol, yaitu :
1. Struktur kontrol keputusan - digunakan untuk memutuskan kode program
mana yang akan dikerjakan berdasarkan suatu kondisi.
2. Struktur kontrol pengulangan - digunakan untuk melakukan pengulangan
kode program. Bentuk penulisan (syntax) struktur SELECT…CASE :
SELECT CASE
CASE

CASE

CASE

[CASE ELSE
]
END SELECT
Bila sesuai dengan maka akan
dikerjakan, dst. Tetapi bila tidak ada yang sesuai dengan
s/d maka yang akan dikerjakan.
Ada dua bentuk struktur kontrol pengulangan (looping), yaitu :
1. Struktur FOR…NEXT.

Universitas Sumatera Utara

Bentuk penulisan (syntax) struktur For…Next :
FOR = TO [STEP ]

NEXT
1. adalah variabel (tipe: integer) yang digunakan untuk menyimpan
angka pengulangan.
2. adalah nilai awal dari .
3. adalah nilai akhir dari .
4. adalah perubahan nilai setiap pengulangan. Sifatnya
optional (boleh ditulis ataupun tidak). Bila tidak ditulis maka nilai
adalah satu.
2. Struktur DO…LOOP.
Bentuk penulisan (syntax) struktur Do…Loop :
1.
DO WHILE

LOOP
akan diulang selama bernilai TRUE.
Pengulangan berhenti bila sudah bernilai FALSE.
2.
DO UNTIL

LOOP
akan diulang sampai bernilai TRUE.
Pengulangan berhenti bila sudah bernilai TRUE.
Penggunaan Kontrol Array
Kontrol array merupakan sekumpulan kontrol yang “dikelompokkan”
dengan nama yang sama di dalam sebuah Form. Kontrol array digunakan bila ada
beberapa kontrol yang sama dan akan mendapat perlakuan yang sama pula.

Universitas Sumatera Utara

Misalnya, ada 5 buah TextBox di dalam sebuah Form dan akan deprogram dengan
cara yang sama, maka akan lebih mudah jika membuat sebuah TextBox sebagai
kontrol array dibandingkan bila membuat 5 buah TextBox yang berbeda. Setiap
object di dalam kontrol array masingmasing dibedakan dengan nomer indeksnya.
Untuk membuat kontrol array (misalnya TextBox) sebanyak 5 buah di dalam
sebuah form, lakukan langkah berikut ini :langkah berikut ini :
(1) Buatlah sebuah TextBox di dalam sebuah Form.
(2) Aturlah property TextBox tersebut sebagai berikut :
Name : txtData
Index : 0 (nol)
Perhatikan : kontrol TextBox-nya akan menjadi object txtData(0)
(lihat bagian Object Selector pada Jendela Properties).
(3) Klik object txtData(0) pada Form, kemudian klik tombol Copy pada bagian
Toolbar.
(4) Untuk membuat TextBox kedua, klik tombol Paste pada bagian Toolbar.
TextBox kedua akan
muncul di pojok kiri Form sebagai object txtData(1), aturlah posisinya di dalam
Form.
(5) Lakukan langkah ke-4 di atas sebanyak 4 kali (sesuai dengan jumlah TextBox
yang dibutukan).
(6) Di dalam Form akan ada 5 buah TextBox dengan nama yang sama (yaitu
txtData) dan masingmasing
menjadi object txtData yang dibedakan nomer indexnya (mulai dari 0 s/d 4).

Universitas Sumatera Utara

Selanjutnya object-object yang dibuat dengan kontrol array bisa diprogram
dengan lebih mudah. Misalnya untuk “mengosongkan” object txtData, bisa
menggunakan struktur kontrol For…Next :
For i = 0 To 4
txtData(i).Text = “”
Next i
Cara ini lebih mudah bila dibandingkan cara “konvensional” berikut :
Text1.Text = “”
Text2.Text = “”

Text4.Text = “”
Contoh program dalam control array adalah kalkulator.\

2.2.6 Menangani Error
Jenis-Jenis Error
Dalam proses pembuatan program, bisa saja terjadi error yang
menyebabkan program tidak berjalan sebagaimana mestinya. Dilihat dari
penyebabnya ada 3 jenis error yang bisa terjadi, yaitu :
1. Syntax error – adalah error yang disebabkan oleh kesalahan menulis kode
program. Misalnya : salah menuliskan nama object, property atau methodnya.
Error jenis ini relatif mudah ditangani, IDE VB 6 akan memberi tanda kode
program mana yang menimbulkan syntax error.

Gambar 2.15 Contoh Syntax Eror

Universitas Sumatera Utara

3. Runtime error – adalah error yang disebabkan oleh sistem komputer
ketika
melakukan sesuatu. Misalnya : menyimpan file ke disket tetapi disketnya tidak
ada. Sistem akan “memberitahu” kepada program informasi error yang terjadi.
Informasi error yang penting diantaranya adalah nomer error dan deskripsi error.
VB 6 “menyimpan” informasi error tersebut pada object Err. Melalui object Err
inilah kita bisa menangani runtime error.

Gambar 2.9 Contoh Runtime Eror
3. Logical error – adalah error yang disebabkan oleh kesalahan logika
pemrograman (dari si programer). Misalnya : salah meletakkan urutan kode
program. Error jenis ini relatif sulit diketahui dan bisa saja baru diketahui setelah
program di-compile menjadi executable file (*.exe). Kejadian seperti ini sering
disebut sebagai bug.

Universitas Sumatera Utara

2.2.7 Penggunaan Procedure
Procedure adalah blok kode program yang berisi perintah-perintah untuk
mengerjakan tugas tertentu. Bila di dalam kode program yang kita buat ada
perintah-perintah untuk melakukan tugas yang sama di beberapa tempat, maka
akan lebih baik perintah-perintah tersebut dibuat dalam sebuah procedure.
Kemudian, procedure itu bisa di-‘panggil’ bila diperlukan.
Penggunaan procedure sangat menghemat penulisan kode program, karena kodekode program yang sama dibeberapa tempat cukup dibuat pada satu bagian saja.
Selain itu, procedure akan memudahkan perbaikan kode program bila terjadi
perubahan atau kesalahan, karena perbaikan cukup dilakukan pada satu bagian
saja.
Jenis-jenis Procedure
Pada VB6 ada 4 jenis procedure, yaitu :
Procedure Sub – procedure yang tidak mengembalikan nilai setelah ‘tugas’-nya
selesai.
Procedure Function – procedure yang mengembalikan nilai setelah ‘tugas’-nya
selesai.
Procedure Event – procedure untuk suatu event pada sebuah object. Digunakan
di dalam class module.
Procedure Property – procedure untuk mengubah (let) atau mengambil (get)
nilai property pada sebuah object. Digunakan di dalam class module.

Pada bab ini akan dibahas penggunaan procedure sub dan function. Procedure
event dan property akan dibahas pada bab selanjutnya.
Bentuk penulisan (syntax) procedure sub :

Universitas Sumatera Utara

[Public | Private] Sub ([])



End Sub
Sedangkan bentuk penulisan (syntax) procedure function :
[Public | Private] Function ([]) As



End Function
Pernyataan [Public | Private] menentukan ruang lingkup (scope) procedure.
Sebuah procedure dengan scope public bisa digunakan dalam lingkup project.
Sedangkan procedure dengan scope private hanya bisa digunakan dalam lingkup
form saja.
atau dibuat sebagai pengenal procedure saat di‘panggil’. Aturan penamaan sebuah procedure sama dengan aturan penamaan
sebuah variabel. Nama sebuah procedure dibuat unik, tidak boleh ada yang sama.
merupakan serangkaian nilai dan tipe data yang dipakai oleh
procedure untuk mengerjakan ‘tugas’-nya. Sebuah procedure bisa saja tidak
memakai argumen sama sekali.
Pernyataan As pada procedure function menentukan tipe data nilai
yang akan dikembalikan (return value) setelah ‘tugas’-nya selesai. Untuk
menggunakan sebuah procedure, maka procedure tersebut harus di-‘panggil’ pada
bagian tertentu dari kode program. Procedure sub di-‘panggil’ dengan pernyataan
:
Call ([])

Universitas Sumatera Utara

Sedangkan procedure function bisa di-‘panggil’ langsung dengan menyisipkannya
di dalam kode program yang memanggilnya. Procedure boleh ditulis dimana saja
dalam kode program, tetapi biasanya ditulis dibagian atas atau bawah agar mudah
ditangani.
2.2.8 Penanganan Keyboard
Event keyboard merupakan salah satu elemen utama dari interaksi antara
user dengan program yang kita buat. Event keyboard terjadi saat user menekan
(pressed) ataupun melepas (released) tombol pada keyboard.
Menangani event keyboard dapat dilakukan pada 2 (dua) level, yaitu :
1. Pada level kontrol (low-level) – menangani event keyboard yang terjadi pada
sebuah kontrol, misalnya ketika user mengetik pada sebuah TextBox. Tidak
semua kontrol mempunyai event keyboard. Hanya kontrol yang bisa mendapatkan
focus (dicirikan dengan property TabIndex dan TabStop) saja yang mempunyai
event keyboard.
2. Pada level form (hight-level) – menangani event keyboard yang terjadi pada
lingkup sebuah form.
Artinya form akan lebih dulu merespon event keyboard daripada kontrol-kontrol
yang ada di dalamnya. Agar form selalu lebih dulu merespon event keyboard
maka property KeyPreview pada form tersebut harus diset menjadi True.

VB6 menyediakan 3 (tiga) jenis event pada form dan pada beberapa kontrol yang
bisa menerima input dari user melalui keyboard, yaitu :
1. Event KeyPress – terjadi ketika tombol-tombol yang mempunyai kode ASCII
pada keyboard ditekan. ASCII (American Standard Code for Information

Universitas Sumatera Utara

Interchange) adalah kode dari sekumpulan karakter pada tombol keyboard yang
terdiri dari : abjad, angka dan beberapa karakter khusus (Enter, Escape, Tab,
Backspace).
2. Event KeyDown – terjadi ketika setiap tombol pada keyboard ditekan.
3. Event KeyUp – terjadi ketika setiap tombol pada keyboard dilepas.
Perbedaan antara event KeyPress dengan KeyDown adalah :
Event KeyPress hanya berlaku untuk tombol-tombol yang mempunyai kode
ASCII saja. Tomboltombol tertentu - seperti : tombol fungsi (F1 s/d F12), tombol
panah, tombol keypad – tidak mempunyai kode ASCII. Event KeyPress tidak bisa
merespon penekanan tombol yang di kombinasi dengan Shift, Ctrl dan Alt. Bila
event KeyPress terjadi maka event tersebut akan mengembalikan nilai dari
argumen KeyAscii yaitu kode ASCII dari tombol keyboard yang ditekan. Contoh
:
Private Sub Form1_KeyPress (KeyAscii As Integer)
MsgBox “Kode ASCII tombol yang ditekan : “ & KeyAscii
End Sub
Sedangkan event KeyDown dan KeyUp akan mengembalikan nilai dari argumen
KeyCode dan Shift. Argumen KeyCode berisi kode tombol keyboard yang
ditekan dan argumen Shift berisi kode penekanan tombol Shift, Ctrl dan Alt.
Konstanta nilai untuk kedua argumen tersebut dapat dilihat melalui jendela Object
Browser. Contoh :
Private Sub Form1_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox “Kode tombol yang ditekan : “ & KeyCode
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
MsgBox “Kode tombol yang dilepas : “ & KeyCode
End if

Universitas Sumatera Utara

2.2.9 Menggunakan Drag-Drop
Drag-Drop merupakan istilah umum di dalam penggunaan mouse untuk
menggeser, menyalin atau memindahkan gambar, teks, file, dll. Menggunakan
drag-drop akan mempermudah user saat menggunakan sebuah program.
Drag-Drop dengan VB 6.0
VB 6.0 menyediakan beberapa property, method dan event yang berhubungan
dengan drag-drop. Operasi drag-drop melibatkan object source dan object target.
Setiap object di dalam form bisa menjadi source ataupun target (termasuk form itu
sendiri).
Property, method dan event yang berhubungan dengan drag-drop adalah sebagai
berikut:
Tabel 2.3 Property, method, dan event yang berhubungan dengan drag-drop

Nilai untuk argumen action adalah:
Tabel 2.4 Nilai argumen action

Ada tiga argumen pada event-event drag-drop, yaitu: Source, X, Y dan
State. Argumen Source menunjukkan object yang menjadi source. Argumen X

Universitas Sumatera Utara

dan Y menunjukkan posisi koordinat pointer mouse. Sedangkan argumen State
menunjukkan status pointer pada saat event DragOver, nilainya terdiri dari: 0 saat
pointer masuk ke dalam object target, 1 saat pointer meninggalkan object target
dan 2 saat pointer bergerak di dalam object target.

Menggunakan OLE Drag-Drop
OLE (Object Linking and Embedding) Drag-Drop adalah jenis drag-drop
yang memungkinkan user untuk menyalin atau memindahkan data dari satu
bagian ke bagian yang lain di dalam satu program atau dengan program yang lain.
Sebagian besar program-program buatan Microsoft (seperti Microsoft Office)
ataupun perusahaan lain (seperti Adobe PhotoShop) mendukung penggunaan OLE
drag-drop.

OLE Drag-Drop dengan VB 6.0
VB 6.0 menyediakan beberapa property, method dan event yang
berhubungan dengan OLE drag-drop. Operasi OLE drag-drop melibatkan object
source dan object target. Hanya beberapa komponen pada VB 6.0 yang bisa
digunakan sebagai object source maupun target, yaitu: TextBox, ComboBox,
ListBox, Image, PictureBox, DirListBox dan FileListBox. Sedangkan komponen
lainya hanya bisa digunakan sebagai object target, seperti: CommandButton,
CheckBox, OptionButton, Label dan Form. Property, method dan event yang
berhubungan dengan OLE drag-drop adalah sebagai berikut:

Universitas Sumatera Utara

Tabel 2.5 Event yang berhubungan dengan Ole Drag-Drop

\
Ada tiga argumen penting pada event-event OLE drag-drop, yaitu:
AllowedEffects, Effect dan Data. Argumen AllowedEffects dan Effect
digunakan untuk menentukan efek OLE drag-drop yang diperbolehkan atau yang
digunakan. Nilai untuk kedua argumen tersebut adalah sebagai berikut:
Tabel 2. 6 Nilai untuk argumen Allowed Effect dan Effect

Sedangkan argumen data merupakan object DataObject yang digunakan
selama operasi OLE drag-drop berlangsung.

Universitas Sumatera Utara

Object DataObject
Untuk menangani OLE drag-drop secara manual digunakan object
DataObject untuk menyimpan data dan format datanya. Property dan method yang
dimiliki object DataObject adalah
Tabel 2.7 Property dan method yang dimiliki Data Object

Nilai untuk argumen format adalah sebagai berikut:
Tabel 2.8 Nilai Argumen Format

Universitas Sumatera Utara