27
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. Un Un it it 2 2

Struktur Kawalan Pilihan Dan Kawalan Gelung

Embed Size (px)

DESCRIPTION

Visual Basic.Net Note for Beginners

Citation preview

Page 1: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 2: Struktur Kawalan Pilihan Dan Kawalan Gelung

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.

Page 3: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 4: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 5: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 6: Struktur Kawalan Pilihan Dan Kawalan Gelung

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:

Page 7: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 8: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 9: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 10: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 11: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 12: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 13: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 14: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 15: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 16: Struktur Kawalan Pilihan Dan Kawalan Gelung

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.

Page 17: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 18: Struktur Kawalan Pilihan Dan Kawalan Gelung

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)

Page 19: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 20: Struktur Kawalan Pilihan Dan Kawalan Gelung

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

Page 21: Struktur Kawalan Pilihan Dan Kawalan Gelung

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.

Page 22: Struktur Kawalan Pilihan Dan Kawalan Gelung

MEMBUAT KEPUTUSAN DALAM ATURCARA