Professional Documents
Culture Documents
3.0
Pengenalan Di unit yang lepas, anda telah belajar bagaimana menggunakan TextBox, Label, InputBox dan Message Box sebagai tindak balas kepada satu tindakan pengguna contohnya apabila anda mengklik satu CommandButton. Di unit ini, anda boleh menggunakan pernyataan keputusan untuk membandingkan pembolehubah, sifat dan nilai dan kemudian melaksanakan salah satu atau lebih pernyataan berdasarkan keputusan perbandingan. Operator-operator yang dibekalkan oleh Visual Basic membolehkan anda melakukan pengiraan matematik, perbandingan dan logik.
3.1
Operator-operator Asas Operator membolehkan pengiraan dilakukan apabila ia digunakan ke atas operand dalam satu pernyataan. Terdapat beberapa jenis operator iaitu aritmetik, perhubungan dan logik.
3.1.1 Operator Aritmetik Operator aritmetik adalah seperti dalam Jadual 3.1.1(a).
Jadual 3.1.1(a): Operator Aritmetik
Operasi Aritmetik Penolakan Penambahan Pendaraban Pembahagian Pembahagian integer (nombor bulat) Eksponen (kuasa) Mendapatkan hasil baki pembahagian integer Kombinasi string
Contoh 3.1.1(a): Pernyataan umpukan untuk melakukan pengiraan menggunakan operator aritmetik. Jumlah = no1 + no2 Hasildarab = no1 * no2 Purata = Jumlah / Bilangan Lblbayaran.Caption = Harga (Harga * KadarPotongan) Selalunya hasil pengiraan diumpukkan kepada pembolehubah atau Caption Properties pada Label. TextBox selalunya digunakan untuk menerima input dari pengguna.
Susunan tahap keutamaan apabila operator aritmetik digunakan dalam pengiraan adalah seperti dalam Jadual 3.1.1(b).
Jadual 3.1.1(b): Tahap keutamaan
Operator ^ * / \ Mod
Operasi Eksponen Negatif (di depan satu nombor) Pendaraban dan Pembahagian Pembahagian integer Mendapatkan hasil baki pembahagian integer (aritmetik modulus) Penambahan dan Penolakan
+ -
Operasi dalam kurungan akan dilaksanakan terlebih dahulu. Apabila operator mempunyai tahap keutamaan yang sama (contoh darab dan bahagi) maka tahap keutamaannya ialah dari kiri ke kanan. Contoh 3.1.1(b): 2+5*3 (2 + 5) * 3 6/2*3 6 / (2 * 3) akan menghasilkan 17 akan menghasilkan 21 akan menghasilkan 9 akan menghasilkan 1
Contoh 3.1.1(c): Cuba anda selesaikan pernyataan berikut: Hasil = 10 + 15 * 2 / 4 ^ 2 Bagaimana, dapatkah anda menyelesaikannya ? Penyelesaiannya seperti berikut: Hasil = 10 + 15 * 2 / 4 ^ 2 = 10 + 15 * 2 / 16 = 10 + 30 / 16 = 10 + 1.875 = 11.875
Aktiviti
SILA JAWAB SOALAN-SOALAN BERIKUT UNTUK MENGUJI KEFAHAMAN ANDA TENTANG OPERATOR ARITMETIK .
1.
Tulis satu pernyataan untuk mencapai yang berikut: (i) Umpukkan hasil darab pembolehubah integer i, j, k, l dan n kepada pembolehubah x. _____________________________________________________ Kira baki selepas Jumlah dibahagikan dengan Pembilang dan umpukkan hasil kepada Baki. Semua pembolehubah berjenis integer. _____________________________________________________
(ii)
2.
Jika diberi a = 8, b = 3 dan c = 2 (semua pembolehubah berjenis Integer) dapatkan hasil operasi berikut: (i) ab ___________ a Mod b ___________ a*b ___________ b+c*c ___________ b/c ___________
(ii)
(iii)
(iv)
(v)
(vi)
Operator perhubungan biasanya digunakan dalam pernyataan bersyarat untuk membuat perbandingan. Hasil operasi perhubungan adalah samada True atau False. Operator perhubungan adalah seperti dalam Jadual 3.1.2:
Jadual 3.1.2: Operator perhubungan
Penerangan Sama dengan Kurang daripada Lebih besar daripada Kurang daripada atau sama dengan Lebih besar daripada atau sama dengan Tidak sama dengan
Contoh 3.1.2: Jika diberi a = 2, b = 4 dan c = 7, maka: a > b a <= c c >= 10 (a + b) <> c akan menghasilkan False akan menghasilkan True akan menghasilkan False akan menghasilkan True
3.2
Pernyataan Bersyarat
Pernyataan bersyarat akan melaksanakan satu atau lebih pernyataan berdasarkan keputusan perbandingan. Hasil perbandingan sentiasa samada True atau False. Ia juga dikenali sebagai pernyataan pilihan yang membolehkan pilihan dilakukan. Berikut adalah beberapa jenis pernyataan bersyarat:
3.2.1 IF..THEN Jika syarat adalah benar maka pernyataan dilaksanakan. Jika tidak pernyataan tidak akan dilaksanakan dan aturcara akan pergi ke pernyataan selepas End If Sintak pernyataan If .. Then If (syarat) Then Pernyataan End If
palsu
Contoh pernyataan If .. Then: (i) If (markah > 90) Then Gred = A End If If x = 3 Then MsgBox 3 : Nombor Bertuah End If
(ii)
Contoh aturcara: Aturcara yang menerima input markah dari pengguna, membanding dan memaparkan mesej LULUS jika nilai adalah lebih besar dari 50. (Rajah 3.2.1(b))
Aturcara untuk menyemak status anda Dim Markah As Integer Markah = Val(txtmarkah.Text) If markah >= 50 Then lblkeputusan.Caption = LULUS End If Jika markah yang dimasukkan adalah 74 outputnya seperti di Rajah 3.2.1(c). Jika markah yang dimasukkan adalah kurang dari 50 tiada mesej dipaparkan. (Rajah 3.2.1(d))
3.2.2 IF..THEN .. ELSE Untuk pernyataan If .. Then .. Else, syarat diuji. Jika syarat adalah benar pernyataan selepas If akan dilaksanakan. Jika tidak pernyataan selepas Else akan dilaksanakan. Selepas melaksanakan salah satu pernyataan aturcara pergi ke arahan seterusnya selepas End If. Pernyataan If .. Then .. Else mesti ditamatkan dengan End If. Sintak pernyataan If .. Then .. Else If (syarat) Then pernyataan Else pernyataan End If
palsu
pernyataan
Contoh pernyataan If .. Then .. Else: (i) If x = 3 Then MsgBox 3 : Nombor Bertuah Else MsgBox Maaf bukan nombor bertuah End If If Jawapan = 5 Then Msg = Bagus Point = Point + 1 Else Msg = Cuba lagi End If
(ii)
Contoh aturcara: Aturcara yang menerima input markah dari pengguna, membanding dan memaparkan mesej LULUS jika nilai adalah lebih besar dari 50, jika tidak mesej GAGAL akan dipaparkan. Aturcara untuk menyemak status anda Dim Markah As Integer Markah = Val(txtmarkah.Text) If markah >= 50 Then lblkeputusan.Caption = LULUS Else lblkeputusan.Caption = GAGAL
End If Jika markah yang dimasukkan adalah 74 outputnya seperti di Rajah 3.2.1(c). Jika markah yang dimasukkan adalah 20 outputnya seperti di Rajah 3.2.2.
3.2.3 IF.. ELSEIF .. ELSE .. END IF Pernyataan If dimana syarat diuji terlebih dahulu. pertama benar pernyataan pertama dilaksanakan, jika seterusnya akan diuji sehingga ianya benar atau selepas Else akan dilaksanakan. Hanya satu blok sahaja akan dilaksanakan. Sintak pernyataan If .. Then .. ElseIf .. ElseIf .. End If Jika syarat tidak syarat pernyataan pernyataan
If (syarat) Then pernyataan ElseIf (syarat) Then pernyataan ElseIf pernyataan Then Else pernyataan End If
Contoh aturcara: Satu aturcara yang menerima input nama dan markah dari pengguna (Rajah 3.2.3(a)), kemudiannya akan memberikan gred mengikut kategori berikut: 0 49 D 50 59 C 60 69 B70 79 B 80 100 A
Jika markah yang dimasukkan adalah 76 outputnya seperti dalam Rajah 3.2.3(c). Jika markah yang dimasukkan adalah 43 outputnya seperti dalam Rajah 3.2.3(d).
3.2.4 IF Tersarang Pernyataan If yang mengandungi pernyataan If lain di dalamnya, dinamakan sebagai pernyataan If tersarang (nested if) Cartalir di Rajah 3.2.4 menunjukkan pernyataan If tersarang.
F
Suhu > 30
T T
F
Utusan = Sederhana
T
Utusan = Panas
Contoh If tersarang: If Suhu > 30 Then If Suhu > 80 Utusan = Panas Else Utusan = Sederhana End If Else Utusan = Sejuk End If
3.3
Select .. Case Struktur ini berguna untuk memilih antara tiga atau lebih pilihan. Ia merupakan alternatif bagi struktur If .. Then .. Else. Sintak pernyataan Select .. Case: Select Case [Pernyataan-pernyataan] End Case Contoh pernyataan Select .. Case: (i) Select Case Markah Case 70 to 100 : Gred = A Case 60 to 69 : Gred = B Case 50 to 59 : Gred = C Case 40 to 49 : Gred = D Case Else : Gred = E End Select
atau Select Case Markah Case 70 to 100 Gred = A Case 60 to 69 Gred = B Case 50 to 59 Gred = C Case 40 to 49 Gred = D Case Else Gred = E End Select (ii) Sub Diskaun() Kuantiti = InputBox(Masukkan Kuantiti: ) Select Case Kuantiti Case 0 to 24 : Diskaun = 0.1 Case 25 to 49 : Diskaun = 0.15 Case 50 to 74 : Diskaun = 0.2 Case is > 75 : Diskaun = 0.25
End Select MsgBox Diskaun : & Diskaun End Sub atau Sub Diskaun() Kuantiti = InputBox(Masukkan Kuantiti: ) Select Case Kuantiti Case 0 to 24 Diskaun = 0.1 Case 25 to 49 Diskaun = 0.15 Case 50 to 74 Diskaun = 0.2 Case is >= 75 Diskaun = 0.25 End Select MsgBox Diskaun : & Diskaun End Sub
3.4
Operator Logik Terdapat tiga operator logik iaitu AND, OR dan NOT. Ketiga-tiga operator berkenaan melaksanakan operasi logik. Operator AND Kedua-dua syarat yang digabungkan dengan AND mestilah benar sebelum kenyataan Then yang menyusul dapat dilaksanakan. Operator OR Jika salah satu syarat adalah benar, maka bahagian Then akan dilaksanakan.
Operator NOT Operator NOT diletakkan di depan syarat yang berkenaan. Operator ini bermaksud apabila syarat tidak dipenuhi, keputusannya ialah Benar. Jadual 3.4 adalah jadual operasi logik.
Jadual 3.4: Operasi logik
3.5
Gelung Gelung digunakan untuk melaksanakan arahan yang dilaksanakan berulang kali sehingga syarat dipenuhi. Terdapat beberapa jenis gelung dalam Visual Basic antaranya: For .. Next Do .. While Do .. Until
3.5.1 FOR .. NEXT Gelung For .. Next menggunakan nilai numerik untuk mengawal bilangan ulangan. Bilangan ulangan yang hendak dilaksanakan boleh ditetapkan. Pembolehubah kaunter ini dipanggil indek gelung. Gelung indek ini menentukan bilangan arahan dalam gelung dilaksanakan.
Sintak For .. Next For Kaunter = Nilaiawal To Nilaiakhir [penambahan] Pernyataan yang hendak dilaksanakan Next Kaunter
Contoh 3.5.1: Mencetak sifir dua dengan menggunakan gelung For .. Next 1. Mulakan satu projek baru. 2. Pilih kawalan CommandButton dari Toolbox, Caption ialah SIFIR DUA 3. Klik dua kali pada CommandButton cmdsifir2 dan taipkan: Private Sub cmdsifir2_Click( ) Dim n As Integer For n = 1 To 12 Print n; "X 2 = "; n * 2 Next n
4. Laksanakan aturcara di atas dan lihat outputnya. (Rajah 3.5.1) 5. Simpan aturcara sebagai Sifir2.
3.5.2 DO.. WHILE Gelung Do .. While boleh digunakan apabila anda tidak pasti akan berapa kali satu gelung perlu diulangi. While memberitahu aturcara bahawa gelung perlu diulangi selagi syarat adalah benar. Apabila syarat menjadi palsu, aturcara akan pergi ke pernyataan selepas pernyataan Loop. Syarat diuji di permulaan gelung sebelum gelung dilaksanakan. Gelung While mungkin tidak akan dilaksanakan langsung apabila syarat awal adalah palsu. Sintak Do .. While Do While syarat Pernyataan untuk dilaksanakan Loop Pernyataan seterusnya
Contoh 3.5.2: Mencetak nombor integer 1 hingga 12 dengan menggunakan gelung Do .. While. 1. Mulakan satu projek baru. 2. Pilih kawalan CommandButton dari Toolbox, Caption INTEGER 1 12 3. Klik dua kali pada CommandButton cmdinteger dan taipkan: Private Sub cmdinteger _Click( ) Mencetak integer 1 hingga 12 Dim x As Integer x =1 Do While x <= 12 Print x x = x +1 Loop End Sub
3.5.3 DO.. UNTIL Gelung Until memberitahu aturcara bahawa gelung perlu diulangi sehingga syarat menjadi benar. Apabila syarat menjadi benar, aturcara akan pergi ke pernyataan selepas pernyataan Loop. Gelung Until syaratnya diuji di permulaan gelung sebelum gelung dilaksanakan. Sintak Do .. Until
Contoh 3.5.3: Mencetak nombor integer 1 hingga 12 dengan menggunakan gelung Do .. Until. 1. Mulakan satu projek baru. 2. Pilih kawalan CommandButton dari Toolbox, Caption INTEGER 1 12 3. Klik dua kali pada CommandButton cmdinteger dan taipkan: Private Sub cmdinteger _Click( ) Mencetak integer 1 hingga 12 Dim x As Integer x =1 Do Until x >12 Print x x = x +1 Loop End Sub
4. Laksanakan aturcara di atas dan lihat outputnya. (Rajah 3.5.3) 5. Simpan aturcara sebagai IntegerUntil.