โ† Semua Nota
๐Ÿ”

TINGKATAN 4 ยท BAB 1

Struktur Kawalan

Struktur jujukan, pilihan (if-else, switch) dan ulangan (for, while, do-while).

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

Contoh carta alir struktur pilihan (if-else)
Contoh carta alir struktur pilihan (if-else)
java
// 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");
}
java
// 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: Rabu
๐ŸŽฏ TIP SPM: Jangan lupa break dalam setiap case! Tanpa break, perlaksanaan akan 'jatuh' ke case seterusnya (fall-through). switch sesuai untuk nilai tepat; if-else untuk julat (markah >= 80).

Struktur Ulangan: for, while, do-while

GelungBila gunaSemakan syaratMinimum laluan
forBilangan ulangan DIKETAHUISebelum laluan0 kali
whileBilangan ulangan TIDAK pastiSebelum laluan0 kali
do-whileMesti laksana sekurang-kurangnya SEKALISelepas laluan1 kali
java
// 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.

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

java
// 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);   // 7
๐ŸŽฏ TIP SPM (JSU 1.4.4): Soalan kerap gabungkan gelung dengan operator ++/-- dan Math.random(). Ingat formula (int)(Math.random()*n)+1 menghasilkan nombor 1 hingga n.

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

Lelaranijumlah = jumlah + i
110 + 1 = 1
221 + 2 = 3
333 + 3 = 6
Tamat4 (syarat i<=3 gagal)Output akhir: 6
๐ŸŽฏ TIP SPM: Bina jadual jejak (trace table) setiap kali soalan minta output gelung. Tulis nilai SETIAP pemboleh ubah pada SETIAP lelaran โ€” jangan kira dalam kepala.

Contoh: Tentukan Gred daripada Markah (if-else if)

MarkahSyarat dipenuhiGred
85markah >= 80A
72markah >= 60B
55markah >= 40C
38elseGagal

Uji kefahaman anda ๐ŸŽฏ

Daftar percuma untuk jawab kuiz topik ini, tanya AI Tutor, dan kumpul XP.

Daftar Percuma