The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by memeyothman, 2020-05-04 10:50:26

06 STRUKTUR KAWALAN PILIHAN

06 STRUKTUR KAWALAN PILIHAN

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 1 drpd 11

INSTITUT KEMAHIRAN BELIA NEGARA
KEMENTERIAN BELIA DAN SUKAN

KERTAS PENERANGAN

KURSUS UPC 3312 – ASAS PENGATURCARAAN C
TAHAP TIGA (3)
NO DAN TAJUK 06 STRUKTUR KAWALAN PILIHAN
MODUL
NO DAN 06.01 PENYATAAN IF
PERNYATAAN 06.02 PENYATAAN IF-ELSE
TUGASAN 06.03 PENYATAAN SWITCH

TAJUK STRUKTUR KAWALAN PILIHAN

TUJUAN KERTAS PENERANGAN INI AKAN MENERANGKAN
1. PENYATAAN IF
PENERANGAN : 2. PENYATAAN IF-ELSE
3. PENYATAAN SWITCH

PENGENALAN

Struktur Kawalan Plihan mewakili struktur pemilihan dalam algoritma. Algoritma boleh ditulis
dengan menggunakan perwakilan kod pseudo. Langkah berikutnya dalam menulis aturcara
adalah menterjemahkan kod pseudo kepada sintaks bahasa pengaturcaraan. Dalam modul
ini kita akan mempelajari struktur kawalan pilihan menggunakan kenyataan if, if-else dan
switch.

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 2 drpd 11

1.0 PENYATAAN PILIHAN

Penyataan if dan if–else adalah satu kaedah yang memilih dan membezakan sesuatu
situasi dan keadaan. Contoh untuk membezakan nombor 1 dan nombor 2, yang manakah
yang lebih besar. Penyataan pilihan terbahagi kepada dua iaitu pilihan if, pilihan if-else dan
pilihan switch.

2.0 PERNYATAAN if

Penyataan if ialah dalah satu penyataan yang berbentuk sama ada penyataan benar atau
palsu. Ia adalah dalam bentuk pilihan. Rajah 1 dibawah menunjukkan struktur dan carta alir
penyataan pilihan if.

benar penyataan

syarat

Rajah 1: Struktur penyataan pilihan if

Rajah 1 menunjukkan struktur penyataan pilihan if. Jika penyataan syarat benar penyataan
akan dicetak dan jika palsu aturcara akan tamat.

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 3 drpd 11

Contoh 1

Dengan menggunakan penyataan pilihan if, bina carta alir untuk membezakan nombor 5
dan 10 yang manakah lebih besar dan kecil.

mula

benar Cetak “ 10 lebih
besar daripada 5 “
10 > 5

palsu

tamat

Rajah 2: Contoh carta alir menggunakan if

Contoh di atas untuk membezakan nombor 5 dan nombor 10 di mana nombor adalah lebih
besar daripada nombor 5. Carta alir ini juga mencetak penyataan nombor 10 lebih besar
daripada nombor 5.

Format penyataan pilihan if

#include<stdio.h>
main()
{
<pengistiharan pembolehubah>
<syarat if >
<Penyataan if>
return 0;

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 4 drpd 11

}

Huraian bagi format penyataan pilihan if adalah seperti di bawah

Format Huraian dan Contoh
#include<stdio.h> Fail pengkompil
main() Fungsi khas setiap atur cara
{ Permulaan aturcara
<pengistiharan pembolehubah> Mengistiharkan pembolehubah yang terlibat.
Contoh int a,b; , int nom1, nomb2;
<syarat if > Syarat pilihan contoh if (a<b), if (5 < 10), if
(markah >=50 )
<Penyataan if> Penyataan untuk cetakan contoh printf(“ Anda
mendapat A”); printf(“ 7 lebih besar daripada 8
return 0; “);
} Fungsi mengembalikan nilai

Contoh Aturcara

#include<stdio.h>
main()
{
clrscr();
int a=10,b=5;
if(a>b)
Printf(“ Nombor 10 lebih besar daripada 5”);
return 0;
}

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 5 drpd 11

3.0 PENYATAAN PILIHAN if-else

Penyataan pilihan if-else adalah sama dengan konsep penyataan pilihan if. Tetapi pilihan
if-else adalah menjalankan penyataan kedua jika penyataan pertama tidak memenuhi
syarat yang dikenakan. Rajah 3 di bawah menunjukkan struktur dan carta alir penyataan
pilihan if-else.

benar

syarat Pernyataan
1

Palsu

Pernyataan
2

Rajah 3: Struktur penyataan pilihan if - else

Rajah 3 menunjukkan struktur penyataan pilihan if - else. Jika penyataan syarat benar
penyataan1 akan dicetak dan jika syarat palsu penyataan2 akan dicetak.

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 6 drpd 11

Contoh 1
Dengan menggunakan penyataan pilihan if-else, bina carta alir untuk membezarkan
nombor 5 dan 10 yang manakah lebih besar dan kecil.

mula

benar

10 > 5 Cetak “ 10 lebih
besar daripada 5 “

palsu

Cetak “ 5 lebih kecil
daripada 10 daripada 5 “

tamat

Contoh 1 tersebut membezakan nombor 5 dan nombor 10 di mana nombor adalah lebih
besar daripada nombor 5 dan jika penyataan palsu penyataan 5 lebih kecil daripada 10.
Carta alir ini juga mencetak penyataan nombor 10 lebih besar daripada nombor 5.

Format penyataan pilihan if-else
#include<stdio.h>
main()
{
<pengisytiharan pembolehubah>
<syarat if >
<Penyataan 1 if>
else
<Penyataan 2 if >
return 0;

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 7 drpd 11

}
Huraian bagi format penyataan pilihan if-else adalah seperti di bawah:

Format Huraian dan Contoh
#include<stdio.h> Fail pengkompil
Main() Fungsi khas setiap atur cara
{ Permulaan aturcara
<pengisytiharan Mengisytiharkan pembolehubah yang terlibat.
pembolehubah> Contoh int a,b; , int nom1, nomb2;
<syarat if > Syarat pilihan contoh if (a<b), if (5 < 10), if
(markah >=50 )
<Penyataan 1 if> Penyataan untuk cetakan contoh printf(“ Anda
mendapat A”); printf(“ 7 lebih besar daripada 8 “);
Else Selain Penyataan 1
<Penyataan 2 if> Penyataan untuk cetakan contoh printf(“ Anda
mendapat A”); printf(“ 7 lebih besar daripada 8 “);
return 0; Fungsi mengembalikan nilai
} Penutup aturcara

4.0 PENYATAAN switch

Suatu aturcara adakala perlu membuat keputusan atau tindakan berdasarkan
beberapa pilihan. Dalam bahasa C, penyataan switch digunakan untuk struktur pembilang
pilihan. Ia terdiri daripada beberapa label case. Penyataan yang tertentu sahaja yang akan
dilaksanakan apabila struktur switch dilalui. Label default juga boleh dimasukkan untuk
pilihan lain yang tidak tersenarai dalam label case. Nilai label ini mesti sama ada dari jenis
integer atau aksara. Jenis data double atau data titik terapung tidak boleh digunakan
sebagai label. Rentetan aksara seperti motosikal, kereta dan lori juga tidak boleh dijadikan
sebagai label.

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 8 drpd 11

Format penyataan switch

#include<stdio.h>
main()
switch ( pernyataan)
{
case pemalar 1: pernyataan1; break;
case pemalar 2: pernyataan2; break;

:
case pemalar N: penyataanN; break;
default:penyataan;
return 0;
}

Perlaksanaan struktur kawalan switch dapat ditunjukkan seperti contoh di bawah.

Jenis kelas Kenderaan
B atau b Motosikal
D atau d Kereta
G atau g Lori

Jadual 1: Contoh perlaksanaan struktur kawalan switch

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 9 drpd 11

Contoh:

Berdasarkan Jadual 1 di atas, tuliskan aturcara untuk menentukan jenis kenderaan
berdasarkan jenis kelas yang telah diberi.

#include <stdio.h>
main()
{
char KelasId;
printf (“Masukkan satu nilai : ”);
scanf (“%d”,&nilai);
switch (KelasId) {

case ‘B’ : case ‘b’ : printf (“Motosikal”);
case ‘D’ : case ‘d’ : printf (“Kereta”);
break;
case ‘G’ : case ‘g’ : printf (“Lori”);
break;
default : printf(“Tidak diketahui jenisnya”);
}
return 0;
}

Rajah 4: Contoh aturcara untuk menentukan jenis kenderaan berdasarkan jenis kelas

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 10 drpd 11

Mesej yang akan dipaparkan bergantung kepada nilai yang mengawal ungkapan. Ungkapan
akan disemak terlebih dahulu seterusnya senarai label case dicari satu persatu sehingga
satu label yang berpadanan dengan nilai ungkapan yang mengawal ditemui. Penyataan
yang mengikuti label case itu akan dilaksanakan sehingga penyataan break. Penyataan
break akan menyebabkan proses keluar dari penyataan switch dan penyataan selepas
switch (selepas penutup blok untuk switch, ‘}’) akan dilaksanakan.

Jika tiada label case yang padan dengan ungkapan kawalan, penyataan label
default akan dilaksanakan.

Berdasarkan penyelesaian bagi contoh soalan di atas, sekiranya KelasId yang
dimasukkan adalah ‘B’ atau ‘b’, penyataan printf dilaksanakan iaitu mencetak motosikal.
Kemudian disebabkan tiada penyataan break, kawalan akan ke label case yang ke 2 dan
melaksanakan penyataan printf yang mencetak kereta. Maka dua cetakan output
dihasilkan. Sekiranya KelasId yang dimasuki adalah ‘D’ atau ‘d’, penyataan yang yang
mengikuti label case tersebut akan dilaksanakan sehingga penyataan break.

Jika tiada label case yang sepadan dengan KelasId, penyataan label default akan
dilaksanakan. Struktur switch agak berbeza dengan struktur lain kerana ia tidak
memerlukan tanda kurungan bagi penyataan majmuk dalam mana-mana case.

RUJUKAN :

1. Mohamad Zamberi Saad, Ku Ruhana Ku Mahamud, Norita Md. Norwawi . 1999.
Pengenalan Pengaturcaraan C. Sintok: Penerbitan Universiti Utara Malaysia

2. Marini Abu Bakar, Norleyza Jailani, Sufian Idris.1999. Pengaturcaraan C Edisi Revisi
2000.Kuala Lumpur:Prentice Hall (Singapore) Pte Ltd

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)

Kod kertas E-011-3/UPC 3312/KPX4 Muka surat : 11 drpd 11

Modul 01-Kertas Penerangan Cawangan Pembangunan Kurikulum 2011 (Versi 1)


Click to View FlipBook Version