bab 2
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
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
1. Mula2. Panaskan ketuhar pada 180oC.3. Sediakan tin pembakar (acuan).4. Pukul marjerin bersama gula.5. Campurkan telur dengan esen vanilla.6. Masukkan tepung ke dalam adunan.7.Tuangkan ke dalam acuan.8. Masukkan ke dalam ketuhar.9. Tamat
Alkwarizmi dalam kehidupan seharian Contoh 2: Bersiap ke kuliah
1. Mula2. Bangun pagi3. Bersiap ke kuliah4. Menuju ke fakulti5. Tamat
Penghalusan langkah 22. Bangun pagi
2.1. Bangkit dari katil pada pukul 6.00 pagi2.2. Berus gigi dan mandi2.3. Sembahyang subuh2.4. Kemas katil
Penghalusan langkah 33. Bersiap ke kuliah
3.1. Sarapan3.2. Pakai pakaian ke kuliah3.3. Pakai kasut
Kaedah pembinaan alkhwarizmi1. Kenalpasti input dan output bagi
masalah2. Kenalpasti dan senaraikan
submasalah. Setiap satu mesti diselesaikan untuk mendapatkan keputusan yang dikehendaki
3. Untuk setiap submasalah, kenalpasti dan senaraikan langkah yang mesti dilakukan untuk menyelesaikannya
Contoh masalah 1Menentukan 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. Mula2. Baca/dapatkan harga sekilogram3. Baca/dapatkan kuantiti epal yang dibeli (dalam kg)4. Kira harga bayar = kuantiti X harga sekilogram5. Cetak harga bayar6. Tamat
Contoh masalah 2Menentukan samada suatu nombor bulat ganjil atau
genap– Input : satu nombor bulat– Output : ‘genap’ atau ‘ganjil’– Submasalah :
1. Adakah nombor mempunyai baki jika dibahagi dengan 2
Alkhwarizmi:1. Mula2. Baca nombor3. Bahagikan nombor dengan 24. Jika pembahagian tidak berbaki, cetak ‘genap’5. Jika tidak, cetak ‘ganjil’6. tamats
Contoh masalah 3Dapatkan 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 :1. Mula2. Dapatkan/baca markah bagi pelajar 13. Dapatkan/baca markah bagi pelajar 24. Dapatkan/baca markah bagi pelajar 35. Jumlahkan ketiga-tiga markah6. Kira purata = jumlah/37. Cetak purata8. Tamat
Perwakilan - Carta AlirSintaks Asas
Perwakilan – Carta AlirSintaks Tambahan
Contoh Carta Alir masalah1Mula
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 masalah11. Mula2. Baca kuantiti3. Baca harga_se_kilo4. Harga_bayar kuantiti *
harga_se_kilo5. Cetak harga-bayar6. 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
syarat langkah 1 .. k
langkah k+1
palsu benar
Pemilihan Tunggallangkah ajika < syarat benar > mula_jika
langkah 1langkah 2..langkah k
tamat_jikalangkah k + 1
Dwi-pemilihan
langkah a
syarat langkah 1 .. k
langkah n+1
palsu benarlangkah k=1 .. n
Dwi-pemilihanjika <syarat benar> mula_jikalangkah 1langkah 2:langkah ktamat_jikajika_tidak mula_jika_tidaklangkah k+1langkah k+2:langkah ntamat_jika_tidaklangkah n+1
Multi-pemilihan
Benar
Benar
Benar
syarat1
syarat2
Syarat h
palsu
palsu
palsu
Langkah1 .. k
Langkah q .. r
Langkahk+1 .. m
Langkahn+1 .. p
::
Multi-pemilihanjika <syarat_1 benar> mula_jika_1
langkah 1langkah 2
:langkah k
tamat_jika_1jika_tidak jika <syarat_2 benar> mula_jika_2
langkah k+1langkah k+2
:langkah m
tamat_jika_2:
jika_tidak jika <syarat_h benar> mula_jika_hlangkah n+1langkah n+2:langkah p
tamat_jika_hjika_tidak mula_jika_tidak
langkah qlangkah q+1:langkah r
tamat_jika_tidak
Contoh Carta Alir masalah 2Mula
Baca nombor
Baki = nombor % 2
Baki = 0 BenarPalsu Cetak ‘genap’Cetak ‘ganjil’
Tamat
Contoh Kod Pseudo masalah 2MulaBaca nomborBaki nombor mod 2jika <baki = 0> mula_jika
Cetak ‘nombor genap’tamat_jikajika_tidak mula_jika_tidak
Cetak ‘nombor ganjil’tamat_jika_tidakTamat
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
uji nilai i Langkah 1 .. n Kemaskini nilai iY
T
Gelung berkawalkan pembilang
untuk (pembilang=nilai_awal; uji pembilang; kemaskini pembilang) mula_untuk
langkah 1langkah 2:langkah n
tamat_untuk
Contoh Carta Alir masalah 3
Mula
I = 0
I < 3 Baca markah Jumlah = jumlah + markah
Jumlah = 0
I = I + 1
Y
T
Purata = Jumlah / 3
Cetak Purata
Tamat
Contoh Kod Pseudo masalah 3MulaSetkan Jumlah = 0Untuk (I=0; I<3; I=I+1) mula_untuk
Baca markahJumlah Jumlah + Markah
tamat_untukPurata = Jumlah / 3Cetak purataTamat
Gelung berkawalkan syarat (1)(syarat diuji dahulu)
Syarat
Palsu
Benar Langkah 1 .. n
Gelung berkawalkan syarat (1)(syarat diuji dahulu)
Selagi <syarat benar> mula_selagilangkah 1langkah 2:langkah n
tamat_selagi
Gelung berkawalkan syarat (2)(syarat diuji kemudian)
Langkah 1 .. n
Syarat
Benar
Palsu
Gelung berkawalkan syarat (2)(syarat diuji kemudian)
mulalangkah 1langkah 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 BerstrukturMasalahBaca 3 huruf dan cari serta paparkan hururf
yang terawal mengikut turutan abjadAnalisis
‘A’ < ‘F’Banding secara pasangan satu demi satu
Keperluan dataInput : huruf1, huruf2, huruf3Output : 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
Baca 3 huruf
Cari huruf terawal
Cetak keputusan
huruf_3huruf_2huruf_1
huruf_1huruf_2huruf_3
huruf_Terawal
huruf_Terawal
Contoh Pemecahan Berstruktur
Cari huruf terawal
Banding huruf_1Dengan huruf_2,
Simpan yg terawal Dlm huruf_Terawal
Banding huruf_3Dengan huruf_Terawal,
Simpan yang terawalDlm huruf_Terawal
huruf_1huruf_2 huruf_Terawal huruf_3 huruf_Terawal
3
3.23.1