390 likes | 665 Views
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.
E N D
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
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 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
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 langkah k+1
Pemilihan Tunggal langkah a jika < syarat benar > mula_jika langkah 1 langkah 2 . . langkah k tamat_jika langkah k + 1
Dwi-pemilihan langkah a palsu benar syarat langkah 1 .. k langkah k=1 .. n 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 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 2 : 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