bab2 penyelesaian masalah

13
BAB DUA: PENYELESAIAN MASALAH PENYELESAIAN MASALAH DIDALAM KEHIDUPAN SEHARIAN Manusia membuat keputusan setiap hari untuk menyelesaikan masalah yang berkaitan dengan kehidupan seharian mereka. Setiap masalah yang dihadapi adalah berbeza-beza mengikut situasi dan penyelesaiannya juga berlainan. Satu perkara yang sama ialah bagaimana masalah tersebut diselesaikan. Kitaran Pembangunan Aturcara Untuk membangunkan satu aturcara yang baik dan berkesan, kita hendaklah mengikuti langkah-langkah yang betul di dalam pembangunan aturcara. Enam langkah berikut merupakan asas dalam mereka bentuk aturcara yang dapat membantu menghasilkan output/hasil yang dikehendaki dan dapat merancang masa dengan efektif. 1. Analisa Memahami dan mengenal pasti apakah output yang di kehendaki. Jelas dan faham input yang diperlukan untuk menghasilkan output dan proses yang terlibat di dalam penghasilannya. 2. Reka Bentuk Algoritma (Algorithm) digunakan bagi menafsirkan masalah ke dalam bentuk yang difahami. Terdapat kaedah yang tertentu yang digunakan dalam merangka penyelesaian masalah. 3 kaedah popular: Carta Aliran, Kod Pseudo dan Carta Hirarki. Kaedah ini menekankan pemecahan masalah yang besar kepada bentuk yang lebih kecil. Dengan ini, masalah akan diselesaikan mengikut pecahan-pecahan yang kecil terlebih dahulu sehinggalah selesai keseluruhan masalah.

Upload: anas-assayuti

Post on 19-May-2015

1.978 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Bab2 penyelesaian masalah

BAB DUA: PENYELESAIAN MASALAH

PENYELESAIAN MASALAH DIDALAM KEHIDUPAN SEHARIAN

Manusia membuat keputusan setiap hari untuk menyelesaikan masalah yang berkaitan dengan

kehidupan seharian mereka. Setiap masalah yang dihadapi adalah berbeza-beza mengikut

situasi dan penyelesaiannya juga berlainan. Satu perkara yang sama ialah bagaimana masalah

tersebut diselesaikan.

Kitaran Pembangunan Aturcara

Untuk membangunkan satu aturcara yang baik dan berkesan, kita hendaklah mengikuti

langkah-langkah yang betul di dalam pembangunan aturcara. Enam langkah berikut merupakan

asas dalam mereka bentuk aturcara yang dapat membantu menghasilkan output/hasil yang

dikehendaki dan dapat merancang masa dengan efektif.

1. Analisa

Memahami dan mengenal pasti apakah output yang di kehendaki.

Jelas dan faham input yang diperlukan untuk menghasilkan output dan proses yang

terlibat di dalam penghasilannya.

2. Reka Bentuk

Algoritma (Algorithm) digunakan bagi menafsirkan masalah ke dalam bentuk yang

difahami.

Terdapat kaedah yang tertentu yang digunakan dalam merangka penyelesaian masalah.

3 kaedah popular: Carta Aliran, Kod Pseudo dan Carta Hirarki.

Kaedah ini menekankan pemecahan masalah yang besar kepada bentuk yang lebih

kecil.

Dengan ini, masalah akan diselesaikan mengikut pecahan-pecahan yang kecil terlebih

dahulu sehinggalah selesai keseluruhan masalah.

Page 2: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

10

3. Membina Antara Muka

Setelah proses menentukan bagaimana input diperolehi dan output dihasilkan, objek-

objek akan dibina bagi proses menerima input dan mempamerkan output.

Objek ini dipangail antara muka (interface).

2 langkah bagi mereka bentuk antara muka pengguna ialah:

a) Rancang antara muka - proses ini melibatkan lakaran apa yang akan dipamerkan

kepada pengguna pada skrin komputer.

b) Rancang propeties - mengenalpasti properties bagi setiap objek. Contohnya:

mengenal pasti nama bagi setiap objek dan form, atribut

(attribute) lain bagi objek juga ditentukan; contoh – saiz,

perkataan/warna teks yang akan dipamerkan pada butang

arahan atau label dan sebagainya.

4. Pengekodan

Mentafsirkan algoritma/kod pseudo kepada bahasa pengaturcaraan.

5. Uji dan Debug

Pengujian adalah proses mencari ralat pada program, manakala Debug adalah proses

membetulkan ralat yang dijumpai semasa pengujian (Bug adalah ralat di dalam

program).

6. Dokumentasi

Merupakan penerangan terperinci yang menerangkan apakah yang dilakukan oleh

program dan bagaimana untuk menggunakan program tersebut.

Dikenali juga sebagai arahan manual yang dapat difahami oleh pengaturcara yang lain

untuk kegunaan pada masa akan datang.

Jenis dokumentasi lain ialah carta aliran, kod pseudo, dan carta hirarki yang digunakan

semasa mereka bentuk program.

Page 3: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

11

KAEDAH PENGATURCARAAN

Terdapat 3 kaedah yang digunakan bagi menafsirkan algorithm kepada program iaitu:

1. Carta Aliran: Kaedah grafik yang menunjukan langkah-langkah bagi penyelesaian

masalah dan bagaimana ianya berhubung antara satu sama lain.

2. Pseudocode: Penggunaan ayat pertuturan dan beberapa kod Basic dalam

menunjukan langkah-langkah dan tugas.

3. Carta Hirarki: Menunjukan bahagian yang berlainan bagi sesuatu progarn

berhubung kait antara satu sama lain.

Contoh Masalah

Apabila hendak menghantar surat, bilangan setem ditentukan berdasarkan bilangan jumlah

surat yang dihantar. Katakan, bagi setiap 5 pucuk surat, bilangan setem yang diperlukan

ialah 1.

Berikut adalah algoritma bagi masalah di atas:

Katakan bilangan bagi setiap pucuk surat di panggil, Pucuk. (Input)

Bahagikan jumlah Pucuk dengan 5. (Proses)

Bundarkan nilai (2) kepada nilai tertingai. (Proses)

Hasilnya adalah jumlah bilangan Setem yang diperlukan. (Output)

Algoritma ini akan diuji bagi mencari penyelesaian berikut:

Berapakah jumlah setem yang diperlukan bagi 16 pucuk surat?

1. Katakan jumlah bilangan bagi surat, Pucuk = 16.

2. Bahagikan 16 kepada 5, 16/5 = 3.2

3. Bundarkan nilai 2 kepada nilai tertinggi, iaitu 4.

4. Hasilnya adalah jumlah bilangan Setem yang diperlukan = 4.

Page 4: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

12

Penyelesaian maslah berikut boleh digambarkan dengan:

Carta Aliran

Carta aliran mengandungi simbol geometrik yang dihubungkan oleh anak panah. Bagi

simbol mewakili aktiviti bagi langkah yang akan dilaksanakan oleh program. Aktiviti akan

dilaksanakan mengikut turutan dari atas ke bawah.

Simbol Nama Penerangan

AliranMenghubungkan antara simbol dan menunjukan aliran

aktiviti

TerminalMenunjukan Mula dan Tamat bagi sesuatu aktiviti

Input/OutputMenunjukan operasi Input (memasukan data) atau Output

(mempamerkan hasil)

ProsesMenunjukan operasi aritmetik dan manipulasi data

dilaksanakan

KeputusanMenunjukan operasi logik atau perbandingan. Mempunyai

1 aliran masuk dan 2 aliran keluar (iaitu Benar/Salah)

Penghubung

Offpage

Menggabungkan aliran yang berlainan

PenghubungMenunjukan carta aliran bersambung di muka surat

seterusnya

Proses

predefine

Mewakili satu kumpulan penyataan yang melaksanakan

pemprosesan data.

Kebaikan:

Mudah difahami logik masalah.

Langkah penyelesaian lebih jelas dan teratur.

Input(16)

Proses(formula)

output(4)

Page 5: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

13

Kekurangan:

Apabila melibatkan program yang besar. Carta Aliran akan memerlukan lebih

banyak muka surat. Ini akan menyukarkan untuk melihat program secara

keseluruhan dan membuat perubahan.

Berikut adalah gambarajah Carta Aliran bagi masalah yang di berikan:

Pseudocode

Pseudocode ini lebih menyerupai aturcara daripada carta aliran dan bahasanya mudah

difahami kerana menggunakan bahasa pertuturan. Apabila Pseudocode ini siap, ianya lebih

memudahkan tugas untuk menterjemahkannya ke dalam bahasa Visual Basic. Berikut adalah

contoh Pseudocode:

Mula

Akhir

Baca nilai helai

Pamir nilai Setem

SetSetem=Helai//5

Bulatkan nilai Setem dgn nilai

tertinggi

Page 6: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

14

Program: Menentukan jumlah bilangan setem bagi surat.

Baca jumlah bilangan surat. (Input)

Set bilangan Setem = Helai / 5. (Proses)

Bulatkan jumlah bilangan Setem kepada nilai tertinggi. (Proses)

Pamerkan jumlah bilangan Setem yang diperlukan. (Output)

Kebaikan:

Padat dan tepat

Tidak memerlukan banyak muka surat.

Menyerupai kod aturcara dan boleh difahami oleh ramai pengaturcara.

Contoh:

MULA

DO WHILE selagi ada data

Baca penyata akaun pelanggan

IF tarikh hari ini lebih besar daripada 30 hari, daripada tarikh akhir pembayaran oleh

pelanggan

Kira jumlah yang dibayar

Kira 5% faedah ke atas jumlah yang dibayar

Tambah jumlah bunga dengan jumlah yang dibayar

Cetak invois (lambat bayar)

ELSE

Kira jumlah yang dibayar

ENDIF

Cetak invois

END DO

END

Page 7: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

15

Carta Hirarki

Carta hirarki juga dikenali sebagai Carta Struktur, Carta HIPO (Hierarchy plus Input-Process-

Output), Carta Atas-Bawah atau Carta VTOC (Visual Table of Contents). Ia menggambarkan

struktur program secara keseluruhan, di mana Carta ini dipecahkan ke modul-modul. Carta hirarki

perlu dibaca bermula daripada atas ke bawah serta daripada ke kanan.

Kebaikan:

Apabila program yang besar dipecahkan kepada modul-modul, masalah dapat dilihat secara

menyeluruh. Modul ini kemudiannya akan diperincikan dengan menggunakan kaedah Carta

Aliran atau Pseudocode. Proses ini dipanggil pecah dan tawan (divide and conquer).

Contoh:

Program Kira Setem

Julatkan Nilai

Kira Bil Setem

Papar Output

Proses Pengiraan

Baca Input

Page 8: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

16

Contoh:

Tajuk : Mengira purata gred pelajar bagi kursus SAK1110.

Algoritma

Masalah: Mengira dan mengeluarkan laporan purata Gred pelajar bagi kursus SAK

1110.

Penerangan: Purata Gred dikira berdasarkan jumlah ke sernua gred dibahagi dengan

jumlah bilangan pelajar. Di sini kita memerlukan satu proses ulangan yang

mana akan membaca Gred bagi setiap pelajar dan menjumlahkan setiap

bilangan gred tersebut. Sistem ini juga akan mengira jumlah bilangan

pelajamya.

Input: Gred Pelajar

Proses: 1) Mengira jumlah gred dan bilangan pelajar

2) Mengira purata gred:

Jumlah gred / Bilangan Pelajar

Output: Purata Gred

Carta Hirarki

Mengira Purata Gred Pelajar

Pamerkan purata gred

PengiraanBaca input

Dapatkan gred

Kira purata gred pelajar

Kira jumlah pelajar

Kira jumlah gred

Page 9: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

17

Carta Aliran

Akhir

Mula

SetkanPembilang -> 0

Jumlah -> 0

TambahBilangan

Pembilang + 1

Tambah jumlah gred

Jumlah + Gred

Setkan purataJumlah /

Pembilang

Ada lagi data?

Gred berikutnya

Paparkan purata gred

Akhir

NoYes

Page 10: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

18

Kod Pseudo

Program: Mencari purata gred pelajar

Pembilang = 0

Jumlah = 0

Selagi ada data

Dapatkan gred yang berikutnya

Jumlah = Jumlah + Gred

Pembilang = Pembilang + 1

Ulang

Purata = Jumlah / Pembilang

Pamer purata

Contoh tambahan:

1. Sebuah syarikat penjualan barangan sukan ingin mengadakan jualan tahunan dengan

memberi diskaun kepada pelanggannya. Jika pelanggan membeli barangan sukan di dalam

satu resit melebihi RM 100 maka pelanggan tersebut akan mendapat diskaun sebanyak 10%

dan jika melebihi RM 500 maka diskaun 50% akan diberikan.

a) Bina carta alir yang menggambarkan masalah di atas,

b) Tuliskan kod pseudo yang dapat menyelesaikan masalah tersebut

2. Syarikat Pembalakan XYZ memberikan diskaun 2% jika baki pembayaran sesuatu pembelian

dilakukan dalam masa 10 hari dari tarikh pembelian.

a) Lakarkan carta alir untuk masalah di atas

3. Seorang pekerja separuh masa berkerja selama 20 jam pada minggu pertama dan 15 jam pada

minggu kedua. Beliau dibayar berdasarkan kepada 40 jam bekerja seminggu. Bina carta

struktur yang menggambarkan perjalanan pengiraan gaji.

Page 11: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

19

4. Sazly Anuar ingin menabung untuk masa depan anaknya. Beliau sedang mencari sebuah bank

yang dapat memberikan pulangan yang lumayan untuk simpanannya. Beliau mempunyai RM

2000 untuk dilaburkan di dalam akuan simpanan. Pengiraan biasa untuk mengira nilai

prinsipal dan faedah pada satu jangka satu masa ialah

Amount = P * (1 + I/M)^(N*M)

dimana P = Prinsipal (jumlah simpanan)

I = Interest (peratusan faedah yang diberikan bank)

N = Number of Years (jumlah tahun simpanan)

M = Compund Interval (jumlah masa bagi setiap tahun sesuatu faedah dikira dan

ditambah pada prinsipal)

5. Encik Azlan ingin mengecat tingkap rumah baru beliau. Cat yang dipilih beliau dapat

memenuhi 100 kaki per segi per gelen. Terdapat dua tingkap yang perlu untuk dicat. Tuliskan

kod pseudo yang membantu Encik Azlan.

6. Tuliskan kod pseudo dan lukiskan carta alir yang mencari purata umur bagi semua pelajar di

dalam sesebuah kelas.

7. Bangunkan satu penyelesaian yang mengembalikan syiling terkecil baki dari pembelian di

bawah RM 1. (50 sen, 20 sen, 10 sen, 5 sen dan 1 sen). Contoh:

Pembayaran : 63 sen

Baki : 37 sen

Syiling : 1 sen - 2 keping

: 5 sen - 1 keping

: 10 sen - 1 keping

: 20 sen - 1 keping

Page 12: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

20

8. Tukarkan carta alir di bawah kepada kod pseudo.

a)

b)

A

B

IF X > 100

IF Y > 250

X = 0

X = 0

T

T

F

F

A

B

IF Age < 16

IF Age < 65

Charge = 5

Charge = 7

Charge = 10

T

F

F

T

Page 13: Bab2 penyelesaian masalah

Penyelesaian Masalah

Mohd Farid JaafarJSM, FSKTM, UPM

21

9. Gambarkan pseudo kod berikut kepada carta alir dan carta struktur.

a) IF SALES <= 2000THEN

COMMISSION = .02ELSE

IF SALES <= 4000THEN

COMMISSION = .04ELSE

IF SALES <= 6000THEN

COMMISSION = .07ELSE

COMMISION = .1

b) IF Purchase < 100THEN

IF Last Payment < 30THEN

IF Balance < 1000THEN

PRINT “Credit OK”ELSE

PRINT “Refer to credit dept”ELSE

IF Balance < 1000THEN

PRINT “Credit OK”ELSE

PRINT “Credit denied”ELSE

IF Balance < 1000THEN

PRINT “Refer to credit dept”ELSE

PRINT “Credit denied”