• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
32
0
0

Teks penuh

(1)

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

(2)

• Radiasi langsung (direct radiation)

Intensitas radiasi langsung atau sorotan per jam pada sudut masuk normal Ibn dari persamaan berikut ini,

�� =

cos ��

………..………….………(2.1) [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 ��

cos �� ………(2.2) [Lit.2] 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 �

………..(2.3) [Lit.2]

(3)

• 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,

��

=

α

(I

b

+ I

d

)

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

Ibn θT

Θz

β

Gambar 2.1 Radiasi Sinar Matahari

2.1.2 Variasi dari Radiasi Matahari pada Ruang Hampa Udara

(4)

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 cos360365��………..………(2.5) [Lit.3]

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 �= (� −1)360

365………(2.7) [Lit.3]

(5)

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

Tanggal N (derajat)

Januari i 17 17 -20.9

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

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)

(6)

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 :

(7)

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

(8)

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

(9)

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,

yaitu sudut insidensi sinar radiasi pada permukaan horizontal

�s Sudut matahari altitude, merupakan sudut antar bidang horizontal dan

(10)

�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�360284+�

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:

(11)

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 :

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

(12)

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 :

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

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.042370.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 :

(13)

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

(14)

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 :

(15)

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 :

(16)

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

(17)

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.

(18)

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 <nama_variabel> As <type_data>

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 :

<nama_variabel> = <nilai_data> 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.

(19)

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 <nama_kontanta> As <type_data> = <nilai_data> 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.

(20)

Bila <kondisi> bernilai True maka <kode program> akan dikerjakan.

2. IF <kondisi> THEN <blok kode program 1> ELSE <blok kode program 2>

END IF

Bila <kondisi> bernilai True maka <blok kode program 1> akan dikerjakan, tetapi bila <kondisi>bernilai False maka <blok kode program 2> 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 <pilihan>

Bila <pilihan> sesuai dengan <pilihan 1> maka <blok kode program 1> akan dikerjakan, dst. Tetapi bila <pilihan> tidak ada yang sesuai dengan <pilihan 1> s/d <pilihan n> maka <blok kode program x> yang akan dikerjakan.

(21)

Bentuk penulisan (syntax) struktur For…Next :

FOR <pencacah> = <awal> TO <akhir> [STEP <langkah>] <blok kode program>

NEXT <pencacah>

1. <pencacah> adalah variabel (tipe: integer) yang digunakan untuk menyimpan angka pengulangan.

2. <awal> adalah nilai awal dari <pencacah>. 3. <akhir> adalah nilai akhir dari <pencacah>.

4. <langkah> adalah perubahan nilai <pencacah> setiap pengulangan. Sifatnya optional (boleh ditulis ataupun tidak). Bila tidak ditulis maka nilai <langkah> adalah satu.

2. Struktur DO…LOOP.

Bentuk penulisan (syntax) struktur Do…Loop : 1. DO WHILE <kondisi>

<blok kode program> LOOP

<blok kode program> akan diulang selama <kondisi> bernilai TRUE. Pengulangan berhenti bila <kondisi> sudah bernilai FALSE.

2. DO UNTIL <kondisi> <blok kode program>

LOOP

<blok kode program> akan diulang sampai <kondisi> bernilai TRUE. Pengulangan berhenti bila <kondisi> sudah bernilai TRUE.

Penggunaan Kontrol Array

(22)

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

(23)

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.

(24)

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

(25)

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 kode-kode 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.

(26)

[Public | Private] Sub <nama_sub> ([<argumen>])

<isi procedure>

End Sub

Sedangkan bentuk penulisan (syntax) procedure function :

[Public | Private] Function <nama_function> ([<argumen>]) As <tipe_data>

<isi procedure>

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.

<nama_sub> atau <nama_function> 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 <tipe_data> 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 :

(27)

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 :

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

Gambar

Gambar 2.1 Radiasi Sinar Matahari
Gambar 2.2 Posisi sudut Matahari
Gambar 2.3 (a) sudut zenith, slope, sudut permukaan azimuth dan sudut
Gambar 2.4 Radiasi pada Bidang datar dan pada bidang miring
+7

Referensi

Dokumen terkait

Berdasarkan kondisi tersebut, maka dilakukanlah kegiatan PKM (Pengabdian Kepada Masyarakat) tentang Pemanfaatan Teknologi Pengolahan Limbah bagi Peternak Puyuh Ramah

Beberapa saat sebelum piston memasuki proses kompresi, bahan bakar diesel disuntikkan ke ruang bakar langsung dalam tekanan tinggi melalui nozzle dan injektor supaya

Hambatan aliran akan menyebabkan turunnya energi dari fluida tersebut yang sering disebut dengan kerugian tinggi tekan (head loss) atau penurunan tekanan (pressure

Peraturan Pemerintah Nomor 24 Tahun 2004 tentang Kedudukan Protokoler dan Keuangan Pimpinan dan Anggota Dewan Perwakilan Rakyat Daerah (Lembaran Negara Republik Indonesia

Berdasarkan hasil studi pendahuluan di PT Asuansi Sinarmas secara umum ditemukannya beberapa anlayst yang memberikan penilaian bahwa kurangnya motivasi kerja yang ada

Subjek pada penelitian ini adalah semua penderita epilepsi yang datang di poliklinik Saraf RS Z Yogyakarta dan masih dalam pengobatan dengan obat antiepilepsi. Penelusuran data

Pemeriksaan CT Stonography adalah jenis pemeriksaan CT Scan tanpa menggunakan media kontras yang secara spesifik digunakan untuk memperlihatkan kelainan berupa

whipplei infection: histologic lesions in the gastrointestinal tract in association with diverse clinical manifestations (classic Whipple’s disease), endocarditis with