myUASARevision for UASAUlang kaji UASA
Asas Sains Komputer questionssoalan, bab 4

Kod arahan

34 marksmarkah. Soalan ini merangkumi semua subtopik 4.1 (pangkalan data dan SQL) dan 4.2 (function dan procedure). Guna mod Latihan untuk menyemak setiap jawapan, atau mod Peperiksaan untuk menjawab semua soalan dahulu. Sediakan sehelai kertas kosong dan pensel untuk soalan kod arahan.

Bahagian A: soalan objektif

10 marksmarkah
Jawab semua soalan. Pilih satu jawapan yang betul bagi setiap soalan.
1

QuestionSoalan 1

Apakah maksud pangkalan data?
Show answerTunjuk jawapanHide answerSembunyi jawapan
B
Pangkalan data ialah tempat pengumpulan dan penyimpanan data secara berpusat; datanya saling berhubung dan tidak diulang tanpa sebab (ms. 114). A ialah maksud data, C ialah SQL dan D tidak ada kaitan dengan pangkalan data.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, standard 4.1.1
TextbookBuku teks p.ms. 114
2

QuestionSoalan 2

Dalam sebuah permainan, satu subtugas hanya memaparkan tetingkap profil pemain setiap kali butang profil diklik. Subtugas ini tidak memulangkan sebarang nilai. Struktur kod arahan yang paling sesuai ialah
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
Procedure sesuai bagi tugas yang dilaksanakan berulang kali apabila diperlukan tanpa pemulangan nilai, seperti butang profil dalam permainan (ms. 168). Function digunakan apabila nilai perlu dipulangkan, contohnya baki dana.
For the teacherUntuk guru: ApplyingMengaplikasi, mediumsederhana difficultyaras mediumsederhana, standard 4.2.1
TextbookBuku teks p.ms. 168
3

QuestionSoalan 3

Dalam Microsoft Access, cara yang paling mudah untuk menjana laporan berdasarkan jadual atau pertanyaan (query) ialah menggunakan
Show answerTunjuk jawapanHide answerSembunyi jawapan
D
Report Wizard membimbing pengguna memilih jadual atau query, medan, isihan dan susun atur laporan (Rajah 4.40, ms. 161 hingga 163). Form Wizard menghasilkan borang.
For the teacherUntuk guru: RememberingMengingat, lowrendah difficultyaras lowrendah, standard 4.1.9
TextbookBuku teks p.ms. 161
4

QuestionSoalan 4

Antara jenis data dalam Microsoft Access, yang manakah paling sesuai bagi atribut Tarikh_Pinjaman dalam jadual BUKU?
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
Date/Time menyimpan nilai tarikh dan masa (Jadual 4.4, ms. 131). AutoNumber ialah pembilang automatik, Text terhad kepada 255 aksara dan Memo menyimpan teks yang panjang.
For the teacherUntuk guru: ApplyingMengaplikasi, lowrendah difficultyaras lowrendah, standard 4.1.5
TextbookBuku teks p.ms. 131
5

QuestionSoalan 5

Mengapakah borang (form) digunakan dalam sistem pangkalan data?
Show answerTunjuk jawapanHide answerSembunyi jawapan
B
Borang berfungsi sebagai antara muka pengguna yang interaktif untuk memasukkan dan mengubah suai data (ms. 140). A ialah fungsi jadual dan D dilakukan oleh ORDER BY.
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, standard 4.1.6
TextbookBuku teks p.ms. 140
6

QuestionSoalan 6

Jadual PELANGGAN dan jadual TEMPAHAN dalam pangkalan data sebuah kedai kek ditunjukkan di bawah.
PELANGGAN
ID_PelangganNamaNo_Telefon
C01Aminah012-3456789
C02Bala013-9876543
TEMPAHAN
ID_TempahanID_PelangganTarikh
T101C015/3/2026
T102C026/3/2026
T103C019/3/2026
Manakah atribut yang ialah kekunci asing dalam jadual TEMPAHAN?
Show answerTunjuk jawapanHide answerSembunyi jawapan
C
ID_Pelanggan ialah kekunci primer dalam jadual PELANGGAN dan muncul dalam jadual TEMPAHAN untuk mengaitkan dua jadual itu, jadi ia kekunci asing. ID_Tempahan ialah kekunci primer TEMPAHAN (ms. 121).
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, standard 4.1.3
TextbookBuku teks p.ms. 121
7

QuestionSoalan 7

Apakah output kod Python berikut apabila dilaksanakan?
def sapa(nama):
    print("Hai", nama)

x = sapa("Dina")
print(x)
Show answerTunjuk jawapanHide answerSembunyi jawapan
B
sapa() hanya memaparkan mesej dan tidak mempunyai pernyataan return, jadi ia memulangkan nilai lalai None. print(x) memaparkan None. Output: Hai Dina, kemudian None (ms. 168 dan 169).
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, standard 4.2.1
TextbookBuku teks p.ms. 169
8

QuestionSoalan 8

Jadual KELAB menyimpan data ahli sebuah kelab.
ID_AhliNama_AhliJantinaKaum
K01HanaPEREMPUANMELAYU
K02RaviLELAKIINDIA
K03Wei JieLELAKICINA
K04SitiPEREMPUANMELAYU
K05AmarLELAKIMELAYU
K06Mei LingPEREMPUANCINA
K07KavitaPEREMPUANINDIA
K08DanielLELAKIKADAZAN
Berapakah bilangan baris yang dipaparkan oleh pernyataan SQL berikut?
SELECT Nama_Ahli
FROM KELAB
WHERE Jantina = "PEREMPUAN" AND Kaum = "MELAYU";
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
AND memerlukan kedua-dua kriteria benar. Hanya K01 (Hana) dan K04 (Siti) ialah PEREMPUAN dan MELAYU, jadi 2 baris (ms. 159).
For the teacherUntuk guru: ApplyingMengaplikasi, mediumsederhana difficultyaras mediumsederhana, standard 4.1.8
TextbookBuku teks p.ms. 159
9

QuestionSoalan 9

Apakah output kod Python berikut?
def gandaan(n):
    return n * 3

def tambah(n):
    return n + 1

print(gandaan(tambah(4)))
Show answerTunjuk jawapanHide answerSembunyi jawapan
D
Function di dalam dilaksanakan dahulu: tambah(4) memulangkan 5. Kemudian gandaan(5) memulangkan 5 × 3 = 15.
For the teacherUntuk guru: ApplyingMengaplikasi, mediumsederhana difficultyaras mediumsederhana, standard 4.2.3
TextbookBuku teks p.ms. 176
10

QuestionSoalan 10

Seorang murid menulis function untuk mengira purata tiga nombor.
def purata(a, b, c):
    return a + b + c / 3

print(purata(3, 6, 9))
Atur cara ini berjalan tanpa mesej ralat tetapi memaparkan 12.0, bukan 6.0. Apakah jenis ralat ini?
Show answerTunjuk jawapanHide answerSembunyi jawapan
A
Atur cara tidak terhenti dan tiada mesej ralat, tetapi outputnya salah. Ini ralat logik (ms. 197). Operator / dilaksanakan dahulu: 3 + 6 + (9 / 3) = 12.0. Pembaikan: return (a + b + c) / 3, iaitu 18 / 3 = 6.0.
For the teacherUntuk guru: AnalysingMenganalisis, hightinggi difficultyaras hightinggi, standard 4.2.5
TextbookBuku teks p.ms. 197

Bahagian B: soalan berstruktur (pangkalan data dan SQL)

12 marksmarkah
Jawab semua soalan.
11

QuestionSoalan 11

Rajah 1 ialah gambar rajah perhubungan entiti (ERD) bagi sebuah klinik.
ERD: segi empat DOKTOR dengan atribut ID_Doktor, rombus merawat dengan 1 di sebelah DOKTOR dan M di sebelah PESAKIT, segi empat PESAKIT dengan atribut Nama_Pesakit; simbol P ialah segi empat DOKTOR, Q ialah bulatan bujur Nama_Pesakit, R ialah rombus
Rajah 1
[1 markmarkah] (a)Simbol P mewakili
Show answerTunjuk jawapanHide answerSembunyi jawapan
Entiti
[1 markmarkah] (b)Simbol Q mewakili
Show answerTunjuk jawapanHide answerSembunyi jawapan
Atribut
[1 markmarkah] (c)Apakah jenis kekardinalan bagi hubungan R antara DOKTOR dengan PESAKIT?
Show answerTunjuk jawapanHide answerSembunyi jawapan
one to many (1:M)
P ialah segi empat, simbol entiti (DOKTOR). Q ialah bulatan bujur, simbol atribut (Nama_Pesakit). R ialah rombus, simbol hubungan (merawat). Angka 1 dan M menunjukkan seorang doktor merawat ramai pesakit: one to many (1:M) (ms. 118 dan 124).
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, standard 4.1.2, 4.1.4
TextbookBuku teks p.ms. 118
12

QuestionSoalan 12

Jadual PRODUK menyimpan data barang yang dijual di kantin sekolah.
KodNama_ProdukKategoriHarga (RM)Stok
P01Roti CanaiMAKANAN1.5040
P02Teh TarikMINUMAN2.2025
P03Nasi LemakMAKANAN3.0018
P04Air MineralMINUMAN1.0060
P05Kuih KaripapMAKANAN0.8035
P06Jus OrenMINUMAN3.5012
P07Mi GorengMAKANAN4.5020
Pernyataan SQL berikut dilaksanakan pada jadual PRODUK.
SELECT Nama_Produk, Harga
FROM PRODUK
WHERE Kategori = "MINUMAN" OR Harga < 2.00
ORDER BY Harga DESC;
[3 marksmarkah] Tulis output pertanyaan itu: nama produk dan harganya, mengikut susunan paparan.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Jus Oren 3.50; Teh Tarik 2.20; Roti Canai 1.50; Air Mineral 1.00; Kuih Karipap 0.80
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, mediumsederhana difficultyaras mediumsederhana, standard 4.1.7, 4.1.8
TextbookBuku teks p.ms. 152
13

QuestionSoalan 13

Gunakan jadual PRODUK dalam soalan sebelum ini. Anda ingin memaparkan nama produk dan stok bagi semua produk MAKANAN sahaja, dengan stok disusun daripada paling sedikit ke paling banyak.
Nama_ProdukStok
Nasi Lemak18
Mi Goreng20
Kuih Karipap35
Roti Canai40
[3 marksmarkah] Tulis pernyataan SQL yang menghasilkan paparan di atas.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
SELECT Nama_Produk, Stok
FROM PRODUK
WHERE Kategori = "MAKANAN"
ORDER BY Stok ASC;
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: CreatingMencipta, hightinggi difficultyaras hightinggi, standard 4.1.7
TextbookBuku teks p.ms. 153
14

QuestionSoalan 14

Dewi menulis pernyataan SQL berikut untuk memaparkan nama dan harga produk MINUMAN, disusun menaik mengikut harga. Pernyataan itu mengandungi ralat sintaks.
1SELECT Nama_Produk Harga
2FROM PRODUK
3ORDER BY Harga ASC
4WHERE Kategori = MINUMAN;
[3 marksmarkah] Kenal pasti tiga ralat dalam pernyataan itu dan baiki setiap satu.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
SELECT Nama_Produk, Harga
FROM PRODUK
WHERE Kategori = "MINUMAN"
ORDER BY Harga ASC;
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: EvaluatingMenilai, mediumsederhana difficultyaras mediumsederhana, standard 4.1.7
TextbookBuku teks p.ms. 152

Bahagian C: kod arahan (function dan procedure)

12 marksmarkah
Jawab semua soalan. Tulis kod dengan inden yang betul.
15

QuestionSoalan 15

Kod Python berikut mengandungi built-in function dan user-defined function.
1def luas(p, l):
2    return p * l
3
4markah = [4, 7, 9]
5print(sum(markah), luas(3, 5))
[1 markmarkah] (a)Namakan satu built-in function dalam kod itu.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Namakan user-defined function dalam kod itu.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
print() dan sum() sedia ada dalam Python. luas() ditakrifkan sendiri dengan kata kunci def (ms. 170 hingga 172).
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: UnderstandingMemahami, lowrendah difficultyaras lowrendah, standard 4.2.2
TextbookBuku teks p.ms. 170
16

QuestionSoalan 16

Tulis kod Python untuk user-defined function bernama luas_segitiga yang menerima tapak dan tinggi, kemudian memulangkan luas segi tiga (setengah × tapak × tinggi). Seterusnya, tulis satu baris yang memaparkan hasil panggilan function itu dengan tapak 10 dan tinggi 6.
[2 marksmarkah] Tulis kod anda.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
def luas_segitiga(tapak, tinggi):
    return 0.5 * tapak * tinggi

print(luas_segitiga(10, 6))
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: ApplyingMengaplikasi, mediumsederhana difficultyaras mediumsederhana, standard 4.2.3
TextbookBuku teks p.ms. 176
17

QuestionSoalan 17

Surih atur cara Python berikut.
 1def gandakan(n):
 2    return n * 2
 3
 4def cetak_baris(simbol, bil):
 5    print(simbol * bil)
 6
 7jumlah = 0
 8for i in range(1, 4):
 9    jumlah = jumlah + gandakan(i)
10    cetak_baris("*", i)
11print("Jumlah =", jumlah)
[2 marksmarkah] (a)Tulis output atur cara itu.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
*
**
***
Jumlah = 12
Tick each point you got.Tandakan setiap isi yang betul.
[1 markmarkah] (b)Namakan procedure dalam atur cara itu.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: AnalysingMenganalisis, hightinggi difficultyaras hightinggi, standard 4.2.4
TextbookBuku teks p.ms. 182
18

QuestionSoalan 18

Atur cara berikut ditulis untuk membahagikan dua nombor.
1def bahagi(a, b)
2    return a / b
3
4x = int(input("Nombor pertama: "))
5y = int(input("Nombor kedua: "))
6print("Hasil =", bahagi(x, y))
[1 markmarkah] Atur cara tidak boleh dilaksanakan dan penterjemah memaparkan SyntaxError. Nyatakan ralat pada baris 1 dan cara membaikinya.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: EvaluatingMenilai, mediumsederhana difficultyaras mediumsederhana, standard 4.2.5
TextbookBuku teks p.ms. 190
19

QuestionSoalan 19

Sebuah kedai buku mahu atur cara untuk mengira jumlah bayaran. Tulis atur cara Python yang mengandungi:
(i) function jumlah_harga(harga, kuantiti) yang memulangkan harga × kuantiti;
(ii) procedure papar_resit(nama, jumlah) yang memaparkan ucapan terima kasih dan jumlah bayaran, tanpa memulangkan nilai;
(iii) atur cara utama yang meminta nama (teks), harga (nombor perpuluhan) dan kuantiti (integer), kemudian memanggil function dan procedure itu.
Contoh output (data masukan: Aina, 12.50, 3):
Terima kasih, Aina
Jumlah: RM 37.50
[4 marksmarkah] Tulis atur cara lengkap anda.

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

Show answerTunjuk jawapanHide answerSembunyi jawapan
def jumlah_harga(harga, kuantiti):
    return harga * kuantiti

def papar_resit(nama, jumlah):
    print("Terima kasih,", nama)
    print("Jumlah: RM", format(jumlah, ".2f"))

nama = input("Nama: ")
harga = float(input("Harga: "))
kuantiti = int(input("Kuantiti: "))
jum = jumlah_harga(harga, kuantiti)
papar_resit(nama, jum)
Tick each point you got.Tandakan setiap isi yang betul.
For the teacherUntuk guru: CreatingMencipta, hightinggi difficultyaras hightinggi, standard 4.2.6
TextbookBuku teks p.ms. 200