The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Pan Asia Publications Sdn. Bhd., 2024-03-13 02:43:27

1202 Bank Soalan Asas Sains Komputer Tingkatan 2 KSSM

Sem. Malaysia: RM9.95
Sabah/Sarawak: RM10.50

Keywords: 1202 Bank Soalan Asas Sains Komputer Tingkatan 2 KSSM,1202 Bank Soalan Asas Sains Komputer Tingkatan 2,Asas Sains Komputer Tingkatan 2 KSSM,Asas Sains Komputer Tingkatan 2,Asas Sains Komputer,Tingkatan 2 KSSM,Tingkatan 2,Bank Soalan

Mesti Tahu iii – vi Bab 1 Perwakilan Data 1 – 21 NOTA 1 Bahagian A 9 Bahagian B 12 Bahagian C 18 Bab 2 Algoritma 22 – 38 NOTA 22 Bahagian A 26 Bahagian B 30 Bahagian C 35 Bab 3 Kod Arahan 39 – 72 NOTA 39 Bahagian A 47 Bahagian B 51 Bahagian C 65 Pentaksiran Sumatif Ujian Akhir Sesi Akademik (UASA) 73 – 81 Jawapan 82 – 90 Kandungan ii Kandungan 1202BS ASK Tg2.indd 2 05/01/2024 6:01 PM


Definisi Penting (Bab 1) 1 © Pan Asia Publications Sdn. Bhd. Definisi Penting (Bab 3) 7 © Pan Asia Publications Sdn. Bhd. Definisi Penting (Bab 2) 3 © Pan Asia Publications Sdn. Bhd. Definisi Penting (Bab 3) 9 © Pan Asia Publications Sdn. Bhd. Definisi Penting (Bab 3) 5 © Pan Asia Publications Sdn. Bhd. Definisi Penting (Bab 3) 11 © Pan Asia Publications Sdn. Bhd. • Kod arahan ialah satu arahan yang ditulis dalam bahasa pengaturcaraan komputer untuk mengarahkan komputer melaksanakan sesuatu tugasan. Satu set kod arahan yang disebut segmen kod digunakan untuk membina satu atur cara bagi menyelesaikan masalah • Bahasa (kod) mesin (kombinasi digit 0 dan 1) ialah bahasa asas yang difahami oleh komputer. Atur cara komputer ditulis dalam pelbagai bahasa pengaturcaraan (Scratch, C++, Java, Visual Basic, Python dan lain-lain) serta perlu diterjemah terlebih dahulu kepada bahasa mesin untuk difahami oleh komputer. Komunikasi manusia dengan komputer (input) adalah melalui papan kekunci yang dipiawaikan dengan kod ASCII. • Sistem nombor perduaan juga dikenali sebagai sistem nombor asas 2 atau binari. Sistem ini menggunakan dua simbol untuk mewakili nilai 1 dan 0. Nombornya ditandakan dengan subskrip 2. • Sistem nombor perlapanan atau dikenali sebagai sistem nombor asas 8 atau oktal. Sistem ini menggunakan digit iaitu 0, 1, 2, 3, 4, 5, 6 dan 7. Nombornya ditandakan dengan subskrip 8. • Sistem nombor perpuluhan atau dikenali sebagai sistem nombor asas 10 atau desimal. Sistem ini menggunakan digit iaitu 0, 1, 2, 3, 4, 5, 6, 7, 8 dan 9. Nombornya ditandakan dengan subskrip 10. • Sistem nombor perenambelasan atau dikenali sebagai sistem nombor asas 16 atau heksadesimal. Sistem ini menggunakan digit iaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E dan F dan nombornya ditandakan dengan subskrip 16. MESTI TAHU Definisi Penting Perwakilan Data Persekitaran Kod Arahan • Integer ialah jenis data yang digunakan untuk mewakili nombor bulat. Integer terdiri daripada nombor negatif, sifar dan nombor positif. • Double ialah jenis data yang digunakan untuk mewakili nombor negatif atau positif yang bertitik perpuluhan. Ruang storan (memori) untuk double ialah 64-bit. • Char ialah jenis data yang digunakan untuk mewakili aksara terdiri daripada abjad, angka dan semua simbol pada papan kekunci. • String ialah jenis data yang digunakan untuk mewakili rentetan aksara. Python tidak mempunyai jenis data char. Ia diwakili oleh string. • Ungkapan boolean ialah ungkapan yang menghasilkan nilai Benar (1) atau Palsu (0) yang mengandungi operator perbandingan pada struktur kawalan pilihan dan struktur kawalan ulangan. Jenis Data dalam Segmen Kod • Pemboleh ubah ialah nilai yang boleh berubah selaras dengan syarat, maklumat yang diterima atur cara iaitu nilainya boleh berubah semasa pelaksanaan atur cara. Apabila pemboleh ubah diisytiharkan, satu tempat dalam storan ingatan diperuntukan untuknya. Saiz ingatan ditentukan oleh jenis data. • Pengecam (pencam) adalah satu label (nama) diskriptif yang diberi kepada pemboleh ubah. Nama pemboleh ubah harus mencerminkan kandungan atau peranannya. • Pemalar ialah sejenis pemboleh ubah khas yang nilainya kekal. Pemboleh Ubah dan Pemalar • Teknik semakan meja (desk check) dan teknik semakan langkah demi langkah (step through) adalah teknik untuk mengesan ralat logik dengan menyemak setiap langkah dalam pseudokod atau carta alir. • Teknik semakan meja ialah teknik yang memerlukan satu set sampel data untuk diinput. Setiap langkah diteliti dan output yang dijanakan akan disemak. • Teknik semakan langkah demi langkah ialah teknik yang akan memeriksa setiap langkah mengikut urutan dalam algoritma. • Pepijat ialah ralat (kesilapan) yang wujud dalam atur cara dan berpunca daripada kesalahan atau kecuaian pengatur cara. • Penyahpepijat ialah proses mencari dan menghapuskan ralat. Teknik untuk Mengesan dan Membaiki Ralat • Algoritma ialah satu siri langkah demi langkah yang tersusun dan terhingga untuk menyelesaikan sesuatu masalah sehingga menghasilkan output dan boleh diwakilkan dalam bentuk pseudokod dan carta alir. • Struktur kawalan pilihan bersarang ialah satu struktur kawalan yang terbenam dalam satu struktur kawalan lain. • Struktur kawalan ulangan ialah struktur kawalan yang sentiasa diulang sehingga suatu syarat dipenuhi. Setiap langkah disebut gelung (loop) dan setiap gelung disebut lelaran (iteration). • Ralat ialah kesilapan atau kesalahan dalam proses pembangunan atur cara segmen kod. Ralat selalu dikenal pasti dalam fasa pengujian. Pembangunan Algoritma Mesti Tahu 1202BS ASK Tg2.indd 1 11/01/2024 11:33 AM


Fakta Penting (Bab 3) 20 © Pan Asia Publications Sdn. Bhd. Fakta Penting (Bab 1) 14 © Pan Asia Publications Sdn. Bhd. Fakta Penting (Bab 3) 22 © Pan Asia Publications Sdn. Bhd. Fakta Penting (Bab 1) 16 © Pan Asia Publications Sdn. Bhd. Fakta Penting (Bab 3) 24 © Pan Asia Publications Sdn. Bhd. Fakta Penting (Bab 3) 18 © Pan Asia Publications Sdn. Bhd. Ungkapan A Ungkapan B A AND B A OR B NOT A Palsu Palsu Palsu Palsu Benar Palsu Benar Palsu Benar Benar Palsu Palsu Benar Palsu Benar Benar Benar Benar Operator matematik Nama Contoh Hasil + Tambah 7 + 2 9 - Tolak 7 - 2 5 * Darab 7 * 2 14 / Bahagi 7 / 2 3.5 % Modulus 7 % 2 1 ** Eksponen (Kuasa) 7**2 49 // Floor Division 7 // 2 3 Operator Matematik Operator Logik Alogritma: 1. Dari kanan, bahagikan digit-digit dalam nombor perduaan kepada kumpulan tiga digit. Pastikan kumpulan digit yang telah dibahagikan itu lengkap mempunyai kumpulan tiga digit. 2. Tukarkan setiap kumpulan tiga digit itu kepada nombor perlapanan yang setara dengannya. 3. Cantumkan. Contoh: Tukar 11101012 kepada nombor perlapanan. Nombor perduaan 1110101 1. Dari kanan, bahagikan kepada kumpulan tiga digit. Tambah 0 kepada kumpulan terakhir (jika perlu). 1 110 101 001 110 101 2. Tukar setiap kumpulan kepada nombor perlapanan. 1 6 5 3. Cantumkan. 165 Maka, 11101012 bersamaan dengan 1658 . Penukaran Nombor Perduaan kepada Nombor Perlapanan MESTI TAHU Fakta Penting • Struktur kawalan pilihan bersarang if <syarat1>: if <syarat2>: pernyataan2a else: pernyataan2b else: pernyataan1 • Struktur kawalan ulangan for for pemboleh_ubah gelung in [0, 1, 2, 3 dll]: • Struktur kawalan ulangan while while <ungkapan boolean> pernyataan Sintaks Python Gunakan kaedah sama seperti nombor perduaan ke nombor perlapanan. Hanya kumpulan tiga digit diganti dengan kumpulan empat digit. Contoh: Tukar 11101012 kepada nombor perenambelasan. Nombor perduaan 1110101 1. Dari kanan, bahagikan kepada kumpulan empat digit. Tambah 0 kepada kumpulan terakhir (jika perlu). 111 0101 0111 0101 2. Tukar setiap kumpulan kepada nombor perenambelasan 7 5 3. Cantumkan. 75 Maka, 11101012 bersamaan dengan 7516. Penukaran Nombor Perduaan kepada Nombor Perenambelasan Tunggal if syarat: if_pernyataan Dwipilihan if syarat: if_pernyataan else: else_pernyataan Pelbagai pilihan if syarat1 : if_pernyataan elif syarat2: pernyataan else: else_pernyataan Struktur kawalan pilihan Nota: boleh ada beberapa elif , setiap satu dengan syarat dan pernyataannya. Sintaks Python Struktur Kawalan Ulangan (i) Struktur kawalan ulangan for berlaku apabila bilangan lelaran ditetapkan lebih awal. Pseudokod Mula Baca had_atas Set bilang = 0 For (bilang < had-atas) set arahan bilang = bilang + 1 Carta alir TAMAT MULA baca had_atas set bilang = 0 bilang = bilang +1 bilang < had_atas set arahan Tidak Ya Mesti Tahu 1202BS ASK Tg2.indd 4 11/01/2024 11:33 AM


1 Bab 1 1.1 Sistem Nombor Perlapanan 1. Perbezaan antara sistem nombor perlapanan dengan sistem nombor perpuluhan ditunjukkan dalam jadual berikut. Sistem nombor perlapanan Sistem nombor perpuluhan Dikenali sebagai Sistem Asas 8 atau sistem nombor oktal. Dikenali sebagai Sistem Asas 10 atau sistem nombor desimal. Nombor ditanda dengan subskrip 8, seperti 1128 . Nombor ditanda dengan subskrip 10, seperti 7410. Lapan pilihan digit bermula daripada 0 hingga 7. Sepuluh pilihan digit bermula daripada 0 hingga 9. Nilai tempat: 1, 8, 64, 512 dan seterusnya. Nilai tempat: 1, 10, 100, 1 000 dan seterusnya. 2. Penukaran nombor perpuluhan kepada nombor perlapanan boleh dilakukan melalui kaedah bahagi dengan 8 dan gunakan bakinya. Contoh 1: Penukaran nombor perpuluhan 285010 kepada nombor perlapanan. 2850 ÷ 8 = 356 baki 2 356 ÷ 8 = 44 baki 4 44 ÷ 8 = 5 baki 4 5 ÷ 8 = 0 baki 5 Baki yang dibaca dari bawah ke atas nombor perlapanan 54428 . 3. Penukaran nombor pelapanan kepada nombor perpuluhan dapat dilakukan dengan mendarabkan digit dalam nombor perlapanan dengan nilai tempat nombor perlapanan. Contoh 2: Penukaran nombor perlapanan 66358 kepada nombor perpuluhan. 83 82 81 80 512 64 8 1 6 6 3 5 6 × 512 = 3072 6 × 64 = 384 3 × 8 = 24 5 × 1 = 5 3072 + 384 + 24 + 5 = 3485 Maka, nombor perlapanan 66358 adalah sama dengan nombor perpuluhan 348510. NOTA Perwakilan Data 4. Penukaran nombor perlapanan kepada nombor perduaan dapat dibuat berdasarkan tiga digit nombor perduaan yang bersamaan dengan satu digit nombor perlapanan. (a) Jadual menunjukkan digit-digit dalam nombor perlapanan dan perwakilannya dalam nombor perduaan. Digit-digit dalam nombor perlapanan Tiga digit nombor perduaan 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 (b) Penukaran dilakukan dengan memecahkan digit-digit dalam nombor perlapanan dan menukarkan setiap digit kepada nombor perduaan yang sepadan. Contoh 3: Penukaran nombor perlapanan 7468 kepada nombor perduaan. 7468 = 111 100 110 7 4 6 Maka, nombor perlapanan 7468 adalah sama dengan nombor perduaan 1111001102 . 5. Penggunaan nombor perlapanan adalah untuk menyingkatkan nombor perduaan yang panjang. Terdapat dua kaedah penukaran nombor perduaan kepada nombor perlapanan, iaitu: (a) Kaedah pengumpulan tiga digit nombor perduaan dan tukarkan kepada nilai perlapanan Nombor perduaan dibahagikan kepada kumpulan tiga digit. Tambahkan satu atau dua sifar di bahagian paling kiri jika diperlukan untuk membentuk kumpulan tiga digit. Kemudian, setiap kumpulan tiga digit ditukarkan kepada nombor perlapanan yang setara dengannya. B01 1202BS ASK Tg2.indd 1 15/01/2024 4:33 PM


9 TIP SOS 1.1 Sistem Nombor Perlapanan 1. Apakah nama lain bagi sistem asas nombor 8? A binari B oktal C desimal D heksadesimal 2. Apakah kaedah yang digunakan untuk menukarkan nombor perduaan kepada nombor perlapanan? A Kaedah bahagi dengan 8 dan gunakan bakinya B Kaedah pengumpulan tiga digit perduaan dan tukarkan kepada nilai perlapanan C Kaedah bahagi dengan 16 dan gunakan bakinya D Kaedah pengumpulan empat digit perduaan dan tukarkan kepada nilai perenambelasan 3. Apakah hasil yang diperoleh apabila 5078 ditukarkan kepada nombor perpuluhan? A 40710 B 54710 C 61710 D 32710 4. Rajah 1 menunjukkan suatu perkataan yang diwakili oleh nombor perlapanan. 1208 1418 1568 1418 1638 Rajah 1 Apakah perkataan tersebut? A Penat B Panas C Pahit D Patuh 5. Antara padanan berikut, yang manakah betul? I 1100100102 = 6228 II 10110102 = 1328 III 1001101012 = 4758 IV 10001102 = 568 A I dan II B II dan III C I dan IV D III dan IV BAHAGIAN A Soalan 6: Rujuk jadual digit-digit dalam nombor perlapanan dan perwakilannya dalam nombor perduaan. 6. Berapakah digit nombor perduaan yang diwakili oleh setiap digit dalam nombor perlapanan? A 2 B 3 C 4 D 5 7. Apakah kelebihan sistem nombor perlapanan? A Dapat menukarkan nombor perduaan dengan sukar B Mudah difahami oleh komputer C Dapat mewakili nombor perduaan dengan lebih pendek D Dapat mewakili nombor perduaan dengan lebih panjang 8. Apakah hasil yang diperoleh apabila 82310 ditukarkan kepada nombor perlapanan? A 14678 B 14778 C 15378 D 16478 9. Apakah kelemahan sistem nombor perlapanan? A Sangat membantu dalam dunia pengkomputeran B Tidak perlu ditukarkan kepada nombor perduaan untuk difahami oleh komputer C Sukar difahami oleh komputer kerana terlalu ringkas D Perlu ditukarkan kepada nombor perduaan terlebih dahulu sebelum difahami oleh komputer 10. Jadual 1 menunjukkan langkah pengiraan yang tidak lengkap bagi kaedah bahagi dengan lapan dan gunakan bakinya. 3092 ÷ 8 = 386 baki 4 386 ÷ 8 = 48 baki 2 Jadual 1 Apakah nombor perlapanan yang akan diperoleh? KBAT Mengaplikasi A 50248 B 60248 C 42068 D 42058 Jawab semua soalan. B01 1202BS ASK Tg2.indd 9 15/01/2024 4:33 PM


12TIP SOS30. Antara padanan berikut, yang manakah tidak betul? Nombor perduaan Nombor perenambelasan A 111101002 F416 B 1110102 3A16 C 100100102 9216 D 110011012 DC16 31. Teliti Rajah 4. C U A I Rajah 4 Apakah kod ASCII dalam nombor perenambelasan bagi perkataan CUAI? A 4216, 5516, 4116, 4916 B 4316, 5516, 4116, 4916 C 5316, 5516, 4116, 4916 D 5416, 5516, 4116, 4916 32. Rajah 5 menunjukkan perwakilan kod ASCII perpuluhan bagi suatu perkataan. Nombor perpuluhan 8010 6510 7110 7310 Rajah 5 Apakah perkataan yang diperoleh daripada perwakilan kod ASCII perpuluhan di atas? KBAT Mengaplikasi A Bagi B BAGI C Pagi D PAGI 33. Jadual 4 menunjukkan kaedah pengiraan bagi penukaran nombor perenambelasan 7FA16 kepada nombor perpuluhan. 162 161 162 Nilai tempat 256 16 1 Digit perenambelasan 7 15 10 Hasil darab Q 240 10 Hasil tambah Q + 240 + 10 = 2042 Jadual 4 Apakah nilai Q? A 7 B 107 C 1272 D 1792 BAHAGIAN B Soalan 33: Nombor perpuluhan boleh ditukarkan kepada nombor perenambelasan melalui kaedah bahagi dengan 16 dan gunakan bakinya. Jawab semua soalan. 1. Tandakan (3) pada pernyataan yang betul mengenai sistem nombor perlapanan dan tandakan (7) pada pernyataan yang salah. KBAT Menilai Pernyataan Ruang jawapan (a) Dikenali sebagai sistem nombor oktal. (b) Mempunyai sepuluh pilihan digit bermula daripada 0 hingga 9. (c) Nombor ditanda dengan subskrip 8. (d) Nilai tempatnya ialah 1, 16, 256, 4096 dan seterusnya. [4 markah] B01 1202BS ASK Tg2.indd 12 15/01/2024 4:33 PM


13 TIP SOS 2. P, Q, R dan S adalah langkah-langkah bagi kaedah bahagi dengan 16 dan gunakan bakinya. P Catat hasil bahagi dan bakinya. Q Tulis semua hasil baki dari bawah ke atas. R Nombor perpuluhan dibahagi dengan 16. S Ulang proses sehingga hasil bahagi tidak boleh dibahagi lagi. Lengkapkan langkah-langkah bagi kaedah bahagi dengan 16 dan gunakan bakinya dengan huruf yang diberi. [4 markah] 3. Berikut merupakan nombor dalam sistem nombor perlapanan. A 7428 B 3458 C 2378 D 5168 Padankan maklumat mengenai penukaran nombor perlapanan kepada nombor perpuluhan dengan menulis huruf A, B, C dan D pada ruang jawapan. KBAT Memahami Nombor perpuluhan Ruang jawapan (a) 33410 (b) 22910 (c) 48210 (d) 15910 [4 markah] 4. Tukarkan nombor perenambelasan di bawah kepada nombor perpuluhan dengan menunjukkan langkah kerja yang lengkap. 4A616 = 162 161 160 Nilai tempat Digit perenambelasan Hasil darab Hasil tambah [4 markah] Soalan 3: Nombor perlapanan dapat ditukarkan kepada nombor perpuluhan dengan digit dalam nombor perlapanan didarabkan dengan nilai tempat nombor perlapanan. B01 1202BS ASK Tg2.indd 13 15/01/2024 4:33 PM


18TIP SOSSoalan 1: Rujuk jadual ASCII. BAHAGIAN C Jawab semua soalan. 1. Ahmad ingin menghantar mesej kepada rakan baiknya, Fatin yang berada di luar negara. (a) Tuliskan mesej di bawah dalam nombor perenambelasan berdasarkan jadual ASCII. KBAT Mengaplikasi (i) “Selamat Hari Raya Aidilfitri” (ii) “Maaf Zahir Batin” [4 markah] (b) Fatin telah menerima mesej Ahmad. Fatin ingin membalas mesej Ahmad dengan menggunakan cara pengekodan yang sama. Ahmad menerima mesej dalam nombor perenambelasan. Terjemahkan mesej yang Ahmad terima kepada huruf supaya Ahmad boleh memahami mesej yang disampaikan. (i) 5316 6116 6C16 6116 6D16 2016 4C16 6516 6216 6116 7216 6116 6E16 2E16 (ii) 4D16 6F16 6816 6F16 6E16 2016 4D16 6116 6116 6616 2016 4416 6116 7216 6916 2016 4B16 6516 6A16 6116 7516 6816 6116 6E16 2E16 [4 markah] B01 1202BS ASK Tg2.indd 18 15/01/2024 4:33 PM


22 Bab 2 2.1 Pembangunan Algoritma 1. Algoritma ialah satu siri langkah untuk menyelesaikan sesuatu masalah atau menyempurnakan sesuatu tugas. Setiap langkah terdiri dari satu arahan atau tindakan yang perlu dilaksanakan. Contohnya, algoritma untuk menambah semua nombor integer dari 1 hingga 10 akan ditulis seperti berikut. Langkah Arahan/Tindakan 1 Katakan jumlah bersamaan 0 2 Ambil integer yang pertama, 1 3 Tambah integer ini kepada jumlah 4 Ambil integer yang berikut 5 Jika integer yang berikut kurang daripada atau sama dengan 10, melangkau ke Langkah 3 dan ulang. 6 Jika tidak, henti dan paparkan jumlah 2. Algoritma komputer lazimnya ditulis dalam bentuk pseudokod dan carta alir. 3. Struktur kawalan pilihan bersarang ialah struktur kawalan pilihan yang terletak dalam satu struktur kawalan yang lain. Pseudokod Jika (syarat A) Jika (syarat B) Laksanakan Arahan 2 Jika tidak Laksanakan Arahan 3 Tamat jika Jika tidak Laksanakan Arahan 4 Tamat jika Carta Alir Arahan 1 Arahan 4 Arahan 3 Arahan 2 syarat B syarat A Tidak Tidak Ya Ya struktur kawalan pilihan bersarang NOTA Algoritma 4. Penyarangan boleh dibuat sehingga banyak aras. Contoh di bawah menunjukkan penyarangan dua aras. Pseudokod Jika (syarat A) Laksanakan Arahan 2 Jika tidak Jika (syarat B) Laksanakan Arahan 3 Jika tidak Jika (syarat C) Laksanakan Arahan 4 Jika tidak Laksanakan Arahan 5 Tamat jika Tamat Jika Tamat Jika Carta Alir Arahan 1 Arahan 6 Arahan 5 Arahan 4 Arahan 3 Arahan 2 syarat C syarat B syarat A Tidak Tidak Tidak Ya Ya Ya Ya penyarangan aras 1 penyarangan aras 2 5. Berikut menunjukkan langkah-langkah mereka bentuk algoritma dengan struktur kawalan pilihan bersarang. Langkah 1: Menganalisis atau menyiasat masalah (a) Mengenal pasti masalah yang hendak diselesaikan. (b) Menentukan data input (iaitu, data yang perlu ditaip masuk melalui papan kekunci atau dibaca dari sesuatu fail). B02 1202BS ASK Tg2.indd 22 15/01/2024 4:41 PM


26TIP SOS2.1 Pembangunan Algoritma 1. Langkah atau fasa pertama dalam mereka bentuk algoritma adalah penyiasatan masalah. Langkah ini melibatkan aktiviti di bawah. I Menentukan output II Menentukan data input III Menyatakan masalah yang hendak diselesaikan IV Menentukan jenis pemprosesan yang perlu dilakukan Antara berikut, yang manakah langkah penyiasatan masalah? A I, II dan III B I, II dan IV C II, III dan IV D Semua di atas 2. Antara berikut, yang manakah langkah untuk pengatur cara mereka bentuk algoritma? A Analisis masalah ˜ Penyediaan algoritma B Analisis masalah ˜ Penyediaan draf kasar ˜ Pemurnian draf algoritma C Penyediaan draf kasar ˜ Pemurnian draf algoritma ˜ Uji lari algoritma D Analisis masalah ˜ Penyediaan draf kasar ˜ Pemurnian draf algoritma ˜ Uji lari algoritma 3. Teliti potongan pseudokod berikut. Jika syarat-A Laksanakan arahan-1 Jika tidak Jika syarat-B Laksanakan arahan-2 Jika tidak Jika syarat-C Laksanakan arahan-3 Tamat jika Tamat jika Tamat jika Antara pseudokod berikut, yang manakah setara dari segi output dengan pseudokod di atas? KBAT Menganalisis BAHAGIAN A Soalan 3: Algoritma tersebut mengandungi struktur kawalan pilhan (if) bersarang. A Jika syarat-A Laksanakan arahan-1 Lain jika syarat-B Laksanakan arahan-2 Jika tidak Laksanakan arahan-3 Tamat jika B Jika syarat-A Laksanakan arahan-1 Lain jika syarat-B Laksanakan arahan-2 Jika tidak Laksanakan arahan-3 Tamat jika C Jika syarat-A Laksanakan arahan-1 Jika tidak Jika syarat-B Laksanakan arahan-2 Jika tidak Laksanakan arahan-3 Tamat jika Tamat jika D Jika syarat-A Laksanakan arahan-1 Tamat Jika Jika syarat-B Laksanakan arahan-2 Jika Tidak Laksanakan arahan-3 Tamat Jika 4. Berikut merupakan cara untuk mewakilkan algoritma. I graf III peta minda II carta alir IV pseudokod Antara berikut, yang manakah dapat membantu pengatur cara membentangkan tugasan? A I dan III C I, II dan IV B II dan IV D Semua di atas Jawab semua soalan. B02 1202BS ASK Tg2.indd 26 15/01/2024 4:41 PM


32TIP SOSSoalan 5: Bagi struktur kawalan while, pembilang mesti dimulakan (initialize) sebelum gelung bermula. 4. Teliti pseudokod berikut. Untuk nom = 2 hingga 20, melangkah 3 Cetak nom Lukis satu carta alir yang sesuai untuk menggambarkan pseudokod ini. KBAT Mengaplikasi [4 markah] 5. Rajah 2 menunjukkan satu carta alir. nom>= 1? Tidak Ya Setkan nom = 56 Setkan nom = nom – 11) Cetak nom Rajah 2 Tulis algoritma tersebut dalam bentuk pseudokod dengan menggunakan struktur kawalan ulangan while. KBAT Menganalisis [4 markah] B02 1202BS ASK Tg2.indd 32 15/01/2024 4:41 PM


39 Bab 3 3.1 Persekitaran Kod Arahan 1. Atur cara ialah satu set arahan komputer yang ditulis atau dikodkan dengan menggunakan satu bahasa pengaturcaraan. Proses mengekodkan atur cara dipanggil pengaturcaraan. 2. Bahasa pengaturcaraan ialah satu sistem tatatanda yang menetapkan set arahan yang boleh digunakan termasuk cara menggunakan dan menulis arahan-arahan itu untuk mengarahkan komputer menghasilkan pelbagai output. (a) Rajah di bawah menunjukkan aras bahasa pengaturcaraan. Bahasa aras tinggi Contoh Bahasa aras rendah Bahasa mesin Bahasa himpunan (assembly language) Bahasa C++, Ruby, Java, Python, SQL, Scratch 3. Atur cara yang dikodkan dalam bahasa mesin dipanggil kod mesin. Kod mesin terdiri daripada bit (nombor-nombor binari). Bentuk kod mesin bergantung pada jenis komputer. 4. Proses menukar sesuatu atur cara beraras tinggi kepada kod mesin dipanggil penterjemahan (translation). Terdapat tiga jenis penterjemah, iaitu: (a) Pengkompilan Proses menukar atur cara dalam bahasa aras tinggi (kod sumber) kepada kod mesin secara sekali gus. Atur cara yang mengarahkan komputer membuat pengkompilan dipanggil pengkompil (compiler). (b) Pentafsiran Atur cara dalam bahasa aras tinggi ditukar kepada kod mesin secara satu baris pada satu masa untuk dilaksanakan. Atur cara yang mengarahkan komputer mentafsirkan kod aras tinggi dipanggil pentafsir (interpreter). (c) Penghimpunan Proses menukarkan atur cara yang ditulis dalam bahasa himpunan (kod himpunan) kepada kod mesin. Atur cara yang mengarahkan komputer menukar kod himpunan kepada kod mesin dipanggil penghimpun (assembler). NOTA Kod Arahan 5. Python ialah satu bahasa pengaturcaraan yang serba guna. Bahasa ini dianggap sebagai bahasa yang ditaksirkan kerana kod Python yang ditaip secara interaktif pada papan kekunci akan ditafsirkan secara langsung dengan serta merta. Walau bagaimanapun, jika kod Python disimpan sebagai satu fail atur cara, maka atur cara Python itu akan dikompil menjadi kod objek terlebih dahulu sebelum ditafsir dan dilaksanakan. 6. Jenis data dalam pengaturcaraan merujuk kepada bentuk data, sama ada nombor, aksara, rentetan dan sebagainya. (a) Dalam bahasa pengaturcaraan, data dibezakan kepada jenis-jenis data seperti berikut. Jenis data Penerangan integer • Semua nombor bulat yang bernilai positif atau negatif, termasuk sifar. • Contoh: −123, −35, −7, 0, 66, 2300, 5890345 .... • Nilai integer yang terbesar atau terkecil bergantung pada ruang ingatan yang ada. float • Semua nombor perpuluhan bernilai positif atau negatif, termasuk sifar. • Contoh: –12.3, –3.5, –7.0, 0.0, 0.66, 2.300, … • Jenis data double tidak disokong oleh Python. Python menganggap semua nombor yang mempunyai titik perpuluhan sebagai float. string • Urutan aksara boleh terdiri daripada abjad sahaja atau digit (0, 1, 2, …) sahaja atau simbol (seperti $, @, &, …) sahaja atau kombinasi abjad, digit dan simbol. • Sesuatu rentetan boleh mengandungi satu aksara sahaja. • Rentetan ditulis dalam tanda petikan ″ atau ″″ • Contoh: ′a′ atau ″z″, ′2345′, ′Python′, ″pengaturcaraan Python″, ′Hello dunia′. char • Sesuatu char seperti ′a′ dianggap sebagai satu string yang mengandungi satu aksara. • Contoh: ′a′, ′z′, ′q′, ′$′ • Bahasa Python tidak membezakan antara data string dan char. B03 1202BS ASK Tg2.indd 39 16/01/2024 10:25 AM


47 TIP SOS 3.1 Persekitaran Kod Arahan 1. Antara pernyataan berikut, yang manakah betul mengenai kod arahan komputer? I Kod objek, kod himpunan dan kod mesin adalah kod arahan beraras rendah II Penghimpun, pentafsir, pengkompil dan penyahpepijat adalah contoh perisian penterjemah III Komputer memahami arahan mesin dan bukan arahan yang ditulis dalam bahasa pengaturcaraan beraras tinggi IV Penterjemahan ialah proses menukar kod arahan dari satu bahasa pengaturcaraan kepada bahasa pengaturcaraan yang lain A I dan II B II dan IV C I, III dan IV D Semua di atas 2. Antara pernyataan berikut, yang manakah betul tentang jenis data Python? I ‘abc’ dan “abc” dianggap sebagai setara II Rentetan ialah tatasusunan beberapa aksara III Satu aksara dianggap sebagai rentetan yang mengandungi satu aksara IV 123 dan 123 dianggap sebagai jenis data yang sama A I dan II B II dan IV C I, II dan III D Semua di atas 3. Antara jenis data berikut, yang manakah tidak disokong oleh bahasa pengaturcaraan Python? A integer C float B boolean D double 4. Antara berikut, yang manakah tidak diolahkan sebagai data jenis string dalam Python? A ‘a’ C 2.345 B ‘80’ D “python” 5. Antara berikut, yang manakah jenis data boolean? A F C “false” B false D False BAHAGIAN A Soalan 3: Bahasa Python menggabungkan data jenis float dan double, dan dipanggil float. Soalan 8: * adalah operator darab, ** adalah operator eksponen. Soalan 11: Jika operan adalah data jenis nombor, operator + akan melakukan operasi tambah, tetapi jika operan adalah data jenis string, operator + akan menggabungkan data string. 6. Asri ingin menggunakan satu pemboleh ubah untuk menyimpan data secara sementara mengenai tarikh lahir (misalnya 12/09/09). Apakah jenis data yang sesuai untuk menyimpan data tarikh lahir? A char C string B float D integer 7. Apakah operator yang boleh mengira baki apabila satu nombor integer dibahagi oleh satu nombor integer yang lain? A ÷ C / B % D // 8. Tukarkan ungkapan matematik 2 × 32n – 1 kepada ungkapan Python. KBAT Mengaplikasi A 2*3**2n – 1 C 2*3*(2*n − 1) B 2*3**2n – 1 D 2*3**(2*n – 1) 9. Apakah nama pemboleh ubah yang paling sesuai untuk menyimpan data mengenai had laju? A x C hadLaju B hl D had-laju 10. Antara pernyataan berikut, yang manakah betul mengenai pemboleh ubah dan pemalar Python? I Pemboleh ubah dan pemalar adalah lokasi dalam ingatan komputer II Nama pemboleh ubah dan pemalar adalah pengecam lokasi ingatan III Nilai yang diumpuk dalam pemalar Python tidak boleh diubah IV Nilai yang disimpan dalam pemboleh ubah Python boleh diubah A I, II dan III C II, III dan IV B I, II dan IV D Semua di atas 11. Rajah 1 menunjukkan output bagi satu atur cara Python. 1218 Rajah 1 Antara berikut, yang manakah memaparkan 1218 sebagai output? A >>> 12 +18 C >>> print(12, 18) B >>> ʹ12ʹ + ʹ18ʹ D >>>print(12 +18) Jawab semua soalan. B03 1202BS ASK Tg2.indd 47 16/01/2024 10:25 AM


65 TIP SOS BAHAGIAN C Jawab semua soalan. 1. Rajah 13 menunjukkan mesej maklum balas yang dipaparkan oleh satu atur cara Python. Input satu nombor integer positif = 5 5 ialah satu nombor perdana ============ RESTART: :/Users/ABC/Desktop/abc.py ============== Masukkan satu nombor integer positif = 0 0 bukan nombor perdana ============ RESTART: :/Users/ABC/Desktop/abc.py ============== Masukkan satu nombor integer positif = 1 1 bukan nombor perdana ============ RESTART: :/Users/ABC/Desktop/abc.py ============== Masukkan satu nombor integer positif = -1 Tamat Rajah 13 (a) Tuliskan atur cara Python yang menerima satu nombor integer positif sebagai input, menentukan sama ada nombor itu adalah satu nombor perdana atau tidak, dan memaparkan mesej maklum balas seperti dalam Rajah 13. KBAT Mengaplikasi [7 markah] Soalan 1: (a) Mengikuti definisi, 0 dan 1 bukan nombor perdana. B03 1202BS ASK Tg2.indd 65 16/01/2024 10:25 AM


73 Pentaksiran Sumatif Ujian Akhir Sesi Akademik (UASA) [10 markah] Jawab semua soalan. BAHAGIAN A 1. Kod ASCII bagi aksara E ialah 45. Apakah kod ASCII bagi aksara N? A 4B C 4D B 4C D 4E 2. Apakah perwakilan setara dalam sistem asas perenambelasan bagi 100110010002 ? A 48816 C 4C816 B 4A816 D 231016 3. Apakah perwakilan setara dalam sistem asas perlapanan bagi 6916? A 1508 C 1408 B 1518 D 1418 4. Antara pernyataan berikut, yang manakah betul tentang ciri-ciri algoritma? I Harus tamat dalam satu tempoh masa II Mesti menghasilkan sekurang-kurangnya satu output III Tidak semestinya menerima sebarang input tetapi boleh menerima lebih daripada satu input IV Mengandungi butiran yang mudah difahami dan boleh dilaksanakan A I dan II B III dan IV C I, II dan III D I, III dan IV 5. Apakah item yang digunakan oleh bahasa pengaturcaraan Python untuk menjanakan bahasa mesin daripada kod arahan dalam atur cara? A Pentafsir B Penterjemah C Pengkompil D Penghimpun 6. Ali ingin membina satu atur cara Python yang dapat mengira baki yang perlu dipulangkan selepas satu transaksi urus niaga imej. Apakah jenis pemboleh ubah yang perlu digunakan? A integer C float B double D char 7. Rajah 1 menunjukkan beberapa contoh blok yang terdapat dalam kategori control dalam Scratch. I III II IV Rajah 1 Antara blok berikut, yang manakah boleh digunakan untuk membentuk ungkapan Boolean? A I dan III C I, II dan III B II dan IV D Semua di atas 8. Apakah output bagi 5%2? A 0.5 C 2 B 1 D 2.5 9. Antara berikut, yang manakah merupakan kenyataan struktur kawalan pilihan dalam Python? I III if if-elif-if II IV if-else if-elif-else A I dan II B I, II dan III C I, II dan IV D Semua di atas 10. Rujuk Rajah 2. for i in range(10): if i < 5: print(i, end = “,”) else: print(i+1, end = “ ”) Rajah 2 Apakah output yang dijanakan oleh segmen atur cara Python dalam rajah tersebut? A 0,1,2,3,4,6 7 8 9 10 B 0,1,2,3,4,5 6 7 8 9 C 1,2,3,4,56 7 8 9 10 D 1 2 3 4 5 6 7 8 9 10 UPentaksiran 1202BS ASK Tg2.indd 73 11/01/2024 1:09 PM


74 BAHAGIAN B [40 markah] Jawab semua soalan. 1. Johan sedang menukarkan 111110011012 kepada nombor asas perlapanan. Lengkapkan jadual yang digunakan oleh Johan. Nombor Perduaan 1 1 1 1 1 0 0 1 1 0 1 Kumpulan 3 digit 0 1 1 1 1 1 0 0 1 1 0 1 Nombor perlapanan [4 markah] 2. Padankan nilai-nilai yang sepadan. A 101002 B 110102 C 1C16 D 1216 E 308 Lengkapkan pernyataan berikut dengan menulis A, B, C dan D pada ruang jawapan. Nilai Ruang jawapan (a) 1810 (b) 1416 (c) 24 E (d) 328 (e) 111002 [4 markah] UPentaksiran 1202BS ASK Tg2.indd 74 11/01/2024 1:09 PM


79 BAHAGIAN C [20 markah] Jawab semua soalan. 1. Fungsi range () dalam Python boleh digunakan bersama dengan struktur kawalan ulangan for untuk mendapatkan output sebanyak bilangan kali yang dinyatakan. for x in range(6): print(x) Rajah 4 (a) Apakah output bagi atur cara di atas? [2 markah] (b) Bina satu atur cara Python menggunakan struktur kawalan ulangan for sahaja tanpa melibatkan fungsi range (0) bagi menghasilkan output: 2 4 6 8. [4 markah] (c) Bina satu atur cara Python menggunakan struktur kawalan ulangan while bagi menghasilkan output: 2 4 6 8. [4 markah] UPentaksiran 1202BS ASK Tg2.indd 79 11/01/2024 1:09 PM


82 Jawapan BAB 1 Bahagian A 1. C Nama lain bagi sistem asas nombor 8 adalah sistem nombor oktal. 2. B Kaedah yang digunakan untuk menukarkan nombor perduaan kepada nombor perlapanan adalah kaedah pengumpulan tiga digit perduaan dan tukarkan kepada nilai perlapanan. 3. D 5078 = 32710 4. B 1208 1418 1568 1418 1638 = Panas 5. A I dan II 6. B Setiap digit dalam nombor perlapanan mewakili 3 digit nombor perduaan. 7. C Kelebihan sistem nombor perlapanan ialah dapat mewakili nombor perduaan dengan lebih pendek. 8. A 82310 = 14678 9. D Kelemahan sistem nombor perlapanan ialah perlu ditukarkan terlebih dahulu kepada nombor perduaan sebelum difahami oleh komputer. 10. B 309210 = 60248 11. C 1579010 = 366568 12. C I dan III 13. B Kod ASCII nombor perpuluhan 77, 69, 82, 65, 72 = MERAH 14. B I, II dan IV 15. A Kod ASCII nombor perpuluhan 103 = 1478 16. C M : 64 × 5 = 320 17. C Terdapat sepuluh pilihan digit dan enam abjad bermula daripada 0 hingga 9 dan A hingga F. 18. B Mewakili warna pada alatan digital. 19. C Kaedah bahagi dengan 16 dan gunakan bakinya. 20. D 5C3F16 = 2361510 21. A 1 = 0001, 7 = 0111, 3 = 0011 22. B 74810 = 2EC16 23. C 54910 = 22516 24. B P = 1001, Q= 0101, R= 100110110101 25. B Aksara G = kod ASCII nombor perpuluhan 71 = 4716 26. D Pengekodan ASCII bukan bahasa penterjemahan merupakan pernyataan yang salah. 27. C Nilai tempat sistem nombor perenambelasan: 1, 16, 256, 4096 dan seterusnya. 28. B Setiap digit dalam nombor perenambelasan mewakili 4 digit nombor perduaan. 29. A 216310 = 87316 30. D 110011012 = CD16 31. B Kod ASCII CUAI =4316, 5516, 4116, 4916 32. D Nombor perpuluhan (80, 65, 71, 73) = Kod ASCII (PAGI) 33. D Q : 256 × 7 = 1792 Bahagian B 1. (a) 3 (b) 7 (c) 3 (d) 7 2. R, P, S,Q 3. (a) D (b) B (c) A (d) C 4. 4A616 = 119010 162 161 160 Nilai tempat 256 16 1 Digit perenambelasan 4 A = 10 6 Hasil darab 256 × 4 = 1024 16 × 10 = 160 1 × 6 = 6 Hasil tambah 1024 + 160 + 6 = 119010 5. 5178 = 1010011112 Digit perlapanan 5 1 7 Digit perduaan 1 0 1 0 0 1 1 1 1 Nombor perduaan 1010011112 6. (a) 01001100 (c) 45 (b) 00110111 (d) 37 7. 1011100001012 = B8516 Nombor perduaan 1011100001012 Kumpulan empat digit 1011 1000 0101 Nombor perenambelasan B 8 5 8. 331410 = 63628 Hasil Baki 3314 414 2 414 51 6 51 6 3 6 0 6 9. 110011110112 = 67B16 Hasil darab 0 4 2 0 0 4 2 1 8 0 2 1 Hasil tambah 6 7 11 Nombor perenambelasan 6 7 B Bab 1 Jawapan 1202BS ASK Tg2.indd 82 18/01/2024 12:04 PM


89 2. (a) x = int(input(“Input satu nombor integer, nilai 2 dan ke atas : “)) print(“Senarai nombor perdana antara 2 dan”, x) if (x >= 2): for n in range(2, x + 1): penanda = True for i in range(2, n): if (n % i == 0): # n bukan nom penanda = False # perdana break if (penanda == True): print(n) # n ialah satu nom # perdana else: print(ʹ-ʹ) (b) x = 999 # setkan x kepada sebarang nilai lebih besar daripada 2 While (i>=2): x = int(input(“Input satu nombor integer, nilai 2 dan ke atas : “)) print("Senarai nombor perdana antara 2 dan", x) if (x >= 2): for n in range(2, x + 1): penanda = True for i in range(2, n): if (n % i == 0): penanda = False # n bukan nombor perdana break if (penanda == True): print(n) # n ialah satu nombor perdana print(′—′) 3. (a) (i) nombor (ii) string (iii) char atau string (b) (i == ′8′ or i == ′9′) atau (int(i) > 7) (c) (i) panjangNombor – 1 (ii) −1 (iii) nombor[i] 4. (a) (i) | | while (ulang == True): # Input ----------------------- gred = input(‘Masukkan gred [A - E, <ENTER> untuk henti] = ‘) # Proses ----------------------- if gred == “”: break if gred in ‘ABCDE’: | | atau | | while (ulang == True): # Input --------------------------- -gred = input(‘Masukkan gred [A - E, <ENTER> untuk henti] = ‘) # Proses ------------------------ if gred == “”: ulang = False if gred in ‘ABCDE’: | | (ii) | | if i > 0: purataNilaiGred = jumNilaiGred / i else: purataNilaiGred = 0 (b) | | # Proses ----------------------------- if gred in ‘ABCDE’ or gred in ʹabcdeʹ: if gred == ‘A’ or gred == ‘a’: nilaiGred = 5; i = i + 1 elif gred == ‘B’ or gred == ‘b’: nilaiGred = 4; i = i + 1 elif gred == ‘C’ or gred == ‘c’: nilaiGred = 3; i = i + 1 elif gred == ‘D’ or gred == ‘d’: nilaiGred = 2; i = i + 1 elif gred == ‘E’ or gred == ‘e’: nilaiGred = 1; i = i + 1 jumNilaiGred = jumNilaiGred + nilaiGred else print(gred, ‹Tiada gred›, gred, ʹ?ʹ) | | PENTAKSIRAN SUMATIF UJIAN AKHIR SESI AKADEMIK (UASA) Bahagian A 1. D Fokus terhadap corak yang wujud dalam perwakilan aksara dalam jadual ASCII. Dengan mengetahui kedudukan satu aksara dari aksara yang kod ASCII yang telah diberi, kod ASCII bagi aksara berkenaan dapat dikira. 2. C Kumpulkan dalam kumpulan empat digit. 3. B Tukar setiap digit ke kumpulan empat digit nombor perduaan. Kemudian buat kumpulan tiga digit nombor perduaan untuk dapat nombor perlapanan. 4. C Bab 3 – Pentaksiran Sumatif UASA Jawapan 1202BS ASK Tg2.indd 89 18/01/2024 12:04 PM


90 5. A 6. B Kebanyakan bahasa pengaturcaraan mengtakrifkan jenis data double dan float untuk menyimpan nombor perpuluhan. Bagi Python, penggunaan jenis data float dibenarkan. 7. C Dalam Scratch, hanya blok berbentuk boleh digunakan untuk membentuk ungkapan boolean. 8. B % ialah operator modulus yang boleh memberikan baki suatu hasil bahagi. 9. C Dalam bahasa Python, elif ialah singkatan bagi else if. Pernyataan elif digunakan untuk menyemak syarat bagi beberapa ungkapan. 10. A Secara lalai, nilai dalam range bermula dari 0 dan bukan 1. Lima nilai pertama dalam range iaitu 0, 1, 2, 3 dan 4, setiap satunya akan menghasilkan nilai boolean True bagi ungkapan if i < 5:. Maka, setiap satunya akan dicetak dengan tanda koma iaitu print(i, end = “,”). Bagi lima nilai yang seterusnya: 5, 6, 7, 8 dan 9, setiap satunya akan menghasilkan nilai boolean False bagi ungkapan if i < 5:. Maka, bahagian else: akan dilaksanakan iaitu print(i+1, end = “ “). Bagi setiap satunya, nilainya akan ditambah sebanyak 1 dan dicetak dengan satu ruang kosong antaranya. Bahagian B 1. Nombor Perduaan 1 1 1 1 1 0 0 1 1 0 1 Kumpulan 3 digit 0 1 1 1 1 1 0 0 1 1 0 1 Nombor perlapanan 3 7 1 5 2. (a) D (b) A (c) E (d) B (e) C 3. L 4C I 111 G 01000111 A 41 4. (a) 24 atau 16 (b) 84 atau 4 096 (c) 104 atau 10 000 (d) 164 atau 65 536 5. (a) 0 (b) n (c) 1 (d) jumlah 6. (a) B (b) D (c) C (d) A 7. (a) False (b) 2 (c) False (d) True 8. (a) * (b) == (c) % (d) ** 9. (a) 0 1 2 3 4 5 6 (b) 6 7 8 9 10 11 (c) 6 8 10 (d) 5 4 3 2 1 10. (a) R (b) P (c) Q (d) S Bahagian C 1. (a) 0 1 2 3 4 5 (b) for i in(2, 4, 6, 8): print (i) (c) x = int(1) while (x <= 4): print (x*2) x = x + 1 2. (a) 0 Hello!1 Hello! 2 Hello! 3 (b) Mula Set i = 0 Ulang sehingga i > 5 Papar I selama 2 s i = i +1 Jika i = 4 Henti atur cara Jika tidak Papar: Hello selama 1 s Tamat (c) i = 0 while i < 4: print(i) i = i + 1 if i == 4: break else: print (″Hello!″) Pentaksiran Sumatif UASA Jawapan 1202BS ASK Tg2.indd 90 18/01/2024 12:04 PM


Click to View FlipBook Version