myUASARevision for UASAUlang kaji UASA
Practice paper, not an official KPM paperKertas latihan, bukan kertas rasmi KPM
Asas Sains Komputer Tingkatan 3
Ujian Akhir Sesi Akademik (format rumah)

Asas Sains Komputer

Tingkatan 3, 1 jam 30 minit, 70 marksmarkah
NameNama
ClassKelas
DateTarikh
marksmarkah:      / 70
InstructionsArahan
  1. Kertas soalan ini mengandungi tiga bahagian: Bahagian A, Bahagian B dan Bahagian C.
  2. Jawab semua soalan.
  3. Bahagian A: pilih satu jawapan yang betul.
  4. Bahagian B dan C: tulis jawapan anda di ruang yang disediakan. Tunjukkan langkah kerja anda.

Bahagian A

10 marksmarkah
Jawab semua soalan. Setiap soalan diikuti oleh empat pilihan jawapan, A, B, C dan D. Pilih satu jawapan yang betul.
1

QuestionSoalan 1

Selain leraian, pengecaman corak, peniskalaan dan pengitlakan yang dipelajari di Tingkatan 1, terdapat dua lagi teknik pemikiran komputasional. Apakah kedua-dua teknik itu?
Show answerTunjuk jawapanHide answerSembunyi jawapan
B
Buku menyatakan bahawa terdapat dua lagi teknik pemikiran komputasional selain empat teknik di Tingkatan 1, iaitu penaakulan logik (logical reasoning) dan penilaian (evaluation) (ms. 7). Pseudokod dan carta alir ialah bentuk algoritma, manakala penyahpepijatan, dokumentasi, pengekodan dan pengujian ialah fasa pembangunan atur cara.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 1, standard 1.1.1
TextbookBuku teks p.ms. 7
2

QuestionSoalan 2

Antara pernyataan berikut, yang manakah benar tentang punca lazim ralat dalam atur cara?
I  Pembahagian dengan sifar menyebabkan ralat masa larian.
II  Kesalahan mengeja kata kunci menyebabkan ralat sintaks.
III  Kesalahan ungkapan boolean menyebabkan ralat logik.
IV  Kesalahan menggunakan inden menyebabkan ralat logik.
Show answerTunjuk jawapanHide answerSembunyi jawapan
D
Jadual 1.3 (ms. 9): pembahagian sifar ialah punca ralat masa larian (I), salah mengeja kata kunci ialah punca ralat sintaks (II) dan kesalahan ungkapan boolean ialah punca ralat logik (III). IV salah: kesalahan menggunakan inden ialah punca ralat sintaks, bukan ralat logik.
For the teacherUntuk guru: UnderstandingMemahami, mediumsederhana difficultyaras mediumsederhana, Bab 1, standard 1.1.1
TextbookBuku teks p.ms. 9
3

QuestionSoalan 3

Langkah-langkah pengujian dan penyahpepijatan semasa pelaksanaan atur cara ditulis tidak mengikut urutan.
P  Kenal pasti lokasi ralat dan baiki ralat
Q  Baca dan fahami mesej ralat
R  Laksanakan atur cara
S  Semak output menggunakan beberapa set sampel data
Apakah urutan yang betul?
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
Senarai semak dalam Rajah 1.15 (ms. 12): laksanakan atur cara (R), baca dan fahami mesej ralat (Q), kenal pasti lokasi ralat dan baiki ralat (P), ulang sehingga tiada mesej ralat, kemudian semak output menggunakan beberapa set sampel data (S).
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 1, standard 1.1.1
TextbookBuku teks p.ms. 12
4

QuestionSoalan 4

Caesar Cipher dan Columnar Transposition ialah sifer klasik. Antara pernyataan berikut, yang manakah benar tentang sifer kunci simetri?
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
Sifer kunci simetri termasuk semua sifer klasik dan menggunakan kunci yang sama bagi proses penyulitan dan nyahsulit (Rajah 2.2, ms. 32). Pilihan A, B dan D ialah ciri sifer kunci tidak simetri: dua kunci (awam dan persendirian), digunakan dalam sifer moden yang kompleks.
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, Bab 2, standard 2.1.2
TextbookBuku teks p.ms. 32
5

QuestionSoalan 5

Senarai nombor berikut telah diisih menaik (indeks 0 hingga 11).
[4, 9, 13, 18, 22, 27, 31, 36, 40, 45, 51, 58]
Binary search dengan syarat gelung i <= j digunakan untuk mencari nombor 45. Item pertengahan dikira dengan m = (i + j) / 2; jika hasilnya berpecahan, komputer menggunakan nombor bulat terkecil. Berapakah bilangan item pertengahan yang disemak sehingga 45 dijumpai?
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
i = 0, j = 11: m = 5 (27), 45 > 27 maka i = 6. m = (6 + 11) / 2 = 8.5, dibaca 8 (40), 45 > 40 maka i = 9. m = (9 + 11) / 2 = 10 (51), 45 < 51 maka j = 9. m = (9 + 9) / 2 = 9 (45): dijumpai. Jumlah semakan ialah 4 (cara menentukan indeks pertengahan, ms. 66).
For the teacherUntuk guru: ApplyingMengaplikasi, mediumsederhana difficultyaras mediumsederhana, Bab 3, standard 3.1.1
TextbookBuku teks p.ms. 66
6

QuestionSoalan 6

Dalam pseudokod bubble sort, pemboleh ubah temp digunakan untuk
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
temp (daripada temporary) menyimpan data sementara semasa pertukaran kedudukan item, supaya nilai kedua-dua item tidak menjadi sama (ms. 83 dan 85). B ialah i, C ialah j dan D ialah n.
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.3
TextbookBuku teks p.ms. 83
7

QuestionSoalan 7

Dalam algoritma bucket sort, item-item diisih sebanyak dua kali. Bilakah isihan kedua berlaku?
Show answerTunjuk jawapanHide answerSembunyi jawapan
B
Isihan pertama berlaku apabila item dimasukkan ke dalam baldi mengikut julat; isihan kedua berlaku apabila item dalam setiap baldi diisih mengikut urutan (ms. 86). Pencantuman semula dan penentuan bilangan baldi bukan isihan.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 3, standard 3.1.3
TextbookBuku teks p.ms. 86
8

QuestionSoalan 8

Dalam Microsoft Access, objek pangkalan data yang menjadi antara muka antara pengguna dengan komputer serta memudahkan kemasukan data ialah
Show answerTunjuk jawapanHide answerSembunyi jawapan
D
Borang (form) ialah antara muka antara pengguna dan komputer dan memudahkan kemasukan data (Jadual 4.3, ms. 127). Jadual menyimpan data mengikut baris, pertanyaan meminta data tertentu dan laporan boleh dicetak atau menganalisis data.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 4, standard 4.1.5
TextbookBuku teks p.ms. 127
9

QuestionSoalan 9

Jadual 1 ialah jadual AHLI sebuah sekolah.
IDNamaTingkatanKelab
K01AFIQ3ROBOTIK
K02BELA2DRAMA
K03CHEN3DRAMA
K04DEEPA1ROBOTIK
K05EZRIN2SAINS
K06FARHAN3SAINS
K07GAN1DRAMA
Pernyataan SQL berikut dijalankan pada jadual itu.
SELECT ID FROM AHLI
WHERE Kelab = "ROBOTIK" OR Tingkatan = 3;
Berapakah bilangan rekod yang dipaparkan?
Show answerTunjuk jawapanHide answerSembunyi jawapan
B
Operator OR memberi nilai BENAR jika salah satu kriteria atau kedua-duanya benar (Jadual 4.9, ms. 157). Kelab ROBOTIK: K01 dan K04. Tingkatan 3: K01, K03 dan K06. Gabungan tanpa pengulangan: K01, K03, K04 dan K06, iaitu 4 rekod. 5 ialah 2 + 3 tanpa menolak K01 yang dikira dua kali; 1 ialah hasil jika operator AND digunakan.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 4, standard 4.1.8
TextbookBuku teks p.ms. 158
10

QuestionSoalan 10

Apakah output atur cara Python berikut?
1m1 = [80, 75, 90, 84]
2m2 = [88, 82, 79, 85]
3m3 = [66, 70, 71, 69]
4jumlah = [sum(m1), sum(m2), sum(m3)]
5nama = ["Aina", "Bala", "Chin"]
6print(nama[jumlah.index(min(jumlah))])
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
sum(m1) = 329, sum(m2) = 334 dan sum(m3) = 276, maka jumlah = [329, 334, 276]. min(jumlah) memulangkan 276 dan jumlah.index(276) memulangkan indeks 2. nama[2] ialah Chin (Contoh 4.8, ms. 170 dan 171). Pilihan 276 ialah nilai min, bukan nama.
For the teacherUntuk guru: AnalysingMenganalisis, mediumsederhana difficultyaras mediumsederhana, Bab 4, standard 4.2.2
TextbookBuku teks p.ms. 171

Bahagian B

40 marksmarkah
Jawab semua soalan. Setiap soalan bernilai 4 markah.
11

QuestionSoalan 11

Pembangunan atur cara terdiri daripada lima fasa. Pilih fasa yang melibatkan setiap aktiviti berikut. Setiap fasa digunakan sekali sahaja.
[1 markmarkah] (a)Pengatur cara menemu bual pelanggan dan membuat soal selidik untuk mengetahui keperluan mereka.
Show answerTunjuk jawapanHide answerSembunyi jawapan
Analisis masalah
Dalam fasa analisis masalah, pengatur cara mengenal pasti masalah, input, proses dan output, serta menemu bual, membuat soal selidik dan pemerhatian untuk mengetahui keperluan pelanggan (ms. 3).
[1 markmarkah] (b)Pengatur cara memilih bahasa Python dan perisian IDLE, kemudian mengekod atur cara berdasarkan pseudokod dan carta alir.
Show answerTunjuk jawapanHide answerSembunyi jawapan
Pengekodan
Fasa pengekodan: memilih bahasa pengaturcaraan dan perisian pengaturcaraan, kemudian mengekod atur cara berdasarkan pseudokod dan carta alir (ms. 6).
[1 markmarkah] (c)Pengatur cara mengenal pasti ralat sintaks, ralat masa larian dan ralat logik, kemudian membaikinya.
Show answerTunjuk jawapanHide answerSembunyi jawapan
Pengujian dan penyahpepijatan
Fasa pengujian dan penyahpepijatan menguji atur cara untuk mengesan dan membetulkan ralat, serta mengenal pasti tiga jenis ralat (ms. 7).
[1 markmarkah] (d)Pengatur cara menyediakan dokumen pustaka dan panduan pengguna.
Show answerTunjuk jawapanHide answerSembunyi jawapan
Dokumentasi
Dokumen pustaka dan panduan pengguna ialah dokumentasi luaran yang disediakan dalam fasa dokumentasi (Jadual 1.6, ms. 13).
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 1, standard 1.1.1
TextbookBuku teks p.ms. 2
12

QuestionSoalan 12

Kod Python berikut ditulis dalam fasa pengekodan untuk mengira luas sebuah segi tiga.
1tapak = float(input("Masukkan tapak: "))
2tinggi = float(input("Masukkan tinggi: "))
3luas = 0.5 * tapak * tinggi
4print("Luas segi tiga ialah", luas)
Penulisan kod arahan terbahagi kepada tiga bahagian.
[3 marksmarkah] (a)Nyatakan bahagian bagi (i) baris 1 dan baris 2, (ii) baris 3, (iii) baris 4.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
(i) input; (ii) proses; (iii) output.
Kod input meminta pengguna memasukkan tapak dan tinggi, kod proses mengira luas dan kod output memaparkan hasilnya (Rajah 1.8, ms. 7).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Teknik pemikiran komputasional yang membahagikan masalah menulis kod kepada bahagian-bahagian kecil (pengisytiharan pemboleh ubah dan pemalar, input, proses, output) ialah

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Leraian
Teknik leraian memecahkan masalah besar kepada bahagian-bahagian kecil, misalnya menulis kod bagi input, proses dan output (Rajah 1.7, ms. 6).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, Bab 1, standard 1.1.1
TextbookBuku teks p.ms. 7
13

QuestionSoalan 13

Atur cara berikut mengira purata tiga markah. Atur cara itu mengandungi tiga ralat, iaitu satu ralat sintaks, satu ralat masa larian dan satu ralat logik, setiap satu pada baris yang berlainan.
1# Atur cara mengira purata tiga markah
2m1 = float(input("Markah 1: ")
3m2 = float(input("Markah 2: "))
4m3 = float(input("Markah 3: "))
5purata = m1 + m2 + m3 / 3
6print("Purata ialah", Purata)
[3 marksmarkah] (a)Nyatakan nombor baris dan jenis ralat bagi ketiga-tiga ralat itu.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Baris 2 ralat sintaks; baris 5 ralat logik; baris 6 ralat masa larian.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Ralat baris 2 dibaiki. Atur cara dilaksanakan dan pengguna memasukkan 60, 75 dan 90. Apakah yang berlaku?

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Atur cara terhenti pada baris 6 dengan NameError; purata tidak dipaparkan.
Ralat masa larian menghentikan atur cara secara tiba-tiba dan mesej ralat menyatakan baris ralat (Jadual 1.2, ms. 8). Jika baris 6 dibaiki kepada purata, output ialah 165.0 (60 + 75 + 90 / 3 = 60 + 75 + 30), iaitu ralat logik. Kod yang betul (m1 + m2 + m3) / 3 memberi 75.0 (Jadual 1.5, ms. 11).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: AnalysingMenganalisis, mediumsederhana difficultyaras mediumsederhana, Bab 1, standard 1.1.1
TextbookBuku teks p.ms. 9
14

QuestionSoalan 14

Dian menerima teks sifer JASTAALMEIAGAKR daripada rakannya. Kaedah sifer ialah Rail Fence Cipher dengan kunci = 3. Rajah 1 menunjukkan jadual tiga baris dengan petak zig-zag yang ditandakan –. Ruang antara perkataan diabaikan semasa penyulitan.
Jadual Rail Fence Cipher dengan tiga baris dan 15 lajur; petak zig-zag yang ditandakan dengan tanda tolak ialah baris 1 lajur 1, 5, 9 dan 13, baris 2 lajur 2, 4, 6, 8, 10, 12 dan 14, serta baris 3 lajur 3, 7, 11 dan 15
Rajah 1
[1 markmarkah] (a)Berapakah bilangan lajur dalam jadual itu?

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
15 (bilangan abjad dalam teks sifer)
Tick each point you got.Tandakan setiap isi yang betul.
[2 marksmarkah] (b)Isi petak yang ditandakan baris demi baris dengan huruf teks sifer, kemudian tulis mesej yang dinyahsulit.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
JAGA ALAM SEKITAR
Petak bertanda dalam baris 1 ialah 4, baris 2 ialah 7 dan baris 3 ialah 4. Isi JAST, AALMEIA dan GAKR; baca mengikut zig-zag: J A G A A L A M S E K I T A R (Contoh 2.5, ms. 43 dan 44).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Nyatakan satu kelemahan Rail Fence Cipher.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Abjad dalam teks sifer sama dengan abjad dalam teks biasa.
Kelemahan Rail Fence Cipher ialah abjad dalam teks sifer terdiri daripada abjad dalam teks biasa (ms. 47).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, mediumsederhana difficultyaras mediumsederhana, Bab 2, standard 2.1.3
TextbookBuku teks p.ms. 43
15

QuestionSoalan 15

Hasan menyulitkan mesej RAPAT KELAB dengan Caesar Cipher menggunakan kunci K = 6. Susunan abjad teks sifer bermula dengan U, iaitu A menjadi U, B menjadi V, C menjadi W dan seterusnya (anjakan enam abjad).
[2 marksmarkah] (a)Tulis teks sifer bagi mesej itu.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
LUJUN EYFUV
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Caesar Cipher ialah sifer kunci simetri. Terangkan maksud kunci simetri.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Kunci yang sama digunakan bagi penyulitan dan nyahsulit.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Seorang penceroboh tidak mengetahui nilai K. Nyatakan cara dia boleh meramal kunci itu.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Kaedah cuba-jaya
Kelemahan Caesar Cipher ialah kaedah cuba-jaya boleh digunakan untuk meramal nilai kunci (ms. 47). Nyahsulit semakan: L + 6 = R, U + 6 = A, J + 6 = P, N + 6 = T.
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 2, standard 2.1.3
TextbookBuku teks p.ms. 36
16

QuestionSoalan 16

Rajah 2 menunjukkan mesej TERIMA KASIH yang disulitkan dan dinyahsulit dengan Reverse cipher (songsangan dilakukan berdasarkan seluruh mesej).
Rajah proses: teks TERIMA KASIH (P) melalui proses Q menjadi teks HISAK AMIRET (R); teks R melalui proses S menjadi teks P semula
Rajah 2
[2 marksmarkah] (a)Namakan teks P dan teks R.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
P teks biasa; R teks sifer.
Tick each point you got.Tandakan setiap isi yang betul.
[2 marksmarkah] (b)Namakan proses Q dan proses S.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Q penyulitan; S nyahsulit.
Penyulitan menukar teks biasa kepada teks sifer yang tidak bermakna; nyahsulit mengembalikan teks sifer kepada teks biasa (Rajah 2.3 dan 2.4, ms. 33). Songsangan seluruh mesej TERIMA KASIH menghasilkan HISAK AMIRET (Jadual 2.1, ms. 35).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, Bab 2, standard 2.1.2
TextbookBuku teks p.ms. 33
17

QuestionSoalan 17

Wani menulis pseudokod linear search untuk mencari markah kuiz 18 dalam senarai markah lapan orang murid. Dia menjejak nilai i dan L[i] pada setiap langkah. Apabila pseudokod itu dilaksanakan, item pertama (14) disemak berulang kali tanpa henti dan tiada hasil dipaparkan. Pseudokod itu mengandungi dua ralat.
1Mula
2Setkan senarai L = [14, 9, 21, 5, 18, 30, 12, 25]
3Isytihar pemboleh ubah i, n, T
4Setkan i = 0
5Setkan n = 8
6for i < n
7    Jika L[i] == T
8        Papar "Item ada dalam senarai"
9        Keluar gelung
10    Jika tidak
11        Ulang Langkah 6
12    Tamat jika
13Tamat
[2 marksmarkah] (a)Kenal pasti dua ralat dalam pseudokod itu.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Tiada langkah Masukkan satu nilai carian T; dan tiada Kira i = i + 1 dalam bahagian Jika tidak.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Namakan teknik semakan yang digunakan oleh Wani.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Semakan langkah demi langkah
Menjejak nilai pemboleh ubah pada setiap langkah ialah semakan langkah demi langkah; semakan meja ialah teknik semakan yang lain (ms. 90).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Selepas kedua-dua ralat dibaiki dan T = 18, berapakah bilangan semakan L[i] == T sehingga 18 dijumpai?

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
5
18 berada pada indeks 4, maka i = 0, 1, 2, 3 dan 4 disemak: 14, 9, 21, 5 dan 18. Jumlah semakan ialah 5 (ms. 91 dan 93).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: AnalysingMenganalisis, hightinggi difficultyaras hightinggi, Bab 3, standard 3.1.4
TextbookBuku teks p.ms. 90
18

QuestionSoalan 18

Rajah 3 menunjukkan Design View jadual AHLI_KELAB dalam Microsoft Access. Pilih jenis data yang paling sesuai bagi medan P, Q, R dan S. Setiap jenis data digunakan sekali sahaja.
Design View jadual AHLI_KELAB: ID_Ahli (P), Nama (Q), Tarikh_Daftar (R) dan Catatan (S) dengan penerangan setiap medan
Rajah 3
[1 markmarkah] (a)P (medan ID_Ahli)
Show answerTunjuk jawapanHide answerSembunyi jawapan
AutoNumber
AutoNumber menjana pembilang secara automatik dalam susunan menaik (Jadual 4.4, ms. 131).
[1 markmarkah] (b)Q (medan Nama)
Show answerTunjuk jawapanHide answerSembunyi jawapan
Short Text
Text/Short Text mempunyai panjang yang terhad kepada maksimum 255 aksara (ms. 131).
[1 markmarkah] (c)R (medan Tarikh_Daftar)
Show answerTunjuk jawapanHide answerSembunyi jawapan
Date/Time
Date/Time menyimpan nilai tarikh dan masa (ms. 131).
[1 markmarkah] (d)S (medan Catatan)
Show answerTunjuk jawapanHide answerSembunyi jawapan
Long Text
Memo/Long Text boleh menyimpan teks sehingga satu Gigabait. Number hanya menyimpan nilai angka dan tidak digunakan dalam rajah ini (ms. 131).
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, Bab 4, standard 4.1.5
TextbookBuku teks p.ms. 131
19

QuestionSoalan 19

Koperasi sekolah mahu membina pangkalan data SisKop untuk merekod barang jualan. Lima langkah membina pangkalan data ditulis tidak mengikut urutan.
V  Tentukan atribut yang diperlukan
W  Hasilkan pangkalan data (jadual, borang, pertanyaan dan laporan)
X  Tentukan entiti yang diperlukan
Y  Tentukan tujuan pembinaan pangkalan data
Z  Tentukan hubungan dan kekardinalan
Jadual 2 ialah jadual BARANG dalam pangkalan data itu.
Kod_BarangNama_BarangHargaStok
B01PENSEL0.80120
B02BUKU LATIHAN2.5080
B03PEMADAM0.5060
B04PENGGARIS1.5045
B05KALKULATOR15.0012
[2 marksmarkah] (a)Tulis huruf langkah mengikut urutan yang betul.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Y, X, V, Z, W
Rajah 4.15 (ms. 128): langkah 1 tujuan, langkah 2 entiti, langkah 3 atribut, langkah 4 hubungan dan kekardinalan, langkah 5 menghasilkan pangkalan data.
Tick each point you got.Tandakan setiap isi yang betul.
[2 marksmarkah] (b)Tulis pernyataan SQL untuk memaparkan Nama_Barang dan Harga bagi barang yang harganya kurang daripada 2.00.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
SELECT Nama_Barang, Harga
FROM BARANG
WHERE Harga < 2.00;
Pernyataan SELECT...WHERE hanya mencapai data yang memenuhi sesuatu kriteria (Jadual 4.7, ms. 152). Output: PENSEL 0.80, PEMADAM 0.50 dan PENGGARIS 1.50. Terima huruf kecil, kerana SQL tidak sensitif huruf (ms. 117).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 4, standard 4.1.5, 4.1.7
TextbookBuku teks p.ms. 128
20

QuestionSoalan 20

Atur cara berikut mengandungi satu function dan satu procedure.
1def semak_lulus(markah):
2    if markah >= 40:
3        return "Lulus"
4    else:
5        return "Gagal"
6def papar_keputusan(nama, markah):
7    print(nama, ":", semak_lulus(markah))
8papar_keputusan("Hana", 52)
9papar_keputusan("Zack", 38)
[2 marksmarkah] (a)Tulis output atur cara itu.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
Hana : Lulus
Zack : Gagal
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Namakan function dan procedure dalam atur cara itu. Beri satu sebab bagi function itu.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Function: semak_lulus (memulangkan nilai dengan return). Procedure: papar_keputusan (hanya memaparkan).
Function memulangkan satu atau beberapa nilai, manakala procedure tidak memulangkan sebarang nilai kecuali nilai lalai None dalam Python (Rajah 4.44, ms. 168 dan 169).
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Namakan satu built-in function dalam atur cara itu.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
print
print ialah built-in function output yang sedia ada dalam Python (ms. 170).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, Bab 4, standard 4.2.1
TextbookBuku teks p.ms. 169

Bahagian C

20 marksmarkah
Jawab semua soalan. Tulis jawapan anda di ruang yang disediakan.
21

QuestionSoalan 21

Cikgu Rizal merekod bilangan lompat tali dalam satu minit bagi enam orang murid: 34, 41, 38, 45, 29 dan 47. Beliau mengisih senarai itu dalam urutan menurun menggunakan bubble sort. Rajah 4 ialah carta alir bubble sort itu. Tiga simbol keputusan ditandakan P, Q dan R, dan teks di dalamnya tidak ditulis.
Carta alir bubble sort menurun: senarai L = [34, 41, 38, 45, 29, 47], n = 6, i = 0, temp = 0; tiga simbol keputusan kosong bertanda P (gelung luar), Q (gelung dalam) dan R (perbandingan dua item bersebelahan); petak pertukaran dengan temp; papar senarai dan TAMAT
Rajah 4
[3 marksmarkah] (a)Tulis syarat bagi simbol keputusan P, Q dan R.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
P: i < n - 1? Q: j < n - i - 1? R: L[j] < L[j+1]?
Pseudokod bubble sort: for i < n - 1, for j < n - i - 1 (Rajah 3.10 dan 3.11, ms. 83 dan 84). Bagi isihan menurun, kedua-dua item bertukar jika nilai item pertama lebih kecil daripada item kedua (ms. 69). Syarat R yang menggunakan L[j] > L[j+1] ialah isihan menaik.
Tick each point you got.Tandakan setiap isi yang betul.
[2 marksmarkah] (b)Tulis senarai L selepas lelaran pertama dan selepas lelaran kedua.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Lelaran 1: 41, 38, 45, 34, 47, 29. Lelaran 2: 41, 45, 38, 47, 34, 29.
Lelaran 1: 34 < 41 tukar (41, 34, 38, 45, 29, 47); 34 < 38 tukar (41, 38, 34, 45, 29, 47); 34 < 45 tukar (41, 38, 45, 34, 29, 47); 34 > 29 kekal; 29 < 47 tukar (41, 38, 45, 34, 47, 29). Lelaran 2 (empat perbandingan): 41 > 38 kekal; 38 < 45 tukar; 38 < 34 tidak, kekal; 34 < 47 tukar; menghasilkan 41, 45, 38, 47, 34, 29.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (c)Tulis senarai L selepas isihan selesai.

Auto-checked: type a short answerSemakan automatik: taip jawapan pendek

Show answerTunjuk jawapanHide answerSembunyi jawapan
47, 45, 41, 38, 34, 29
Terdapat 5 lelaran dan 10 pertukaran kedudukan semuanya.
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (d)Nyatakan fungsi pemboleh ubah temp dalam carta alir itu.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Menyimpan data secara sementara semasa menukar kedudukan dua item.
Tick each point you got.Tandakan setiap isi yang betul.
[3 marksmarkah] (e)Pengetua mahu mengisih senarai bilangan lompat tali 240 orang murid. Namakan teknik isihan yang lebih sesuai daripada bubble sort, beri satu sebab, dan nyatakan satu teknik yang boleh mengisih item dalam setiap baldi.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Bucket sort, kerana sesuai bagi senarai yang mempunyai banyak item; item dalam setiap baldi diisih dengan bubble sort.
Rajah 3.1 (ms. 72): linear search dan bubble sort sesuai bagi senarai yang mempunyai item yang sedikit; binary search dan bucket sort sesuai bagi senarai yang mempunyai item yang banyak. Item dalam setiap baldi diisih menggunakan bubble sort atau jenis isihan lain yang sesuai (ms. 86 dan 87).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: AnalysingMenganalisis, hightinggi difficultyaras hightinggi, Bab 3, standard 3.1.3
TextbookBuku teks p.ms. 84
22

QuestionSoalan 22

SMK Seri Pelangi memerlukan atur cara Python untuk memaparkan slip keputusan seorang murid. Atur cara menerima nama murid dan markah empat mata pelajaran, kemudian memaparkan nama, jumlah markah dan gred. Gred ditentukan oleh purata markah: 80 atau lebih ialah A, 60 hingga kurang daripada 80 ialah B, dan kurang daripada 60 ialah C.
Contoh: nama Aina dengan markah 78, 85, 64 dan 90 memaparkan:
Nama: Aina
Jumlah: 317.0
Gred: B
[2 marksmarkah] (a)Atur cara itu menggunakan built-in function sum() dan user-defined function gred(). Nyatakan dua perbezaan antara built-in function dengan user-defined function.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
Built-in function sedia ada dalam bahasa Python manakala user-defined function ditulis oleh pengatur cara; nama dan kod sumber built-in function tidak boleh diubah tetapi user-defined function boleh diubah.
Rajah 4.51 (ms. 174) dan penerangan built-in function dan user-defined function (ms. 170 dan 172).
Tick each point you got.Tandakan setiap isi yang betul.
[8 marksmarkah] (b)Tulis atur cara Python yang lengkap dengan:
(i) user-defined function gred(purata) yang memulangkan A, B atau C;
(ii) procedure papar_slip(nama, jumlah, gred_murid) yang memaparkan tiga baris seperti contoh;
(iii) atur cara utama yang membaca nama dan empat markah (float), menggunakan sum() untuk mengira jumlah, mengira purata, memanggil function dan procedure itu.

You mark this one: open Show answerAnda tanda sendiri: buka Tunjuk jawapan

Show answerTunjuk jawapanHide answerSembunyi jawapan
def gred(purata):
    if purata >= 80:
        return "A"
    elif purata >= 60:
        return "B"
    else:
        return "C"

def papar_slip(nama, jumlah, gred_murid):
    print("Nama:", nama)
    print("Jumlah:", jumlah)
    print("Gred:", gred_murid)

nama = input("Nama murid: ")
markah = []
for i in range(4):
    markah.append(float(input("Markah: ")))
jumlah = sum(markah)
purata = jumlah / 4
gred_murid = gred(purata)
papar_slip(nama, jumlah, gred_murid)
Terima mana-mana atur cara yang betul dan setara: empat pemboleh ubah markah, if bersarang. Nama function dan procedure mesti seperti dalam soalan. Semakan: 78 + 85 + 64 + 90 = 317.0; purata 317.0 / 4 = 79.25, kurang daripada 80 tetapi lebih daripada 60, maka gred B (Contoh 4.9 dan 4.10, ms. 172 dan 173).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: CreatingMencipta, mediumsederhana difficultyaras mediumsederhana, Bab 4, standard 4.2.2, 4.2.4
TextbookBuku teks p.ms. 174
Test specification (JSU)Jadual Spesifikasi Ujian (JSU)
BabRememberingMengingatUnderstandingMemahamiApplyingMengaplikasiAnalysingMenganalisisEvaluatingMenilaiCreatingMenciptaItemmarksmarkah
1. Konsep asas pemikiran komputasional2 (5)2 (5)1 (1)1 (4)––615
2. Perwakilan data1 (4)1 (1)2 (8)–––413
3. Algoritma1 (1)1 (1)1 (1)2 (14)––517
4. Kod arahan1 (1)1 (4)3 (9)1 (1)–1 (10)725
TotalJumlah5 (11)5 (11)7 (19)4 (19)0 (0)1 (10)2270
Each cell shows items (marks).Setiap petak menunjukkan item (markah).