Professional Documents
Culture Documents
1
Pengenalan
Aturcara komputer ?
Set arahan yang diberikan kepada
komputer utk melaksanakan sesuatu
‘tugas’.
Pengaturcaraan ?
Proses membina aturcara.
Mengapa aturcara dibina?
Utk selesaikan masalah
2
Penyelesaian Masalah?
Prosidur utk menentukan penyelesaian sesuatu
masalah dan menyatakannya kpd bentuk yg jelas
3
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
4
Langkah Penyelesaian
Masalah oleh Kejuruteraan
Perisian
1. Spesifikasi keperluan
2. Analisa masalah
3. Rekabentuk
4. Pengkodan & pelaksanaan
5. Penentusahan & Pengujian
6. Penyelenggaraan
5
Spesifikasi Keperluan
Memahami masalah & persekitaran
masalah yg hendak diselesaikan.
Tentukan keperluannya
Andaian2 juga perlu dilakukan utk
memastikan skop masalah.
Contoh masalah : membuat kopi
6
Analisa Masalah
Mengkaji/menganalisa spesifikasi
masalah dgn terperinci.
7
Analisa Masalah
Input Masalah
Tentukan data/ maklumat yg diperlukan
bagi menyelesaikan masalah tersebut.
Tentukan formatnya – input melalui apa?
Keyboard, fail atau hasil pengiraan
8
Analisa Masalah
Output Masalah
Tentukan apakah output/ hasil yang
dikehendaki daripada aturcara.
Tentukan formatnya
9
Analisa Masalah
Proses
Analisa apakah proses yang dilalui oleh
input utk menghasilkan output
Kekangan dan andaian
Contoh – formula, teknik
10
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
11
Pengkodan & Perlaksanaan
Proses melaksanakan algoritma yg
direkabentuk ke dlm bahasa
pengaturcaraan tertentu (dlm kelas ini
bhs C).
Perlu tahu sintaks sesuatu bahasa
12
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
13
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.
14
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.
15
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
16
Kaedah mengungkap
algoritma
Carta alir
Kod Pseudo
Gambarajah N-S
Jadual aksi
Mesin keadaan terhingga
17
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.
18
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 air
2. masukkan kopi dalam cawan
3. jika perlu gula
3.1 tambahkan gula
4. jika perlu krim
4.1 tambahkan krim
5. masukkan air panas ke dalam cawan
19
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
20
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.
21
Kod Pseudo 2– Kenyataan
bahasa menyerupai bhs
pengaturcaraan
Kata-kunci digunakan utk menjelaskan struktur2 kawalan ini.
A) struktur jujukan B) struktur pilihan
begin if syarat then
Langkah_1 bahagian benar
: else
Langkah_n bahagian tak benar
Endendif
C) sturktur ulangan
While syarat do
Bahagian yg perlu diulang
Atau
Repeat n kali
Bahagian yg perlu diulang
22
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
23
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
24
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
25
Kaedah Carta alir
Cetakan dokumen
Keputusan
Gelung (FOR)
Subrutin/ fungsi
26
Contoh Carta alir (membuat
kopi)
28
Carta alir vs kod pseudo2
Struktur ulangan ya
while syarat do syarat Bhg yg diulang
bhg_yg_perlu diulang tidak
Endwhile
tidak
29
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.
30
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
31
Contoh Penyelesaian masalah
& Algoritma
Fasa : Rekabentuk
Kod Pseudo 1
1. Mula
2. Baca nom1, nom2
3. Jika nom1=nom2
3.1. cetak mesej "SAMA"
4. Jika nom1>nom2
4.1. cetak mesej "NOMBOR PERTAMA LEBIH BESAR"
5. Jika nom1<nom2
5.1. cetak mesej "NOMBOR KEDUA LEBIH BESAR"
6. Tamat
32
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
33
Contoh Penyelesaian masalah
& Algoritma
Fasa : Rekabentuk
Carta alir
35
Proses menyediakan aturcara
Langkah 2 : Analisa Masalah
Input
Data : jejari
Output
Media : skrin
Proses
PI = 3.14
36
Proses menyediakan aturcara
Langkah 3 : Rekabentuk
Kod pseudo
1. Mula
6. tamat
37
Proses menyediakan aturcara
Langkah 3 : Rekabentuk
Carta alir
40
Contoh 1
Masalah :
Tuliskan aturcara untuk mengira luas
segiempat
PENYELESAIAN:
Fasa spesifikasi keperluan
- hardware, software
- persekitaran masalah.
41
Contoh 1
Fasa analisa masalah:
Input : -
Media – keyboard
Data – panjang, lebar.
Output:-
Media – skrin
Data – luas.
Proses –
Darabkan panjang dengan lebar
42
Contoh 1
Fasa rekabentuk:
Algoritma – kod pseudo:
1. Mula
2. Baca 2 nilai - Panjang, Lebar
3. Luas = Panjang * Lebar
4. Cetak Luas
5. Tamat
43
Contoh 1
Fasa rekabentuk:
mula
Algoritma – cartalir:
Panjang, lebar
luas
tamat
44
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.
45
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
46
FASA: REKABENTUK
Kod pseudo I Kod pseudo II
1. Mula
2. Baca mark1, mark2 begin
3. Jika mark1=mark2 Baca mark1, mark2
3.1. cetak mesej "SAMA" if mark1=mark2 then
cetak mesej "SAMA"
4. Jika mark1>50 if mark1>50
4.1. cetak mesej “LULUS" cetak mesej “LULUS"
4.2. pergi ke langkah 6 else
5. Jika mark1<50 cetak mesej “GAGAL"
5.1. cetak mesej “GAGAL" endif
5.2. pergi ke langkah 6 if mark2>50
6. Jika mark2>50 cetak mesej “LULUS"
6.1. cetak mesej “LULUS" else
6.2. pergi ke langkah 8 cetak mesej “GAGAL"
7. Jika mark2<50 endif
7.1. cetak mesej “GAGAL" endif
7.2. pergi ke langkah 8 end
8. Tamat
47
BEGIN
TIDAK
YA
“LULUS” MARK1>50 “GAGAL”
TIDAK
YA MARK2>50
“LULUS” “GAGAL”
TIDAK
END
48