Bab 2 Alkhwarizmi
Alkhwarizmi Suatu tatacara langkah demi langkah untuk menyelesaikan masalah dalam masa yang terhingga Alkhwarizmi boleh diwakilkan dengan : Carta alir Kod pseudo Pemecahan berstruktur – kaedah untuk mereka bentuk penyelesaian masalah
Alkhwarizmi dalam kehidupan seharian Contoh 1: memasak kek Mula Panaskan ketuhar pada 180oC. Sediakan tin pembakar (acuan). Pukul marjerin bersama gula. Campurkan telur dengan esen vanilla. Masukkan tepung ke dalam adunan. Tuangkan ke dalam acuan. Masukkan ke dalam ketuhar. Tamat
Alkwarizmi dalam kehidupan seharian Contoh 2: Bersiap ke kuliah Mula Bangun pagi Bersiap ke kuliah Menuju ke fakulti Tamat
2.1. Bangkit dari katil pada pukul 6.00 pagi Penghalusan langkah 2 2. Bangun pagi 2.1. Bangkit dari katil pada pukul 6.00 pagi 2.2. Berus gigi dan mandi 2.3. Sembahyang subuh 2.4. Kemas katil Penghalusan langkah 3 3. Bersiap ke kuliah 3.1. Sarapan 3.2. Pakai pakaian ke kuliah 3.3. Pakai kasut
Kaedah pembinaan alkhwarizmi Kenalpasti input dan output bagi masalah Kenalpasti dan senaraikan submasalah. Setiap satu mesti diselesaikan untuk mendapatkan keputusan yang dikehendaki Untuk setiap submasalah, kenalpasti dan senaraikan langkah yang mesti dilakukan untuk menyelesaikannya
Contoh masalah 1 Menentukan harga yang perlu dibayar bagi kuantiti (kg) epal yang dibeli dengan harga sekilogram Input: Harga epal sekilogram Kuantiti epal yang dibeli (kg) Output: Harga perlu dibayar Alkhwarizmi: 1. Mula 2. Baca/dapatkan harga sekilogram 3. Baca/dapatkan kuantiti epal yang dibeli (dalam kg) 4. Kira harga bayar = kuantiti X harga sekilogram 5. Cetak harga bayar 6. Tamat
Contoh masalah 2 Alkhwarizmi: 1. Mula Menentukan samada suatu nombor bulat ganjil atau genap Input : satu nombor bulat Output : ‘genap’ atau ‘ganjil’ Submasalah : Adakah nombor mempunyai baki jika dibahagi dengan 2 Alkhwarizmi: 1. Mula 2. Baca nombor 3. Bahagikan nombor dengan 2 4. Jika pembahagian tidak berbaki, cetak ‘genap’ 5. Jika tidak, cetak ‘ganjil’ 6. tamats
Contoh masalah 3 Dapatkan purata markah subjek tk1913 bagi 3 orang pelajar Input : markah subjek tk1913 bagi 3 orang pelajar Output : purata markah Submasalah : jumlah markah ketiga-tiga pelajar Alkhwarizmi : Mula Dapatkan/baca markah bagi pelajar 1 Dapatkan/baca markah bagi pelajar 2 Dapatkan/baca markah bagi pelajar 3 Jumlahkan ketiga-tiga markah Kira purata = jumlah/3 Cetak purata Tamat
Perwakilan - Carta Alir Sintaks Asas
Perwakilan – Carta Alir Sintaks Tambahan
Contoh Carta Alir masalah1 Mula Baca harga_se_kilo, dan kuantiti (kg) Harga_bayar = kuantiti * harga_se_kilo Cetak Harga_bayar Tamat
Perwakilan – Kod Pseudo Kod ‘palsu’ yang mirip kepada kod sebenar yang akan ditulis semasa fasa implementasi Petua dalam menulis kod pseudo: Setiap langkah mempunyai tidak lebih dari satu tindakan Perkataan ‘tamat’ atau ‘berhenti’ menunjukkan pemprosesan diberhentikan Perkataan ‘baca’, ‘input’, atau ‘dapatkan’ menunjukkan data diterima Perkataan ‘cetak’, ‘laporkan’, ‘tulis’, ‘output’, atau ‘paparkan’ menunjukkan keputusan yang dihasilkan ‘A B’ mewakili penggantian nilai A dengan nilai B
Perwakilan Kod Pseudo Tindakan asas dalam kod pseudo: Pengistiharan nama pembolehubah Memberi nilai awal kepada nama pembolehubah Menggantikan suatu nilai nama pembolehubah kepada suatu nilai yang baru Melakukan operasi aritmetik Melakukan operasi hubungan, cth: A < B
Contoh kod peudo masalah1 Mula Baca kuantiti Baca harga_se_kilo Harga_bayar kuantiti * harga_se_kilo Cetak harga-bayar Tamat
Struktur Pemilihan Melibatkan pernyataan bersyarat yang boleh mengubah aliran aturcara Terdapat 3 jenis struktur pemilihan: Pemilihan tunggal Dwi-pemilihan Multi-pemilihan
Pemilihan Tunggal langkah a palsu benar syarat langkah 1 .. k
Pemilihan Tunggal langkah a jika < syarat benar > mula_jika . langkah k tamat_jika langkah k + 1
Dwi-pemilihan langkah a palsu benar langkah k=1 .. n syarat langkah n+1
Dwi-pemilihan jika <syarat benar> mula_jika langkah 1 langkah 2 : langkah k tamat_jika jika_tidak mula_jika_tidak langkah k+1 langkah k+2 langkah n tamat_jika_tidak langkah n+1
Multi-pemilihan : Benar Langkah1 .. k palsu Benar Langkah k+1 .. m syarat1 Langkah1 .. k palsu Benar Langkah k+1 .. m syarat2 palsu : Benar Langkah n+1 .. p Syarat h palsu Langkah q .. r
Multi-pemilihan jika <syarat_1 benar> mula_jika_1 langkah 1 : langkah k tamat_jika_1 jika_tidak jika <syarat_2 benar> mula_jika_2 langkah k+1 langkah k+2 langkah m tamat_jika_2
jika_tidak jika <syarat_h benar> mula_jika_h langkah n+1 langkah n+2 : langkah p tamat_jika_h jika_tidak mula_jika_tidak langkah q langkah q+1 langkah r tamat_jika_tidak
Contoh Carta Alir masalah 2 Mula Baca nombor Baki = nombor % 2 Palsu Benar Cetak ‘genap’ Cetak ‘ganjil’ Baki = 0 Tamat
Contoh Kod Pseudo masalah 2 Mula Baca nombor Baki nombor mod 2 jika <baki = 0> mula_jika Cetak ‘nombor genap’ tamat_jika jika_tidak mula_jika_tidak Cetak ‘nombor ganjil’ tamat_jika_tidak Tamat
Latihan masalah 1 Kira markah akhir yang diperolehi oleh seorang pelajar kursus TK1913, jika markah pep akhir, pep pertengahan semester, tutorial, makmal dan projek diberi, dan peratusan adalah seperti berikut: Pep akhir 50% Pep pertengahan 20% Tutorial 10% Makmal 10% Projek 10%
Gelung berkawalkan pembilang I = nilai awal Y Langkah 1 .. n Kemaskini nilai i uji nilai i T
Gelung berkawalkan pembilang untuk (pembilang=nilai_awal; uji pembilang; kemaskini pembilang) mula_untuk langkah 1 langkah 2 : langkah n tamat_untuk
Contoh Carta Alir masalah 3 Mula Jumlah = 0 I = 0 I = I + 1 Y I < 3 Baca markah Jumlah = jumlah + markah T Purata = Jumlah / 3 Cetak Purata Tamat
Contoh Kod Pseudo masalah 3 Mula Setkan Jumlah = 0 Untuk (I=0; I<3; I=I+1) mula_untuk Baca markah Jumlah Jumlah + Markah tamat_untuk Purata = Jumlah / 3 Cetak purata Tamat
Gelung berkawalkan syarat (1) (syarat diuji dahulu) Benar Syarat Langkah 1 .. n Palsu
Gelung berkawalkan syarat (1) (syarat diuji dahulu) Selagi <syarat benar> mula_selagi langkah 1 langkah 2 : langkah n tamat_selagi
Gelung berkawalkan syarat (2) (syarat diuji kemudian) Langkah 1 .. n Benar Syarat Palsu
Gelung berkawalkan syarat (2) (syarat diuji kemudian) mula langkah 1 langkah 2 : langkah n tamat selagi <syarat benar>
Pemecahan Berstruktur Memecahkan satu masalah yang besar kepada beberapa submasalah yang kecil Kenalpasti bilangan submasalah (modul) yang dihasilkan Menentukan input dan output bagi setiap modul Menggambarkan aliran input output bagi setiap modul dan hubungan dengan modul lain menggunakan carta
Contoh Pemecahan Berstruktur Masalah Baca 3 huruf dan cari serta paparkan hururf yang terawal mengikut turutan abjad Analisis ‘A’ < ‘F’ Banding secara pasangan satu demi satu Keperluan data Input : huruf1, huruf2, huruf3 Output : huruf terawal
Contoh Pemecahan Berstruktur Algoritma permulaan: 1. Mula. 2. Baca 3 huruf, dan namakan setiap satunya huruf_1, huruf_2, dan huruf_3. 3. Cari huruf terawal di antara huruf_1, huruf_2,huruf_3 dan simpan dalam huruf_terawal. 4. Cetak huruf_terawal. 5. Tamat.
Contoh Pemecahan Berstruktur Cari & cetak huruf terawal di antara 3 huruf yang diberi huruf_3 huruf_2 huruf_1 huruf_1 huruf_2 huruf_3 huruf_Terawal huruf_Terawal Baca 3 huruf Cari huruf terawal Cetak keputusan
Contoh Pemecahan Berstruktur 3 Cari huruf terawal huruf_1 huruf_2 huruf_Terawal huruf_3 huruf_Terawal Banding huruf_1 Dengan huruf_2, Simpan yg terawal Dlm huruf_Terawal Banding huruf_3 Dengan huruf_Terawal, Simpan yang terawal Dlm huruf_Terawal 3.1 3.2