kod pesudo2

Post on 18-Jun-2015

356 views 1 download

Transcript of kod pesudo2

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