kod pesudo2

48
1 BAB 2 : Penyelesaian Masalah & Pengenalan kepada Pengaturcaraan

Upload: c-mah

Post on 18-Jun-2015

354 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: kod pesudo2

1

BAB 2 : Penyelesaian Masalah & Pengenalan kepada Pengaturcaraan

Page 2: kod pesudo2

2

Pengenalan Aturcara komputer ?

Set arahan yang diberikan kepada komputer utk melaksanakan sesuatu ‘tugas’.

Pengaturcaraan ? Proses membina aturcara.

Mengapa aturcara dibina? Utk selesaikan masalah

Page 3: kod pesudo2

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

Page 4: kod pesudo2

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

Page 5: kod pesudo2

5

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

Langkah Penyelesaian Masalah oleh Kejuruteraan Perisian

Page 6: kod pesudo2

6

Spesifikasi Keperluan Memahami masalah &

persekitaran masalah yg hendak diselesaikan.

Tentukan keperluannya Andaian2 juga perlu dilakukan utk

memastikan skop masalah. Contoh masalah : membuat kopi

Page 7: kod pesudo2

7

Analisa Masalah Mengkaji/menganalisa spesifikasi

masalah dgn terperinci.

3 elemen utama yg perlu di kenal pasti: input masalah Output masalah proses

Page 8: kod pesudo2

8

Input Masalah Tentukan data/ maklumat yg

diperlukan bagi menyelesaikan masalah tersebut.

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

Analisa Masalah

Page 9: kod pesudo2

9

Output Masalah Tentukan apakah output/ hasil yang

dikehendaki daripada aturcara. Tentukan formatnya

Analisa Masalah

Page 10: kod pesudo2

10

Proses Analisa apakah proses yang dilalui

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

Analisa Masalah

Page 11: kod pesudo2

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

Page 12: kod pesudo2

12

Pengkodan & Perlaksanaan Proses melaksanakan algoritma yg

direkabentuk ke dlm bahasa pengaturcaraan tertentu (dlm kelas ini bhs C).

Perlu tahu sintaks sesuatu bahasa

Page 13: kod pesudo2

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

Page 14: kod pesudo2

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.

Page 15: kod pesudo2

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.

Page 16: kod pesudo2

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

Page 17: kod pesudo2

17

Kaedah mengungkap algoritma

Carta alir Kod Pseudo Gambarajah N-S Jadual aksi Mesin keadaan terhingga

Page 18: kod pesudo2

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.

Page 19: kod pesudo2

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

Page 20: kod pesudo2

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

Page 21: kod pesudo2

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

Page 22: kod pesudo2

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

Page 23: kod pesudo2

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

Page 24: kod pesudo2

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

Page 25: kod pesudo2

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

Page 26: kod pesudo2

26

Cetakan dokumen

Keputusan

Gelung (FOR)

Penyambungan pd muka ssama

Penyambungan pd muka lain

Subrutin/ fungsi

Kaedah Carta alir

Page 27: kod pesudo2

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

2005 27

Contoh Carta alir (membuat kopi)

Page 28: kod pesudo2

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

Page 29: kod pesudo2

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

Page 30: kod pesudo2

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.

Page 31: kod pesudo2

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

Page 32: kod pesudo2

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

Page 33: kod pesudo2

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

Page 34: kod pesudo2

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

2005 34

Fasa : Rekabentuk Carta alir

Contoh Penyelesaian masalah & Algoritma

Page 35: kod pesudo2

35

Langkah 1 : Definisi masalah dan spesifikasi keperluan

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

Proses menyediakan aturcara

Page 36: kod pesudo2

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

Page 37: kod pesudo2

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

Page 38: kod pesudo2

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

2005 38

Langkah 3 : Rekabentuk Carta alir

Proses menyediakan aturcara

Page 39: kod pesudo2

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

Page 40: kod pesudo2

40

Contoh-contoh lain

Page 41: kod pesudo2

41

Contoh 1Masalah : Tuliskan aturcara untuk mengira luas

segiempat

PENYELESAIAN:Fasa spesifikasi keperluan

- hardware, software- persekitaran masalah.

Page 42: kod pesudo2

42

Contoh 1Fasa analisa masalah:

Input : - Media – keyboard Data – panjang, lebar.

Output:- Media – skrin Data – luas.

Proses – Darabkan panjang dengan lebar

Page 43: kod pesudo2

43

Contoh 1

Fasa rekabentuk:Algoritma – kod pseudo:1. Mula2. Baca 2 nilai - Panjang, Lebar3. Luas = Panjang * Lebar4. Cetak Luas5. Tamat

Page 44: kod pesudo2

44

Contoh 1

Fasa rekabentuk:Algoritma – cartalir: mula

Panjang, lebar

Luas = panjang x lebar

luas

tamat

Page 45: kod pesudo2

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.

Page 46: kod pesudo2

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

Page 47: kod pesudo2

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

Page 48: kod pesudo2

48

BEGIN

READ MARK1,MARK2

“SAMA”

END

MARK1=MARK2

MARK1>50“LULUS” “GAGAL”

“GAGAL”“LULUS” MARK2>50

YA

TIDAKYA

YA

TIDAK

TIDAK

CARTA ALIR