|
Bab ini adalah tentang pembangunan algoritma, yang mana anda akan belajar tentang struktur kawalan pilihan bersarang dan ulangan. Selain itu, anda akan belajar menggunakan pseudokod dan carta alir, mengesan dan membaiki ralat dalam penyelesaian masalah.
|
|
2.1 |
Pembangunan algoritma |
|
|
|
|
Algoritma |
|
|
- Satu set langkah untuk menyelesaikan sesuatu tugas yang terdiri daripada prosidur yang tersusun
- dibangunkan sebelum proses pembangunan aturcara
|
|
|
|
|
|
|
|
|
|
Struktur kawalan pilihan bersarang |
|
|
- Terdiri daripada satu struktur kawalan yang terbenam dalam satu struktur kawalan yang lain
- Berlaku apabila kejadian satu struktur kawalan diikuti dengan satu struktur kawalan yang lain secara serentak
|
|
|
|
|
|
|
|
Di bawah adalah contoh carta alir struktur kawalan pilihan bersarang.
|
|
|
- Berdasarkan carta alir di atas syarat "kereta buatan malaysia merupakan syarat pertama, jika syarat pertama tidak dipenuhi maka syarat kedua iaitu "harga kurang RM5000" akan dinilai.
- Kedua syarat-syarat ini akan disemak secara serentak dalam proses membuat keputusan.
|
|
|
MULA
Masuk ke kedai buku
Jika ada buku rujukan ASK
Semak kandungan
Jika memenuhi sukatan pelajaran
Beli buku rujukan
Jika tidak
Keluar dari kedai buku
Jika Tidak
Keluar dari kedai buku
TAMAT
|
|
|
- Pseudokod di atas menunjukkan struktur kawalan pilihan bersarang dengan dua pilihan syarat
- Syarat pertama dinilai serentak dengan syarat kedua. Dengan kata lain, syarat kedua bersarang dalam syarat pertama.
|
|
|
|
Struktur kawalan ulangan |
|
|
- Terdiri daripada satu set langkah atau arahan yang sentiasa berulang sehingga suatu syarat dipenuhi
|
|
|
|
|
|
|
|
- Set langkah-langkah tersebut dikenali sebagai gelung (loop) dan setiap ulangan gelung dikenali lelaran (iteration)
- Struktur kawalan ulangan dibahagikan kepada
- Struktur kawalan ulangan for
- Struktur kawalan ulangan while
- Struktur kawalan ulangan for melakukan ulangan bagi sesuatu pernyataan untuk bilangan yang tertentu. Bilangan ulangan dikawal oleh sesuatu nombor disebut pembilang.
- Pembilang akan mengawal bilangan ulangan yang akan berubah pada setiap kali ulangan dilakukan.
- Dalam struktur kawalan ulangan while, ulangan dilaksanakan selagi syarat yang diuji adalah benar. Bilangan ulangan ditentukan oleh syarat yang ditetapkan.
|
|
|
- MULA
- Hadir ke hospital
- Serahkan kad pengenalan
- Jika YA, paparkan "Anda akan dilayan sekejap lagi
- Jika TIDAK, ulang langkah 2
- Paparkan "Anda akan dilayan sekejap lagi
- Melalui proses saringan untuk menentukan tahap kesihatan
- Jika YA, paparkan "Keputusan anda akan diketahui..."
- Jika TIDAK, ulang langkah 4
- Paparkan "Keputusan anda akan diketahui..."
- Menemui doktor pakar untuk rawatan
- Jika YA, paparkan "Keputusan anda akan diketahui..."
- Jika TIDAK, ulang langkah 6
- Menerima keputusan untuk pendaftaran kemasukan ke wad
Jika YA, masuk wad
TAMAT jika
- TAMAT
|
|
Arahan yang digaris merupakan syarat-syarat yang perlu dipenuhi, jika tidak setiap syarat perlu diulangi.
|
|
Di bawah adalah contoh carta alir struktur kawalan ulangan. |
|
|
Di bawah adalah contoh carta alir dan pseudokod struktur kawalan ulangan while. |
|
|
- Mula
- Masukkan nilai 'm' dan 'n'
- Selagi 'm' lebih besar dari 'n'
Paparkan m,n
- Ulang langkah 3
- Tamat
|
|
|
|
Perbezaan |
Struktur kawalan ulangan for |
Struktur kawalan ulangan while |
Pembilang |
Pembilang dinyatakan dalam bentuk nombor |
Tiada pembilang di tetapkan |
Syarat |
Syarat di tentukan oleh pembilang |
Syarat ditetapkan dalam bentuk benar atau palsu (boolean) |
|
|
Semasa merangka algoritma, perkara-perkara berikut perlu diberi perhatian supaya algoritma yang dihasilkan dapat memaparkan output yang tepat;
- Pengisytiharan pemboleh ubah
- Pernyataan kawalan ulangan for atau while
- Nilai input dan output
- Penetapan dan pengujian syarat atau pembilang
|
|
|
Mengesan dan membaiki ralat dalam pseudokod dan carta alir
|
|
|
Ralat |
|
|
Kesilapan atau kesalahan dalam proses pembangunan aturcara segmen kod. |
|
|
|
|
|
|
|
Terdapat 3 jenis ralat;
- Ralat logik
- Ralat sintaks
- Ralat masa larian
|
|
|
Ralat logik |
|
|
Kesilapan yang menyebabkan aturcara memberi output yang tidak dijangka dan ini sering berlaku semasa pembangunan algoritma |
|
|
|
|
|
|
|
|
Ralat sintaks |
|
|
Kesilapan dalam penggunaan bahasa pengaturcaraan seperti kesilapan ejaan atau tatabahasa |
|
|
|
|
|
|
|
|
Ralat masa larian |
|
|
Kesilapan yang akan menyebabkan aturcara terhenti secara tiba-tiba tanpa diduga semasa menjalankan ujian (run) |
|
|
|
|
|
|
|
Dua teknik pengesanan ralat;
- Teknik semakan meja
- Teknik langkah demi langkah
|
|
|
Menggunakan pseudokod dan carta alir dengan menggabungkan pelbagai struktur kawalan |
|
- Proses penyelesaian masalah yang lebih kompleks memerlukan masalah tersebut dileraikan kepada bahagian-bahagian yang lebih kecil untuk memudahkan proses pembentukan algoritma.
- Algoritma boleh bertindak sebagai plan penyelesaian yang berkesan untuk menyelesaikan masalah.
- Berikut adalah langkah-langkah untuk menghasilkan algoritma yang menggabungkan pelbagai struktur kawalan;
- Mengenalpasti masalah
Membuat analisis tentang punca masalah dan membahagikan masalah tersebut kepada bahagian-bahagian yang lebih kecil
- Merangka algoritma penyelesaian
Mengenalpasti proses-proses yang terlibat dalam penyelesaian masalah termasuk masalah-masalah yang kecil. Pembina algoritma boleh menjangka output yang akan dihasilkan
- Menyusun langkah-langkah algoritma
Maklumat dari rangka algoritma dimurnikan supaya susunan langkah-langkah penyelesaian lebih tepat dan mampu menghasilkan output yang diingini.
|
|
|
|