Sulit · 3770/1(PP)MPSM Negeri Selangor

Logo sekolah

Skema Jawapan & JSU

PINTAS 2026 · Penilaian Intervensi Terbilang Akademik Selangor
Sains Komputer Tingkatan 5 · Kertas 1 · Set 1 · 2 jam 30 minit

Bahagian A
20 soalan · 50 markah
Bahagian B
4 soalan · 50 markah
Jumlah
100 markah
Sumber
Peraturan Pemarkahan rasmi

Penyelarasan dengan Peraturan Pemarkahan rasmi

Kandungan di bawah kini mengikut skema rasmi MPSM Selangor. Enam jawapan telah diubah daripada draf awal — setiap satu ditanda dengan kotak biru Penyelarasan pada soalan berkenaan:

Jadual Spesifikasi Ujian

35 item · 100 markah

Pemetaan Standard Pembelajaran bagi setiap soalan, diambil daripada JSU PINTAS T5 2026.

Taburan aras

Rendah (R)18 · 51.4%
Sederhana (S)10 · 28.6%
Tinggi (T)7 · 20.0%
Wajaran sasaran50 : 30 : 20

Taburan konstruk

P01 · P02 · P032 · 7 · 2
P04 · P05 · P061 · 1 · 5
P07 · P08 · P094 · 2 · 1
A01 · N01 · V01 · T014 · 2 · 2 · 1

Wajaran kertas

Kertas 170%
Kertas 230%
Bahagian A50 markah
Bahagian B50 markah
SoalanStandard PembelajaranMarkah
A11.1.1 Menerangkan keperluan penyelesaian masalah berstrategi2
A21.2.6 Menterjemah algoritma ke bahasa pengaturcaraan2
A31.3.4 Mengisytiharkan, memulakan dan menetapkan nilai pada pemboleh ubah dan pemalar
1.3.5 Menggunakan penyataan umpukan dan penyataan aritmetik
3
A41.4.4 Menulis atur cara menggunakan struktur kawalan ulangan4
A51.5.4 Menghasilkan atur cara yang mudah dibaca dengan gaya yang baik (komen, nama pemboleh ubah bermakna, inden)3
A61.6.2 Menggunakan subatur cara dan memahami konsep menghantar parameter serta mengembalikan data2
A71.7.1 Menghuraikan setiap fasa dalam kitaran hayat pembangunan sistem (SDLC)3
A82.1.3 Mengenal pasti entiti, atribut, set hubungan dan kekardinalan
2.2.2 Menentukan kunci primer dan/atau kunci asing bagi setiap entiti
2
A92.2.3 Menghasilkan gambar rajah perhubungan entiti (ERD) untuk memodelkan data hubungan4
A102.2.5 Menjelaskan konsep kebergantungan fungsi sepenuh, separa dan transitif3
A113.1.2 Menilai produk interaktif berdasarkan tujuan dan prinsip asas reka bentuk interaktif3
A123.2 Paparan dan Reka Bentuk Skrin4
A131.1.4 Melaksanakan penyulitan dan nyahsulit data menggunakan Caesar Cipher2
A141.2.2 Menerangkan konsep asas seni bina komputer (Von Neumann)2
A151.3.2 Menyenaraikan dan melukis simbol get logik2
A162.2.1 Melakar ERD bagi permasalahan yang diberi1
A172.2.3 Membina pangkalan data hubungan menggunakan SQL: Table2
A183.3.1 Mengkaji dan merumus prinsip reka bentuk laman web dari sudut kesesuaian pengguna dan tujuan laman web3
A193.1.2 Menterjemah atur cara mudah daripada Bahasa Penskripan Klien kepada carta alir2
A203.1.2 Menterjemah atur cara mudah daripada Bahasa Penskripan Klien kepada carta alir1
B11.3.2 Memilih dan menggunakan jenis data yang bersesuaian
1.3.6 Menulis atur cara untuk memasukkan input dari papan kekunci dan memaparkan output
10
B22.2.3 Menghasilkan ERD untuk memodelkan data hubungan
2.2.6 Melaksanakan proses penormalan data sehingga 3NF terhadap skema hubungan
15
B32.2.3 Membina pangkalan data hubungan menggunakan SQL: Table
2.2.4 Menggunakan SQL untuk memanipulasi data
10
B41.2.2 Membina algoritma penyelesaian masalah menggunakan struktur kawalan
1.4.2 Menulis atur cara menggunakan struktur kawalan pilihan dengan menggabungkan operator hubungan dan operator logikal
15

Lajur konstruk (P01–P09, A01, N01, V01, T01) dan aras (R/S/T) bagi setiap item tidak dapat dibaca dengan tepat daripada fail JSU yang dimuat naik kerana penjajaran lajur hilang semasa pengekstrakan. Ringkasan jumlah di atas adalah tepat; sila rujuk fail JSU asal untuk pecahan per item.

Bahagian A

20 soalan · 50 markah · 60 minit

Jawab semua soalan. Jawapan dan pecahan markah mengikut Peraturan Pemarkahan 3770/1(PP) Set 1.

12m

1.1.1 Menerangkan keperluan penyelesaian masalah berstrategi

Rajah 1 menunjukkan empat panel bersiri proses pengeluaran wang dari mesin ATM: masukkan kad → masukkan PIN (****) → masukkan nilai (RM 200) → ambil wang.

Nyatakan: (a) Teknik pemikiran komputasional yang digunakan. (b) Satu ciri bagi teknik tersebut.

Jawapan

(a) Algoritma 1 m

(b) Mana-mana satu: 1 m

  • Arahan langkah demi langkah
  • Arahan yang mengikut urutan
  • Ada input, proses dan output
  • Arahan yang ada permulaan dan penamat

Justifikasi

Rajah menunjukkan satu jujukan langkah bertertib yang dihubungkan dengan anak panah. Ini takrifan algoritma: siri arahan tersusun untuk menyelesaikan satu tugasan.

Peleraian pula memecahkan masalah besar kepada sub-masalah yang boleh diselesaikan berasingan. Di sini panel 3 mustahil tanpa panel 2 — yang ditonjolkan ialah turutan, bukan pemecahan.

Skema membenarkan empat ciri. Latih murid menulis ciri yang paling selamat: "Arahan langkah demi langkah yang mengikut urutan" — ia merangkumi dua daripada empat frasa yang diterima.

22m

1.2.6 Menterjemah algoritma ke bahasa pengaturcaraan

Jadual 1 menunjukkan terjemahan baris algoritma kepada kod Java. Lengkapkan dua ruang kosong.

AlgoritmaKod atur cara Java
Mulapublic static void main (String [] args) {
Umpuk pemboleh ubah A kepada 5int A = 5;
Umpuk pemboleh ubah B kepada 7int B = 7;
Kira jumlah A dan B.................... ;
PAPAR jumlah.................... (jumlah);
Tamat}

Jawapan

Kira jumlah A dan Bint jumlah = A + B 1 m

PAPAR jumlahSystem.out.println atau System.out.print 1 m

Justifikasi

"Kira jumlah A dan B" memerlukan pemboleh ubah baharu untuk menyimpan hasil, jadi pengisytiharan int mesti ada. Kedua-dua A dan B integer, maka hasil tambah juga integer.

Tanda ; dan (jumlah); sudah tercetak dalam kertas soalan, jadi murid tidak perlu menulisnya semula.

Kesilapan lazim: menulis jumlah = A + B; tanpa int. Pemboleh ubah jumlah belum diisytiharkan di mana-mana baris sebelumnya, jadi kod tidak akan dikompil.

33m

1.3.4 Mengisytiharkan pemboleh ubah dan pemalar  ·  1.3.5 Penyataan umpukan dan aritmetik

Rajah 2 menunjukkan segmen kod Java.

final double HARGA_BUKU = 12.50;

int bilanganBuku = 2;
double jumlahHarga;

jumlahHarga = HARGA_BUKU * bilanganBuku;

System.out.println("Jumlah harga ialah : RM " + jumlahHarga);

(a) Nyatakan pemalar. 1 m   (b) Hitungkan nilai jumlahHarga. 2 m

Jawapan

(a) HARGA_BUKU 1 m

(b)

12.50 * 2   atau   12.50 x 2      <-- 1 markah (kaedah)
= 25   atau   25.0               <-- 1 markah (jawapan)

Skema rasmi menerima 25 mahupun 25.0.

Justifikasi

(a) Kata kunci final ialah penanda pemalar dalam Java — nilainya tidak boleh diubah selepas diumpukkan. Konvensyen HURUF_BESAR_BERGARIS_BAWAH mengukuhkan lagi pengenalpastian ini. bilanganBuku pula pemboleh ubah kerana tiada final.

(b) Soalan memperuntukkan 2 markah dengan kotak besar — kerja pengiraan mesti ditunjukkan. Menulis "25" sahaja tanpa langkah berisiko kehilangan markah kaedah.

Paparan Java sebenar ialah Jumlah harga ialah : RM 25.0 kerana jumlahHarga berjenis double. Boleh dijadikan bahan perbincangan walaupun skema menerima kedua-duanya.

44m

1.4.4 Menulis atur cara menggunakan struktur kawalan ulangan

Rajah 3(a) menunjukkan gelung for yang tidak lengkap. Lengkapkan dengan simbol yang betul supaya menghasilkan output pada Rajah 3(b).

public class nombor {
    public static void main(String[] args) {
    int jumlah = 0 ;

    for (int i [ 1 ] 1; i [ 2 ] 5 ; i [ 3 ] ) {

        jumlah = jumlah [ 4 ] 1;

        System.out.print (jumlah) ;
        }
    }
}

Rajah 3(b) — OUTPUT : 1234

Jawapan

RuangSimbolMarkah
1 — permulaan=1 m
2 — syarat<1 m
3 — penambahan++1 m
4 — operasi jumlah+1 m
for (int i = 1; i < 5 ; i++ ) {
    jumlah = jumlah + 1;
    System.out.print (jumlah) ;
}

Justifikasi

Output 1234 memberitahu dua perkara: gelung berjalan 4 kali, dan nilai bertambah 1 setiap pusingan.

PusinganiSyarat i < 5jumlahDipapar
11Benar0 + 1 = 11
22Benar1 + 1 = 22
33Benar2 + 1 = 33
44Benar3 + 1 = 44
55Palsu → keluar

Jejak meja mengesahkan output 1234.

Kenapa < dan bukan <=? Jika i <= 5, gelung berjalan 5 kali dan output menjadi 12345.

System.out.print (bukan println) sudah tercetak dalam soalan — sebab itulah output bercantum pada satu baris.

53m

1.5.4 Atur cara mudah dibaca — komen, nama pemboleh ubah bermakna, inden

Jadual 2 menunjukkan segmen kod Java. Nyatakan amalan terbaik pengaturcaraan yang digunakan.

KodAmalan terbaik
//Memasukkan markah peperiksaani)
int markahPeperiksaan = input.nextInt();ii)
if (x > 49)
{
   System.out.println("Lulus");
}
else {
   System.out.println("Gagal");
}
iii)

Jawapan

i) Komen 1 m

ii) Jenis data yang sesuai atau Pemboleh ubah yang bermakna 1 m

iii) Inden yang konsisten atau Inden 1 m

Justifikasi

i) // ialah penanda komen sebaris. Komen diabaikan oleh pengkompil dan wujud untuk menerangkan tujuan kod kepada pembaca manusia.

ii) Skema menerima dua sudut untuk baris yang sama: nama markahPeperiksaan yang jelas maksudnya, atau pemilihan int yang bersesuaian untuk markah nombor bulat. Kedua-duanya betul — murid hanya perlu tulis satu.

iii) Baris System.out.println dijorokkan ke dalam berbanding if dan kurungan yang membalutnya. Inden menunjukkan hierarki blok kod secara visual.

Jangan keliru: baris iii) juga mengandungi struktur pilihan if-else, tetapi itu struktur kawalan, bukan amalan terbaik. Yang dinilai ialah gaya penulisan, bukan logik.

62m

1.6.2 Subatur cara, menghantar parameter dan mengembalikan data

Rajah 4 menunjukkan atur cara Java yang mengandungi subatur cara. Nyatakan tujuan sintaks pada X dan Y.

public class Main {
  public static void main(String[] args) {
    double jumlah = tambah(83, 88);
  }
                 X                    Y
              [--------------] [------------------]
  static      double tambah     (double a, double b)  {
    return a + b; // pengiraan dalam function
  }
}

Jawapan

X : Mengisytihar / mendefinisikan fungsi (subatur cara). 1 m

Y : Menerima parameter / input / argumen bernilai jenis double. 1 m

Justifikasi

Penyelarasan: draf awal saya menghuraikan X sebagai "jenis data nilai pulangan dan nama subatur cara". Skema rasmi lebih ringkas — isytihar / definisikan fungsi. Jawapan yang lebih panjang sepatutnya masih diterima, tetapi murid tidak perlu menghafal versi panjang.

X ialah pengepala fungsi: ia mengumumkan kewujudan subatur cara bernama tambah yang memulangkan nilai double.

Y ialah pintu masuk data. Nilai 83 dan 88 (argumen) disalin ke dalam a dan b (parameter) mengikut susunan. Tanpa Y, subatur cara tidak boleh menerima input luar.

Istilah untuk murid: nilai yang dihantar = argumen (83, 88); nilai yang diterima = parameter (a, b).

73m

1.7.1 Menghuraikan setiap fasa dalam kitaran hayat pembangunan sistem (SDLC)

Jadual 3 menunjukkan sebahagian aktiviti dalam fasa SDLC. Nyatakan fasa bagi setiap aktiviti.

AktivitiFasa
Jadual Input (tahun_lahir) / Proses (baca input, dapatkan tahunSemasa, kira umur) / Output (umur)i)
Carta alir: MULA → INPUT tahunLahir → KIRA umur → OUTPUT umur → TAMATii)
Senarai kod Java bernombor baris 1–15 (kelas kiraUmur)iii)

Jawapan

i) Analisis masalah 1 m

ii) Reka bentuk penyelesaian 1 m

iii) Laksana penyelesaian 1 m

Justifikasi

Penyelarasan: istilah fasa ketiga dalam skema rasmi ialah "Laksana penyelesaian", bukan "Pengekodan" seperti draf awal saya. Sila gunakan istilah skema semasa menanda; "Pengekodan" mungkin diterima sebagai sinonim tetapi jangan bergantung padanya.

i) Jadual IPO (Input–Proses–Output) ialah artifak fasa analisis. Kita hanya mengenal pasti apa yang diperlukan tanpa memikirkan bagaimana ia dilaksanakan.

ii) Carta alir ialah perwakilan logik penyelesaian — menjawab "bagaimana" secara bebas bahasa pengaturcaraan. Pseudokod tergolong dalam fasa yang sama.

iii) Kod Java sebenar yang boleh dikompil = pelaksanaan reka bentuk dalam bahasa pengaturcaraan tertentu.

Corak untuk murid: APA (analisis masalah) → BAGAIMANA (reka bentuk penyelesaian) → TULIS (laksana penyelesaian) → UJI → DOKUMENTASI.

82m

2.1.3 Entiti, atribut, hubungan, kekardinalan  ·  2.2.2 Kunci primer dan kunci asing

Rajah 5 menunjukkan jadual dalam pangkalan data sistem tempahan bilik hotel.

noPelanggannamaalamat
P001SuriaTaman Selesa Jaya
P002SitiTaman Mutiara Indah

Jadual PELANGGAN

noTempahantarikhMasuknoPelanggan
T00101.06.2025P001
T00203.06.2025P001
T00305.06.2025P002

Jadual TEMPAHAN

(a) Kunci asing. 1 m   (b) Kekardinalan bagi hubungan antara PELANGGAN dan TEMPAHAN. 1 m

Jawapan

(a) noPelanggan 1 m

(b) 1 : M  /  One to Many  /  Satu ke Banyak 1 m

Justifikasi

(a) Kunci asing ialah medan dalam satu jadual yang merujuk kunci primer jadual lain. noPelanggan ialah kunci primer di PELANGGAN; kemunculannya semula di TEMPAHAN menjadikannya kunci asing di sana.

Skema rasmi hanya menuntut noPelanggan. Namun galakkan murid menulis "noPelanggan dalam jadual TEMPAHAN" — lebih tepat dan tiada risiko.

(b) Bukti terus daripada data: P001 muncul dua kali di TEMPAHAN (T001 dan T002) — seorang pelanggan boleh membuat banyak tempahan. Sebaliknya setiap noTempahan hanya bercantum dengan satu noPelanggan.

94m

2.2.3 Menghasilkan ERD untuk memodelkan data hubungan

Rajah 6 menunjukkan skema hubungan:

ACARA ( kodAcara <KP>, namaAcara, catatan, noMurid <KA> )

Lakarkan simbol ERD bagi komponen: catatan, ACARA, kodAcara.

Jawapan

catatan Atribut — elips ACARA Entiti — segi empat tepat kodAcara Kunci primer — elips + garis bawah
KomponenKriteriaMarkah
catatanElips1 m
ACARASegi empat tepat1 m
kodAcara1 m simbol elips + 1 m garis / label KP2 m

Catatan skema rasmi: 2m — 1 simbol, 1 garis KP / label KP.

Justifikasi

Notasi Chen memperuntukkan bentuk khusus untuk setiap peranan: segi empat tepat untuk entiti, elips untuk atribut, dan elips bergaris bawah untuk kunci primer.

Markah keempat itu untuk garis bawah. Skema jelas memecahkan kodAcara kepada 2 markah — satu untuk elips, satu lagi untuk garis bawah atau label KP. Inilah markah yang paling kerap tergelincir.

Jika noMurid <KA> pula diminta, simbolnya elips bergaris putus-putus.

103m

2.2.5 Kebergantungan fungsi sepenuh, separa dan transitif

Rajah 7 menunjukkan ciri kebergantungan fungsi antara atribut. Nyatakan jenisnya.

RuangCiri yang diberi
i)Atribut bukan kunci yang bergantung dengan atribut bukan kunci yang lain dalam jadual
ii)Atribut bukan kunci yang bergantung dengan semua atribut kunci dalam jadual
iii)Atribut bukan kunci yang bergantung dengan salah satu atribut kunci dalam jadual

Jawapan

i) Transitif 1 m

ii) Sepenuh 1 m

iii) Separa 1 m

Justifikasi

  • i) "bukan kunci → bukan kunci" — pergantungan berantai (A → B → C), tidak melalui kunci primer secara langsung. Contoh: noMurid → kodKelas → namaGuruKelas. Dibuang pada peringkat 3NF.
  • ii) "semua atribut kunci" — bergantung kepada kunci komposit secara keseluruhan. Inilah keadaan yang dikehendaki dan menandakan jadual sudah 2NF.
  • iii) "salah satu atribut kunci" — hanya sebahagian daripada kunci komposit. Dihapuskan semasa penormalan 1NF → 2NF.

Kaitkan dengan B2. Dalam jadual PENDAFTARAN, namaAcara bergantung kepada kodAcara sahaja — kebergantungan separa, sebab itulah ia dipecahkan ke jadual ACARA.

113m

3.1.2 Menilai produk interaktif berdasarkan prinsip asas reka bentuk interaktif

Jadual 4 merupakan borang penilaian bagi satu aplikasi interaktif. Nyatakan prinsip reka bentuk interaktif yang dinilai.

PrinsipPenilaian
i)Saya mudah memahami aplikasi ini dan tidak perlu diajar banyak kali untuk menggunakannya.
ii)Apabila menekan apa-apa butang, saya tahu apa yang akan dipaparkan selepas itu.
iii)Butang navigasi diletakkan dalam satu kumpulan pada bahagian yang sama di semua paparan aplikasi.

Jawapan

i) Boleh dipelajari  (Learnability) 1 m

ii) Kebolehan untuk menjangka  (Predictability) 1 m

iii) Konsistensi  (Consistency) 1 m

Justifikasi

Penyelarasan: draf awal saya memberi Affordan dan Pemetaan untuk (i) dan (ii). Skema rasmi menggunakan set istilah kebolehgunaan — Learnability, Predictability, Consistency. Gunakan istilah rasmi ini dalam pengajaran.

i) "Tidak perlu diajar banyak kali" ialah ungkapan langsung bagi learnability — sejauh mana mudah seseorang menguasai penggunaan sistem buat kali pertama.

ii) Pengguna dapat menjangka hasil sebelum bertindak. Perhatikan bezanya dengan maklum balas: maklum balas berlaku selepas tindakan, manakala jangkaan wujud sebelum tindakan.

iii) "Bahagian yang sama di semua paparan" ialah keseragaman merentas skrin — definisi konsistensi.

Frasa penanda untuk murid: "tak perlu diajar" → boleh dipelajari · "saya tahu apa akan jadi" → kebolehan menjangka · "tempat sama / sentiasa serupa" → konsistensi.

124m

3.2 Paparan dan Reka Bentuk Skrin

Jadual 5 menunjukkan proses reka bentuk interaksi yang tidak mengikut urutan. Susun mengikut urutan yang betul dengan menulis 1, 2, 3 dan 4.

Jawapan

Proses Reka Bentuk InteraksiJawapanMarkah
Membangunkan reka bentuk alternatif21 m
Membina prototaip interaksi31 m
Mengenal pasti keperluan interaksi11 m
Membuat penilaian reka bentuk interaksi41 m

Justifikasi

  1. Mengenal pasti keperluan interaksi — siapa penggunanya, apa yang mereka perlu buat.
  2. Membangunkan reka bentuk alternatif — jana beberapa pilihan penyelesaian untuk dibandingkan.
  3. Membina prototaip interaksi — jadikan alternatif terpilih sebagai model yang boleh dicuba pengguna.
  4. Membuat penilaian reka bentuk interaksi — uji prototaip dengan pengguna sebenar.

Logik yang mudah diingat: tidak boleh menilai yang belum dibina; tidak boleh membina sebelum ada pilihan reka bentuk; tidak boleh mereka sebelum tahu keperluan.

132m

1.1.4 Penyulitan dan nyahsulit data menggunakan Caesar Cipher

Jadual 6 menunjukkan formula Caesar Cipher. Lengkapkan jadual.

FormulaTeks SiferTeks Biasa
En(x) = (x+3) mod 26VWHP?
En(x) = (x+1) mod 26?DUNIA

Jawapan

(a) VWHP → STEM 1 m

(b) DUNIA → EVOJB 1 m

Justifikasi

Baris 1 — nyahsulit, anjak ke belakang 3:

Teks SiferVWHP
Anjak −3STEM

V(21)−3=S(18) · W(22)−3=T(19) · H(7)−3=E(4) · P(15)−3=M(12)

Baris 2 — sulitkan, anjak ke hadapan 1:

Teks BiasaDUNIA
Anjak +1EVOJB

Arah anjakan mesti betul. Formula En(x) diberi untuk enkripsi. Apabila diberi teks sifer dan diminta teks biasa, kita perlu songsangkan — tolak, bukan tambah. Ramai murid tersilap menambah dan menghasilkan "YZKS".

Fungsi mod 26: memastikan huruf berkitar semula ke A selepas Z. Contoh: Z(25)+3 = 28 mod 26 = 2 = C.

142m

1.2.2 Konsep asas seni bina komputer (Von Neumann)

Rajah 8 menunjukkan seni bina komputer. Di dalam kotak CPU terdapat Unit Kawalan, ALU dan komponen X. CPU berhubung dua hala dengan Ingatan Utama.

(a) Nyatakan komponen X. 1 m   (b) Nyatakan fungsi X. 1 m

Jawapan

(a) Daftar  /  Register 1 m

(b) Menyimpan data dan arahan. 1 m

Justifikasi

(a) CPU terdiri daripada tiga komponen utama: Unit Kawalan, ALU dan Daftar. Dua sudah dilabel dalam rajah, jadi X mestilah Daftar melalui proses penyingkiran.

(b) Skema rasmi menerima jawapan ringkas "menyimpan data dan arahan". Daftar ialah storan terpantas dalam sistem tetapi bersaiz sangat kecil.

Galakkan murid menambah perkataan sementara — "menyimpan data dan arahan sementara semasa pemprosesan". Ia membezakan daftar daripada ingatan utama yang sudah dilabel berasingan dalam rajah, dan tiada risiko kehilangan markah.

152m

1.3.2 Menyenaraikan dan melukis simbol get logik

Rajah 9 menunjukkan ciri get logik. Namakan get logik tersebut.

Get LogikCiri
ATAUJika salah satu daripada dua input adalah BENAR, maka output ialah BENAR.
i)Output merupakan songsangan kepada input.
ii)Jika dua input adalah BENAR, maka output ialah BENAR.

Jawapan

i) TAK  (NOT) 1 m

ii) DAN  (AND) 1 m

Justifikasi

Penyelarasan: skema rasmi menggunakan TAK, bukan "BUKAN" seperti draf awal saya. Ajar murid menulis TAK atau NOT.

i) Kata kunci ialah "songsangan" dan penggunaan input tunggal. Get TAK ialah satu-satunya get logik asas dengan hanya satu input; ia menterbalikkan nilai.

ii) Kata kunci ialah "dua input adalah BENAR" — kedua-duanya, bukan salah satu. Bandingkan dengan ciri ATAU yang sudah diberi: "salah satu". Kontras inilah yang dibina oleh penggubal soalan.

ABA DAN BA ATAU BTAK A
00001
01011
10010
11110

Get DAN hanya menghasilkan 1 pada baris terakhir.

161m

2.2.1 Melakar ERD bagi permasalahan yang diberi

Suatu objek yang menggambarkan persekitaran seperti orang, tempat dan benda.

Nyatakan istilah tersebut.

Jawapan

Entiti 1 m

Justifikasi

Tiga petunjuk yang mengunci jawapan: "objek" (benda yang boleh dikenal pasti secara berasingan), "orang, tempat dan benda" (tiga contoh klasik entiti), dan "menggambarkan persekitaran" (mewakili sesuatu dalam dunia sebenar).

Istilah berdekatan: Atribut = ciri bagi entiti · Rekod = satu baris data lengkap · Medan = satu lajur. Yang ditakrifkan di sini ialah objeknya, bukan cirinya atau datanya.

172m

2.2.3 Membina pangkalan data hubungan menggunakan SQL: Table

Rajah 10 menunjukkan penyataan SQL. Nyatakan fungsi bagi X dan Y.

ALTER TABLE alatan     <-- X
DROP harga ;           <-- Y

Jawapan

X : Mengubah struktur jadual alatan 1 m

Y : Menghapuskan medan harga 1 m

Justifikasi

Kedua-duanya arahan DDL — mengubah struktur, bukan isi kandungan.

ALTER TABLE mengumumkan bahawa struktur jadual akan diubah dan menyatakan jadual mana. Dengan sendirinya ia tidak lengkap; ia mesti diikuti klausa yang menyatakan apa perubahannya — iaitu DROP harga.

ArahanKesan
DROP TABLE alatan;Buang seluruh jadual (struktur + data)
ALTER TABLE alatan DROP harga;Buang satu medan sahaja; jadual kekal
DELETE FROM alatan;Buang rekod; struktur jadual kekal

Beza yang sering tersilap.

183m

3.3.1 Prinsip reka bentuk laman web dari sudut kesesuaian pengguna dan tujuan

Rajah 11 menunjukkan paparan antara muka restoran dengan bar menu mendatar (Utama · Menu Kami ▽ · Tempah · Tentang Kami), dan "Menu Kami" membuka senarai lungsur turun (Makanan, Minuman, Kuih Muih).

(a) Nyatakan prinsip tersebut. 1 m   (b) Nyatakan dua teknik lain bagi prinsip tersebut. 2 m

Jawapan

(a) Navigasi 1 m

(b) Mana-mana dua: 1 + 1 m

  • Bar navigasi
  • Breadcrumbs
  • Pautan grafik
  • Site map / Peta laman

Justifikasi

(a) Yang ditunjukkan ialah sistem pergerakan pengguna antara halaman — cara mencari jalan dalam laman web. Teknik khusus yang dipaparkan ialah menu lungsur turun.

Perangkap soalan (b): soalan meminta "teknik lain". Menjawab "menu lungsur turun" akan hilang markah kerana itulah yang sudah ditunjukkan dalam rajah.

Prinsip asas reka bentuk laman web yang lain: Keseimbangan, Kontras, Penegasan, Kesatuan, Irama, Kebolehbacaan. Hanya Navigasi yang sepadan dengan bar menu berlungsur turun.

192m

3.1.2 Menterjemah atur cara Bahasa Penskripan Klien kepada carta alir

Rajah 12 menunjukkan segmen atur cara bagi suatu teknik isihan.

var harga = [3.50, 2.00, 4.50, 1.50];
var i, j, temp;

for (i=0; i < harga.length-1; i++)
{
   for (j=0; j < harga.length-i-1; j++)
   {
      if (harga[j] > harga[j+1])
      {
         temp = harga[j];
         harga[j] = harga[j+1];
         harga[j+1] = temp;
      }
   }
}

(a) Teknik isihan yang digunakan. 1 m   (b) Satu ciri teknik isihan ini. 1 m

Jawapan

(a) Isihan Buih  /  Bubble Sort 1 m

(b) Membanding dua unsur bersebelahan  atau  Banding unsur bersebelahan dan tukar kedudukan sekiranya berlaku urutan yang salah 1 m

Justifikasi

Tiga bukti dalam kod:

  • if (harga[j] > harga[j+1]) — membandingkan elemen dengan jiran sebelahnya. Ini cap jari isihan buih.
  • Blok tiga baris temp ialah pertukaran klasik antara dua elemen bersebelahan.
  • harga.length-i-1 — julat gelung dalam mengecil setiap pusingan kerana elemen di hujung sudah tersusun.
BandinganKeadaanTindakanHasil
3.50 vs 2.003.50 > 2.00Tukar[2.00, 3.50, 4.50, 1.50]
3.50 vs 4.503.50 < 4.50Kekal[2.00, 3.50, 4.50, 1.50]
4.50 vs 1.504.50 > 1.50Tukar[2.00, 3.50, 1.50, 4.50]

Selepas satu pusingan, nilai terbesar sudah "timbul" ke kedudukan terakhir.

Bandingkan dengan Soalan 20 — kedua-duanya menguji isihan tetapi jawapannya berbeza. Bacalah cara perbandingan dibuat sebelum menjawab.

201m

3.1.2 Menterjemah atur cara Bahasa Penskripan Klien kepada carta alir

Rajah 13 menunjukkan langkah algoritma isihan bermula dengan senarai 8 5 3 9 2:

LangkahPerbandinganHasil
18 5 3 9 2  (pertama vs terakhir)2 5 3 9 8
22 5 3 9 82 3 5 9 8
32 3 5 9 82 3 5 9 8
42 3 5 9 82 3 5 9 8
52 3 5 9 82 3 5 8 9 — Selesai

Nyatakan isihan yang digunakan.

Jawapan

Isihan Pilih  /  Selection Sort 1 m

Justifikasi

Bukti pemutus ada pada langkah 1: perbandingan antara 8 (kedudukan pertama) dengan 2 (kedudukan terakhir) — dua elemen yang tidak bersebelahan. Isihan buih tidak akan berbuat demikian.

PusinganBelum diisihTerkecilDitukar ke
18 5 3 9 22Kedudukan 1 → 2 5 3 9 8
25 3 9 83Kedudukan 2 → 2 3 5 9 8
35 9 85Sudah betul → kekal
49 88Kedudukan 4 → 2 3 5 8 9

Sel berlorek di rajah asal menandakan bahagian yang sudah terisih.

Petunjuk sokongan: langkah 3 dan 4 tidak menghasilkan sebarang perubahan — ciri isihan pilih, di mana pertukaran hanya berlaku sekali pada penghujung setiap pusingan imbasan.

Bahagian B

4 soalan · 50 markah · 90 minit

Jawab semua soalan. Pecahan markah mengikut Peraturan Pemarkahan rasmi.

110m

1.3.2 Jenis data bersesuaian  ·  1.3.6 Input papan kekunci dan paparan output

Rajah 14 menunjukkan atur cara Java yang menerima input dan memaparkan jumlah bayaran buku.

1   import java.util.Scanner;
2   public class jualanBuku {
3     public static void main(String[] args)
4     {
5         //Isytihar pemboleh ubah
6         Scanner input = new Scanner(System.in);
7         double hargaBuku;
8         int bilBuku;
9         ..............................................
10
11        //Input daripada pengguna
12        System.out.print("Masukkan harga buku: ");
13        ..............................................
14
15        System.out.print("Masukkan bilangan buku: ");
16        ..............................................
17
18        //Proses kira jumlah bayaran
19        ..............................................
20
21        //Paparan output
22        System.out.println("Bayaran ialah RM " + jumlahBayaran);
23    }
24  }

(a) Kenal pasti dua pemboleh ubah. 2 m
(b) Lengkapkan baris 9, 13, 16 dan 19. 4 m
(c) Terangkan fungsi arahan pada baris 7. 2 m
(d) Hitung jumlah bayaran jika harga buku = RM25.00 dan bilangan buku = 4. 2 m

Jawapan

(a) Dua pemboleh ubah 1 + 1 m

hargaBuku  /  bilBuku  /  jumlahBayaran

Mana-mana dua diterima. Skema membenarkan jumlahBayaran bergantung kepada jawapan murid pada baris 19.

(b) Baris yang dilengkapkan 4 m

BarisKodMarkah
9double jumlahBayaran ;1 m
13hargaBuku = input.nextDouble() ;1 m
16bilBuku = input.nextInt() ;1 m
19jumlahBayaran = hargaBuku * bilBuku ;1 m

(c) Fungsi arahan baris 7 2 m

  • Mengisytiharkan pemboleh ubah hargaBuku 1 m
  • dengan jenis data double 1 m

(d) Pengiraan 2 m

25 * 4        <-- 1 markah (kaedah)
= 100         <-- 1 markah (jawapan)

Justifikasi

(a) Pemboleh ubah ialah lokasi ingatan bernama yang nilainya boleh berubah. hargaBuku dan bilBuku diisytiharkan secara eksplisit pada baris 7–8 — jawapan paling selamat.

input pada baris 6 bukan jawapan yang baik — ia objek Scanner, bukan pemboleh ubah data mudah.

(b) Baris 9 berada di bawah komen "//Isytihar pemboleh ubah" dan baris 22 merujuk jumlahBayaran yang belum wujud. Jenisnya double kerana hasil darab double dengan int menghasilkan double.

Baris 13 menggunakan nextDouble() kerana hargaBuku berjenis double; nextInt() di sini akan menyebabkan InputMismatchException apabila pengguna menaip 25.50. Baris 16 pula nextInt() kerana bilangan buku sentiasa nombor bulat.

(c) Soalan memperuntukkan 2 markah untuk satu baris ringkas — isyarat bahawa dua perkara mesti disentuh: nama pemboleh ubah dan jenis data. Jawapan "mengisytiharkan pemboleh ubah" sahaja hanya layak 1 markah.

(d) Skema menerima 100. Paparan Java sebenar ialah Bayaran ialah RM 100.0 kerana jumlahBayaran berjenis double — boleh dijadikan perbincangan kelas.

215m

2.2.3 Menghasilkan ERD  ·  2.2.6 Penormalan data sehingga 3NF

Setiap murid boleh menyertai satu atau dua acara sukan sahaja. Jadual 7 menunjukkan jadual 1NF PENDAFTARAN.

noMurid <KP>namaMuridrumahSukankodAcara <KP>namaAcaratarikhDaftar
M01AhmadMerahA01Larian 100m01/05/2026
M01AhmadMerahA05Lompat Jauh01/05/2026
M03BenjiKuningA01Larian 100m01/05/2026
M05SarahBiruA02Larian 200m01/05/2026
M10JasminHijauA05Lompat Jauh01/05/2026

(a) Laksanakan proses penormalan kepada jadual 2NF. 10 m
(b) Lakarkan ERD yang lengkap. 5 m

Jawapan

(a) Penormalan kepada 2NF 10 m

Nama Jadual : MURID

noMurid <KP>namaMuridrumahSukan
M01AhmadMerah
M03BenjiKuning
M05SarahBiru
M10JasminHijau

Nama Jadual : ACARA

kodAcara <KP>namaAcara
A01Larian 100m
A05Lompat Jauh
A02Larian 200m

Nama Jadual : PENDAFTARAN

noMurid <KP><KA>kodAcara <KP><KA>tarikhDaftar
M01A0101/05/2026
M01A0501/05/2026
M03A0101/05/2026
M05A0201/05/2026
M10A0501/05/2026
Kriteria pemarkahanMarkah
Nama jadual lengkap2 m
Atribut lengkap2 m
Label KP betul dan lengkap2 m
Label KP/KA betul dan lengkap2 m
Rekod betul dan lengkap2 m

Markah diberi merentas ketiga-tiga jadual, bukan per jadual.

(b) ERD lengkap 5 m

Versi 1 — hubungan M : N secara langsung

noMurid <KP> namaMurid MURID M daftar N ACARA kodAcara <KP> rumahSukan tarikhDaftar namaAcara

ATAU Versi 2 — MURID —1— <buat> —M— PENDAFTARAN —M— <mempunyai> —1— ACARA, dengan tarikhDaftar sebagai atribut PENDAFTARAN. Kedua-dua versi diterima penuh oleh skema rasmi.

Kriteria pemarkahanMarkah
Entiti lengkap + simbol betul1 m
Atribut lengkap + simbol betul1 m
Label KP lengkap dan betul1 m
Hubungan + simbol dan garis hubungan betul1 m
Kekardinalan betul1 m

Justifikasi

Penyelarasan: draf awal saya melakar kekardinalan 1 : M. Skema rasmi versi 1 menggunakan M : N antara MURID dan ACARA. Nisbah 1 : M hanya betul dalam versi 2, iaitu apabila PENDAFTARAN dijadikan entiti berasingan. Pastikan murid konsisten dengan versi yang mereka pilih.

(a) Kenapa jadual asal belum 2NF

Kunci primernya komposit — (noMurid, kodAcara). Buktinya pada data: baris 1 dan 2 kedua-duanya M01, jadi noMurid sahaja tidak unik; A01 muncul dua kali, jadi kodAcara sahaja juga tidak unik.

noMurid              --> namaMurid, rumahSukan   (separa)
kodAcara             --> namaAcara               (separa)
noMurid + kodAcara   --> tarikhDaftar            (penuh - kekal)

Masalah sebenar yang diselesaikan: dalam jadual asal, "Ahmad" dan "Merah" ditulis dua kali. Jika Ahmad bertukar rumah sukan, dua baris perlu dikemas kini — jika satu terlepas, data menjadi tidak konsisten. Inilah anomali kemas kini.

Kesilapan paling kerap: menggugurkan tarikhDaftar atau meletakkannya dalam jadual MURID. Ia mesti kekal dalam PENDAFTARAN kerana ia atribut bagi hubungan, bukan bagi murid mahupun acara.

Adakah sudah 3NF? Ya. Selepas pecahan ini tiada kebergantungan transitif tinggal. Namun soalan hanya meminta 2NF — jangan pecahkan lagi.

(b) Kenapa M : N

Ayat kunci dalam soalan: "Setiap murid boleh menyertai satu atau dua acara sukan" — seorang murid ke banyak acara. Daripada data pula, A01 disertai M01 dan M03, serta A05 oleh M01 dan M10 — satu acara diikuti banyak murid. Maka hubungan MURID ↔ ACARA ialah M : N.

Dalam pelaksanaan fizikal, M : N diselesaikan melalui jadual perantara PENDAFTARAN — itulah versi 2. Sebab itu kedua-dua lakaran sah, tetapi label kekardinalannya tidak sama.

310m

2.2.3 Membina pangkalan data hubungan menggunakan SQL  ·  2.2.4 Memanipulasi data

Jadual 8(a) menunjukkan dua set atur cara SQL untuk Sistem Pengundian Baka Kucing.

SQL 1

CREATE DATABASE catvotes;

CREATE TABLE pengundi (
  emel VARCHAR (20) NOT NULL,
  nama VARCHAR( 255),
  katalaluan VARCHAR (8),
  tahap VARCHAR (20)
);

CREATE TABLE baka (
  nobaka VARCHAR (5) NOT NULL,
  baka INT (20),
  gambar VARCHAR (255),
  PRIMARY KEY (nobaka)
);

CREATE TABLE undi (
  idundi INT (11) NOT NULL,
  emel VARCHAR (20),
  nobaka VARCHAR (1),
  tarikh date,
  masa time,
  PRIMARY KEY(idundi),
  FOREIGN KEY(nobaka)
    REFERENCES baka(nobaka)
);

SQL 2

CREATE DATABASE catvotes;

CREATE TABLE pengundi (
  emel VARCHAR (20) NOT NULL,
  nama VARCHAR (255),
  katalaluan VARCHAR (8),
  tahap VARCHAR (20),
  PRIMARY KEY (emel)
);

CREATE TABLE baka (
  nobaka VARCHAR(5) NOT NULL,
  baka VARCHAR(20),
  gambar VARCHAR(255),
  PRIMARY KEY (nobaka)
);

CREATE TABLE undi(
  idundi INT(11) NOT NULL,
  emel VARCHAR(20),
  nobaka VARCHAR(5),
  tarikh date,
  masa time,
  PRIMARY KEY(idundi),
  FOREIGN KEY(emel) REFERENCES pengundi(emel),
  FOREIGN KEY(nobaka) REFERENCES baka(nobaka)
);
Nama JadualNama MedanKunciSample Data
pengundiemel, nama, katalaluan, tahapKunci primeradmin@vote.com, Admin, Abc123, ADMIN
bakanobaka, baka, gambarKunci primerM1, Munchkin, munchkin.jpeg
undiidundi, emel, nobaka, tarikh, masaKunci primer, Kunci asing, Kunci asing1, yaya@vote.com, C1, 05-08-2025, 10:12:14

Jadual 8(b) — maklumat rujukan

(a) Pilih set atur cara SQL yang terbaik dengan membandingkan kedua-duanya. Berikan justifikasi. 7 m
(b) Tulis arahan SQL bagi menyisip satu sampel data pada jadual baka. 3 m

Jawapan

(a) Pilihan dan justifikasi 7 m

Set atur cara SQL yang terbaik ialah Set SQL 2. 1 m

Pilih mana-mana tiga perbandingan berikut, setiap satu 1 + 1 m :

#Perbandingan 1 mKesan / sebab 1 m
1SQL 2 menetapkan medan emel sebagai kunci primer pada jadual pengundi, berbanding SQL 1 yang tiada sebarang kunci primer dalam jadual tersebut.Kunci primer perlu ada untuk memastikan setiap rekod unik dan mengelakkan pertindihan data.
2Saiz medan nobaka pada jadual undi di SQL 2 sama dengan saiz medan nobaka dalam jadual baka, berbanding SQL 1 yang tidak sama.Jenis data yang sama saiz membolehkan jadual baka dan undi dihubungkan.
3Jenis data VARCHAR bagi medan baka di SQL 2 bersesuaian dengan sampel data yang terdiri daripada huruf, berbanding SQL 1 yang menetapkan integer.Pemilihan VARCHAR bersesuaian dengan sampel data yang terdiri daripada aksara huruf.
4Jadual undi di SQL 2 mempunyai dua kunci asing yang menghubungkan undi dengan pengundi dan baka, berbanding SQL 1 yang tiada hubungan dengan pengundi.Kunci asing yang lengkap membolehkan dua jadual dihubungkan dan menjadikan pangkalan data lebih konsisten.

1 m pilihan + (3 × 2 m) = 7 markah.

(b) Arahan SQL menyisip data 3 m

INSERT INTO baka (nobaka, baka, gambar)
VALUES
("M1", "Munchkin", "munchkin.jpeg");

Skema menunjukkan tiga baris, 1 markah setiap baris. Tanda petik tunggal 'M1' juga sah dalam MySQL.

Justifikasi

Cara menstruktur jawapan (a)

Perhatikan corak skema: setiap perbandingan bernilai 2 markah — satu untuk membandingkan kedua-dua set, satu lagi untuk menyatakan sebab / kesannya. Murid yang hanya menyenaraikan kelemahan SQL 1 tanpa menyebut SQL 2, atau yang membandingkan tanpa memberi sebab, akan kehilangan separuh markah.

"Dalam SQL 1, medan baka menggunakan INT(20), sedangkan SQL 2 menggunakan VARCHAR(20) yang bersesuaian dengan sampel data Munchkin. Pemilihan VARCHAR adalah bersesuaian kerana sampel data terdiri daripada aksara huruf."

Ayat berhuruf tebal itulah markah kedua. Latih murid menambah satu ayat "sebab" selepas setiap perbandingan.

Mengapa setiap perbezaan itu penting

Kunci primer hilang. Tanpa PRIMARY KEY (emel), jadual pengundi membenarkan rekod pendua. Lebih parah, kunci asing FOREIGN KEY(emel) tidak akan berfungsi kerana MySQL memerlukan medan yang dirujuk itu diindeks sebagai kunci — punca ralat errno 150.

Jenis data salah. Cubaan menyimpan "Munchkin" ke dalam medan INT akan gagal atau disimpan sebagai 0.

Saiz tidak konsisten. nobaka ialah VARCHAR(5) di jadual baka tetapi VARCHAR(1) di jadual undi. Kunci asing mesti sepadan jenis dan saiz dengan kunci primer yang dirujuk. Sampel data "C1" berjumlah 2 aksara — akan terpotong.

Kunci asing tertinggal. Jadual 8(b) menyenaraikan dua kunci asing untuk undi. SQL 1 hanya melaksanakan satu, jadi tiada apa menghalang undi direkodkan atas nama emel yang tidak wujud.

Nota pengajaran: Jadual 8(b) bukan hiasan — ia spesifikasi. Latih murid membaca lajur "Kunci" dan "Sample Data" dahulu, kemudian semak kod baris demi baris.

Nota (b)

INSERT INTO ialah arahan DML kerana ia mengubah data, bukan struktur. Bandingkan dengan CREATE dan ALTER yang tergolong dalam DDL.

Tiga kesilapan sintaks lazim: tanda petik pada nama jadual atau medan · tertinggal koma bertitik di hujung · nilai teks tanpa tanda petik.

415m

1.2.2 Membina algoritma menggunakan struktur kawalan  ·  1.4.2 Struktur kawalan pilihan dengan operator hubungan dan logikal

Rajah 15 menunjukkan poster Lawatan Sambil Belajar Kelab Komputer, SMK Sejahtera:

  • Destinasi: Planetarium Angkasa Negara
  • Pendaftaran terhad kepada 50 orang peserta sahaja
  • Tawaran Istimewa: markah 85 dan ke atas dalam Peperiksaan Pertengahan Tahun bagi Sains layak mendapat diskaun 50% bayaran pendaftaran

(a) Lakar carta alir bagi menentukan kelayakan mendapat diskaun. 10 m
(b) Berdasarkan jawapan di (a), tulis segmen kod Java bagi memaparkan kelayakan mendapat diskaun. 5 m

Jawapan

(a) Carta alir 10 m

Mula Set layak = 0 Input markah markah >= 85 Tidak Output Tiada Diskaun Ya Output Dapat Diskaun Set layak ++ layak < 50 Ya Tidak Tamat
Komponen markahMarkah
Mula1 m
Tamat1 m
Aliran logik1 m
Ya / Tidak1 m
Input markah1 m
Syarat markah1 m
Syarat layak1 m
Output dapat diskaun1 m
Output tak dapat diskaun1 m
Pembilang / increment1 m

Catatan skema rasmi: beri markah ikut komponen markah sahaja. Jika komponen markah ada dalam lakaran, maka layak dapat markah.

(b) Segmen kod Java 5 m

Skema 1 — gelung pembilang 5 × 1 m

if (markah >= 85)
   for (layak = 0; layak < 50; layak++)
      System.out.println("diskaun 50%")

Panduan markah: if (markah >= 85) · for (layak = 0; · layak < 50; · layak++) · System.out.println(...)

ATAU Skema 2 — operator logikal 5 × 1 m

if ( markah >= 85 && bil_murid <= 50 )
   System.out.println("Dapat diskaun")

Panduan markah: if ( ) · markah >= 85 · && · bil_murid <= 50 · System.out.println(...)

ATAU Skema 3 — if bersarang 2 + 2 + 1 m

if (markah >= 85)
   if (bil_Pemenang <= 50)
      System.out.println("Anda dapat diskaun 50%")

Catatan skema rasmi: nama pemboleh ubah bebas ditetapkan.

Justifikasi

Penyelarasan penting: draf awal saya menasihatkan supaya had 50 peserta diabaikan kerana soalan hanya menyebut kelayakan diskaun. Itu salah. Skema rasmi mewajibkan kedua-dua syarat — ada komponen markah khusus untuk Syarat layak dan Pembilang / increment. Murid yang melakar satu keputusan sahaja akan kehilangan sekurang-kurangnya 2 markah.

Membaca poster dengan betul

Poster mengandungi dua nombor dan skema menganggap kedua-duanya adalah syarat kelayakan: markah Sains 85 ke atas, dan peserta masih dalam kuota 50 orang. Tafsiran ini munasabah kerana diskaun hanya bermakna jika pendaftaran masih dibuka.

Ajar murid corak ini: apabila poster memberi lebih daripada satu nombor, semak sama ada setiap satu boleh menjadi syarat. Skema Bahagian B cenderung menghargai murid yang menggunakan semua maklumat yang diberi.

Kenapa >= dan bukan >

Poster menyebut "85 dan ke atas" — 85 itu sendiri termasuk. Menggunakan > 85 menolak murid yang mendapat tepat 85, satu ralat logik yang menjejaskan markah pada kedua-dua (a) dan (b). Begitu juga <= 50 untuk kuota "terhad kepada 50 orang".

Simbol carta alir

SimbolBentukKegunaan dalam soalan ini
TerminalBujur / kapsulMula dan Tamat
Input / OutputSegi empat selariInput markah, Output diskaun
ProsesSegi empat tepatSet layak = 0, Set layak ++
KeputusanRombusmarkah >= 85, layak < 50

Kaitan (a) dengan (b)

Ketiga-tiga skema jawapan (b) yang diterima mencerminkan cara berbeza melakar (a):

  • Skema 1 sepadan dengan carta alir di atas — gelung dengan pembilang.
  • Skema 2 sepadan dengan carta alir satu rombus yang menggabungkan dua syarat menggunakan &&.
  • Skema 3 sepadan dengan dua rombus bersarang.

Semasa menanda, semak keselarasan antara (a) dan (b) murid yang sama — soalan menyatakan "Berdasarkan jawapan di (a)".

Nota tanda %: menulis "diskaun 50%" dalam System.out.println() selamat sepenuhnya — aksara % hanya bermakna khas dalam printf().