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,
πΌπΌππππ =
πΌπΌ ππππ
ππ ππ πΆπΆπΆπΆπΆπΆπΆπΆππ= πΌπΌπ΅π΅ cos β¦β¦β¦β¦β¦β¦β¦β¦β¦β¦β¦β¦β¦(2.2) [Lit.2] 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 <360o. Parameter E adalah perhitungan perbedaan waktu(dalam menit), yang dirumuskan oleh Iqbal (1983) : πΈπΈ = 229.2 (0.000075 + 0.001868 cos π΅π΅ β 0.032077 sin π΅π΅ β
0.014615 cos 2π΅π΅ β 0.04089 sin 2π΅π΅β¦β¦β¦β¦β¦β¦β¦β¦β¦β¦..(2.9) [Lit.3]
2.1.4 Posisi Matahari
Besarnya jumlah radiasi matahari yang diterima oleh suatu tempat dipengaruhi oleh posisi sudut matahari yang masuk ke tempat tersebut. Dalam perencanaan suatu kolektor surya, posisi sudut matahari sangat perlu diketahui untuk memperoleh hasil yang maksimal sesuai dengan perancanaan.
z sudut zenith E
p
A
sudut azimuth W
S Gambar 2.2 Posisi sudut Matahari
Sudut zenith z adalah sudut yang dibentuk oleh garis vertical ke arah zenith dengan garis ke arah titik pusat matahari. Sudut zenith menyatakan seberapa tinggi objek yang diamati (matahari). Sudut azimuth A adalah sudut yang d buat oleh garis bidang horizontal antara garis selatan dengan proyeksi garis
Universitas Sumatera Utara
normal pada bidang horizontal. Sudut azimuth positif jika normal adalah sebelah timur dari selatan dan negative jika normal pada sebelah barat dan selatan. Sudut altitude adalah sudut yang dibuat oleh garis titik pusat matahari dengan garis proyeksinya pada bidang horizontal. 2.1.5 Arah Dari Radiasi Sinar Matahari Hubungan geometris diantara bidang tetentu bersifat relatif terhadap bumi setiap waktu. (tidak peduli apakah bidang itu statis atau bergerak relatif terhadap bumi) dan sinar radiasi matahari yang memancar ke bumi yang dimana posisi dari matahari juga relatif terhadap bidang tersebut, dapat digambarkan pada beberapa jenis sudut (Benford and Bock, 1939).
Beberapa sudut yang dimaksud
digambarkan pada gambar 2.3 :
Gambar 2.3 (a) sudut zenith, slope, sudut permukaan azimuth dan sudut azimuth matahari untuk bidang miring. (b) Penampang untuk menunjukkan sudut azimuth matahari
Universitas Sumatera Utara
Latitude, posisi angular utara ataupun selatan dari khatulistiwa, utara bernotasi positif; πΏπΏ
π½π½
-90o β€
β€ 90o
Declinasi, posisi angular daripada matahari pada saat siang waktu matahari(yakni ketika matahari pada posisi bujur local) yang mengenai bidang khatulistiwa, utara bernotasi positif; -23,45o β€ πΏπΏ β€ 23,45o
Slope, sudut yang dibentuk oleh permukaan bidang yang dimaksud (yang menerima radiasi matahari) dan garis horizontal; 0o β€ π½π½ β€ 180o (π½π½ > 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 ([<argumen>]) β¦ β¦ End Sub Sedangkan bentuk penulisan (syntax) procedure function : [Public | Private] Function ([<argumen>]) 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. <argumen> 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 ([<argumen>])
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