BAB EMPAT: PENYATAAN KAWALAN PERNYATAAN KEPUTUSAN DAN SYARAT Pernyataan keputusan merupakan struktur kawalan logik yang akan menyelesaikan masalah berdasarkan suatu syarat yang telah ditentukan. Proses akan dilaksanakan sekiranya ia memenuhi syarat yang ditetapkan (syarat adalah benar) dan sekiranya syarat adalah palsu, proses yang sebaliknya akan dilaksanakan. Terdapat tiga bentuk struktur kawalan yang melibatkan pemilihan iaitu If…Then, If…Then...Else dan Case akan dibincangkan di dalam ini. Pernyataan If…Then Ia hanya melibatkan pengujian ke atas satu syarat sahaja dan mempunyai satu pilihan tindakan yang akan dilaksanakan. Sekiranya syarat adalah benar maka pernyataan selepas Then akan dilaksanakan. Bentuk Am: If <syarat> Then Tindakan End If Tahniah! berjaya? Palsu Benar
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
BAB EMPAT: PENYATAAN KAWALAN
PERNYATAAN KEPUTUSAN DAN SYARAT
Pernyataan keputusan merupakan struktur kawalan logik yang akan menyelesaikan masalah
berdasarkan suatu syarat yang telah ditentukan. Proses akan dilaksanakan sekiranya ia memenuhi
syarat yang ditetapkan (syarat adalah benar) dan sekiranya syarat adalah palsu, proses yang
sebaliknya akan dilaksanakan. Terdapat tiga bentuk struktur kawalan yang melibatkan pemilihan
iaitu If…Then, If…Then...Else dan Case akan dibincangkan di dalam ini.
Pernyataan If…Then
Ia hanya melibatkan pengujian ke atas satu syarat sahaja dan mempunyai satu pilihan tindakan yang
akan dilaksanakan. Sekiranya syarat adalah benar maka pernyataan selepas Then akan
dilaksanakan.
Bentuk Am:
If <syarat> Then
Tindakan
End If
Tahniah!
berjaya?Palsu Benar
Penyataan Kawalan
Mohd Farid JaafarJSM, FSKTM, UPM
45
Contoh:
If Anda Berjaya Then
Tahniah!!!
End If
Pernyataan If…Then…Else
Struktur kawalan ini melibatkan dua tindakan yang akan dilaksanakan bergantung kepada syarat
yang akan ditentukan sama ada benar atau palsu.
Bentuk Am:
If <syarat> Then
Tindakan 1
Else
Tindakan 2
End If
Contoh:
If cuaca baik Then ‘syarat
Keluar berjalan-jalan ‘dilaksanakan jika benar
Else
Duduk dirumah ‘dilaksanakan jika palsu
End If
Keluar berjalan
Cuaca baik?
Palsu Benar
Duduk dirumah
Penyataan Kawalan
Mohd Farid JaafarJSM, FSKTM, UPM
46
Pernyataan If Bersarang
Terdapat juga syarat yang melebihi dari satu bagi membolehkan suatu tindakan dilaksanakan.
Pernyataan ini dipanggil pemyataan If Bersarang (Nested If).
Bentuk Am:
If <syarat 1> Then
If <syarat 2> Then
Tindakan 1
Else
Tindakan 2
End If
Else
Tindakan 3
End If
Berdasarkan bentuk di atas, pengujian bagi Syarat pertama akan dilakukan terlebih dahulu. Jika
ianya adalah benar, pengujian bagi Syarat kedua akan dilaksanakan. Tetapi, jika pengujian bagi
Syarat1 adalah palsu, maka Tindakan3 yang akan dilaksanakan. Pada pengujian Syarat2, jika
ianya benar, maka Tindakan1 akan dilaksanakan. Jika Palsu, Tindakan2 yang akan dilaksanakan.
IntSuhu>20?
lbIKomen.Caption = "SEJUK!" IntSuhu>40?
lbIKomen.Caption = "PANAS!"
lbIKomen.Caption = "SEDERHANA SAJA!”
Palsu
Palsu
Benar
Benar
Penyataan Kawalan
Mohd Farid JaafarJSM, FSKTM, UPM
47
Contoh:
If cuaca baik Then ‘syarat pertama
If Rajin Then ‘syarat kedua
Keluar naik basikal ‘dilaksanakan jika benar
Else
Keluar naik kereta ‘dilaksanakan jika palsu
End If
Else
Duduk diam-diam ‘dilaksanakan jika palsu
End If
Contoh:
If intSuhu > 20 ThenIf intSuhu > 40 Then
lbIKomen.Caption = "PANAS!"Else
lbIKomen.Caption = "SEDERHANA SAJA!"
End IfElse
lbIKomen.Caption = "SEJUK!"End If
If intSuhu <= 20 ThenlbIKomen.Caption = "SEJUK!"
ElseIf intSuhu > 40 Then
lbIKomen.Caption = "PANAS!"Else
lbIKomen.Caption = "SEDERHANA SAJA!"
End IfEnd If
optLelaki.Value?
txtUmur.Text<21? txtUmur.Text<21?
Tokok 1 pada intLelaki1
Tokok 1 pada intLelaki2
Tokok 1 pada intWanita1
Tokok 1 pada intWanita2
Penyataan Kawalan
Mohd Farid JaafarJSM, FSKTM, UPM
48
Contoh:
If optLelaki.Value = True Then
If Val (txtUmur.Text) < 21 Then
intLelaki1 = intLelaki1 + 1
Else
intLelaki2 = intLelaki2 + 1
End If
Else
If Val (txtUmur.Text) < 21 Then
intWanita1 = intWanita1 + 1
Else
int intWanita2 = int intWanita2 + 1
End If
Syarat
Pengujian bagi pemyataan If adalah berdasarkan 6 operator perbandingan berikut. Keputusan
daripada perbandingan adalah sama ada Benar atau Palsu.
Operator Nilai Contoh
> Lebih besar daripadaVal (txtAmaun.Text) > mcurLimit
frmMain.Tinggi > mcurSaiz
< Lebih kecil daripadaVal(txtJuaIan. Text) < 10000
txtNama.Text < strNama
= Bersamaan dengantxtKatakunci.Text = "101"
optArahanl.Value = True
<> Tidak bersamaan dengantxtKatakunci.Text <> "101"
optArahanl.Value <> True
>=Lebih besar daripada
dan sama dengan
VaI(txtJualan.Text) >= 10000
frmMain.Tinggi >= 500
<=Lebih kecil daripada
dan sama dengantxtNamal.Text <= txtNama2.Text
Penyataan Kawalan
Mohd Farid JaafarJSM, FSKTM, UPM
49
OPERASI PERBANDINGAN NUMERIK
Apabila melakukan operasi perbandingan ke atas numerik, tanda + dan - akan diambil kira.
Contohnya, -20 adalah kurang daripada 10 dan -2 adalah kurang daripada -1. Bagi pengekodan
berikut:
If Val (txtHarga.Text) = curMaksimum Then
Tanda = di atas bermaksud adakah nilai numerik di dalam txtHarga.Text sama dengan nilai yang
disimpan oleh curMaksimum?
Contoh:
intAlpha intBravo intCharlie
5 4 -5
Syarat Keputusan
intAlpha = intBravo Palsu
intCharlie < 0 Benar
intBravo > intAlpha Palsu
intCharlie <= intBravo Benar
intAlpha >= 5 Benar
intAlpha <> intCharlie Benar
Perbandingan String
Perbandingan antara String boleh dilakukan dengan membandingkan setiap aksara (character)
yang terdapat di dalam pembolehubah String. Kaedah untuk menentukan kedudukan aksara di
dalam perwakilan komputer ialah menggunakan ASCII Code (American Standard Code for
Information Interchange). ASCII Code mengandungi kod bagi semua huruf, nombor dan aksara
khas. Berdasarkan jadual ASCII Code, huruf besar lebih kecil dari huruf kecil, nombor lebih kecil
dari huruf dan ’blank space' adalah yang paling kecil.
Penyataan Kawalan
Mohd Farid JaafarJSM, FSKTM, UPM
50
Contoh:
txtPerson1.Text txtPerson2.Text
JOHN JOAN
Sekiranya pernyataan txtPerson1.Text < txtPerson2.Text dilakukan, ia memberikan keputusan
FALSE. Ini kerana A di dalam JOAN lebih rendah kedudukan kodnya dari H di dalam JOHN.
Sekiranya pernyataan txtWordl.Text < txtWord2.Text dilakukan, ia akan memberikan keputusan
True. Apabila satu string pendek dibanding dengan string yang panjang, ia akan membandingkan
kedudukan ruang kosong (blank space) yang terdapat pada string tersebut. Oleh kerana ruang
kosong lebih rendah kedudukan kodnya maka dianggap string tersebut lebih kecil.
lblCar1.Text lblCar2.Text
300ZX Porsche
Sekiranya penyataan lblCarl.Text < lblCar2.Text dilakukan, ia akan memberikan keputusan
True. Nombor 3 adalah lebih kecil kedudukan kod dari huruf P.
txtWord1.Text txtWord2.Text
HOPE HOPELESS
Perbandingan Kandungan Property Text bagi Text Box
Apabila membandingkan Property Text bagi Text Box dengan satu nilai, kita perlu berhati-hati
kerana Property Text boleh bertindak seperti variant. Sekiranya kita menggunakan nilai text box
sebagai string maka ia akan bertindak sebagai string, sekiranya ia sebagai nombor, ia akan
bertindak seperti nombor.
Penyataan Kawalan
Mohd Farid JaafarJSM, FSKTM, UPM
51
ASCII Code Character ASCII Code Character ASCII Code Character
32 Space (blank) 64 @ 96 ‘
33 ! 65 A 97 a
34 “ 66 B 98 b
35 # 67 C 99 c
36 $ 68 D 100 d
37 % 69 E 101 e
38 & 70 F 102 f
39 ‘ 71 G 103 g
40 ( 72 H 104 h
41 ) 73 I 105 i
42 * 74 J 106 j
43 + 75 K 107 k
44 , (koma) 76 L 108 l
45 - 77 M 109 m
46 . 78 N 110 n
47 / 79 O 111 o
48 0 80 P 112 p
49 1 81 Q 113 q
50 2 82 R 114 r
51 3 83 S 115 s
52 4 84 T 116 t
53 5 85 U 117 u
54 6 86 V 118 v
55 7 87 W 119 w
56 8 88 X 120 x
57 9 89 Y 121 y
58 : 90 Z 122 z
59 ; 91 [ 123 {
60 < 92 \ 124 |
61 = 93 ] 125 }
62 > 94 ^ 126 ~
63 ? 95 _ 127 Del
Jadual ASCII Code
Penyataan Kawalan
Mohd Farid JaafarJSM, FSKTM, UPM
52
Untuk memastikan kita mendapat nilai yang terutamanya nombor, fungsi Val boleh
digunakan. Pastikan tiada ruang kosong antara nombor kerana fungsi Val akan menukarkan ruang
kosong kepada tiada nilai (kosong, bukan 0). Contoh: