1.2.3 menguji dan membaiki ralat dalam
algoritma
1.2.4 Pengesanan nilai pemboleh ubah pada
setiap tahap dalam algoritma
1.2.5 mengenal pasti output yang betul dari
algoritma berdasarkan input yang
diberi
1.2.6 terjemahan algoritma ke dalam bahasa
pengaturcaraan
1.2.3 Menguji dan Membaiki Ralat Dalam Algoritma
• Algoritma diuji setelah ditulis untuk tujuan pembaikan dan sebelum
algoritma ditulis sebagai kod komputer.
• Berikut merupan carta alir penulisan algoritma ;-
Tulis Algoritma Uji Algoritma
Pembetulanpengaturcaraan
Ciri-ciri
algoritma
yang telah
diuji
Mudah
difahami
Memenuhi
kriteria reka
bentuk
Efisien
Lengkap
Ralat algoritma
• Algoritma yang mengandungi ralat akan menyebabkan pengatur cara
menghasilkan atur cara yang juga mengandungi ralat.
• Rajah di bawah menunjukkan hubungan ralat algoritma dan ralat atur cara.
Ralat
algoritma
Ralat uji
lari
Ralat
logik
Ralat
Sintaks
Susah Faham
Tidak lengkap
Tidak efisien
Tidak penuhi
kriteria
• Ujian Algoritma boleh mencegah ralat algoritma.
• Ralat algoritma boleh menyebabkan dua jenis ralat dalam atur
cara yang bakal dihasilkan dalam algoritma tersebut.
• Antara ralat tersebut ialah :-
a)Ralat sintaks
• Tidak wujud dalam algoritma
• Berlaku kerana menggunakan bahasa pengaturcaraan dengan
cuai.
• Biasanya ditemui secara automatik oleh perisian kompiler
bahasa pengaturcaraan.
• Tidak menyebabkan ralat sintaks.
b) Ralat Logik
• Berlaku kerana perisian yang dihasilkan tidak menjalankan fungsi
sepatutnya, tidak lengkap ataupun fungsi menghasilkan output yang tidak
tepat.
Jenis
Ralat
Logik
Fungsi yang salah
Fungsi yang tidak lengkap
Output yang tidak tepat
c) Ralat masa larian
• Ralat yang timbul apabila atur cara dijalankan.
• Termasuklah atur cara yang tidakmdapat dimulakan, menjadi sangat perlahan atupun
tidak responsif.
• Boleh dikenal pasti daripada kegagalan output dan paparan amaran dalam atur cara.
contohnya;-
• Boleh dikesan melalui reka bentuk algoritma yang tidak efisien atau salah.
Misalnya:-
Exception in thread “main” java.lang.
NullPointerException
Struktur
kawalan
urutan yang
tidak betul.
Pemboleh
ubah tidak
mengandungi
nilai atau
objek.
Pembahagian
dengan sifar
Struktur
kawalan
urutan yang
tidak betul.
Langkah- Langkah Pengujian Algoritma
Dikenali sebagai desk-checking
kerana teknik ini menggunakan
kertas dan pensil.
Pengujian algortima harus
dilakukan secara sistematik.
Langkah –
langkah
pengujian
algoritma
1. Kenal
pasti
“Output
Dijangka”
3.
Bandingkan
kedua – dua
Output
2. Kenal
Pasti
“Output
Diperoleh”
4. Analisis
dan baiki
algoritma
Contoh - M/S 48
Mula
INPUT NAMA
PAPAR “HELLO”
Tamat
1 . Kenal
pasti
“Output
Dijangka”:
Input Uji Output Dijangka
Khairul Hello Khairul
Penyelesaian:
2. Tentukan “Output Diperoleh”
Mula
INPUT NAMA
PAPAR “HELLO”
Tamat
1. Mula
2. INPUT NAMA
3. PAPAR “HELLO”
4. Tamat
a) Pastikan setiap baris arahan dalam pseudokod diberikan nombor.
b) Senaraikan semua pemboleh ubah.
c) Laksanakan arahan dalam setiap baris dalam jadual. Arahan tersebut mungkin
mengubah data dalam pemboleh ubah.kemas kini nilai data setiap pemboleh ubah di
setiap baris.contohnya:-
No Nama I/O
1 null
2 “Khairul” nama?”Khairul”
3 “Khairul”
4 -
“Hello”
Output
diperoleh:
Hello
# Input Uji Output Dijangka Output Diperoleh
1 Khairul Hello Khairul Hello
2 Padli Hello Padli Hello
3 Mastura Hello Mastura Hello
d) Bandingkan “Output Diperoleh” dengan “Output dijangka”.
-Kelihatan Output diperoleh dibawa berlainan daripada “Output dijangka”.
-Untuk mengesahkan keputusan, ulang dengan input uji yang lain.contohnya:-
Kesimpulannya, Algoritma di atas mengandungi ralat.
Ralatnya ialah kegagalan input dipamerkan dalam output.
3.Membaiki ralat dalam algoritma
• Nombor baris yang menghasilkan output yang tidak tepat ialah baris ketiga.Baris
Pseudokod yang berkait adalah:-
3.Papar “Hello”
• Maka, Pseudokod yang dibaiki kelihatan seperti yang berikut:-
• Ulangi langkah-langkah pengujian menggunakan pseudokod yang telah dibaiki.
Hasilnya akan menepati kehendak dan ujian dibuat beberapa kali untuk pengesahan.
1. Mula
2. Input nama
3. Papar “Hello” + nama
4. Tamat
# Input Uji Output Dijangka Output Diperoleh
1 Khairul Hello Khairul Hello Khairul
2 Padli Hello Padli Hello Padli
3 Mastura Hello Mastura Hello Mastura
Susah Faham
Tidak lengkap
Tidak efisien
Tidak penuhi
kriteria
4. Membaiki Ralat Algoritma
?
1 Semak Nama Pemboleh Ubah
2 Semak Ungkapan
3 Semak Umpukan
4 Semak urutan betul
5 Semak syarat struktur kawalan
6 Semak Cabang Struktur Kawalan
1.2.4 Pengesanan nilai pemboleh ubah pada setiap tahap
dalam algoritma
•
No Z I/O
1 - -
2 100 100
3 50 -
4 200 -
5 250 -
6 250 250
7 - -
1.2.5 Mengenal pasti output yang betul dari algoritma
berdasarkan input yang diberi
• Output yang betul bergantung kepada nilai pemboleh
ubah sewaktu algoritma papar dipanggil.
• Untuk menentukan kesahihan output algoritma, Outout
dijangka haruslah dibandingkan .
• Output dijangka ditentukan secara manual, iaitu hitungan
manual. Contohnya seperti:-
Hitung X+Y=12+88
Output dijangka= 100
• Jika output algoritma adalah betul, output algoritma
sepatutnya bersamaan dengan output dijangka.
Algoritma Kod Komputer (Java)
Mula Public static void main (string[] args) {
Papar “Nama Penguna:” System.out.print.(“Masukkan nama pengguna: “) ;
INPUT Nama String nama = new java.until.scanner
(System.in).nextline();
Papar “Apa khabar”, nama,
“?”
System.out.printIn (“Hello”+ nama) ;
Tamat }
Sains komputer tingkatan 4 Bab 1

Sains komputer tingkatan 4 Bab 1

  • 1.
    1.2.3 menguji danmembaiki ralat dalam algoritma 1.2.4 Pengesanan nilai pemboleh ubah pada setiap tahap dalam algoritma 1.2.5 mengenal pasti output yang betul dari algoritma berdasarkan input yang diberi 1.2.6 terjemahan algoritma ke dalam bahasa pengaturcaraan
  • 2.
    1.2.3 Menguji danMembaiki Ralat Dalam Algoritma • Algoritma diuji setelah ditulis untuk tujuan pembaikan dan sebelum algoritma ditulis sebagai kod komputer. • Berikut merupan carta alir penulisan algoritma ;- Tulis Algoritma Uji Algoritma Pembetulanpengaturcaraan
  • 3.
  • 4.
    Ralat algoritma • Algoritmayang mengandungi ralat akan menyebabkan pengatur cara menghasilkan atur cara yang juga mengandungi ralat. • Rajah di bawah menunjukkan hubungan ralat algoritma dan ralat atur cara. Ralat algoritma Ralat uji lari Ralat logik Ralat Sintaks Susah Faham Tidak lengkap Tidak efisien Tidak penuhi kriteria
  • 5.
    • Ujian Algoritmaboleh mencegah ralat algoritma. • Ralat algoritma boleh menyebabkan dua jenis ralat dalam atur cara yang bakal dihasilkan dalam algoritma tersebut. • Antara ralat tersebut ialah :- a)Ralat sintaks • Tidak wujud dalam algoritma • Berlaku kerana menggunakan bahasa pengaturcaraan dengan cuai. • Biasanya ditemui secara automatik oleh perisian kompiler bahasa pengaturcaraan. • Tidak menyebabkan ralat sintaks.
  • 6.
    b) Ralat Logik •Berlaku kerana perisian yang dihasilkan tidak menjalankan fungsi sepatutnya, tidak lengkap ataupun fungsi menghasilkan output yang tidak tepat. Jenis Ralat Logik Fungsi yang salah Fungsi yang tidak lengkap Output yang tidak tepat
  • 7.
    c) Ralat masalarian • Ralat yang timbul apabila atur cara dijalankan. • Termasuklah atur cara yang tidakmdapat dimulakan, menjadi sangat perlahan atupun tidak responsif. • Boleh dikenal pasti daripada kegagalan output dan paparan amaran dalam atur cara. contohnya;- • Boleh dikesan melalui reka bentuk algoritma yang tidak efisien atau salah. Misalnya:- Exception in thread “main” java.lang. NullPointerException Struktur kawalan urutan yang tidak betul. Pemboleh ubah tidak mengandungi nilai atau objek. Pembahagian dengan sifar Struktur kawalan urutan yang tidak betul.
  • 8.
    Langkah- Langkah PengujianAlgoritma Dikenali sebagai desk-checking kerana teknik ini menggunakan kertas dan pensil. Pengujian algortima harus dilakukan secara sistematik. Langkah – langkah pengujian algoritma 1. Kenal pasti “Output Dijangka” 3. Bandingkan kedua – dua Output 2. Kenal Pasti “Output Diperoleh” 4. Analisis dan baiki algoritma
  • 9.
    Contoh - M/S48 Mula INPUT NAMA PAPAR “HELLO” Tamat 1 . Kenal pasti “Output Dijangka”: Input Uji Output Dijangka Khairul Hello Khairul Penyelesaian:
  • 10.
    2. Tentukan “OutputDiperoleh” Mula INPUT NAMA PAPAR “HELLO” Tamat 1. Mula 2. INPUT NAMA 3. PAPAR “HELLO” 4. Tamat a) Pastikan setiap baris arahan dalam pseudokod diberikan nombor. b) Senaraikan semua pemboleh ubah. c) Laksanakan arahan dalam setiap baris dalam jadual. Arahan tersebut mungkin mengubah data dalam pemboleh ubah.kemas kini nilai data setiap pemboleh ubah di setiap baris.contohnya:- No Nama I/O 1 null 2 “Khairul” nama?”Khairul” 3 “Khairul” 4 - “Hello” Output diperoleh: Hello
  • 11.
    # Input UjiOutput Dijangka Output Diperoleh 1 Khairul Hello Khairul Hello 2 Padli Hello Padli Hello 3 Mastura Hello Mastura Hello d) Bandingkan “Output Diperoleh” dengan “Output dijangka”. -Kelihatan Output diperoleh dibawa berlainan daripada “Output dijangka”. -Untuk mengesahkan keputusan, ulang dengan input uji yang lain.contohnya:- Kesimpulannya, Algoritma di atas mengandungi ralat. Ralatnya ialah kegagalan input dipamerkan dalam output.
  • 12.
    3.Membaiki ralat dalamalgoritma • Nombor baris yang menghasilkan output yang tidak tepat ialah baris ketiga.Baris Pseudokod yang berkait adalah:- 3.Papar “Hello” • Maka, Pseudokod yang dibaiki kelihatan seperti yang berikut:- • Ulangi langkah-langkah pengujian menggunakan pseudokod yang telah dibaiki. Hasilnya akan menepati kehendak dan ujian dibuat beberapa kali untuk pengesahan. 1. Mula 2. Input nama 3. Papar “Hello” + nama 4. Tamat # Input Uji Output Dijangka Output Diperoleh 1 Khairul Hello Khairul Hello Khairul 2 Padli Hello Padli Hello Padli 3 Mastura Hello Mastura Hello Mastura
  • 13.
    Susah Faham Tidak lengkap Tidakefisien Tidak penuhi kriteria 4. Membaiki Ralat Algoritma ? 1 Semak Nama Pemboleh Ubah 2 Semak Ungkapan 3 Semak Umpukan 4 Semak urutan betul 5 Semak syarat struktur kawalan 6 Semak Cabang Struktur Kawalan
  • 14.
    1.2.4 Pengesanan nilaipemboleh ubah pada setiap tahap dalam algoritma • No Z I/O 1 - - 2 100 100 3 50 - 4 200 - 5 250 - 6 250 250 7 - -
  • 15.
    1.2.5 Mengenal pastioutput yang betul dari algoritma berdasarkan input yang diberi • Output yang betul bergantung kepada nilai pemboleh ubah sewaktu algoritma papar dipanggil. • Untuk menentukan kesahihan output algoritma, Outout dijangka haruslah dibandingkan . • Output dijangka ditentukan secara manual, iaitu hitungan manual. Contohnya seperti:- Hitung X+Y=12+88 Output dijangka= 100 • Jika output algoritma adalah betul, output algoritma sepatutnya bersamaan dengan output dijangka.
  • 16.
    Algoritma Kod Komputer(Java) Mula Public static void main (string[] args) { Papar “Nama Penguna:” System.out.print.(“Masukkan nama pengguna: “) ; INPUT Nama String nama = new java.until.scanner (System.in).nextline(); Papar “Apa khabar”, nama, “?” System.out.printIn (“Hello”+ nama) ; Tamat }