2. 2
IMBAS KEMBALI
Imbas kembali contoh di atas. Bagaimanakah cara anda mengesan
dan membaiki ralat?
Aini ingin menulis atur cara untuk memaparkan perkataan “Panas.” apabila suhu melebihi
60 darjah dan menghasilkan pernyataan yang lain bagi setiap suhu yang dimasukkan oleh
pengguna. Kod di bawah ialah atur cara yang dibangunkan oleh Aini. Atur cara di bawah
tidak dapat menghasilkan paparan seperti yang dikehendaki.
1. Jangkakan hasil kod segmen di bawah.
2. Kesan dan baiki ralat atur cara bagi memaparkan paparan yang dikehendaki.
5. 5
PETUNJUK MENGE SAN RALAT
1. Mengenal pasti hasil yang dikehendaki Apakah kehendak soalan?
Kenal pasti masalah yang dihadapi dalam atur cara bahagian manakah yang
tidak memberikan hasil yang dikehendaki?
Leraikan: Membaiki atur cara mengikut bahagian dan menyelesaikan satu demi
satu.
JANGAN memadam kesemua atur cara dan menulis semula.
2. Salin atur cara anda.
Ini adalah supaya apabila atur cara yang anda ubah dan baiki tidak berjalan, kita
boleh kembali kepada atur cara asal anda. Ahli komputer sains sering berbuat
demikian.
6. 6
PETUNJUK MENGE SAN RALAT
3. Kaedah cuba-cuba (“Trial and error”)
Algoritma:
• Cari kod arahan khusus yang menyebabkan ralat.
• Lakukan penambaikin yang mudah dahulu. Jangan rumitkan kod arahan anda.
• Semak adakah masalah disebabkan oleh ralat berikut:
Ralat larian masa
Adakah anda tertinggal satu baris kod arahan yang menyebabkan atur cara anda tidak dapat
dijalankan.
Ralat sintaks
Adakah sintaks anda betul?
Ralat logik
Adakah atur cara anda mengikut logik? Mungkin anda perlu menyemak semula susunan
algoritma anda.
4. Selesaikan masalah
• Penilaian: Baiki ralat atur cara dengan menulis atur cara yang lebih baik
• Cuba satu cara satu demi satu.
• JANGAN mengubah banyak kod arahan pada satu masa sekali kerana jika pembaikan tersebut tidak
seperti yang dihasratkan, anda sukar mengesan ralat yang berlaku.
7. 7
AKTIV IT I
Anda ingin menghasilkan satu atur cara untuk menyenaraikan nombor secara menurun
bermula daripada nombor yang dimasukkan oleh pengguna sehingga 0. Urutan nombor
menurun yang dihasilkan adalah 2 langkah. Berikut merupakan pseudokod yang anda telah
hasilkan:
1. Mula
2. Isytiharkan pemboleh ubah x = 0
3. Paparkan mesej “Masukkan satu nombor”
4. Setkan nilai x = nombor yang dimasukkan
5. While x > 0
Paparkan x
x = x + 2
6. Tamat
8. 8
AKTIV IT I
Carta alir di bawah mewakili algoritma yang menambah semua nombor bermula daripada nombor 1
sehingga nombor yang dimasukkan oleh pengguna dan memaparkan jumlahnya. Sebagai contoh,
sekiranya input pengguna ialah 10, output yang terhasil adalah 55 (1+2+3+4+5+6+7+8+9+10).
Terdapat ralat dalam carta alir 1.
Bulatkan ralat tersebut dan baiki
ralat tersebut supaya atur cara
yang dihasilkan menepati
kehendak sebenar carta alir
yang telah dirancang.
10. 10
AKTIV IT I
Anda ingin membangunkan segmen kod yang membolehkan mesin
layan diri menerima wang kertas RM1 dan RM2 sahaja. Harga
kesemua coklat yang dijual di dalam mesin layan diri ialah RM 2.
Jika wang kertas RM 1 diterima, paparkan mesej ‘Wang tidak
mencukupi.”. Jika wang kertas RM 2 diterima, mesej “Terima kasih”
akan dipaparkan. Jika wang kertas selain RM1 atau RM2 diterima,
mesej “Error” akan dipaparkan.
Penyataan masalah:
11. 11
AKTIV IT I
Kod arahan:
Kod arahan di atas tidak memberikan hasil yang dikehendaki. Kesan
dan baiki ralat dalam kod arahan di atas.
13. 13
AKTIV IT I
Anda ditugaskan oleh guru anda untuk mengira jumlah kutipan
derma Jogathon setiap kelas dalam tingkatan 1 – 3. Anda diminta
untuk menunjukkan jumlah kutipan bagi setiap tingkatan dan juga
jumlah kutipan keseluruhan.
• Kutipan kelas tingkatan 1: Kelas 1A = RM105.50, Kelas 1B =
RM150.00 dan Kelas 1C = RM 98.50
• Kutipan kelas tingkatan 2: Kelas 2A = RM200.00, Kelas 2B =
RM180.00, dan Kelas 2C = RM145.00
• Kutipan kelas tingkatan 3: Kelas 3A = RM225.00, Kelas 3B =
RM174.50, dan Kelas 3C = RM203.50
Penyata masalah:
14. 14
AKTIV IT I
Atur cara anda:
Atur cara di atas tidak memberikan hasil yang dikehendaki. Kesan dan
baiki ralat dalam atur cara di atas.
16. 16
PERNILAIAN KENDIRI
Anda diminta untuk mengira Body Mass Indek (BMI) pengguna.
Hasilkan satu atur cara yang boleh mengira BMI tersebut dengan
meminta input tinggi (cm) dan berat (kg) daripada pengguna.
Pastikan paparan BMI anda adalah dalam bentuk nombor bulat.
Penyata masalah:
18. 18
PERNILAIAN KENDIRI
Mengesan dan Membaiki ralat:
1. Lancarkan aplikasi Python dan taipkan kod segmen yang diberi.
2. Run Module untuk kod segmen tersebut. Mesej ralat sintaks dipaparkan
dan bahagian yang ditandakan merah menunjukkan baris di mana
perlaksanaan kod terhenti.
3. Lakukan semakan pada kod baris demi baris. Kesan ralat dan baiki ralat
tersebut. Ulang langkah 2. Jika ada paparan mesej ralat, lakukan semakan
pada kod segmen baris demi baris dan baiki ralat tersebut. Ulang sehingga
tiada mesej ralat dipaparkan.
4. Adakah kod segmen memberikan hasil yang dikehendaki? Lakukan teknik
semakan meja, gunakan satu set sampel data untuk menguji kod segmen
di atas. Kesan ralat dan baiki ralat tersebut.
5. Lakukan penambahbaikan dan tulis semula kod segmen yang bebas ralat
20. 20
Rumusa n
1. Pada pendapat anda, mengapakah perancangan menggunakan pseudokod
dan carta alir sebelum menghasilkan atur cara penting semasa
menyelesaikan sesuatu masalah?
2. Bagaimanakah cara anda boleh menilai sama ada algoritma yang dihasilkan
mempunyai ralat atau tidak?
3. Jelaskan langkah-langkah (Algoritma) yang anda telah bangunkan untuk
mengesan dan membaiki ralat.
21. 21
Pengaj aran seterusn ya
Pengajaran seterusnya:
• Anda telah belatih mengesan ralat pada pengajaran ini.
• Kita akan membincangkan projek akhir anda pada pengajaran
seterusnya.
#2:Guru memberi murid beberapa minit untuk mengimbas kembali soalan yang ditunjukkan (Lampiran 1).
Murid menulis cara mereka mengesan dan membaiki ralat
Murid dijemput untuk membentangkan caranya untuk mengesan dan membaiki ralat.
Jika terdapat murid yang menggunakan cara penyelesaian yang berbeza, minta murid tersebut membentangkan dapatannya.
Pemikiran Komputasional:
Algoritma – Langkah-langkah murid mengambil untuk mengesan dan membaiki ralat merupakan sejenis algoritma.
#3:Ini adalah untuk mengenal pasti sama ada murid telah menguasai kemahiran mengesan dan membaiki ralat semasa Tingkatan 1.
Jika murid memerlukan pengukuhan ilmu, guru mengambil masa untuk menjelaskan cara mengesan dan membaiki ralat.
Dua cara yang telah dipelajari semasa Tingkatan 1:
Teknik semakan meja (Desk check)
Teknik langkah demi langkah (Step through)
#4:Murid bekerja secara individu untuk mengesan dan membaiki ralat dalam Lampiran 2.
Guru boleh mencetak Lampiran 2 atau memaparkan soalannya dengan projektor dan membenarkan murid menulis jawapan di atas kertas.
Jawapan untuk rujukan guru:
Ralat larian masa: Tidak mengisytiharkan pemboleh ubah “rumah”. Tambah baris ini: rumah = value
Ralat sintaks: Tidak letak noktah bertindih, “:” selepas 9>6. Penambahbaikan: if 9>6:
Ralat logik: Patut letak kurungan untuk 2+6. Penambahbaikan: print((2+6)*5)
#5:Murid menggunakan Lampiran 3 sebagai rujukkan. (Guru juga boleh memaparkan slaid no. 5 – 6)
Guru menjelaskan langkah-langkah untuk mengesan dan membaiki ralat dalam algoritma atau atur cara.
Guru mengingatkan murid untuk menggunakan rujukkan ini semasa mengesan dan membaiki ralat.
#6:Murid menggunakan Lampiran 3 sebagai rujukkan. (Guru juga boleh memaparkan slaid no. 5 – 6)
Guru menjelaskan langkah-langkah untuk mengesan dan membaiki ralat dalam algoritma atau atur cara.
Guru mengingatkan murid untuk menggunakan rujukkan ini semasa mengesan dan membaiki ralat.
#7:Murid bekerja secara berpasangan.
Murid mengesan dan membaiki ralat untuk soalan yang ditunjukkan (Lampiran 4).
Murid juga dikehendaki untuk menyatakan jenis ralat.
Jawapan:
Jenis ralat: Ralat logik
Pembetulan: Baris k = k + 2 tukar kepada k = k - 2
#8:Learn by doing:
Murid bekerja secara individu.
Murid dikehendaki untuk mengesan dan membaiki ralat dalam carta alir yang ditunjukkan (Lampiran 5).
Murid perlu melukis semula carta alir yang telah dibaiki tanpa mengandungi ralat.
#9:Rujukan guru.
Ralat:
1. Simbol yang digunakan untuk input pengguna salah. Sepatutnya parallelogram dan bukan segiempat tepat.
2. Pilihan untuk “tidak” tersongsang dengan “ya”.
3. Sepatutnya ulang balik ke bentuk rombus (i<=n?) dan bukan meminta pengguna memasukkan nombor sekali lagi.
#10:Murid bekerja secara individu.
Murid dikehendaki untuk mengesan dan membaiki ralat dalam atur cara Scratch yang ditunjukkan dalam Lampiran 6 mengikut kehendak penyata masalah dan kod arahan.
Murid menulis semula atur cara yang telah dibaiki tanpa mengandungi ralat.
#12:Jawapan untuk rujukan guru.
Baris ke-2:
Kita perlu menentukan nilai wang yang dimasukkan = 0 pada permulaan.
Baris ke-3:
Kita harus memberi arahan kepada pengguna supaya mereka hanya memasukkan wang kertas RM1 dan RM2 sahaja.
Baris ke-6:
Kita guna Struktur Kawalan Pilihan Bersarang dan bukan “Pelbagai Pilihan”. Ini adalah kerana kita hanya perlu melaksanakan salah satu arahan bergantung kepada syarat, dan bukan pelbagai syarat.
#13:Murid bekerja secara individu.
Murid dikehendaki untuk mengesan dan membaiki ralat dalam atur cara Python yang ditunjukkan (Lampiran 7) mengikut kehendak penyata masalah.
Murid menulis semula atur cara yang telah dibaiki tanpa mengandungi ralat.
#14:Murid bekerja secara individu.
Murid dikehendaki untuk mengesan dan membaiki ralat dalam atur cara Python yang ditunjukkan mengikut kehendak penyata masalah
Murid menulis semula atur cara tanpa ralat.
#16:Murid mengisikan Lampiran 8 secara individu.
Beberapa murid diminta untuk membentangkan ralat yang dikesan dan penambahbaikan yang telah dilakukan.
#17:Murid mengisikan Lampiran 8 secara individu.
Beberapa murid diminta untuk membentangkan ralat yang dikesan dan penambahbaikan yang telah dilakukan.
#20:Murid merumuskan pengajaran dengan menjawab soalan yang ditunjukkan.
#21:Guru merumuskan pengajaran hari ini dan menjelaskan bahawa murid akan diberi projek akhir semasa pengajaran seterusnya.
Murid mengulang kaji cara semua kemahiran yang dipelajari selama ini supaya boleh menyediakan diri untuk projek akhir.