struktur kawalan pilihan dan kawalan gelung
DESCRIPTION
Visual Basic.Net Note for BeginnersTRANSCRIPT
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.
UnUnit 2it 2
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 Operasi Aritmetik
- Penolakan
+ Penambahan
* Pendaraban
/ Pembahagian
\ Pembahagian integer(nombor bulat)
^ Eksponen (kuasa)
Mod Mendapatkan hasil baki pembahagian integer
& Kombinasi string
Contoh 3.1.1(a):
Pernyataan umpukan untuk melakukan pengiraan menggunakan operator aritmetik.
Jumlah = no1 + no2Hasildarab = no1 * no2Purata = Jumlah / BilanganLblbayaran.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 Operasi
^ Eksponen
- Negatif (di depan satu nombor)
* / Pendaraban dan Pembahagian
\ Pembahagian integer
Mod 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 akan menghasilkan 17(2 + 5) * 3 akan menghasilkan 216 / 2 * 3 akan menghasilkan 96 / (2 * 3) 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
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._____________________________________________________
(ii) Kira baki selepas Jumlah dibahagikan dengan Pembilang dan umpukkan hasil kepada Baki. Semua pembolehubah berjenis integer._____________________________________________________
2. Jika diberi a = 8, b = 3 dan c = 2 (semua pembolehubah berjenis Integer) dapatkan hasil operasi berikut:
(i) a – b___________
(ii) a Mod b___________
(iii) a * b___________
(iv) b + c * c___________
(v) b / c___________
(vi) 24 / (a * b)___________
3.1.2 Operator Perhubungan
Aktiviti
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 akan menghasilkan Falsea <= c akan menghasilkan Truec >= 10 akan menghasilkan False(a + b) <> c akan menghasilkan True
3.2 Pernyataan BersyaratPernyataan 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 PernyataanEnd If
Cartalir pernyataan If .. Then (Rajah 3.2.1(a))
Rajah 3.2.1(a): Cartalir If..Then
Contoh pernyataan If .. Then:
(i) If (markah > 90) Then Gred = “A”
End If
(ii) If x = 3 Then MsgBox “3 : Nombor Bertuah”
End If
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))
benar
palsu
syarat pernyataan
MEMBUAT KEPUTUSAN DALAM ATURCARA
Rajah 3.2.1(b): Form untuk memasukkan markah
‘Aturcara untuk menyemak status andaDim Markah As IntegerMarkah = 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) Thenpernyataan
Elsepernyataan
End If
Cartalir pernyataan If .. Then .. Else (Rajah 3.2.2(a))
MEMBUAT KEPUTUSAN DALAM ATURCARA
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
(ii) If Jawapan = 5 ThenMsg = “Bagus”Point = Point + 1
ElseMsg = “Cuba lagi”
End If
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 andaDim Markah As IntegerMarkah = Val(txtmarkah.Text)If markah >= 50 Then
lblkeputusan.Caption = “LULUS”Else
lblkeputusan.Caption = “GAGAL”
benar
palsu
syarat pernyataan
pernyataan
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. Jika syarat pertama benar pernyataan pertama dilaksanakan, jika tidak syarat seterusnya akan diuji sehingga ianya benar atau pernyataan selepas Else akan dilaksanakan. Hanya satu blok pernyataan sahaja akan dilaksanakan.
Sintak pernyataan If .. Then .. ElseIf .. ElseIf .. End If
If (syarat) Then
MEMBUAT KEPUTUSAN DALAM ATURCARA
pernyataanElseIf (syarat) Then
pernyataanElseIf
pernyataan ThenElse
pernyataanEnd 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 D50 – 59 C60 – 69 B-70 – 79 B80 – 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.
T
Rajah 3.2.4: Cartalir If tersarang
Contoh If tersarang:
If Suhu > 30 Then If Suhu > 80
Utusan = “Panas” Else
Utusan = “Sederhana” End IfElse
Utusan = “Sejuk”End If
Suhu > 30
Utusan = “Panas”Utusan = “Sederhana”
Utusan = “Sejuk”
Suhu > 80
F T
TF
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 MarkahCase 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
atauSelect 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.1Case 25 to 49 : Diskaun = 0.15Case 50 to 74 : Diskaun = 0.2
MEMBUAT KEPUTUSAN DALAM ATURCARA
Case is > 75 : Diskaun = 0.25End SelectMsgBox “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 SelectMsgBox “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 y x OR y x AND y NOT x
Benar Benar Benar Benar Palsu
Benar Palsu Benar Palsu Palsu
Palsu Benar Benar Palsu Benar
Palsu Palsu Palsu Palsu Benar
Contoh 3.4:NOT xx 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
MEMBUAT KEPUTUSAN DALAM ATURCARA
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 IntegerFor n = 1 To 12
Print n; "X 2 = "; n * 2Next n
Rajah 3.5.1: Output jika aturcara dilaksanakan
4. Laksanakan aturcara di atas dan lihat outputnya. (Rajah 3.5.1)
MEMBUAT KEPUTUSAN DALAM ATURCARA
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 syaratPernyataan untuk dilaksanakan
LoopPernyataan 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 12Dim x As Integerx =1Do While x <= 12
Print xx = x +1
LoopEnd 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 syaratPernyataan untuk dilaksanakan
LoopPernyataan 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 12Dim x As Integerx =1Do Until x >12
Print xx = x +1
LoopEnd 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