View
368
Download
1
Category
Preview:
Citation preview
1
BAB 2 : Penyelesaian Masalah & Pengenalan kepada Pengaturcaraan
2
Pengenalan Aturcara komputer ?
Set arahan yang diberikan kepada komputer utk melaksanakan sesuatu ‘tugas’.
Pengaturcaraan ? Proses membina aturcara.
Mengapa aturcara dibina? Utk selesaikan masalah
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
4
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
Penyelesaian Masalah dgn Komputer
5
1. Spesifikasi keperluan2. Analisa masalah3. Rekabentuk4. Pengkodan & pelaksanaan5. Penentusahan & Pengujian6. Penyelenggaraan
Langkah Penyelesaian Masalah oleh Kejuruteraan Perisian
6
Spesifikasi Keperluan Memahami masalah &
persekitaran masalah yg hendak diselesaikan.
Tentukan keperluannya Andaian2 juga perlu dilakukan utk
memastikan skop masalah. Contoh masalah : membuat kopi
7
Analisa Masalah Mengkaji/menganalisa spesifikasi
masalah dgn terperinci.
3 elemen utama yg perlu di kenal pasti: input masalah Output masalah proses
8
Input Masalah Tentukan data/ maklumat yg
diperlukan bagi menyelesaikan masalah tersebut.
Tentukan formatnya – input melalui apa? Keyboard, fail atau hasil pengiraan
Analisa Masalah
9
Output Masalah Tentukan apakah output/ hasil yang
dikehendaki daripada aturcara. Tentukan formatnya
Analisa Masalah
10
Proses Analisa apakah proses yang dilalui
oleh input utk menghasilkan output Kekangan dan andaian Contoh – formula, teknik
Analisa Masalah
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
12
Pengkodan & Perlaksanaan Proses melaksanakan algoritma yg
direkabentuk ke dlm bahasa pengaturcaraan tertentu (dlm kelas ini bhs C).
Perlu tahu sintaks sesuatu bahasa
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
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.
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.
16
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
Algoritma & bagaimana menghasilkannya
17
Kaedah mengungkap algoritma
Carta alir Kod Pseudo Gambarajah N-S Jadual aksi Mesin keadaan terhingga
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.
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 kopi1. masak air2. masukkan kopi dalam cawan3. jika perlu gula
3.1 tambahkan gula4. jika perlu krim
4.1 tambahkan krim5. masukkan air panas ke dalam cawan
20
Sesuai utk masalah yg mudah krn tiada jujukan & struktur yg kompleks.
A) struktur jujukan B) struktur pilihan1. Mula n. jika syarat2. Langkah_1 n.1. Langkah_n.1
: :
n. Langkah_n n.n. Langkah_n.nn+1. tamat
C) sturktur ulangan D) struktur lompatn. pergi langkah sblm n n. pergi langkah slps n
Kod Pseudo 1– Kenyataan bahasa
21
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.
Kod Pseudo 2– Kenyataan bahasa menyerupai bhs pengaturcaraan
22
Kata-kunci digunakan utk menjelaskan struktur2 kawalan ini. A) struktur jujukan B) struktur pilihan
begin if syarat thenLangkah_1 bahagian benar
: elseLangkah_n bahagian tak benar
End endif
C) sturktur ulanganWhile syarat do
Bahagian yg perlu diulangAtauRepeat n kali
Bahagian yg perlu diulang
Kod Pseudo 2– Kenyataan bahasa menyerupai bhs pengaturcaraan
23
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
Kod Pseudo 2– Kenyataan bahasa menyerupai bhs pengaturcaraan
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
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
26
Cetakan dokumen
Keputusan
Gelung (FOR)
Penyambungan pd muka ssama
Penyambungan pd muka lain
Subrutin/ fungsi
Kaedah Carta alir
disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM
2005 27
Contoh Carta alir (membuat kopi)
28
Carta alir vs kod pseudo2Struktur jujukan :-
BeginLangkah 1Langkah 2
EndStruktur pemilihan :-
If syarat thenbahagian_benar
Elsebahagian_salah
endif
Langkah 1 Langkah 2
syaratyatidak
Bhg_benarBhg_salah
29
Struktur ulangan while syarat do
bhg_yg_perlu diulang Endwhile
repeat bhg_yg_perlu diulang
until syarat
Carta alir vs kod pseudo2
syarat Bhg yg diulangya
tidak
Bhg yg diulang
syaratya
tidak
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.
31
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
Contoh Penyelesaian masalah & Algoritma
32
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
Contoh Penyelesaian masalah & Algoritma
33
Fasa : Rekabentuk Kod Pseudo 2
BeginBaca nom1, nom2
if nom1=nom2 thencetak mesej "SAMA"
Else if nom1>nom2 then
cetak mesej "NOMBOR PERTAMA LEBIH BESAR"
else cetak mesej "NOMBOR KEDUA LEBIH BESAR"
end
Contoh Penyelesaian masalah & Algoritma
disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM
2005 34
Fasa : Rekabentuk Carta alir
Contoh Penyelesaian masalah & Algoritma
35
Langkah 1 : Definisi masalah dan spesifikasi keperluan
Daripada jejari yang diberikan, kira luas bulatan dan ukur lilit bulatan tersebut.
Proses menyediakan aturcara
36
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
Proses menyediakan aturcara
37
Langkah 3 : Rekabentuk Kod pseudo
1. Mula2. Baca jejari bulatan3. Kira luas bulatan, PI x jejari x jejari4. Kira ukurlilit bulatan, 2 x PI x jejari5. Cetak luas dan ukurlilit bulatan6. tamat
Proses menyediakan aturcara
disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM
2005 38
Langkah 3 : Rekabentuk Carta alir
Proses menyediakan aturcara
39
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
Proses menyediakan aturcara
40
Contoh-contoh lain
41
Contoh 1Masalah : Tuliskan aturcara untuk mengira luas
segiempat
PENYELESAIAN:Fasa spesifikasi keperluan
- hardware, software- persekitaran masalah.
42
Contoh 1Fasa analisa masalah:
Input : - Media – keyboard Data – panjang, lebar.
Output:- Media – skrin Data – luas.
Proses – Darabkan panjang dengan lebar
43
Contoh 1
Fasa rekabentuk:Algoritma – kod pseudo:1. Mula2. Baca 2 nilai - Panjang, Lebar3. Luas = Panjang * Lebar4. Cetak Luas5. Tamat
44
Contoh 1
Fasa rekabentuk:Algoritma – cartalir: mula
Panjang, lebar
Luas = panjang x lebar
luas
tamat
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.
46
FASA : ANALISA MASALAHInput:
Media : papan kekuncidata :
Markah pertama (mark1) &Markah kedua (mark2)
Output:Media : skrin
data :“SAMA" , “LULUS"“GAGAL"
Proses:Bandingkan 2 markah & tentukan output
47
FASA: REKABENTUKKod pseudo I
1. Mula2. Baca mark1, mark23. Jika mark1=mark2 3.1. cetak mesej "SAMA"
4. Jika mark1>504.1. cetak mesej “LULUS"4.2. pergi ke langkah 65. Jika mark1<505.1. cetak mesej “GAGAL"5.2. pergi ke langkah 66. Jika mark2>506.1. cetak mesej “LULUS"6.2. pergi ke langkah 87. Jika mark2<507.1. cetak mesej “GAGAL"7.2. pergi ke langkah 88. Tamat
Kod pseudo II
beginBaca 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 endifend
48
BEGIN
READ MARK1,MARK2
“SAMA”
END
MARK1=MARK2
MARK1>50“LULUS” “GAGAL”
“GAGAL”“LULUS” MARK2>50
YA
TIDAKYA
YA
TIDAK
TIDAK
CARTA ALIR
Recommended