1 / 48

BAB 2 : Penyelesaian Masalah & Pengenalan kepada Pengaturcaraan

BAB 2 : Penyelesaian Masalah & Pengenalan kepada Pengaturcaraan. Pengenalan . Aturcara komputer ? Set arahan yang diberikan kepada komputer utk melaksanakan sesuatu ‘tugas’. Pengaturcaraan ? Proses membina aturcara. Mengapa aturcara dibina? Utk selesaikan masalah. Penyelesaian Masalah?.

Audrey
Download Presentation

BAB 2 : Penyelesaian Masalah & Pengenalan kepada Pengaturcaraan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BAB 2 : Penyelesaian Masalah & Pengenalan kepada Pengaturcaraan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  2. Pengenalan • Aturcara komputer ? • Set arahan yang diberikan kepada komputer utk melaksanakan sesuatu ‘tugas’. • Pengaturcaraan ? • Proses membina aturcara. • Mengapa aturcara dibina? • Utk selesaikan masalah disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  3. Penyelesaian Masalah? • Prosidur utk menentukan penyelesaian sesuatu masalah dan menyatakannya kpd bentuk yg jelas • Proses pembangunan perisian yang menggunakan kaedah penyelesaian kejuruteraan dan sains => KEJURUTERAAN PERISIAN disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  4. Penyelesaian Masalah dgn Komputer • Ciri-ciri masalah yg boleh diselesaikan oleh komputer: • Boleh diwajarkan – mudahkan kerja, jimatkan kos, tambah pengetahuan. • Boleh didefinasikan – Penyelesaiannya terhingga, jelas • Berulang – masalah rutin (kira gaji pekerja) • Data yang banyak – data pekerja disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  5. Langkah Penyelesaian Masalah oleh Kejuruteraan Perisian • Spesifikasi keperluan • Analisa masalah • Rekabentuk • Pengkodan & pelaksanaan • Penentusahan & Pengujian • Penyelenggaraan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  6. Spesifikasi Keperluan • Memahami masalah & persekitaran masalah yg hendak diselesaikan. • Tentukan keperluannya • Andaian2 juga perlu dilakukan utk memastikan skop masalah. • Contoh masalah : membuat kopi disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  7. Analisa Masalah • Mengkaji/menganalisa spesifikasi masalah dgn terperinci. • 3 elemen utama yg perlu di kenal pasti: • input masalah • Output masalah • proses disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  8. Analisa Masalah • Input Masalah • Tentukan data/ maklumat yg diperlukan bagi menyelesaikan masalah tersebut. • Tentukan formatnya – input melalui apa? Keyboard, fail atau hasil pengiraan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  9. Analisa Masalah • Output Masalah • Tentukan apakah output/ hasil yang dikehendaki daripada aturcara. • Tentukan formatnya disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  10. Analisa Masalah • Proses • Analisa apakah proses yang dilalui oleh input utk menghasilkan output • Kekangan dan andaian • Contoh – formula, teknik disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  11. Rekabentuk • 2 tugas utama : • memilih struktur yg sesuai utk menyusun & menyimpan data dalam proses penyelesaian masalah. • Jujukan, pilihan, gelung • merekabentuk algoritma utk memproses input & mengeluarkan output. • Algoritma – set langkah2/ prosedur bagaimana proses utk menyelesaikan masalah dilaksanakan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  12. Pengkodan & Perlaksanaan • Proses melaksanakan algoritma yg direkabentuk ke dlm bahasa pengaturcaraan tertentu (dlm kelas ini bhs C). • Perlu tahu sintaks sesuatu bahasa disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  13. Penentusahan & Pengujian • Utk menentukan aturcara yg dihasilkan betul. • Pengujian perlu dilakukan dgn memberi input & memeriksa output sama ada output yg betul dikeluarkan dari aturcara yg ditulis. • 3 jenis ralat yang boleh dikenalpasti: • Ralat rekabentuk: berlaku dalam fasa2 sebelum • Ralat sintaks: dikesan semasa proses pengkompilan (compilation) • Ralat masa larian (run-time error): dikesan semasa aturcara dilaksanakan oleh komputer disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  14. Penyelenggaraan • Melibatkan perubahan/pengubahsuaian aturcara bila sesuatu keperluan atau syarat berubah. • 2 jenis: • Sedikit pengubahsuaian • Banyak pengubahsuaian => perlu aturcara baru => lakukan semula dari langkah 1. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  15. Algoritma & bagaimana menghasilkannya • Algoritma • Cara dan langkah yang perlu dilakukan bagi menyelesaikan masalah. • Dalam fasa rekabentuk. • Tiada algoritma tiada aturcara  tiada penyelesaian. • Tidak bergantung kepada bahasa pengaturcaraan. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  16. Algoritma & bagaimana menghasilkannya • Apa yg perlu ada dalam algoritma • input • output • tidak mengelirukan/ringkas/mudah • dlm bentuk umum - boleh difahami semua golongan pembaca yg berkeperluan • tepat utk menyelesaikan masalah • terhingga - ada kesudahan • cekap disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  17. Kaedah mengungkap algoritma • Carta alir • Kod Pseudo • Gambarajah N-S • Jadual aksi • Mesin keadaan terhingga disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  18. Kaedah Kod Pseudo • Jujukan langkah yg ditulis menggunakan bhs tabii • Setiap baris kod pseudo mewakili satu langkah yang dilaksanakan sekali shj. • 2 jenis • Kenyataan bahasa • Kenyataan bahasa yg menyerupai bahasa pengaturcaraan. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  19. Kod Pseudo 1– Kenyataan bahasa • dlm bahasa tabii & tidak mempunyai peraturan yg khusus. • Nombor diberikan kepada jujukan langkah => tertib perlaksanaan langkah2 mengikut nombor yg ditulis. • Contoh : algoritma untuk menyediakan secawan kopi • masak air • masukkan kopi dalam cawan • jika perlu gula 3.1 tambahkan gula • jika perlu krim 4.1 tambahkan krim • masukkan air panas ke dalam cawan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  20. Kod Pseudo 1– Kenyataan bahasa • Sesuai utk masalah yg mudah krn tiada jujukan & struktur yg kompleks. • A) struktur jujukan B) struktur pilihan 1. Mula n. jika syarat 2. Langkah_1 n.1. Langkah_n.1 : : n. Langkah_n n.n. Langkah_n.n n+1. tamat • C) sturktur ulangan D) struktur lompat n. pergi langkah sblm n n. pergi langkah slps n disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  21. Kod Pseudo 2– Kenyataan bahasa menyerupai bhs pengaturcaraan • dlm bahasa Inggeris mudah yg hampir menyerupai bahasa pengaturcaraan • Tertib perlaksanaan langkah2 mengikut aturan langkah2 itu ditulis. • Tertib perlaksanaan langkah2 boleh dikawal dgn menggunakan beberapa struktur kawalan. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  22. Kod Pseudo 2– Kenyataan bahasa menyerupai bhs pengaturcaraan • Kata-kunci digunakan utk menjelaskan struktur2 kawalan ini. • A) struktur jujukan B) struktur pilihan beginif syarat then Langkah_1 bahagian benar : else Langkah_n bahagian tak benar End endif • C) sturktur ulangan While syarat do Bahagian yg perlu diulang Atau Repeat n kali Bahagian yg perlu diulang disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  23. Kod Pseudo 2– Kenyataan bahasa menyerupai bhs pengaturcaraan • Kod pseudo menyediakan secawan kopi • masak air • masukkan kopi dalam cawan • if perlu_gula then • tambahkan gula • endif • if perlu_krim then • tambahkan krim • endif • masukkan air panas ke dalam cawan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  24. Penghalusan berlangkah algoritma • Algoritma ditulis bermula dari langkah-langkah umum. • langkah2 umum ini dihalusi sedikit demi sedikit sehingga menghasilkan langkah2 yg lebih spesifik. • Contoh (langkah masak air ) • Masak air  isi air ke dlm cerek nyalakan api repeat tunggu until air_mendidih disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  25. Kaedah Carta alir • Carta alir terdiri dari kotak/simbol berbagai bentuk yang menunjukkan operasi yg perlu dilakukan dan anak-panah yg menyatakan jujukan operasi tersebut. • Simbol cartalir • terminal (mula, tamat) • proses (umpuk nilai, operasi aritmetik dan sebarang proses) • Input/ output disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  26. Kaedah Carta alir • Cetakan dokumen • Keputusan • Gelung (FOR) • Penyambungan pd muka ssama • Penyambungan pd muka lain • Subrutin/ fungsi disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  27. Contoh Carta alir (membuat kopi) disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  28. Carta alir vs kod pseudo2 Struktur jujukan :- Begin Langkah 1 Langkah 2 End Struktur pemilihan :- If syarat then bahagian_benar Else bahagian_salah endif Langkah 2 Langkah 1 tidak ya syarat Bhg_salah Bhg_benar disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  29. Carta alir vs kod pseudo2 Struktur ulangan • whilesyarat do • bhg_yg_perlu diulang • Endwhile • repeat • bhg_yg_perlu diulang • untilsyarat ya syarat Bhg yg diulang tidak Bhg yg diulang ya syarat tidak disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  30. Contoh Penyelesaian masalah & Algoritma • Bina aturcara yg menerima sepasang nombor dan mencetak mesej “SAMA” jika dua nombor tersebut mempunyai nilai yang sama, mesej “NO. PERTAMA LEBIH BESAR” jika nombor pertama lebih besar daripada nombor kedua dan mesej “NO. KEDUA LEBIH BESAR”, jika nombor kedua lebih besar daripada nombor pertama. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  31. Contoh Penyelesaian masalah & Algoritma • Fasa : Analisa masalah • Input • Media : keyboard • Data : 2 nombor -> no1 dan no2 • Output • Media : skrin • Hasil : “SAMA”, “NO PERTAMA LEBIH BESAR”, “NO KEDUA LEBIH BESAR”. • Proses • bandingkan 2 nonbor & tentukan output disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  32. Contoh Penyelesaian masalah & Algoritma • Fasa : Rekabentuk • Kod Pseudo 1 • 1. Mula • 2. Baca nom1, nom2 • 3. Jika nom1=nom2 • 3.1. cetak mesej "SAMA" • 3.2. pergi ke langkah 6 • 4. Jika nom1>nom2 • 4.1. cetak mesej "NOMBOR PERTAMA LEBIH BESAR" • 4.2. pergi ke langkah 6 • 5. Jika nom1<nom2 • 5.1. cetak mesej "NOMBOR KEDUA LEBIH BESAR" • 5.2. pergi ke langkah 6 • 6. Tamat disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  33. Contoh Penyelesaian masalah & Algoritma • Fasa : Rekabentuk • Kod Pseudo 2 Begin Baca nom1, nom2 if nom1=nom2 then cetak mesej "SAMA" Else if nom1>nom2 then cetak mesej "NOMBOR PERTAMA LEBIH BESAR" else cetak mesej "NOMBOR KEDUA LEBIH BESAR" end disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  34. Contoh Penyelesaian masalah & Algoritma • Fasa : Rekabentuk • Carta alir disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  35. Proses menyediakan aturcara • Langkah 1 : Definisi masalah dan spesifikasi keperluan • Daripada jejari yang diberikan, kira luas bulatan dan ukur lilit bulatan tersebut. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  36. Proses menyediakan aturcara • Langkah 2 : Analisa Masalah • Input • Media : papan kekunci • Data : jejari • Output • Media : skrin • Data : luas, ukurlilit • Proses • Formula luas = PIx Jejari 2 • Formula ukurlilit = 2 x PI x Jejari • PI = 3.14 disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  37. Proses menyediakan aturcara • Langkah 3 : Rekabentuk • Kod pseudo • Mula • Baca jejari bulatan • Kira luas bulatan, PI x jejari x jejari • Kira ukurlilit bulatan, 2 x PI x jejari • Cetak luas dan ukurlilit bulatan • tamat disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  38. Proses menyediakan aturcara • Langkah 3 : Rekabentuk • Carta alir disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  39. Proses menyediakan aturcara • Sblm ke langkah 4, uji cartalir /algoritma dgn beberapa contoh data --- utk mengelakkan ralat logik • Langkah 4 : Pengkodan dan perlaksanaan Langkah 5 & 6 : Taip aturcara dan uji aturcara serta lakukan perubahan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  40. Contoh-contoh lain disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  41. Contoh 1 Masalah : Tuliskan aturcara untuk mengira luas segiempat PENYELESAIAN: Fasa spesifikasi keperluan - hardware, software - persekitaran masalah. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  42. Contoh 1 Fasa analisa masalah: • Input : - • Media – keyboard • Data – panjang, lebar. • Output:- • Media – skrin • Data – luas. • Proses – • Darabkan panjang dengan lebar disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  43. Contoh 1 Fasa rekabentuk: Algoritma – kod pseudo: • Mula • Baca 2 nilai - Panjang, Lebar • Luas = Panjang * Lebar • Cetak Luas • Tamat disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  44. Contoh 1 Fasa rekabentuk: Algoritma – cartalir: mula Panjang, lebar Luas = panjang x lebar luas tamat disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  45. Contoh 2 • SOALAN: Tulis aturcara yang akan menerima input markah 2 orang pelajar dan mencetak mesej “SAMA” jika 2 markah tersebut mempunyai markah yang serupa, mesej “LULUS” jika markah lebih besar dari 50 dan mesej “GAGAL” jika markah kurang dari 50. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  46. FASA : ANALISA MASALAH Input: Media : papan kekunci data : Markah pertama (mark1) & Markah kedua (mark2) Output: Media : skrin data : “SAMA" , “LULUS" “GAGAL" Proses: Bandingkan 2 markah & tentukan output disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  47. Kod pseudo I 1. Mula 2. Baca mark1, mark2 3. Jika mark1=mark2 3.1. cetak mesej "SAMA" 4. Jika mark1>50 4.1. cetak mesej “LULUS" 4.2. pergi ke langkah 6 5. Jika mark1<50 5.1. cetak mesej “GAGAL" 5.2. pergi ke langkah 6 6. Jika mark2>50 6.1. cetak mesej “LULUS" 6.2. pergi ke langkah 8 7. Jika mark2<50 7.1. cetak mesej “GAGAL" 7.2. pergi ke langkah 8 8. Tamat Kod pseudo II begin Baca mark1, mark2 if mark1=mark2 then cetak mesej "SAMA" if mark1>50 cetak mesej “LULUS" else cetak mesej “GAGAL" endif if mark2>50 cetak mesej “LULUS" else cetak mesej “GAGAL" endif endif end FASA: REKABENTUK disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

  48. BEGIN CARTA ALIR READ MARK1, MARK2 YA MARK1=MARK2 “SAMA” TIDAK YA “LULUS” MARK1>50 “GAGAL” TIDAK YA MARK2>50 “LULUS” “GAGAL” TIDAK END disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

More Related