Struktur Kawalan: Jujukan, Pilihan dan Ulangan
Tiga Jenis Struktur Kawalan
Struktur kawalan menentukan urutan perlaksanaan pernyataan dalam atur cara. Terdapat tiga jenis: jujukan (sequence) โ pernyataan dilaksanakan satu per satu mengikut urutan; pilihan (selection) โ atur cara memilih laluan berdasarkan syarat; dan ulangan (repetition/loop) โ pernyataan diulang selagi syarat dipenuhi.
Struktur Pilihan: if, if-else, if-else if, switch
// if-else: dua pilihan
int markah = 67;
if (markah >= 50) {
System.out.println("LULUS");
} else {
System.out.println("GAGAL");
}
// if-else if: pelbagai pilihan (gred)
if (markah >= 80) {
System.out.println("A");
} else if (markah >= 60) {
System.out.println("B");
} else if (markah >= 40) {
System.out.println("C");
} else {
System.out.println("GAGAL");
}// switch: pilihan berdasarkan nilai tepat
int hari = 3;
switch (hari) {
case 1: System.out.println("Isnin"); break;
case 2: System.out.println("Selasa"); break;
case 3: System.out.println("Rabu"); break;
default: System.out.println("Hari lain");
}
// Output: RabuStruktur Ulangan: for, while, do-while
| Gelung | Bila guna | Semakan syarat | Minimum laluan |
|---|---|---|---|
| for | Bilangan ulangan DIKETAHUI | Sebelum laluan | 0 kali |
| while | Bilangan ulangan TIDAK pasti | Sebelum laluan | 0 kali |
| do-while | Mesti laksana sekurang-kurangnya SEKALI | Selepas laluan | 1 kali |
// for: papar 1 hingga 5
for (int i = 1; i <= 5; i++) {
System.out.println(i);
}
// while: jumlah sehingga melebihi 20
int jumlah = 0, i = 1;
while (jumlah <= 20) {
jumlah = jumlah + i;
i++;
}
// do-while: minta input sehingga sah
int pilihan;
do {
System.out.println("Masukkan 1-3:");
pilihan = input.nextInt();
} while (pilihan < 1 || pilihan > 3);Operator Increment (++) dan Decrement (--)
Operator ++ menambah 1 dan -- menolak 1 daripada pemboleh ubah. Pra-tokokan (++i) menokok dahulu sebelum nilai digunakan; pasca-tokokan (i++) menggunakan nilai dahulu, kemudian menokok.
int i = 5;
i++; // i = 6
i--; // i = 5
int a = 5;
int b = a++; // b = 5, kemudian a = 6 (pasca)
int c = ++a; // a = 7, kemudian c = 7 (pra)Kelas Math dan Math.random()
Kelas Math menyediakan kaedah matematik. Math.random() memulangkan nombor perpuluhan rawak dari 0.0 (termasuk) hingga 1.0 (tidak termasuk). Untuk nombor bulat rawak 1 hingga 6 (contoh dadu):
// nombor rawak 1 hingga 6
int dadu = (int)(Math.random() * 6) + 1;
// kaedah Math lain
Math.pow(2, 3); // 8.0 (kuasa)
Math.sqrt(25); // 5.0 (punca kuasa dua)
Math.max(7, 3); // 7Menjejak Nilai (Trace Table)
Kemahiran menjejak nilai pemboleh ubah pada setiap lelaran gelung amat penting untuk SPM. Contoh: for (int i = 1; i <= 3; i++) { jumlah = jumlah + i; } dengan jumlah bermula 0.
| Lelaran | i | jumlah = jumlah + i |
|---|---|---|
| 1 | 1 | 0 + 1 = 1 |
| 2 | 2 | 1 + 2 = 3 |
| 3 | 3 | 3 + 3 = 6 |
| Tamat | 4 (syarat i<=3 gagal) | Output akhir: 6 |
Contoh: Tentukan Gred daripada Markah (if-else if)
| Markah | Syarat dipenuhi | Gred |
|---|---|---|
| 85 | markah >= 80 | A |
| 72 | markah >= 60 | B |
| 55 | markah >= 40 | C |
| 38 | else | Gagal |