Anda di halaman 1dari 6

This is a supplementary exercise. Do it on your own.

Universiti Teknologi Malaysia Fakulti Sains Komputer dan Sistem Maklumat SCK1213 Programming Technique I Semester 1, 2006/2007

Tutorial 1e: Creating Flowcharts

Tutorial 2d Membina Carta Alir (Developing Flowcharts) Pengenalan


Tutorial ini bertujuan untuk memberikan pengetahuan tentang pembinaan penyelesaian (developing solution) dan mendokumenkannya dalam bentuk carta alir. Dalam tutorial ini, anda diberikan beberapa contoh jawapan sebagai panduan. Sila fahamkan contoh-contoh tersebut sebelum mencuba soalan-soalan berikutnya. Tips: Untuk menyemak sama ada carta alir yang anda hasilkan adalah betul, caranya adalah dengan menjejak (trace) carta alir tersebut seperti yang anda lakukan pada tutorial lepas.

Objektif
Selepas membuat tutorial ini anda sepatutnya boleh membina carta alir bagi suatu masalah menggunakan struktur-struktur kawalan iaitu sequential, selection dan repeatition memahami dan menggunakan konsep pengaturcaraan bermodular (function)

Bahagian I: Sequential Structure


Contoh 1 Bina sebuah carta alir untuk mengira hasil tambah dua nombor. Jawapan: Sebelum membuat carta alir, kenalpasti input, output dan proses terlebih dahulu. Input: Dua nombor, A dan B Output: Hasil tambah dua nombor tersebut Proses: rumus yang digunakan: Hasil Tambah=A+B
Start

Bahagian II: Selection Structure


Contoh 2 Bina sebuah carta alir untuk menentukan sama ada suatu nombor itu genap atau ganjil. Jawapan: Input: Satu nombor, Num Output: Genap atau Ganjil Proses: Gunakan modulus (bahagi baki). Pengujian untuk nombor genap: Num modulus 2 = 0.
Start

Read Num

Read A and B
is Num modulus 2 = 0?

Yes

Print "It's an even number"

Calculate Resut C=A+B

No Print "it's an odd number"

Print C
Stop

Stop

Soalan 3. Bina sebuah carta alir untuk menentukan


Copyright 2005, Jumail Bin Taliba, GMM, FSKSM, UTM, jumail@fsksm.utm.my Flowcharts Tutorial Developing

Tutorial 1e: Creating Flowcharts

Soalan 1. Bina sebuah carta alir untuk mengira isipadu sebuah sebuah bongkah. 2. Bina sebuah carta alir untuk mengira Jumlah Pinjaman dan Ansuran Bulanan (downpayment) bagi pinjaman kenderaan. Kadar Bunga (interest rate) adalah 4% setahun.

nombor terbesar daripada dua nombor. 4. Bina sebuah carta alir untuk menentukan sama ada suatu nombor itu merupakan gandaan 3 atau gandaan 5 atau keduaduanya.

Copyright 2005, Jumail Bin Taliba, GMM, FSKSM, UTM, jumail@fsksm.utm.my Flowcharts

Tutorial Developing

Tutorial 1e: Creating Flowcharts

5.

Bina sebuah carta alir untuk mengira Jumlah Pinjaman dan Ansuran Bulanan (monthly payment) bagi pinjaman kenderaan. Kadar pinjaman adalah bergantung kepada bilangan tahun pinjaman, seperti berikut: Bil Tahun Kurang daripada 5 tahun 5 tahun atau lebih Kadar Bunga 2.5% setahun 3.0% setahun

Contoh 4 Bina sebuah carta alir untuk mengira bilangan nombor ganjil daripada 1 hingga n. (yang mana, n>0) Jawapan: Input: Nombor n Output: Bilangan nombor ganjil Proses: Kira bilangan nombor ganjil sahaja. Pengujian untuk nombor ganjil: N modulus 2 = 1.
Start

6.

Sebuah bank menyediakan perkhidmatan pinjaman peribadi (personal loan). Syaratsyarat permohonan dan pinjaman adalah seperti berikut: Kadar Bunga: Bil Tahun Kadar 1-2 tahun 3.0% setahun 3-5 tahun 5.0% setahun 6-10 tahun 7.0% setahun Pinjaman Maksimum: RM50,000 Kelayakan Pemohon: Gaji Kasar Pemohon mestilah 3 kali ganda lebih besar daripada Ansuran Bulanan (monthly payment). Berdasarkan spesifikasi di atas, bina sebuah carta alir untuk membantu pihak bank tersebut bagi membuat keputusan sama ada meluluskan atau menolak sesuatu permohonan.

Read n

Initialize OddCount = 0 i=1

is i modulus 2 = 1?

Yes Yes No OddCount = OddCount +1

Bahagian III: Repeatition Structure


Contoh 3 Bina sebuah carta alir untuk mengira hasil tambah semua nombor daripada 1 hingga n. (anggap n > 0) Jawapan: Input: Nombor n Output: Hasil tambah nombor-nombor 1 hingga n Proses: Jumlahkan semua nombor: 1 + 2 + 3 + . + (n-1) + n
S rt ta

i=i+1

is i less than or equal to n ? No Print OddCount

Stop

Ra n ed

In liz itia e S m=0 u i =1

Soalan 7. Bina sebuah carta alir untuk mengira hasil tambah semua nombor gandaan 5 daripada 5 hingga n. Contoh: 5 + 10 + 15 + 20 ..
Ys e

S mSmi u =u + i= 1 i+

8.

Bina sebuah carta alir untuk mengira purata nombor-nombor gandaan 5 daripada 5 hingga n.
Tutorial Developing

is i leBin o s r Copyright 2005, Jumailals thanTaliba, GMM, FSKSM, UTM, jumail@fsksm.utm.my e u to q n ? Flowcharts N o

Tutorial 1e: Creating Flowcharts

9.

Bina sebuah carta alir untuk mengira faktorial bagi suatu nombor n. Rumus faktorial adalah seperti berikut: n! = n x (n-1) x (n-2) x . x 2 x 1 Contoh: katakan n=5, 5! = 5 x 4 x 3 x 2 x 1 =120

Contoh 6 Bina carta alir sebuah fungsi untuk mendapatkan nombor terbesar daripada dua nombor. Seterusnya bina carta alir utama yang memanggil fungsi tersebut untuk menentukan nombor terbesar daripada tiga nombor yang dimasukkan oleh pengguna. Jawapan: Carta alir fungsi
BIGGEST(Result, x, y)

10. Bina sebuah carta alir yang dapat menentukan nombor terbesar daripada n bilangan nombor yang dimasukkan oleh pengguna. Contoh: Katakan pengguna memasukkan bilangan nombor, n=4. Selepas itu, pengguna memasukkan 4 nombor tersebut, katakan 10, 20, 10 dan 40. Jadi nombor terbesar adalah 40

is x > y?

Yes

Result = x

No

Bahagian IV: Function


Contoh 5 (a) Bina carta alir untuk sebuah fungsi (function/subroutine/module) yang menerima dua nombor, kemudian mengira hasil tambah kedua-dua nombor tersebut. (b) Seterusnya, bina carta alir utama (main flowchart) dengan memanggil fungsi tadi, untuk mengira hasil tambah empat nombor yang dimasukkan oleh pengguna. Jawapan: (a) Carta alir fungsi
ADD(Result, A, B)

Result = y

Return

Carta alir utama


Start

Read n1, n2 and n3

BIGGEST ( A, n1, n2)

Result = A + B

Return

BIGGEST (Result, A, n3)

(b) Carta alir utama


Start

Read n1 and n2

Print "The biggest is ", Result

ADD(sum1, n1, n2)

Stop

Read n3 and n4

ADD(sum2, n1, n2)

Copyright 2005, Jumail Binsum1 + sum2 total = Taliba, GMM, FSKSM, UTM, jumail@fsksm.utm.my Flowcharts
Print

Tutorial Developing

Tutorial 1e: Creating Flowcharts

Contoh 7 Bina carta alir sebuah fungsi untuk mengira hasil tambah nombor-nombor daripada a hingga b (a>0 dan ba ). Seterusnya bina carta alir utama yang memanggil fungsi tersebut untuk mengira hasil tambah semua nombor daripada 1 hingga n (nilai n dimasukkan dimasukkan oleh pengguna). Jawapan: Carta alir fungsi
SUM(Result, a, b)

Soalan 11. Bina carta alir untuk sebuah fungsi yang mengira isipadu sebuah bongkah. Seterusnya bina carta alir utama yang memanggil fungsi tersebut untuk mengira isipadu sebuah tangki. Dimensi-dimensi tangki tersebut (panjang, lebar dan tinggi) dimasukkan oleh pengguna. 12. (a) Bina carta alir sebuah fungsi untuk mengira Harga Kereta berdasarkan Model Kereta. Model dan harga kereta adalah seperti berikut: Model Kereta (RM) Honda Accord 2.0 VTi Honda City 1.5 VTEC Honda Civic 2.0 I-VTEC (b) Harga 141,000 85,000 122,000

Initialize: total = 0 num = a

total = total + num Yes

num = num +1

Bina carta alir sebuah fungsi untuk mengira Kadar Bunga (interest rate) berdasarkan bilangan tahun pinjaman. Kadar pinjaman adalah seperti berikut: Bil Tahun 1-3 tahun 4-5 tahun 6-9 tahun 10 tahun Kadar Bunga (%) 2.0 2.5 2.7 3.0

is num less than or equal to b ? No Result = total

(c)

Return

Carta alir utama


Start

Bina carta alir utama yang menggunakan kedua-dua carta alir fungsi di atas untuk mengira Ansuran Bulanan (monthly payment) . Input yang perlu dimasukkan oleh pengguna adalah Model Kereta yang hendak dibeli, downpayment dan bilangan tahun pinjaman.

13. Bina carta alir untuk fungsi berikut: f(x) = x2 + 2x 10


Read n

SUM (Result, 1, n)

Seterusnya, bina carta alir utama untuk mengira f(n) + f(10) ; nilai n dimasukkan oleh pengguna. 14. Bina carta alir fungsi untuk mengira faktorial suatu nombor, n. 15. Bina carta alir untuk sebuah fungsi yang mengira bilangan nombor gandaan a daripada 1 hingga n. Contoh:

Print Result

Stop

Copyright 2005, Jumail Bin Taliba, GMM, FSKSM, UTM, jumail@fsksm.utm.my Flowcharts

Tutorial Developing

Tutorial 1e: Creating Flowcharts

katakan a=3 (bermakna nombor gandaan 3), n=15 (bermakna 1 hingga 15) Nombor gandaan 3 daripada 1 hingga 15 ialah 3, 6, 9, 12, 15 Maka bilangan nombor = 5 16. Bina sebuah carta alir fungsi untuk menentukan nombor perdana (prime number). Catatan: nombor perdana merupakan nombor yang hanya boleh dibahagi (tanpa baki) dengan dirinya sendiri dan nombor 1.

Copyright 2005, Jumail Bin Taliba, GMM, FSKSM, UTM, jumail@fsksm.utm.my Flowcharts

Tutorial Developing

Anda mungkin juga menyukai