You are on page 1of 22

MEMBUAT KEPUTUSAN DALAM ATURCARA

STRUKTUR KAWALAN PILIHAN DAN KAWALAN GELUNG

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.

MEMBUAT KEPUTUSAN DALAM ATURCARA

3.1.1 Operator Aritmetik Operator aritmetik adalah seperti dalam Jadual 3.1.1(a).
Jadual 3.1.1(a): Operator Aritmetik

Operator + * / \ ^ Mod &

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.

MEMBUAT KEPUTUSAN DALAM ATURCARA

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

MEMBUAT KEPUTUSAN DALAM ATURCARA

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

MEMBUAT KEPUTUSAN DALAM ATURCARA

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)

24 / (a * b) ___________ 3.1.2 Operator Perhubungan

MEMBUAT KEPUTUSAN DALAM ATURCARA

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

Operator = < > <= >= <>

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:

MEMBUAT KEPUTUSAN DALAM ATURCARA

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

Cartalir pernyataan If .. Then (Rajah 3.2.1(a))

benar syarat pernyataan

palsu

Rajah 3.2.1(a): Cartalir If..Then

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))

MEMBUAT KEPUTUSAN DALAM ATURCARA

Rajah 3.2.1(b): Form untuk memasukkan markah

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))

Rajah 3.2.1(c): Output jika markah dimasukkan 74

MEMBUAT KEPUTUSAN DALAM ATURCARA

Rajah 3.2.1(d): Output jika markah dimasukkan 45

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

Cartalir pernyataan If .. Then .. Else (Rajah 3.2.2(a))

MEMBUAT KEPUTUSAN DALAM ATURCARA

benar syarat pernyataan

palsu

pernyataan

Rajah 3.2.2(a): Cartalir If..Then..Else

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

MEMBUAT KEPUTUSAN DALAM ATURCARA

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.

Rajah 3.2.2(b): Output jika markah dimasukkan 20

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

MEMBUAT KEPUTUSAN DALAM ATURCARA

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

Rajah 3.2.3(a): Form untuk menerima input nama dan markah

Kod aturcaranya adalah seperti di Rajah 3.2.3(b).

MEMBUAT KEPUTUSAN DALAM ATURCARA

Rajah 3.2.3(b): Aturcara di cmdOK

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

Rajah 3.2.3(c): Output jika markah dimasukkan 76

MEMBUAT KEPUTUSAN DALAM ATURCARA

Rajah 3.2.3(d): Output jika markah dimasukkan 43

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

Utusan = Sejuk Suhu > 80

F
Utusan = Sederhana

T
Utusan = Panas

Rajah 3.2.4: Cartalir If tersarang

Contoh If tersarang: If Suhu > 30 Then If Suhu > 80 Utusan = Panas Else Utusan = Sederhana End If Else Utusan = Sejuk End If

MEMBUAT KEPUTUSAN DALAM ATURCARA

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

MEMBUAT KEPUTUSAN DALAM ATURCARA

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.

MEMBUAT KEPUTUSAN DALAM ATURCARA

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

x Benar Benar Palsu Palsu

y Benar Palsu Benar Palsu

x OR y Benar Benar Benar Palsu

x AND y Benar Palsu Palsu Palsu

NOT x Palsu Palsu Benar Benar

Contoh 3.4: NOT x x AND y (x OR y) And (NOT x)

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.

MEMBUAT KEPUTUSAN DALAM ATURCARA

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

Rajah 3.5.1: Output jika aturcara dilaksanakan

4. Laksanakan aturcara di atas dan lihat outputnya. (Rajah 3.5.1) 5. Simpan aturcara sebagai Sifir2.

MEMBUAT KEPUTUSAN DALAM ATURCARA

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

MEMBUAT KEPUTUSAN DALAM ATURCARA

Rajah 3.5.2: Output jika aturcara dilaksanakan(Do ..While)

4. Laksanakan aturcara di atas dan lihat outputnya. (Rajah 3.5.2)

5. Simpan aturcara sebagai IntegerWhile.

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

Do Until syarat Pernyataan untuk dilaksanakan Loop Pernyataan seterusnya

MEMBUAT KEPUTUSAN DALAM ATURCARA

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

Rajah 3.5.3: Output jika aturcara dilaksanakan(Do ..Until)

4. Laksanakan aturcara di atas dan lihat outputnya. (Rajah 3.5.3) 5. Simpan aturcara sebagai IntegerUntil.

MEMBUAT KEPUTUSAN DALAM ATURCARA

You might also like