11 11 bahasa visual basic.doc  · web viewitem data diumpukkan kepada pembolehubah satu demi satu...

71
Bab 11 Bahasa Pengaturcaraan Visual Basic 11.1 Objek Visual Basic Antara Muka Pengguna Antara muka suatu aturcara ialah bahagian aturcara melalui mana maklumat dioutput kepada pengguna dan melalui mana pengguna memasukkan data dan maklumat. Antara muka suatu aturcara Windows biasanya terdiri daripada: Menus Kotak dialog (dialog box) Kotak teks (Text box) Butang Perintah (Command buttons) Label Kotak senarai (List Box) Kotak Combo (Combo box) Kotak semak (Check box) Scroll bars Borang (Form) Ikon Tetingkap Butang pilihan (Option buttons) Antara muka pengguna dihasilkan dalam tetingkap borang (form). Lebih daripada satu borang boleh digunakan. Kotak teks dan butang dikenali sebagai “control”. Borang dan “control” dipanggil “objek”. Empat “control” yang biasa diguna ialah: Text boxes Diguna untuk mendapat maklumat atau input daripada pengguna Labels Diguna untuk memapar maklumat kepada pengguna Command buttons Diguna untuk memulakan suatu tindakan Picture Box atau Image Diguna untuk memapar output dalam bentuk grafik atau teks Biasanya, objek diberi nama seperti Text1, Text2 dan Label1. Nama-nama ini boleh ditukar kepada yang lebih bermakna. Microsoft mencadangkan nama setiap objek didahului dengan 3 huruf prefiks yang mengenalpasti identiti control berkenaan: 1 pctor/smjkjitsin/3/12/22

Upload: trinhtu

Post on 26-Jul-2019

249 views

Category:

Documents


0 download

TRANSCRIPT

Bab 11 Bahasa Pengaturcaraan Visual Basic

11.1 Objek Visual Basic

Antara Muka Pengguna

Antara muka suatu aturcara ialah bahagian aturcara melalui mana maklumat dioutput kepada pengguna dan melalui mana pengguna memasukkan data dan maklumat. Antara muka suatu aturcara Windows biasanya terdiri daripada:

Menus Kotak dialog (dialog box) Kotak teks (Text box) Butang Perintah

(Command buttons) Label Kotak senarai (List Box)

Kotak Combo (Combo box)

Kotak semak (Check box) Scroll bars Borang (Form) Ikon Tetingkap

Butang pilihan (Option buttons)

Antara muka pengguna dihasilkan dalam tetingkap borang (form). Lebih daripada satu borang boleh digunakan. Kotak teks dan butang dikenali sebagai “control”. Borang dan “control” dipanggil “objek”. Empat “control” yang biasa diguna ialah:

Text boxes Diguna untuk mendapat maklumat atau input daripada penggunaLabels Diguna untuk memapar maklumat kepada penggunaCommand buttons Diguna untuk memulakan suatu tindakanPicture Box atau Image

Diguna untuk memapar output dalam bentuk grafik atau teks

Biasanya, objek diberi nama seperti Text1, Text2 dan Label1. Nama-nama ini boleh ditukar kepada yang lebih bermakna. Microsoft mencadangkan nama setiap objek didahului dengan 3 huruf prefiks yang mengenalpasti identiti control berkenaan:

Objek Prefiks ContohCommand button cmd cmdComputeTotalForm frm frmPayrollLabel lbl lblArahanPicture box pic picAwamText box txt txtAlamat

Beberapa ciri yang berguna:

a. BorderStyle: “0 –None” menghilangkan sempadanb. Visible: False menyembunyikan objek semasa aturcara dilakukanc. BackColor: menetapkan warna latar belakang kotak teks, label, borang

dan kotak gambard. BackStyle: menetapkan objek sama ada legap atau lutsinare. Alignment: menetapkan kedudukan teks dalam kotak teks; kiri, tengah

atau kanan

1 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Objek VB dan Ciri-ciri Penting

Borang (Form)Borang ialah tempat anda merancang dan merekabentuk antara muka projek.

Untuk membuka borang baru:1. menu Project Add Form2. pilih jenis borang3. klik Open

Untuk suatu borang sebagai borang pertama (startup form):1. menu Project Properties2. klik tab General3. Startup Object4. pilih borang yang dikehendaki5. OK

Untuk menghapuskan borang daripada projek:Terdapat 2 cara:

1. Klik kanan pada borang. Pilih Remove FileName2. Dari menu Project Remove FileName

Ciri Window State Borang0 – normal1 – Minimized2 - Maximized

Kod untuk peristiwa Borang:

Pernyataan (Perintah) PeneranganfrmWelcome.Show Memaparkan borang frmWelcomefrmWelcome.Hide Menutup borang frmWelcome tetapi masih dalam ingatanUnload frmWelcome Menutup borang frmWelcome sama sekali daripada

ingatan

2 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Kotak Teks (Text Box)Kotak teks diguna untuk membolehkan pengguna menaip masuk data input.

Kod untuk kotak teks:

Pernyataan (Perintah) PenerangantxtName.Text = “” Mengosongkan kotak tekstxtName.Text = “Saya suka pengaturcaraan VB”

Umpukkan rentetan aksara

txtName.Text = 28 Umpukkan satu nombortxtName.Text.SetFocus Letakkan kursor di dalam kotak tekstxtName.Enabled Membolehkan input ke dalam kotak tekstxtName.Visible = False Jadikan kotak teks tidak kelihatantxtName.Visible = True Jadikan kotak teks kelihatan

LabelsLabel diguna untuk memaparkan teks sebagai “caption”. Ia diguna supaya pengguna tidak dapat menaip masuk data input seperti dalam kotak teks.

Beberpa Sifat Penting untuk Label:

Sifat PeneranganName Nama untuk mengenali labelCaption Paparan teks pada labelAlignment Jajaran teks pada label (0 – Left, 1 – Right, 2 - CenterBorderStyle Menetapkan stail sempadan label (0 – None, 1 – Fixed)BackColor Menetapkan warna latar belakang labelFont Menukar font teks pada labelForeColor Menetapkan warna tkes atau grafik pada label

Kod untuk Label:

Pernyataan/Perintah PeneranganlblName.Caption = “” Mengosongkan kandungan labellblName.Caption = “Masukkan Nama Anda:”

Umpukkan satu rentetan

lblName.Caption = 28 Umpukkan satu nomborlblName.SetFocus Letakkan kursor pada labellblName.Visible = True Jadikan label kelihatan

3 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Butang Perintah (Command Button)Diguna untuk melakukan tindakan tertentu. Apabila diklik oleh pengguna prosedur (aturcara) tertentu akan diaktifkan.

Kod untuk Butang Perintah:

Pernyataan/Perintah PeneranganCmdHello.Caption = “” Mengosongkan kandungan pada butangCmdHello.Caption = “ Klik saya” Umpukkan suatu rentetanCmdHello.Caption = 100 Umpukkan satu nomborCmdHello.SetFocus Mengaktifkan butang perintahCmdHello.Visible = True Jadikan butang perintah kelihatan

11.2 Peristiwa (Events) Visual Basic

Apabila suatu aturcara Visual Basic dilakukan (run), satu borang dan “control”nya muncul. Biasanya, tidak ada apa-apa berlaku sehingga pengguna mengklik suatu “control”. Tindakan ini dipanggil peristiwa.

3 langkah untuk menghasilkan suatu aturcara Visual Basic ialah:1. membina antara muka yang sesuai2. menyediakan “properties” bagi objeknya3. tulis kod yang dilaksanakan apabila peristiwa berlaku

Pernyataan Umpukan (Assignment Statement)

Sifat-sifat (properties) bagi suatu objek diubah dalam kod dengan pernyataan dalam bentuk berikut:

ObjectName.property = setting

Di mana objectName ialah nama borang atau “control”, property ialah sifat objek dan setting ialah keadaan objek. Pernyataan umpukan ini mengumpukkan nilai tertentu ke property objek. Contoh:

Pernyataan Umpukan PeneranganText1.Font.Size = 12 Menetapkan saiz aksara dalam kotak teks Text1

kepada 12Text1.Font.Bold = True Menukarkan teks dalam kotak teks menjadi cetakan

tebalText1.Text = “ ” Mengosongkan kandungan kotak teksPicBox.BackColor = vbYellow Menjadikan warna latar belakang picBox kuning

4 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Prosedur Peristiwa (Event procedure)

Pernyataan-pernyataan yang dilaksanakan apabila suatu peristiwa berlaku ditulis dalam satu blok kod yang dikenali sebagai “event procedure”. Strukturnya ialah:

Private Sub objekName_event()pernyataan1pernyataan 2…

End Sub

Contohnya, prosedur peristiwa berikut:

Private Sub command1_Click()Text1.Text = ““

End Sub

mengosongkan kandungan kotak teks apabila command butang diklik.

Latihan 1A. Huraikan kandungan kotak teks setelah butang command cmdButton ditekan:

1. Private Sub cmdButton_Click( ) txtBox.Text = “Hello”

End Sub

2. Private Sub cmdButton_Click( ) txtBox.ForeColor = vbRed txtBox.Text = “Hello”

End Sub

3. Private Sub cmdButton_Click( ) txtBox.Font.Italic = True txtBox.Text = “Hello”

End Sub

4. Private Sub cmdButton_Click( ) txtBox.Font.Size = 24 txtBox.Text = “Hello”

End Sub

5. Private Sub cmdButton_Click( ) txtBox.Text = “Hello” txtBox.Visible = False

End Sub

6. Private Sub cmdButton_Click( ) txtBox.Font.Bold = True txtBox.Text = “Hello” End Sub

B. Kenalpasti kesilapan:

7. Private Sub cmdButton_Click() frmHi = “Hello”

End Sub

8. Private Sub cmdButton_Click() txtOne.ForeColor = “Red”

End Sub

5 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

9. Private Sub cmdButton_Click() txtBox.Caption = “Hello” End Sub

10. Private Sub cmdButton_Click() lblTwo.Text = “Hello” End Sub

11. Private Sub cmdButton_Click() lblTwo.Border Style = 2

End Sub

12. Private Sub cmdButton_Click() txtOne.MultiLine = True End Sub

11.3 Operasi Aritmetik

Notasi Matematik Notasi Visual Basic Penerangan+ + Tambah- - Tolakx * Darab / Bahagi

\ Pembahagian integer (nombor bulat)

Mod Mod Baki bagi suatu pembahagian^ Indeks atau kuasa

Keutamaan Operasi Aritmetik

1 ( ) Dari dalam ke luar; dari kiri ke kanan2 ^ Dari kiri ke kanan3 * / Dari kiri ke kanan4 + - Dari kiri ke kanan

Operasi Hubungan

Operator Makna= Sama dengan< Kurang daripada> Lebih daripada< = Kurang daripada atau sama dengan> = Lebih daripada atau sama dengan< > Tak sama dengan

Keputusan operasi hubungan ialah sama ada True atau False.

6 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Contoh:Jika a = 3, b = 4 dan c = 5a > b menghasilkan keputusan Falsea < = b menghasilkan keputusan Truec >= 5 menghasilkan keputusan True(a + b) <> c menghasilkan keputusan Falsec < (a + b) menghasilkan keputusan True

Operasi Boolean/Logik

x y x or y x And y Not xTrue True True True FalseTrue False True False FalseFalse True True False TrueFalse False False False True

Keputusan operasi hubungan ialah sama ada True atau False.

Semua operasi aritmetik, hubungan dan logik boleh digabungkan:

Notasi Sains

Bentuk-bentuk nombor berikut adalah setara:

1400000000 1.4*10^9 1.4E+09 1.4E9.0000003 3*10^-7 3E-07 3E-7

Contoh 3.3.2

Pembolehubah (Variable)

Nama yang diguna untuk merujuk kepada suatu item data. Nilai yang diumpuk kepada suatu pembolehubah boleh bertukar semasa aturcara dilakukan.

Sifat Pembolehubah1. mesti bermula dengan satu aksara dan diikuti oleh aksara, digit dan underscore.2. nama pembolehubah paling panjang 255 aksara3. tidak membezakan antara huruf besar dan huruf kecil4. tidak memgguna kata simpanan (reserve word)

Contoh:

jarak = 5

Nombor 5 diumpukkan kepada pembolehubah jarak

7 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Pernyataan:

picBox.Print jarak

memaparkan kandungan bagi pembolehubah jarak dan memaparkan 5 dalam kotak picBox.

Contoh 3.3.3

Kaedah Pencetakan

Satu cara untuk memaparkan suatu nombor n pada layar ialah melalui suruhan:picBox.Print n

Pernyataan berikut:picBox.Cls

akan memadamkan semua teks dan grafik daripada kotak picBox.

Contoh 3.3.1

Kaedah Print memapar satu nombor pada satu baris. Setelah memapar satu nombor, “cursor “ bergerak turun satu baris di sebelah kiri. Fungsi “carriage return” dan “line feed” ini boleh dihapuskan dengan menggunakan tatatanda “semicolon” (;).

Contoh 3.3.4

Tatatanda semicolon juga boleh diguna untuk memapar beberapa nombor dengan satu kaedah Print. Jika m, n, dan r ialah nombor, pernyataan berikut

PicBox.Print m; n; r

akan memapar 3 nombor tersebut dalam satu baris.

Pernyataan picBox.Print tanpa sebarang nombor atau rentetan akan melonjat satu baris ke bawah di dalam kotak gambar.

8 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Ralat-ralat Pengaturcaraan

Secara am, terdapat 3 jenis ralat pengaturcaraan:

1. Ralat sintaksRalat tatabahasa seperti salah ejaan dan tatatanda. Contoh:

Pernyataan Penerangan KesilapanpicBox.Primt 3 Salah ejaan PrintpicBox.Print 2 + Tiada nombor selepas tanda +8T = 5 8T bukan nama yang sah

2. Ralat masa jalanan (run time error)Kesilapan yang dikesan semasa aturcara dilakukan. Contoh:

jarak = 32 / 0x = sqr( -25)

3. Ralat LogikKesilapan ini muncul apabila aturcara ini tidak berfungsi seperti yang diingini. Contoh:

purata = nomPertama + nomKedua/2

Pernyataan ini adalah betul dari segi sintaksnya tetapi memberi jawapan yang tidak betul apabila aturcara dilakukan.

Latihan 21. Lengkapkan jadual berikut dengan menulis nilai bagi setiap pembolehubah apabila setiap baris dilakukan.

a b CPrivate Sub cmdCompute_Claick ( )a = 3 3 - -b = 4 3 4 -c = a + ba = c * apicResult.Print a - bb = b * bEnd Sub

9 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

2. Lengkapkan jadual.

baki kadar keluarPrivate Sub cmdCompute_Click ( ) baki = 100 kadar = .05 keluar = 25 baki = baki + kadar * baki baki = baki – keluarEnd Sub

Bagi soalan 3 dan 4, tulis kod bermula dari Private Sub cmdCompute_Click( ) dan picOutput.Cls, kemudian berakhir dengan pernyataan End Sub. Setiap baris mempunyai satu langkah.

3. Langkah-langkah berikut menghitungkan harga suatu barang selepas diskaun sebanyak 30% diberi.

(a) Umpukkan nilai 19.95 kepada pembolehubah harga.(b) Umpukkan nilai 30 kepada pembolehubah peratusDiskaun(c) Umpukkan nilai bagi (peratusDiskaun dibahagi 100) darab harga kepada

pembolehubah potongan (d) Kurangkan harga barang sebanyak potongan (e) Paparkan nilai harga dalam kotak gambar.

4. Langkah-langkah berikut menghitungkan baki simpanan apabila wang RM100 disimpan selama 3 tahun di dalam bank dengan kadar 5% setahun.

(f) Umpukkan nilai 100 kepada pembolehubah baki.(g) Tingkatkan pembolehubah baki sebanyak 5% daripada nilainya(h) Tingkatkan pembolehubah baki sebanyak 5% daripada nilainya(i) Tingkatkan pembolehubah baki sebanyak 5% daripada nilainya(j) Paparkan nilai pembolehubah baki dalam satu kotak gambar.

10 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

11.4 Rentetan (Strings)

Ayat, frasa, perkataan, aksara-aksara, nama, nombor telefon dan alamat adalah contoh-contoh rentetan. Pemalar rentetan ialah satu jujukan aksara yang dianggap sebagai satu item. Pembolehubah rentetan ialah nama yang diguna untuk merujuk kepada satu rentetan. Nilai rentetan diumpukkan atau diubah dengan pernyataan umpukan. Nilainya dipaparkan dengan kaedah Print.

Contoh 3.4.1

Jika abc ialah aksara dan strVar ialah satu pembolehubah rentetan, pernyataan

strVar = “abc”mengumpukkan rentetan abc kepada pembolehubah strVar.

Pernyataan

picBox.Print “abc”ataupicBox.Print strVar

memaparkan rentetan abc dalam kotak gambar.

Pemalar rentetan yang diguna dalam pernyataan umpukan atau pernyataan picBox.Print mesti berada dalam tatatanda “quotation”, tetapi pembolehubah rentetan tidak perlu mengguna “quotation mark”.

Tatatanda “semicolon” diguna untuk meletakkan beberapa rentetan pada baris yang sama dalam pernyataan picBox.Print.

Contoh 3.4.2Contoh 3.4.3

Concatenation (Gabungan Rentetan)

Dua rentetan boleh digabungkan menjadi satu melalui operasi “concatenation” dengan mengguna tatatanda ampersand (&). Contoh: “selamat” & “jalan” menjadi “selamat jalan”.

Contoh 3.4.4

11 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Pengistiharan Jenis Pembolehubah (Declaring Variable Types)

Adalah amalan pengaturcaraan yang baik untuk mengistiharkan jenis pembolehubah yang diguna kerana aturcara menjadi lebih mudah dibaca dan mengelakkan ralat tertentu. Pernyataan Dim diguna untuk mengistiharkan suatu pembolehubah.

Dim varibleName As String Menyatakan bahawa hanya rentetan boleh diumpukkan kepada pembolehubah berkenaan

Dim variableName As Single Menyatakan bahawa hanya nombor boleh diumpukkan kepada pembolehubah berkenaan

Dim variableName As Integer Menyatakan bahawa hanya nombor bulat dalam lingkungan –32768 hingga 32767 boleh diumpukkan kepada pembolehubah berkenaan.

Contoh:Dim ProductCode As StringDim Kuantiti As IntegerDim Harga As CurrencyDim OrderDate As Date

Jenis Data

Apabila suatu pembolehubah atau pemalar diisytiharkan, jenis datanya perlu dinyatakan. Jenis data ini menentukan jenis data (Integer, Currency, String, Boolean, dll) yang disimpan dalam ingatan komputer. VB juga memperuntukkan saiz ingatan yang sesuai untuk menyimpan data ini.

Jenis data Diguna untuk Bilangan Bait diperuntukkan

Boolean Nilai True atau False 2Byte Satu aksa ASCII 1Currency Nombor perpuluhan spt ringgit dan sen 8Date Tarikh 8 aksara 8Double Nombor perpuluhan dgn 14 digit ketepatan 8Integer Nombor bulat dari –32768 hingga 32767 2Long Nombor bulat yang besar 4Single Nombor perpuluhan dgn 6 digit ketepatan 4String Rentetan aksara 10 bait + panjang rentetanVariant Sebarang jenis data 16 bait untuk nombor

22 bait + panjang rentetan

12 pctor/smjkjitsin/5/15/23

Dim Pengencam [As Jenis Data]

Bab 11 Bahasa Pengaturcaraan Visual Basic

Contoh 3.4.5

Pengisytiharan Pemalar (Constant)

Pemalar mempunyai nilai yang tetap. Nilainya tidak berubah semasa aturcara dilaksanakan. Terdapat 2 jenis pemalar:

1. pemalar intrinsic2. pemalar tertakrif

Pemalar intrinsic ialah pemalar Visual Basic yang telah ditetapkan seperti vbRed, vbYellow.

Pemalar tertakrif diberi oleh pengguna. Ia diisytihar dengan mengguna kata kunci Const seperti di bawah:

Contoh:Const Kadar As Currency = 3.4Const SaizRAM As Integer = 1024Const greeting As String = “Hello there"

Penggunaan Kotak Teks untuk Input dan Output

Kandungan dalam kotak teks ialah suatu rentetan. Dua pernyataan berikut boleh diguna untuk mengumpukkan kandungan kotak teks kepada pembolehubah rentetan strVar dan sebaliknya.

strVar = txtBox.Text

dan

txtBox.Text = strVar

Nombor yang muncul dalam kotak teks juga merupakan rentetan. Oleh itu, ia perlu ditukar kepada nombor dahulu sebelum diumpukkan kepada pembolehubah nombor. Jika str ialah rentetan nombor dalam kotak teks, maka

Val(str)

ialah nombornya.

13 pctor/smjkjitsin/5/15/23

Const Pengecam [As Jenis data] = nilai

Bab 11 Bahasa Pengaturcaraan Visual Basic

Sebaliknya, jika num ialah suatu nombor, maka

Str(num)

merupakan suatu rentetan bagi nombor tersebut.

Oleh yang demikian, pernyataan-pernyataan seperti

numVar = Val(txtBox.Text)

dan

txtBox.Text = Str(numVar)

boleh diguna untuk mengumpukkan kandungan kotak teks kepada pembolehubah nombor numVar dan sebaliknya.

Contoh 3.4.6

Set Aksara ANSI (atau ASCII)

Berikut ialah beberapa contoh nilai ANSI:

32 (space) 48 0 66 B 122 z 162 ¢33 ! 49 1 90 Z 123 { 169 ©34 “ 57 9 97 a 125 } 176 °35 # 65 A 98 b 126 ~ 177 ±

Jika n ialah suatu nombor antara 32 dan 255, makaChr(n) ialah rentetan yang mengandungi aksara dengan nilai ANSI n.

Jika str ialah suatu rentetan , makaAsc(str)ialah nilai ANSI bagi aksara pertama str. Contohnya, pernyataantxtBox.Text = Chr(65)memaparkan aksara A dalam kotak teks. Pernyataan

picBox.Print Asc(“Apple”)memaparkan nombor 65 dalam kotak teks.

Pernyataan txtBox.Text = “32” & Chr(176) & “Farenheit”memaparkan 32o Farenheit dalam kotak teks.

14 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Peristiwa KeyPress

Apabila seorang pengguna menaip suatu kunci dalam kotak teks, peristiwa KeyPress mengenalpasti aksara yang ditaip masuk. Prosedur peristiwa mengumpukkan nilai ANSI kunci berkenaan kepada satu pembolehubah Integer yang dikenali sebagai KeyAscii. Bentuk am prosedur berkenaan ialah:

Private Sub ControlName_KeyPress(KeyAscii As Integer)pernyataan

End Sub

Contoh 3.4.7

Latihan 3

1. Caption bagi suatu label ialah satu rentetan. Ia boleh diumpukkan dengan satu nilai melalui pernyataan dalam bentuk:

lblOne.Caption = strVar

Apakah satu kelebihan mengguna label untuk output dibandingkan dengan kotak teks?

2. Tulis kod untuk menambah nombor-nombor dalam kotak teks txtBox1 dan txtBox2 dan kemudian meletak jumlahnya dalam lblThree.

Dalam soalan 3 hingga 12 nyatakan output di dalam kotak gambar.

3. picOutput.Print “Hello”4. picOutput.Print “12” & “34”5. picOutput.Print “Welcome; my friend.”6. picOutput.Print “Welcome”; “my friend.”7. picOutput.Print “12”; 12; “TWELVE”8. Dim r As String, b As String

r = “A ROSE”b = “IS”picOutput.Print r; b; r; b; r

9. Dim houseNumber As SingleDim street As StringhouseNumber = 1234Street = “Main Street”picOutput.Print houseNumber; street

10. Dim quote As String, person As String, qMark As Stringquote = “We’re all in this alone.”

15 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

person = “Lily Tomlin”qMark = Chr(34)picOutput.Box.Print qMark & quote & “ “ & person

11. picOutput.Print Str(17); Val(“2B”)picOutput.Print Str(-20); Val(“16.00”)

12. Dim num1 As Single, num2 As Stringnum1 = 3567num2 = Str(num1)picOutput.Print “The number of digits in”; num2; “ is”; 4

Dalam soalan 13 hingga 15, tulis kod untuk melaksanakan tugas yang dinyatakan.

13. Setelah nilai-nilai dimasukkan ke dalam kotak teks x dan y, jumlah bagi x + y akan dimasukkan ke dalam kotak gambar apabila butang Compute Sum ditekan.

Object Property SettingfrmEx13 Caption AdderlblX Caption xtxtNum1 Text (blank)cmdClearX Caption Clear xlblY Caption ytxtNum2 Text (blank)cmdClearY Caption Clear ycmdCompute Caption Compute

SumlblSum Caption SumpicSumcmdClearSum Caption Clear Sum

16 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

14. Apabila butang cmdCelsius ditekan, suhu ditukar dari darjah Farenheit kepada Celsius, bar tajuk bertukar menjadi Celsius, cmdCelsius disembunyikan, dan cmdFahr menjadi nyata. Jika butang cmdFahr ditekan, suhu ditukar dari darjah Celsius menjadi Farenheit, bar tajuk bertukar balik menjadi Farenheit, cmdFahr disembunyikan, dan cmdCelsius menjadi nyata. Pengguna boleh menukar suhu dalam kotak teks pada bila-bila masa. Formula untuk penukaran suhu ialah:C = (5/9) * (F – 32) dan F = (9/5) * C + 32.

Objek Property SettingFrmEx14 Caption FarenheitLblTemp Caption TemperatureTxtTemp Text (blank)CmdCelsius Caption Covert to CelsiusCmdFahr Caption Convert to

FarenheitVisible False

11.5 Input dan Output

Pernyataan umpukan diguna untuk mengumpukkan nilai kepada pembolehubah. Selain daripada kaedah input ini, data juga boleh diinput melalui kaedah berikut:

a. disimpan dalam fail dan diundurkan melalui pernyataan Input # b. mengguna Inputbox( ) c. data dibekalkan oleh pengguna sendiri dalam kotak teks atau kotak input.

Membaca Data dari Fail

Fail data boleh dihasilkan dengan mengguna Notepad. Satu fail boleh terdiri daripada satu item dalam satu baris atau beberapa item dalam satu baris. Biasanya, item yang berkaitan dikumpulkan dalam baris yang sama. Contoh: fail Staff.txt berikut mengandungi nama, kadar gaji sejam dan bilangan jam bekerja seseorang pekerja.

“Mike Jones”, 7.35, 35“John Smith”, 6.75, 33

Item data diumpukkan kepada pembolehubah satu demi satu mengikut urutan. Setelah semua item data dalam baris pertama diumpukkan, permintaan nilai yang berikutan akan dibaca dari baris kedua dan seterusnya.

17 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Data yang tersimpan dalam fail boleh dibaca dan diumpukkan kepada pembolehubah mengikut langkah-langkah berikut:

1. Pilih satu nombor dari 1 hingga 255 sebagai nombor rujukan fail2. Laksanakan pernyataan

Open “filespec” For Input As #n

di mana n ialah nombor rujukan3. Pernyataan

Input #n, var

membolehkan program mencari item data dalam fail untuk diumpukkan kepada pembolehubah var.

4. Setelah semua item dibaca daripada fail, tutup fail dengan pernyataan:

Close #n

Contoh 3.5.1

Catatan Penting:Pernyataan:

Open App.Path & “\Data.txt” For Input As #1

membolehkan Visual Basic mencari fail Data.txt dalam folder yang mengandungi program itu.

Fail Data.txt mengandungi 2 baris berikut:

1600“Pennsylvania Ave.”

Secara am, pernyataan dalam bentuk:

Input #n, var1, var2, …, varj

adalah setara dengan pernyataan:

Input #n, var1Input #n, var2...Input #n, varj

18 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Contoh 3.5.2Contoh 3.5.3Costs.txt mengandungi 4 baris:“Transportation”, 3887“Housing”, 7643“Food”, 3017“Other”, 7804

Input Dari Kotak Input (Input Box)

Input daripada pengguna juga boleh diperoleh dengan mengguna kotak input. Apabila pernyataan berikut:

StringVar = InputBox(prompt, title)

dilaksanakan, kotak input berikut akan muncul.

Setelah pengguna memasukkan responsnya dan tekan butang OK, respon itu akan diumpukkan kepada pembolehubah rentetan. Argumen title adalah satu pilihan (optional) dan memberi tajuk palang. Argumen prompt adalah rentetan yang memberi tahu pengguna tentang maklumat yang perlu ditaip masuk.

Contoh 3.5.4

Pernyataan Output

Pernyataan output ialah perintah yang diguna untuk menghantar keputusan penghitungan ke skrin komputer, pencetak atau ke cakera untuk disimpan.

Output dihantar ke skrin komputer melalui :a. Kotak mesej (Message Box)b. Kotak gambar (picture box)c. Kotak teks (text box)d. perintah Print

Output dihantar ke pencetak melalui pernyataan:

19 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Printer.Print SenaraiOutput

Menformat Output dengan Zon Pencetakan

Setiap baris dalam kotak gambar boleh dianggap sebagai terbahagi kepada beberapa zon. Setiap zon mengandungi 14 kedudukan.

Lakukan aturcara berikut dan paparkan output dalam kotak gambar:

Dim a As String, b as String, c As String, d As Stringa= “North”b = “to”c = “the”d = “future”picBox.Print a, b, c, dpicBox.Print “12345678901234567890123456789012345678901234567890”

Contoh 3.5.5

Fungsi Tab

Sekiranya suatu item dalam suatu pernyataan Print didahului dengan

Tab(n);

di mana n ialah suatu integr positif, item itu akan dipaparkan pada permulaan kedudukan ke-n baris itu.

Contoh 3.5.6

Output Melalui Kotak Mesej

Apabila pernyataan dalam bentuk

MsgBox prompt, , title

dilaksanakan, satu kotak mesej dengan promptnya akan dipaparkan. Mesej ini kekal pada skrin sehingga kunci Enter atau butang OK ditekan.

Output ke Pencetak

Visual Basic menganggap pencetak sebagai satu objek dengan nama Printer. Jika expr ialah satu rentetan atau ekspresi nombor, pernyataan

20 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Printer.Print expr

akan mencetak expr pada pencetak. Tanda semicolon, koma serta tab boleh diguna untuk zon pencetakan.

Sifat fon boleh diset dengan pernyataan seperti:

Printer.Font.Name = “Script”Printer.Font.Bold = TruePrinter.Font.Size = 12

Pernyataan: Printer.NewPage

akan memulakan satu muka surat baru.

Dokumentasi Dalaman

Dokumentasi aturcara ialah kemasukan komen yang menyatakan objektif aturcara , tujuan pembolehubah, sifat data dan penerangan tentang tugas setiap bahagian aturcara. Setiap komen bermula dengan tanda apostrophe. Baris komen ini diabaikan apabila aturcara dilakukan. Katakunci Rem boleh diguna untuk menggantikan tanda apostrophe. Baris komen muncul dalam warna hijau.

Contoh 3.5.7

Latihan 4

1. Dim num As single DATA.TXT Input #1, num 4 picOutput.Print num*num

2. Dim word As String DATA.TXT Input #1, word “speakble” picOutput.Print “un” & word

3. Dim num1 As Single, num2 As Single DATA.TXT Dim num3 As Single 3 Input #1, num1, num2, num3 4 picOutput.Print (num1 + num2) * num3 5

4. Dim word1 As String, word2 As String DATA.TXT Input #1, word1 “set”, “up” Input #1, word2 picOutput.Print word1 & word2

5. Dim building As String DATA.TXT

21 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Dim numRooms As Single “White House”, 132 Input #1, building, numRooms picOutput.Print “The”; building; picOutput.Print “ has”; numRooms; “rooms.”

6. Dim num1 As Single, num2 As Single DATA.TXT Dim str1 As String, str2 As String 1, “One”, “Two”, 2 Input #1, num1, str1 Input #1, str2, num2 picOutput.Print num1; str1; str2; num2 Close #1 Open “DATA.TXT” for Input As #1 picOutput.Print num2 Input #1, num2 picOutput.Print num2

7. Dim bet As Single ‘Amount bet at casino bet = Val(InputBox(“How much do you want to bet?”, “Wager”)) picOutput.Print “You might win”; 36 * bet; “dollars.”

(Andaikan respon yang dimasukkan ialah 5)

8. Dim lastName As String, message As String, firstname As StringlastName = “Jones”message = “What is your first name Mr. “ & lastName & “?”firstName = InputBox(message)picOutput.Print “Hello “; firstName; “ “; lastName

(Andaikan respon ialah John)

9. Langkah-langkah berikut memaparkan maklumat tentang tabiat makan dan minum.Andaikan fail DATA.TXT mengandungi satu baris“minuman lembut”, “juta gallon”, 23

(a) Istiharkan semua pembolehubah yang diguna(b) Buka fail DATA.TXT untuk input(c) Guna pernyataan Input # untuk mengumpukkan nilai ke pembolehubah makanan,

unit dan kuantitiSeHari(d) Paparkan satu ayat memberi kuantiti makanan yang diguna dalam satu hari

10. Jadual berikut menunjukkan aktiviti 3 akaun. Tulis satu aturcara yang memaparkan nombor akaun, dan baki pada akhir bulan bagi setaip akaun dan kemudian memaparkan jumlah wang dalam ketiga-tiga akaun. Andaikan data disimpan dalam satu fail data.

Nombor Akaun Baki awal Bulan Simpanan PengeluaranAB4057 1234.56 345.67 100.00

22 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

XY4321 789.00 120.00 350.00GH2222 321.45 143.65 0.00

11.6 Fungsi Bina-Dalam (Built-In Functions)

Fungsi Angka: Sqr, Int, Round

Fungsi Sqr menghitungkan punca kuasa dua suatu nombor. Fungsi Int mencari integer terbesar lebih kecil daripada atau sama dengan suatu nombor. Jadi fungsi Int mengabaikan bahagian perpuluhan suatu nombor positif. Nilai bagi Round (n, r) ialah nombor n yang dibundarkan kepada r tempat perpuluhan. Parameter r boleh diabaikan. Jika demikian, n dibundarkan kepda suatu nombor bulat.

Fungsi Sqr Fungsi Int Fungsi RoundSqr(9) ialah 3 Int(2.7) ialah 2 Round(2.7) ialah 3Sqr(0) ialah 0 Int(3) ialah 3 Round(2.317, 2) ialah 2.32Sqr(2) ialah 1.414214 Int(-2.7) ialah –3 Round(2.317, 1) ialah 2.3

Contoh 3.6.1

Contoh 3.6.2

Contoh 3.6.3

Contoh 3.6.4

Fungsi Rentetan: Left, Mid, Right, Ucase, Trim

Andaikan str ialah satu rentetan dan m serta n ialah integer positif. Left(str, n) ialah rentetan yang mengandungi n aksara pertama rentetan str. Right(str, n) ialah rentetan yang mengandungi n aksara terakhir rentetan str. Mid(str, m, n) ialah entetan yang mengandungi n aksara rentetan str, bermula dari aksara ke-m. Ucase(str) ialah rentetan str dalam huruf besar. Trim(str) ialah rentetan str dengan ruang kosong di depan dan di belakang dibuang.

Left(“fanatic”, 3) ialah “fan”

Mid(“fanatic”, 5, 1) ialah “t” Right(“fanatic”, 3) ialah “tic”

Left(“11/04/99”, 2) ialah “11”

Mid(“11/04/99”, 4, 2) ialah “04”

Right(“11/04/99”, 2) ialah “99”

UCase(“Disk”) ialah “DISK”

UCase(“12three”)ialah “12THREE”

Trim(“ 1 2 “) ialah “1 2”

Trim(“-12 “) ialah “-12”

23 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Contoh 3.6.5

Fungsi Format

Nilai bagi formatNumber(n, r) ialah rentetan yang mengandungi nombor n dibundarkan kepada r tempat perpuluhan. Nilai bagi FormatCurrency(n, r) ialah rentetan yang mengandungi tanda $ diikuti dengan nilai bagi FormatNumber(n, r). Nilai bagi ForamtPercent(n, r) ialah rentetan yang mengandungi nombor n dipapar dalam bentuk peratusan dan dibundarkan kepada r tempat perpuluhan.

Fungsi Nilai Rentetan

FormatNumber(12345.628, 1)

12,345.6

FormatCurrency(12345.628, 2)

$12,345.63

FormatPercent(.185, 2) 18.50%

11.7 Sub Tatacara (Sub Procedures)

Dalam aturcara yang berstruktur , masalah besar dibahagi kepada beberapa masalah yang kecil. Dalam bahasa Visual Basic, pembahagian ini dilakukan melalui Sub tatacara dan tatacara fungsi.

Suatu Sub tatacara ialah sebahagian daripada satu aturcara yang melaksanakan satu atau beberapa tugas yang berkaitan. Ia mempunyai namanya yang sendiri dan ditulis secara berasingan daripada aturcara utama. Bentuk am sub tatacara ialah:

Private Sub NamaSubTatacara( )Pernyataan

End Sub

Suatu Sub tatacara dimulakan (invoked) dengan pernyataan dalam bentuk:

Call NamaSubTatacara

24 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Aturcara berikut menghitungkan hasil tambah dua nombor. Kemudian ia akan diubahsuaikan untuk memasukkan sub tatacara.

Object PropertySetting

frmArithmetic CaptionArithmeti cmdAdd

Caption AddNumberspicResult

Private Sub cmdAdd_Click( )Dim num1 As Single, num2, As Single‘Display the sum of two numberspicResult.ClspicResult.Print “This porgram displays a sentence “picResult.Print “identifying two numbers and their sum.”picResult.Printnum1 = 2num2 = 3picResult.Print “The sum of”; num1; “and”; num2; “is”; num1 + num2

End Sub

Apabila dilaksanakan, paparan dalam kotak gambar ialah:

This porgram displays a sentence identifying two numbers and their sum.

The sum of 2 and 3 is 5

Tugas-tugas yang dilaksanakan oleh aturcara di atas boleh digolongkan kepada dua:1. Terangkan tujuan aturcara2. Paparkan 2 nombor dan hasiltambahnya

Contoh aturcara berikut mengguna Sub tatacara untuk mencapai tugas pertama aturcara di atas. Apabila pernyataan Call ExplainPurpose dilaksanakan, pelaksanaan aturcara lompat ke pernyataan Sub ExplainPurpose. Pernyataan-pernyataan di antara Sub ExplainPurpose dan End Sub akan dilaksanakan. Selepas itu, pelaksanaan sombung ke baris di bawah pernyataan Call.

25 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Private Sub cmdAdd_Click ( )Dim num1 As Single, num2, As Single‘Display the sum of two numberspicResult.ClsCall ExplainPurposePicResult.Clsnum1 = 2num2 = 3picResult.Print “The sum of”; num1; “and”; num2; “is”; num1 + num2

End Sub

Private Sub ExplainPurpose ( )‘Explain the task performed by the programpicResult.Print “This porgram displays a sentence “picResult.Print “identifying two numbers and their sum.”

End Sub

Contoh 4.1.1

Tugas kedua aturcara di atas juga boleh dikendalikan oleh Sub tatacara.Tetapi nilai bagi dua nombor tersebut perlu dihantar ke sub tatacara. Aturcara berikut merupakan pengubahsuaian kepada aturcara di atas. Pernyataan Call Add(2, 3) menyebabkan pelaksanaan melompat ke pernyataan Private Sub Add(num1 As Single, num2 As Single). Ini mengumpukkan nombor 2 ke num1 dan nombor 3 ke num2.

Private Sub cmdAdd_Click ( )Dim num1 As Single, num2, As Single‘Display the sum of two numberspicResult.ClsCall ExplainPurposePicResult.ClsCall Add(2, 3)

End Sub

Private Sub ExplainPurpose ( )‘Explain the task performed by the programpicResult.Print “This porgram displays a sentence “picResult.Print “identifying two numbers and their sum.”

End Sub

Private Sub Add(num1 As Single, num2 As Single)‘Display numbers and their sumpicResult.Print “The sum of”; num1; “and”; num2; “is”; num1 + num2End Sub

Contoh 4.1.2

26 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Kelebihan Sub Tatacara

Sub tatacara menjadikan suatu aturcara lebih mudah untuk dibaca , diubahsuai dan dinyahpijak. Tatacara utama menerangkan apa yang dilakukan oleh aturcara sementara Sub tatacara memberi penerangan terperinci. Kelebihan lain Sub tatacara ialah ia boleh dipanggil beberapa kali semasa pelaksanaan aturcara.

Contoh aturcara berikut memaparkan hasiltmabah 2 nombor beberapa kali.

Contoh 4.1.3

Pembolehubah num1 dan num2 yang muncul dalam Sub tatacara Add dipanggil parameter. Mereka merupakan tempat pemegang sementara untuk nombor-nombor yang dihantar sub tatacara. Nama mereka adalah tidak penting. Yang penting ialah jenis data, bilangannya, dan urutan mereka.

Rentetan juga boleh dihantar ke Sub tatacara. Dalam keadaan ini, parameter dalam sub tatacara mesti diikuti dengan pengistiharan As String.

Contoh 4.1.4

Item yang muncul dalam kurungan pernyataan Call dipanggil argumen. Argumen ini boleh jadi pemalar, pembolehubah atau ekspresi.

Kaji dan laksanakan 2 contoh berikut:

Contoh 4.1.5Contoh 4.1.6

Latihan 5

Tentukan output dalam kotak gambar apabila aturcara berikut dilaksanakan.

1. Private Sub cmddisplay_Click ( )‘Quote from KermitCall QuotationPicOutput.Print “ Kermit the frog”

End Sub

Private Sub Quotation ( )‘Display a quotationpicOutput.Print “ It isn’t easy being green.”

End Sub

27 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

2. Private Sub cmdDisplay_Click ( )Call FirstNamePicOutput.Print “How are you today?”

End Sub

Private Sub FirstName( )Dim nom As StringNom = InputBox(“What is your first name?”, “Name”)PicOutput.Print “Hello “ + UCase(nom)

End Sub

(Assume that the response is Bill.)

3. Private Sub cmdDisplay_Click ( )Dim nom As String“Analyze a namenom = “Gabriel”Call AnalyzeName(nom)

End Sub

Private Sub analyzeName (nom As String)‘Display length and first letterpicOutput.Print “Your name has”; len(nom); “letters.”PicOutput.Print “The first letter is “; Left(nom, 1)

End Sub

4. Private sub cmddisplay_Click ( )Dim num As IntegerNum = Val(InputBox(“Give a number from 1 to 26.”))Call Alphabet(num)

End Sub

Private Sub Alphabet(num As Integer)PicOutput.Print Left(“abcdefghijklmnopqrstuvwxyz”, num)

End Sub

(Assume that the response is 5)

5. Private Sub cmdDisplay_Click ( )Call DisplaySourceCall Language (“Visual Basic”, 58000)Call Language (“HTML”, 49000)Call Language (“C”, 57000)Call Language (“Java”, 81000)

End Sub

28 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Private sub DisplaSource ( )PicOutput.Print “ The Fall 1998 salary survey of readers of the Visual”PicOutput.Print “Basic Programmer’s Journal gave average salaries of”PicOutput.Print “programmers according to the language primarily used.”PicOutput.Print

End Sub

Private Sub Language (lang As String, salary As Single)PicOutput.Print lang; “ programmers earned “; FormatCurrency(salary, 0)

End Sub

6. Tulis satu aturcara yang meminta satu perkataan dan satu nombor jalur dari 1 hingga 10 sebagai input dan kemudian paparkan perkataan itu ke kedudukan nombor tab yang dimasukkan. Outputnya mestilah dihasilkan melalui satu panggilan (Call) ke satu Sub tatacara bernama LetakDanTunjuk.

7. Tulis satu aturcara untuk memaparkan data dari jadual berikut. Jawatan dan bilangan pekerja bagi 1994 dan 2005 perlu berada di dalam fail TUMBUH.TXT. Satu Sub aturcara dengan nama EmpatKali patut membaca 3 item data bagi suatu jawatan, menghitung peratusan pertambahan dari 1994 hingga 2005, kemudian memaparkan kempat-empat item data itu. Peratusan pertambahan dihitung melalui:

(nilai 2005 – nilai 1994)/(nilai 1994)

Jawatan 1994 2005 PertambahanPembantu perubatan peribadi

179 391 118%

Pembantu kesihatan rumah

420 848 102%

Penganalisis sistem 483 928 92%Jurutera komputer 195 372 91%

29 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Hantaran Balik Nilai Dari Sub Tatacara

Sebelum ini, argumen dari pernyataan Call menghantar nilai ke parameter di Sub tatacara. Contoh berikut menunjukkan pemindahan nilai suatu nilai parameter ke argumen yang memanggilnya.

Contoh 4.2.1

Private Sub cmdDisplay_Click() Dim amt As Single 'Illustrate effect of value of parameter on value of argument picResults.Cls amt = 2 picResults.Print amt; Call Triple(amt) picResults.Print amtEnd Sub

Private Sub Triple(num As Single) 'Triple a number picResults.Print num; num = 3 * num picResults.Print num;End Sub

Paparan dalam kotak gambar ialah: 2 2 6 6

amt amt amt amt

num num

Walaupun nama yang berbeza diguna untuk argumen dan parameter yang berkenaan, hanya satu lokasi ingatan diguna untuk memegang nilai amt.Lihat variasi kepada aturcara di atas:

Contoh 4.2.2

Contoh 4.2.3

30 pctor/smjkjitsin/5/15/23

2 62 6

Bab 11 Bahasa Pengaturcaraan Visual Basic

Hantaran Mengikut Nilai

Kadangkala suatu pembolehubah perlu dihantar kepada suatu Sub tatacara, tetapi nilai asalnya hendak dikekalkan setelah Sub tatacara berakhir. Pembolehubah begini dikata dihantar mengikut nilai (passed by value). Terdapat 2 cara untuk menghantar suatu pembolehubah mengikut nilai:

1. Dalam pernyataan Call, pembolehubah dikurungi dengan tanda kurungan yang berlebihan.

2. Dalam pernyataan Private Sub, parameter yang berkenaan didahului dengan perkataan ByVal.

Contohnya, sekiranya dalam Contoh 4.2.1, pernyataan Call ditukar menjadi:

Call Triple((amt))

outputnya menjadi:

2 2 6 2

Hasil output yang sama akan dperoleh jika pernyataan Private Sub ditukar kepada

Private Sub Triple(ByVal num As Single)

Pembolehubah Setempat

Setiap kali suatu Sub tatacara dipanggil, nilai pembolehubahnya ditukar kepada nilai lalai (default value); iaitu 0 untuk pembolehubah angka dan rentetan kosong bagi pembolehubah rentetan.

Contoh 4.2.4

Apabila nama pembolehubah yang sama muncul dalam Sub tatacara yang berbeza atau satu Sub tatacara dan satu dalam tatacara peritiwa, Visual Basic menganggap kedua-duanya sebagai 2 pembolehubah yang berbeza. Nilai yang diumpukkan kepada satu pembolehubah tidak mempengaruhi nilai pembolehubah lain dengan nama yang sama pada bahagian aturcara yang berlainan, kecuali jika nilai itu dihantar oleh suatu pernyataan Call. Contoh berikut menunjukkan pembolehubah setempat :

Contoh 4.2.5

31 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Pembolehubah Paras-Borang (Form-level Variables)

Pembolehubah paras-borang ialah pembolehubah yang terbuka kepada semua tatacara. Ia terletak di sebelah atas tatacara peristiwa. Ia mengekalkan nilainya sehingga tatacara yang mengumpukkan nilai kepadanya berakhir.

Cotoh 4.2.6

Pembolehubah paras-borang boleh diumpukkan dengan suatu nilai sebaik sahaja program Visual Basic bermula melalui tatacara peristiwa Form_Load.

Contoh 4.2.7

Latihan 6

Tentukan hasil output program berikut apabila butang perintah diklik:

1. Private Sub cmdDisplay_Click ( )Dim b As Integer, c As Integerb = 1c = 2Call RhymepicOutput.Print b; c

End Sub

Private Sub Rhyme ( )Dim b As Integer, c As IntegerpicOutput.Print b; c; “buckle my shoe.”b = 3

End Sub2. Private Sub cmdCompute_Click ( )

Dim amt1 As Integer, amt2 as Integeramt1 = 1amt2 = 2picOutput.Print amt1; amt2Call Swap (amt1, amt2)picOutput.Print amt1; amt2

End Sub

Private Sub Swap (num1 As Integer, num2 As Integer)temp = num1num1 = num2num2 = temppicOutput.Print num1; num2

End Sub

32 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

3. Dalam soalan 2 di atas, tukarkan pernyataan Private Sub menjadi:

Private Sub swap(num1 As Integer, ByVal num2 As Integer)

kemudian tentukan outputnya.

4. Dalam soalan 2, tukarkan pernyataan Call menjadi:

Call swap ((amt1), (amt2))dan tentukan outputnya.

5. Private Sub cmdCompute_Click ( )Dim a As Integer, b As Integera = 1b = 3picOutput.Print a; bCall Combine(a, b)picOutput.Print a; bCall Combine((a), b)picOutput.Print a; b

End Sub

Private Sub Combine(x As Integer, ByVal y As Integer)x = y –xy = x + ypicOutput.Print x; y

End Sub

6. Tulis satu aturcara untuk menghasilkan satu resit jualan. Setiap kali pengguna mengklik satu butang perintah, satu item dan harganya akan dibaca daripada satu pasang kotak teks dan dipapar dalam satu kotak gambar. Guna pembolehubah paras-borang untuk menghitung jumlah semua harga. Apabila pengguna mengklik butang perintah kedua (selepas semua item telah dibaca), aturcara anda memaparkan:

(a) jumlah semua harga(b) cukai jualan (5 % daripada jumlah harga)(c) jumlah yang perlu dibayar.

Lampu mentol 2.65Garam 3.45Sabun 1.15

------Jumlah 7.25Cukai 0.36Jumlah kena bayar

7.61

33 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

11.8 Tatacara Fungsi (Function Procedures)

Visual Basic mempunyai banyak fungsi bina-dalam. Di samping itu, pengguna juga dapat mentakrifkan fungsinya sendiri. Tatacara fungsi ini ditakrif seperti sub tatacara dan diguna seperti fungsi bina-dalam. Tatacara fungsi hanya mempunyai satu output, sama ada rentetan atau angka.

Bentuk Am Tatacara Fungsi

Private Function NamaFungsi (var1 As Type1, var2 As Type2,…) As dataTypePernyataanPernyataan……NamaFungsi = ekspresi

End Function

Contoh Tatacara Fungsi:

Private Function FkeC(t As Single) As Single‘Menukar suhu Fahrenheit ke CelsiusFkeC = (5/9) * (t – 32)

End Function

Contoh 4.3.1 – Contoh 4.3.5

Latihan 7

Bagi soalan 1 dan 2, kenalpasti output yang dipapar dalam kotak gambar apabila butang perintah diklik.

1. Private Sub cmdPapar_Click ( )Dim ekar As Singleekar = 5picOutput.Print “Anda boleh meletak”; Kereta(ekar); “kereta.”

End Sub

Private Function Kereta(x As Single) As SingleKereta = 100 * x

End Sub

2. Private Sub cmdPapar_Click ( )Dim j As Single, t As Singlej = 1t = 2

34 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Call PaparIsipadu(j, t)j = 3t = 4Call PaparIsipadu(j, t)

End Sub

Private Function Luas(j as Single) As SingleLuas = 3.14159 * j ^ 2

End Function

Private Sub PaparIsipadu(j As Single, t As Single)PicOutput.Print “ Isipadu bagi silinder dengan luas tapak”; Luar(j)PicOutput.Print “dan tinggi”; t; “ialah”; t * Luas(j)

End Sub

3. Tulis fungsi yang sesuai untuk melaksanakan tugas utama di dalam aturcara berikut.Indeks jisim badan, BMI (body mass index) diguna untuk menentukan berat yang sesuai bagi seseorang. Nilai BMI dihitung dengan mendarab berat dalam unit “pounds” dengan 703, kemudian dibahagi dengan kuasa dua tinggi seseorang dalam inci. Selepas itu, nilai itu dibundarkan ke nombor bulat. Tulis satu aturcara untuk menerima input berat dan tinggi, kemudian memaparkan nilai BMI orang itu.

11.9 Pendekatan Pengaturcaraan

Rekabentuk Atas-Bawah & Rekabentuk Modular

Masalah yang besar biasanya memerlukan aturcara yang besar. Biasanya pengaturcara memecahkan masalah besar itu kepada beberapa masalah yang kecil. Setiap masalah kecil kemudiannya diselesaikan oleh satu aturcara atau modul yang kecil. Pendekatan ini dikenali sebagai rekabentuk atas-bawah. Ini bermakna tugas yang lebih umum berlaku di sebelah atas dan tugas yang lebih terperinci berlaku di bahagian bawah (dari umum ke spesifik). Proses untuk membahagi dan menyusun suatu masalah ke dalam tugasan boleh digambarkan melalui carta hierarki.

Pengaturcaraan Berstruktur

Aturcara yang berstruktur ialah aturcara yang mengamalkan rekabentuk modular dan hanya menggunakan tiga struktur logik, iaitu: 1. jujukan, 2. pilihan 3. gelungan.

Aturcara lama yang mengguna pernyataan GoTo merupakan contoh aturcara yang tidak berstruktur. Aturcara bagini menghasilkan aturcara yang kompleks dan mengelirukan.

35 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Kelebihan Pengaturcaraan Berstruktur

1. Mudah ditulis2. kurang kesilapan3. mudah dinyahpijat4. mudah difahami5. mudah diubah6. boleh diguna semula7. cepat dibangunkan

11.10 Operator Hubungan dan Logik

Suatu syarat ialah satu ekspresi yang melibatkan operator hubungan (seperti < dan =), sama ada benar atau palsu. Syarat ini juga melibatkan operator logik (seperti And, Or dan Not). Berikut ialah senarai operator hubungan dan makna mereka.

Operator hubungan Makna= Sama dengan

<> Tidak sama dengan< Kurang daripada> Lebih besar daripada

<= Kurang daripada atau sama dengan>= Lebih besar daripada atau sama dengan

Contoh 1Tentukan sama ada syarat-syarat di bawah benar atau palsu.a. 1 <= 1 b. 1 < 1 c. “car” < “cat” d. “Dog” < “dog”

Contoh 2Andaikan pembolehubah angka a dan b mempunyai nilai 4 dan 3, dan pembolehubah rentetan c dan d mempunyai nilai “hello” dan “bye”. Adakah syarat –syarat di bawah benar atau palsu?a. (a+ b) < 2 * a b. (Len(c) – b) = (a/2) c. c < (“good”&d)

Operator Logik

Terdapat tiga operator logik, iaitu And, Or dan Not.Andaikan S1 dan S2 adalah syarat:

S1 S2 S1 And S2Benar Benar BenarBenar Palsu PalsuPalsu Benar PalsuPalsu Palsu Palsu

36 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

S1 S2 S1 Or S2Benar Benar BenarBenar Palsu BenarPalsu Benar BenarPalsu Palsu Palsu

S1 Not S1Benar PalsuPlasu Benar

Contoh 3Andaikan penbolehubah angka n mempunyai nilai 4 dan pembolehubah rentetan answ mempunyai nilai “Y”. Tentukan sama ada setiap syarat di bawah benar atau palsu.

a. (2 < n) And (n < 6)b. Not (n < 6)d. (2 < n) Or (n = 6)e. (answ = “Y”) Or (answ = “y”)f. (answ = “Y”) And (answ = “y”)g. Not (answ = “y”)

g. ((2 < n) And (n = 5 + 1)) Or (answ = “No”)

Latihan 8

Tentukan sama ada syarat di bawah benar atau palsu.Andaikan a =2 dan b = 3

1. 3 * a = 2 * b 2. (5 – a) * b , 7 3. b <= 3 4. a ^ b = b ^ a

5. a ^ (5 –2) > 7 6. (a < b) Or (b < a) 7. Not ((a <b) And (a <(b + a)))

8. Not (a < b) Or Not (a < (b + a)) 9. “9W” <> “9w” 10. “Car” < “Train”

37 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

11.11 Blok If

Blok If membolehkan suatu aturcara menentukan tindakan yang perlu diambil berdasarkan sama ada suatu syarat adalah benar atau palsu. Bentuk am blok If :

If syarat ThenTindakan 1

ElseTindakan 2

End If

Jika syarat adalah benar, tindakan 1 akan diambil oleh aturcara. Sebaliknya, jika syarat adalah palsu, tindakan 2 akan diambil oleh aturcara. Setelah suatu tindakan telah diambil, aturcara akan bersambung dengan baris di bawah blok If. Berikut ialah carta alir bagi blok If.

Contoh 5.2.1 Tulis satu aturcara untuk menentukan nombor yang lebih besar daripada 2 nombor yang diinput oleh pengguna.

Contoh 5.2.2 Tulis satu aturcara yang meminta kos dan pendapatan bagi sebuah syarikat. Kemudian paparkan mesej “Break even” sekiranya kos dan pendapatan adalah sama. Sebaliknya, paparkan keuntungan atau kerugiannya.

Latihan 9

1. Sebuah kedai komputer menjual disket dengan harga 90 sen satu disket untuk pesanan yang kecil atau dengan harga 70 sen satu disket bagi pesanan yang sama dengan atau lebih banyak daripada 30 disket. Tulis satu aturcara yang meminta bilangan disket yang dipesan dan paparkan jumlah kosnya.

38 pctor/smjkjitsin/5/15/23

Adakah syarat benar?

Laksana tindakan 2

Laksana tindakan 1

YaTidak

Bab 11 Bahasa Pengaturcaraan Visual Basic

2. Tulis satu aturcara tentang pengunduran wang daripada akaun simpanan. Aturcara ini harus meminta baki semasa dan jumlah wang yang ingin dikeluarkan. Seterusnya paparkan baki terbaru. Sekiranya pengeluaran wang melebihi wang simpanan, aturcara harus memaparkan mesej “ Pengeluaran tidak dibenarkan”. Jika baki simpanan kurang daripada $150, paparkan mesej “Baki anda kurang daripada &150”.

3. Tulis satu aturcara yang meminta 3 skor sebagai input dan kemudiannya memaparkan nilai purata bagi dua skor yang tertinggi. Input dan output aturcara harus dikendalikan oleh sub tatacara dan nilai puratanya ditentukan oleh fungsi yang ditakrifkan oleh pengguna.

11.12 Blok Select Case

Apabila terdapat banyak pilihan untuk dipilih dalam satu aturcara, penggunaan blok If yang berulang (nested If) menjadi rumit. Blok Select Case memudahkan masalah ini. Bentuk am bagi blok Select Case ialah:

Select Case pemilihCase senaraiNilai1

tindakan1Case senaraiNilai2

Tindakan2Case senaraiNilai3

Tindakan3..

Case ElseTindakan terakhir

End Select

39 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Carta Alir bagi blok Select Case

Blok Select Case bermula dengan pernyataan Select Case sendiri. Pilihan bagi Select Case ditentukan oleh nilai dalam ekspresi pemilih. Jika nilai ini sama dengan senaraiNilai1, maka tindakan1 akan diambil. Case Else dan tindaknnya adalah optional (boleh diabaikan). Blok ini diakhiri dengan pernyataan End Select.

Contoh 5.3.1 Aturcara yang menukarkan kedudukan angka dalam perlumbaan kuda ke dalam bentuk deskriptif.

Contoh 5.3.2Variasi kepada contoh di atas. SenaraiNilai pertama berada dalam bentuk julat nombor 1 hingga 3 sementara senaraiNilai terakhir meliputi angka 4 dan seterusnya.

40 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Latihan 10

1. Jadual di bawah menunjukkan peratusan awan dan penerangannya. Tulis satu aturcara yang meminta peratusan awan sebagai input dan kemudian memaparkan penerangannya.

Peratusan Awan Penerangan0 – 30 Clear31 – 70 Partly cloudy71 – 99 Cloudy

100 Overcast

2. Tulis satu aturcara yang meminta skor peperiksaan dan kemudian menunjukkan gred setaranya berdasarkan jadual di bawah. Penghitungan untuk menentukan gred mesti dijalankan dengan menggunakan tatacara Fungsi.

Skor Gred90 – 100 A80 – 89 B70 – 79 C60 – 69 D0 - 59 F

11.13 Gelung Do

Gelung Do While

Gelung Do diguna untuk mengulangi satu siri pernyataan sehingga suatu syarat dipenuhi atau menjadi benar. Gelung Do ini diguna bersama perkataan While atau Until. Bentuk am gelung Do ialah:

Do While syaratPernyataan..

Loop

41 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Carta Alir bagi gelung Do While

Contoh 6.1.1 Aturcara yang memaparkan nombor dari 1 hingga 10.

Contoh 6.1.2Aturcara yang meminta pengguna masukkan “password” yang betul sebelum suatu fail boleh dicapai.

Gelung Do Until

Dalam gelung Do While, syarat disemak pada bahagian atas. Dalam gelung Do Until, syarat disemak di sebelah bawah apabila pernyataan Loop dijumpai. Pernyataan-pernyataan sebelum gelung Do akan dilaksanakan sehingga ke baris dengan pernyataan Loop. Jika syarat adalah benar, aturcara akan bersambung dengan baris selepas pernyataan Loop. Jika syarat adalah palsu, seluruh proses akan diulangi bermula dari pernyataan Do. Bentuk am bagi gelung Do Until ialah:

DoPernyataan..

Loop Until syarat adalah benar

42 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Carta Alir bagi Gelung Do Until

Contoh 6.1.3Aturcara ini setara dengan contoh 6.1.2, kecuali syaratnya diuji di sebelah bawah gelung.

Contoh 6.1.4Anda simpan $100 dalam akaun simpanan pada kadar 7% setahun (compounded annually). Aturcara ini menentukan bila anda menjadi seorang jutawan.

Contoh 6.2.1Aturcara ini memaparkan kandungan dalam direktori telefon. Gelung akan berulang selagi hujung fail (End Of File – EOF) tidak dicapai.

Contoh 6.2.3Aturcara ini membilang dan mencari nilai duit siling dalam satu fail. Fail COIN.TXT mengandungi duit siling: 1, 1, 5, 10, 10, 25.

CatatanElakkan daripada gelung infinit – gelung yang tidak akan berakhir.Contoh:

Private Sub cmdButton_Click( )Dim num As Single‘An infinite loopnum = 7Do While num<>0

43 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

num = num – 2Loop

End Sub

Latihan 11

1. Tulis satu aturcara untuk memaparkan nombor integer dari 1 hingga 10. 2. Tulis satu aturcara untuk memaparkan satu jadual penukaran Celsius-Fahrenheit.

Julat suhu ialah dari –40 hingga 40 darjah Celsius dan meningkat setiap 5 darjah. Guna formula penukaran berikut:f = (9/5) * c + 32untuk menukar darjah Celsius ke Fahrenheit.

3. Andaikan fail GRADES.TXT mengandungi gred pelajar dalam peperiksaan. Tulis satu aturcara yang memaparkan gred purata bagi peperiksaan berkenaan dan peratus gred yang lebih tinggi daripada gred purata.

11.14 Gelung For…Next

Sekiranya bilangan kali sesuatu gelung akan dilaksanakan diketahui, gelung For…Next boleh digunakan. Aturcara berikut mengguna gelung For…Next untuk memaprakan satu jadual.

Private Sub cmdDisplayTable_Click( )Dim i As Ineger‘Papar satu jadual dengan 5 nombor pertama dan kuasaduanyapicTable.Print.ClsFor i = 1 to 5

PicTable.Print i; i^2Next i

End Sub

Apabila dilaksanakan, jadual berikut dipaparkan:

1 12 43 94 165 25

44 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Bentuk am bagi gelung For…Next ialah:

For i = m to nPernyataanPernyataan..

Next

di mana i ialah pembolehubah kawalan, i ialah nilai pemula dan n ialah nilai tamat.Carta Alir bagi gelung For…Next

45 pctor/smjkjitsin/5/15/23

Bab 11 Bahasa Pengaturcaraan Visual Basic

Contoh 6.3.1Aturcara ini menunjukkan populasi sebuah bandar 300,000 meningkat dengan kadar 3% setahun dari tahun 1998 ke 2002.

Contoh 6.3.4Aturcara ini memaparkan jadual pendaraban bagi integer dari 1 hingga 4.

Latihan 12

1. Paparkan satu baris 10 bintang (asterisks).2. Cari hasiltambah bagi nombor-nombor ganjil dari 1 hingga 99.

46 pctor/smjkjitsin/5/15/23