bab2

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

Upload: sitherraivalli

Post on 22-Dec-2015

9 views

Category:

Documents


2 download

DESCRIPTION

RBT

TRANSCRIPT

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

5

1. Spesifikasi keperluan2. Analisa masalah3. Rekabentuk4. Pengkodan & pelaksanaan5. Penentusahan & Pengujian6. Penyelenggaraan

Langkah Penyelesaian Masalah oleh Kejuruteraan Perisian

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

Input Masalah Tentukan data/ maklumat yg

diperlukan bagi menyelesaikan masalah tersebut.

Tentukan formatnya – input melalui apa? Keyboard, fail atau hasil pengiraan

Analisa Masalah

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

9

Output Masalah Tentukan apakah output/ hasil yang

dikehendaki daripada aturcara. Tentukan formatnya

Analisa Masalah

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

10

Proses Analisa apakah proses yang dilalui

oleh input utk menghasilkan output Kekangan dan andaian Contoh – formula, teknik

Analisa Masalah

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

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

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

1. 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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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 ulangan

While syarat doBahagian yg perlu diulang

AtauRepeat n kali

Bahagian yg perlu diulang

Kod Pseudo 2– Kenyataan bahasa menyerupai bhs pengaturcaraan

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

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

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)

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

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

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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

35

Langkah 1 : Definisi masalah dan spesifikasi keperluan

Daripada jejari yang diberikan, kira luas bulatan dan ukur lilit bulatan tersebut.

Proses menyediakan aturcara

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

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

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 1Masalah : 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 1Fasa 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:1. Mula2. Baca 2 nilai - Panjang, Lebar3. Luas = Panjang * Lebar4. Cetak Luas5. 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 MASALAHInput:

Media : papan kekuncidata :

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

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

disediakan oleh Pn Suriati bte Sadimon, GMM, FSKSM, UTM 2005

48

BEGIN

READ MARK1,MARK2

“SAMA”

END

MARK1=MARK2

MARK1>50“LULUS” “GAGAL”

“GAGAL”“LULUS” MARK2>50

YA

TIDAKYA

YA

TIDAK

TIDAK

CARTA ALIR