530 likes | 1.32k Vues
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?.
E N D
BAB 2 : Penyelesaian Masalah & Pengenalan kepada Pengaturcaraan disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005
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
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
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
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
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
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
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
Analisa Masalah • Output Masalah • Tentukan apakah output/ hasil yang dikehendaki daripada aturcara. • Tentukan formatnya disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Contoh Carta alir (membuat kopi) disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005
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
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
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
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
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
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
Contoh Penyelesaian masalah & Algoritma • Fasa : Rekabentuk • Carta alir disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005
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
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
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
Proses menyediakan aturcara • Langkah 3 : Rekabentuk • Carta alir disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005
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
Contoh-contoh lain disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005
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
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
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
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
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
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
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
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