4. Struktur Kawalan Pilihan IF
Hanya melaksanakan sesuatu penyataan jika SYARAT adalah BENAR.
Pseudokod Carta Alir
1. MULA
2. Penyataan 1
3. IF (Syarat 1) BENAR THEN
4. Penyataan 2
5. END IF
6. TAMAT
TAMAT
MULA
Syarat
1
Penyataan 1
F
T
Penyataan 2
5. Aktiviti 1:
Bina program yang menerima input nilai PI dari pengguna dan
memaparkan output jika input yang diterima adalah betul.
6. 1. MULA
2. SET nilai_pi = “”
3. PAPAR “Masukkan nilai PI”
4. INPUT nilai_pi
5. IF (nilai_pi == 3.142) THEN
6. OUTPUT “Nilai yang dimasukkan adalah betul”
7. END IF
8. TAMAT
TAMAT
nilai_pi ==
3.142 ?
PAPAR “Masukkan nilai PI”
F
T OUTPUT “Nilai yang
dimasukkan adalah betul”
SET nilai_pi = “”
MULA
INPUT nilai_pi
7.
8. Struktur Kawalan Pilihan IF…ELSE
Melaksanakan sesuatu penyataan jika SYARAT adalah BENAR dan
melaksanakan penyataan yang lain jika SYARAT adalah PALSU.
Pseudokod Carta Alir
1. MULA
2. Penyataan 1
3. IF (Syarat 1) BENAR THEN
4. Penyataan 2
5. ELSE
6. Penyataan 3
7. END IF
8. TAMAT
TAMAT
MULA
Syarat
1
Penyataan 1
F
T
Penyataan 2
Penyataan 3
9. Aktiviti 2:
Bina program yang menerima input umur pengguna dan memaparkan
output sama ada pengguna tersebut layak mengundi atau tidak.
10. 1. MULA
2. SET umur = “”
3. PAPAR “Masukkan umur anda”
4. INPUT umur
5. IF (umur > 20) THEN
6. OUTPUT “Anda layak mengundi”
7. ELSE
8. OUTPUT “Anda masih belum layak mengundi”
9. END IF
10.TAMAT
TAMAT
Umur >
20 ?
PAPAR “Masukkan umur anda”
F
T OUTPUT “Anda layak
mengundi”
SET umur = “”
MULA
INPUT umur
OUTPUT “Anda masih belum
layak mengundi”
11.
12. Struktur Kawalan Pilihan IF…ELSE IF
Terdapat beberapa pilihan syarat, tetapi hanya melaksanakan satu
penyataan jika SYARAT tertentu adalah BENAR dan melaksanakan
penyataan yang terakhir jika semua syarat adalah PALSU.
Pseudokod Carta Alir
1. MULA
2. Penyataan 1
3. IF (Syarat 1) BENAR THEN
4. Penyataan 2
5. ELSE IF (Syarat 2) BENAR THEN
6. Penyataan 3
7. ELSE
8. Penyataan 4
9. END IF
10. TAMAT
TAMAT
MULA
Penyataan 1
F
T
Penyataan 4
Syarat
2
T
F
Penyataan 2
Penyataan 3
Syarat
1
13. Aktiviti 3:
Bina program yang menerima input markah ujian dari pengguna dan
memaparkan gred sebagai output.
Gred A = 80 – 100
Gred B = 70 – 79
Gred C = 50 – 69
Gred D = 40 – 49
Gagal = 0 – 39
14. 1. MULA
2. SET markah = “”
3. PAPAR “Masukkan markah ujian Sains Komputer”
4. INPUT markah
5. IF (markah >= 80) THEN
6. OUTPUT “Gred A”
7. ELSE IF (markah >= 70) THEN
8. OUTPUT “Gred B”
9. ELSE IF (markah >= 50) THEN
10. OUTPUT “Gred C”
11. ELSE IF (markah >= 40) THEN
12. OUTPUT “Gred D”
13. ELSE
14. OUTPUT “Gagal”
15. END IF
16. TAMAT
Markah
>= 80?
PAPAR “Masukkan markah ujian Sains Komputer”
T
OUTPUT “Gred A”
SET markah = “”
MULA
Markah
>= 70?
T
OUTPUT “Gred B”
F
Markah
>= 50?
T
OUTPUT “Gred C”
F
A B
INPUT markah
17. Struktur Kawalan Pilihan SWITCH…CASE
Pseudokod
1. MULA
2. Penyataan 1
3. SWITCH (pembolehubah)
4. CASE Syarat1: Penyataan 2; BREAK
5. CASE Syarat2: Penyataan 3; BREAK
6. DEFAULT: Penyataan 4; BREAK
7. TAMAT
Penggunaan dan fungsinya sama seperti IF…ELSE IF
Merupakan alternatif kepada IF…ELSE IF
18. Struktur Kawalan Pilihan SWITCH…CASE
Carta Alir
TAMAT
Penyataan 1
F
T
Penyataan 4
Case
2
T
Case
1
F
Penyataan 2
Penyataan 3
Switch (pemboleh ubah)
BREAK
BREAK
MULA
F
BREAK
20. Aktiviti 4:
Bina program yang menerima input nombor bulan dari pengguna dan
memaparkan nama bulan sebagai output.
21. 1. MULA
2. SET bulan = “”
3. PAPAR “Masukkan bulan antara 1-12: ”
4. INPUT bulan
5. SWITCH (bulan)
6. CASE (1): System.out.println("Januari"); BREAK
7. CASE (2): System.out.println(“Februari"); BREAK
8. CASE (3): System.out.println(“Mac"); BREAK
9. CASE (4): System.out.println(“April"); BREAK
10. CASE (5): System.out.println(“Mei"); BREAK
11. .
12. .
13. DEFAULT: System.out.println(“Tiada bulan ” +bulan); BREAK
14. TAMAT
22. SET bulan = “”
T
Case
2
T
Case
1
F
OUTPUT “Januari”
Switch (bulan)
BREAK
BREAK
MULA
F
PAPAR “Masukkan bulan antara
1-12: ”
INPUT bulan
OUTPUT “Februari”
A B
25. Perbezaan IF…ELSE IF dan SWITCH…CASE
IF…ELSE IF SWITCH…CASE
SYARAT IF…ELSE IF boleh
menggunakan nombor bulat, aksara
dan rentetan (String) bersama-sama
dengan operator hubungan dan
logikal.
Cth:
if (tahun == 1979)
if (x >= 5)
if (markah > 79 && disiplin == ‘A’)
SYARAT SWITCH…CASE hanya
boleh menggunakan nombor bulat,
aksara atau rentetan (String) sahaja
tanpa operator.
Cth:
case 13:
case ‘A’:
case “hijau”:
tahun
==
1979
case
“hijau”
26. Perbezaan IF…ELSE IF dan SWITCH…CASE
IF…ELSE IF SWITCH…CASE
Digunakan jika mempunyai pelbagai
SYARAT dengan pelbagai nilai.
Cth:
if (jantina == “L” && umur > 21)
then “Kategori A”
else if (jantina == “P” && umur > 21)
then “Kategori B”
else if (jantina == “L” && umur < 21)
then “Kategori C”
Digunakan jika mempunyai satu
SYARAT dengan nilai tetap.
Cth:
case “P1”: “Perempuan Ting 5 dan 6”
case “P2”: “Perempuan Ting 3 dan 4”
case “P3”: “Perempuan Ting P, 1, 2”
case “L1”: “Lelaki Ting 5 dan 6”
case “L2”: “Lelaki Ting 3 dan 4”
case “L3”: “Lelaki Ting P, 1, 2”
27.
28. Operator Hubungan
Bertujuan untuk membuat perbandingan
Operator Hubungan Penerangan
== Sama dengan
!= Tidak sama dengan
> Lebih besar daripada
>= Lebih besar daripada atau sama dengan
< Lebih kecil daripada
<= Lebih kecil daripada atau sama dengan
29. Operator Logikal
Operator Hubungan Penerangan
&& AND
|| OR
! NOT
Bertujuan untuk menggabungkan dua SYARAT
Cth:
if (markah > 39 && markah < 50)
30. Operator Logikal – AND ( && )
Input sahsiah Input markah sahsiah == A markah >= 90 &&
A 91 True True True
A 89 True False False
B 97 False True False
B 77 False False False
Jika kedua-dua SYARAT adalah BENAR, barulah penyataan
tersebut dilaksanakan.
Cth:
IF (sahsiah == “A” && markah >= 90) THEN
OUTPUT “Anda pelajar cemerlang”
ELSE …….
31. Operator Logikal – OR ( || )
Input sahsiah Input penalti sahsiah == A penalti == 0 ||
A 0 True True True
A 5 True False True
B 0 False True True
B 17 False False False
Jika hanya satu SYARAT adalah BENAR, maka penyataan
tersebut dilaksanakan.
Cth:
IF (sahsiah == “A” || penalti == 0) THEN
OUTPUT “Anda pelajar cemerlang”
ELSE …….
32. Operator Logikal - NOT
Input sahsiah sahsiah != C
A True
B True
C False
Menukar nilai SYARAT.
Cth:
IF (sahsiah != “C”) THEN
OUTPUT “Anda pelajar baik”
ELSE …….
TAMAT
MULA
sahsiah
!= C
sahsiah
F
T
Anda pelajar
baik
33. Aktiviti 5:
Bina program yang menerima input nombor 1-10 dari pengguna dan
memaparkan output :
Nombor yang dimasukkan lebih besar dari 10
Nombor yang dimasukkan di antara 5 – 10
Nombor yang dimasukkan lebih kecil dari 5
Nombor yang dimasukkan adalah 0
34. 1. MULA
2. SET nombor = “”
3. PAPAR “Masukkan satu nombor antara 1-10: ”
4. INPUT nombor
5. IF (nombor >= 5 && nombor <= 10) THEN
6. OUTPUT “Nombor di antara 5-10”
7. ELSE IF (nombor < 5 && nombor!= 0) THEN
8. OUTPUT “Nombor lebih kecil dari 5”
9. ELSE IF (nombor == 0) THEN
10. OUTPUT “Nombor yang dimasukkan adalah 0”
11. ELSE
12. OUTPUT “Nombor lebih besar dari 10”
13. END IF
14. TAMAT
Editor's Notes
Masalah ralat logik (logic error) boleh diselesaikan dgn cara:
Menggunakan operator logikal (unit 1.4.2)