BAB 2 Penyelesaian Masalah Pengenalan kepada Pengaturcaraan disediakan
BAB 2 : Penyelesaian Masalah & Pengenalan kepada Pengaturcaraan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 1
Pengenalan n Aturcara komputer ? n n Pengaturcaraan ? n n Set arahan yang diberikan kepada komputer utk melaksanakan sesuatu ‘tugas’. Proses membina aturcara. Mengapa aturcara dibina? n Utk selesaikan masalah disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 2
Penyelesaian Masalah? n n 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 3
Penyelesaian Masalah dgn Komputer n Ciri-ciri masalah yg boleh diselesaikan oleh komputer: n n 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 4
Langkah Penyelesaian Masalah oleh Kejuruteraan Perisian 1. 2. 3. 4. 5. 6. Spesifikasi keperluan Analisa masalah Rekabentuk Pengkodan & pelaksanaan Penentusahan & Pengujian Penyelenggaraan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 5
Spesifikasi Keperluan n n Memahami masalah & persekitaran masalah yg hendak diselesaikan. Tentukan keperluannya Andaian 2 juga perlu dilakukan utk memastikan skop masalah. Contoh masalah : membuat kopi disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 6
Analisa Masalah n n Mengkaji/menganalisa spesifikasi masalah dgn terperinci. 3 elemen utama yg perlu di kenal pasti: n n n input masalah Output masalah proses disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 7
Analisa Masalah n Input Masalah n n 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 8
Analisa Masalah n Output Masalah n n Tentukan apakah output/ hasil yang dikehendaki daripada aturcara. Tentukan formatnya disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 9
Analisa Masalah n Proses n n n 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 10
Rekabentuk n 2 tugas utama : n memilih struktur yg sesuai utk menyusun & menyimpan data dalam proses penyelesaian masalah. n n Jujukan, pilihan, gelung merekabentuk algoritma utk memproses input & mengeluarkan output. n Algoritma – set langkah 2/ prosedur bagaimana proses utk menyelesaikan masalah dilaksanakan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 11
Pengkodan & Perlaksanaan n n 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 12
Penentusahan & Pengujian n 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: n n n Ralat rekabentuk: berlaku dalam fasa 2 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 13
Penyelenggaraan n n Melibatkan perubahan/pengubahsuaian aturcara bila sesuatu keperluan atau syarat berubah. 2 jenis: n n Sedikit pengubahsuaian Banyak pengubahsuaian => perlu aturcara baru => lakukan semula dari langkah 1. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 14
Algoritma & bagaimana menghasilkannya n Algoritma n n 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 15
Algoritma & bagaimana menghasilkannya n Apa yg perlu ada dalam algoritma n n n n 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 16
Kaedah mengungkap algoritma n n n Carta alir Kod Pseudo Gambarajah N-S Jadual aksi Mesin keadaan terhingga disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 17
Kaedah Kod Pseudo n n n Jujukan langkah yg ditulis menggunakan bhs tabii Setiap baris kod pseudo mewakili satu langkah yang dilaksanakan sekali shj. 2 jenis n n Kenyataan bahasa yg menyerupai bahasa pengaturcaraan. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 18
Kod Pseudo 1– Kenyataan bahasa n n n dlm bahasa tabii & tidak mempunyai peraturan yg khusus. Nombor diberikan kepada jujukan langkah => tertib perlaksanaan langkah 2 mengikut nombor yg ditulis. Contoh : algoritma untuk menyediakan secawan kopi 1. 2. 3. 4. 5. masak air masukkan kopi dalam cawan jika perlu gula 3. 1 tambahkan gula jika perlu krim disediakan oleh Pn Suriati bte 4. 1 tambahkan krim Sadimon, GMM, FSKSM, UTM masukkan air panas ke dalam cawan 2005 19
Kod Pseudo 1– Kenyataan bahasa n n Sesuai utk masalah yg mudah krn tiada jujukan & struktur yg kompleks. A) struktur jujukan B) struktur pilihan 1. Mula 2. Langkah_1 n. jika syarat n. 1. Langkah_n. 1 : : n. Langkah_n n+1. tamat n n. n. Langkah_n. n C) sturktur ulangan D) struktur lompat n. pergi langkah sblmdisediakan n n. pergi langkah slps n oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 20
Kod Pseudo 2– Kenyataan bahasa menyerupai bhs pengaturcaraan n dlm bahasa Inggeris mudah yg hampir menyerupai bahasa pengaturcaraan Tertib perlaksanaan langkah 2 mengikut aturan langkah 2 itu ditulis. Tertib perlaksanaan langkah 2 boleh dikawal dgn menggunakan beberapa struktur kawalan. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 21
Kod Pseudo 2– Kenyataan bahasa menyerupai bhs pengaturcaraan n n Kata-kunci digunakan utk menjelaskan struktur 2 kawalan ini. A) struktur jujukan B) struktur pilihan if syarat then begin Langkah_1 bahagian benar else : Langkah_n End n bahagian tak benar endif C) sturktur ulangan While syarat do Bahagian yg perlu diulang Atau Repeat n kali Bahagian yg perlu disediakan oleh Pn Suriati bte diulang Sadimon, GMM, FSKSM, UTM 2005 22
Kod Pseudo 2– Kenyataan bahasa menyerupai bhs pengaturcaraan n Kod pseudo menyediakan secawan kopi n n n masak air masukkan kopi dalam cawan if perlu_gula then n endif if perlu_krim then n tambahkan gula tambahkan krim endif masukkan air panas ke dalam cawan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 23
Penghalusan berlangkah algoritma n n n Algoritma ditulis bermula dari langkah-langkah umum. langkah 2 umum ini dihalusi sedikit demi sedikit sehingga menghasilkan langkah 2 yg lebih spesifik. Contoh (langkah masak air ) n Masak air isi air ke dlm cerek nyalakan api repeat tunggu until air_mendidih disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 24
Kaedah Carta alir n n Carta alir terdiri dari kotak/simbol berbagai bentuk yang menunjukkan operasi yg perlu dilakukan dan anak-panah yg menyatakan jujukan operasi tersebut. Simbol cartalir n n n terminal (mula, tamat) proses (umpuk nilai, operasi aritmetik dan sebarang proses) Input/ output disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 25
Kaedah Carta alir n Cetakan dokumen n Keputusan n Gelung (FOR) n Penyambungan pd muka ssama n Penyambungan pd muka lain n Subrutin/ fungsi disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 26
Contoh Carta alir (membuat kopi) disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 27
Carta alir vs kod pseudo 2 Struktur jujukan : Begin Langkah 2 Langkah 1 Langkah 2 End Struktur pemilihan : If syarat then tidak bahagian_benar Else bahagian_salah endif Bhg_salah disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 syarat ya Bhg_benar 28
Carta alir vs kod pseudo 2 Struktur ulangan n while syarat do n bhg_yg_perlu diulang n Endwhile n repeat n n ya syarat Bhg yg diulang tidak Bhg yg diulang bhg_yg_perlu diulang until syarat ya tidak disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 29
Contoh Penyelesaian masalah & Algoritma n 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 30
Contoh Penyelesaian masalah & Algoritma n Fasa : Analisa masalah n Input n n n Output n n n Media : keyboard Data : 2 nombor -> no 1 dan no 2 Media : skrin Hasil : “SAMA”, “NO PERTAMA LEBIH BESAR”, “NO KEDUA LEBIH BESAR”. Proses n bandingkan 2 nonbor & tentukan output disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 31
Contoh Penyelesaian masalah & Algoritma n Fasa : Rekabentuk n Kod Pseudo 1 n n n 1. Mula 2. Baca nom 1, nom 2 3. Jika nom 1=nom 2 n 3. 1. cetak mesej "SAMA" n 3. 2. pergi ke langkah 6 4. Jika nom 1>nom 2 n 4. 1. cetak mesej "NOMBOR PERTAMA LEBIH BESAR" n 4. 2. pergi ke langkah 6 5. Jika nom 1<nom 2 n 5. 1. cetak mesej "NOMBOR KEDUA LEBIH BESAR" disediakan n 5. 2. pergi ke langkah 6 oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 6. Tamat 2005 32
Contoh Penyelesaian masalah & Algoritma n Fasa : Rekabentuk n Kod Pseudo 2 Begin Baca nom 1, nom 2 if nom 1=nom 2 then cetak mesej "SAMA" Else if nom 1>nom 2 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 33
Contoh Penyelesaian masalah & Algoritma n Fasa : Rekabentuk n Carta alir disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 34
Proses menyediakan aturcara n Langkah 1 : Definisi masalah dan spesifikasi keperluan n Daripada jejari yang diberikan, kira luas bulatan dan ukur lilit bulatan tersebut. disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 35
Proses menyediakan aturcara n Langkah 2 : Analisa Masalah n Input Media : papan kekunci n Data : jejari n n Output Media : skrin n Data : luas, ukurlilit n n Proses Formula luas = PIx Jejari 2 disediakan oleh Pn Suriati bte n Formula ukurlilit = 2 GMM, x PIFSKSM, x Jejari Sadimon, UTM 2005 n PI = 3. 14 n 36
Proses menyediakan aturcara n Langkah 3 : Rekabentuk n Kod pseudo 1. Mula 2. Baca jejari bulatan 3. Kira luas bulatan, PI x jejari 4. Kira ukurlilit bulatan, 2 x PI x jejari 5. Cetak luas dan ukurlilit bulatan 6. tamat disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 37
Proses menyediakan aturcara n Langkah 3 : Rekabentuk n Carta alir disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 38
Proses menyediakan aturcara n n Sblm ke langkah 4, uji cartalir /algoritma dgn beberapa contoh data --- utk mengelakkan ralat logik Langkah 4 : Pengkodan perlaksanaan Langkah 5 & 6 : Taip aturcara dan uji aturcara disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM serta lakukan perubahan 2005 39
Contoh-contoh lain disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 40
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 41
Contoh 1 Fasa analisa masalah: n Input : n n n Output: n n n Media – keyboard Data – panjang, lebar. Media – skrin Data – luas. Proses – n Darabkan panjang dengan lebar disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 42
Contoh 1 Fasa rekabentuk: Algoritma – kod pseudo: 1. Mula 2. Baca 2 nilai - Panjang, Lebar 3. Luas = Panjang * Lebar 4. Cetak Luas 5. Tamat disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 43
Contoh 1 Fasa rekabentuk: Algoritma – cartalir: mula Panjang, lebar Luas = panjang x lebar luas disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 tamat 44
Contoh 2 n 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 45
FASA : ANALISA MASALAH Input: Media : papan kekunci data : Markah pertama (mark 1) & Markah kedua (mark 2) Output: Media : skrin data : “SAMA" , “LULUS" “GAGAL" Proses: Bandingkan 2 markah & tentukan output disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 46
FASA: REKABENTUK Kod pseudo I 1. Mula Kod pseudo II 2. Baca mark 1, mark 2 3. Jika mark 1=mark 2 3. 1. cetak mesej "SAMA" begin Baca mark 1, mark 2 if mark 1=mark 2 then cetak mesej "SAMA" if mark 1>50 cetak mesej “LULUS" else cetak mesej “GAGAL" endif if mark 2>50 cetak mesej “LULUS" else cetak mesej “GAGAL" endif end 4. Jika mark 1>50 4. 1. cetak mesej “LULUS" 4. 2. pergi ke langkah 6 5. Jika mark 1<50 5. 1. cetak mesej “GAGAL" 5. 2. pergi ke langkah 6 6. Jika mark 2>50 6. 1. cetak mesej “LULUS" 6. 2. pergi ke langkah 8 7. Jika mark 2<50 7. 1. cetak mesej “GAGAL" 7. 2. pergi ke langkah 8 disediakan oleh Pn Suriati bte 8. Tamat Sadimon, GMM, FSKSM, UTM 2005 47
BEGIN CARTA ALIR “SAMA” READ MARK 1, MARK 2 YA MARK 1=MARK 2 YA “LULUS” TIDAK MARK 1>50 YA MARK 2>50 disediakan oleh. END Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005 TIDAK “GAGAL” 48
- Slides: 48