Anda di halaman 1dari 38

STRUKTUR JUJUKAN

Merupakan struktur yang mudah Perlaksanaannya adalah satu persatu, bermula dari arahan pertama dan berakhir pada arahan terakhir aturcara. Contoh: x=5; y=10; jumlah=x*y; Cout<<jumlah; (1) (2) (3) (4)

Masuk

Keluar

STRUKTUR PILIHAN
2 jenis asas:
penyataan if dengan satu pilihan (if sahaja) penyataan if dengan dua pilihan (if-else)

2 jenis lanjutan:
penyataan if bersarang penyataan if dengan banyak pilihan (if-else-if)

Penyataan if dengan satu pilihan (if sahaja) sintaks: if(syarat) penyataan T


dimana: syarat : ungkapan logikal penyataan T : penyataan yang akan dilaksanakan sekiranya syarat adalah benar(T) : boleh terdiri dari satu pernyataan sahaja atau lebih : sekiranya lebih dari satu penyataan, perlu ada simbol { }

Carta alir :

Ya
Syarat Penyataan T

Tidak

Contoh: Jika x=1 maka y=x+1 if (x==1) y=x+1 Cara penulisan C++ if (x==1) y=x=1; Penerangan Contoh:

mempunyai satu penyataan sahaja iaitu y=x=1 tetapi jika mempunyai 2 penyataan penulisan C++ haruslah menggunakan simbol {}

Penyataan if dengan dua pilihan (if-else) Sintaks: if(syarat) penyataan T else penyataan F
dimana: syarat : ungkapan logikal penyataan T: penyataan yang dilaksanakan sekiranya syarat adalah benar(T) penyataan F: penyataan yang dilaksanakan sekiranya syarat adalah salah (F).

Cartalir Asas:

Penyataan F Tidak

Syarat Ya

Penyataan T

Contoh: Jika CGPA>3.7 pamerkan Kelas Pertama Jika sebaliknya pamerkan Kelas Kedua Cara penulisan C++ if(CGPA>3.7) cout<<\n Kelas Pertama; else cout<<\n Kelas Kedua;

Pembentukan syarat menggunakan operator hubungan dan logikal


Ungkapan logikal terdiri dari pembolehubah, operator hubungan atau operator logikal Dalam bahasa C++, ungkapan logikal boleh mempunyai 2 nilai sahaja iaitu benar atau salah. Jika ungkapan adalah benar, maka bahasa C++ memberi nilai 1 manakala nilai 0 diberikan jika ungkapan tersebut salah Selain itu, bahasa C++ juga menganggap nilai 1 sebagai mewakili keadaan benar

Operator Hubungan
Digunakan terhadap 2 operand Untuk menguji hubungan antara kedua-dua operand Dibahagikan kepada 2 kumpulan iaitu:

Operator Ketaksamaan
Simbol Maksud

> >= < <=

Lebih Besar Lebih Besar atau Sama Lebih Kecil Lebih Kecil atau Sama

Operator Kesamaan
Simbol Maksud

== !=

Sama Tidak Sama

Operator Logikal Untuk menggabungkan 2 syarat 3 jenis operator logikal: Simbol Maksud

&& || !

DAN ATAU TAK

a) Operator && dan digunakan untuk menghubungkan 2 syarat Contoh: if(markah>=40&&hadir>=30) iaitu jika markah lebih besar atau sama dengan 40 dan hadir lebih besar atau sama dengan 30

b) Operator ! digunakan untuk menafikan/melawan syarat yang diberi Contoh: if(!(markah<40) && !(hadir<30)) iaitu jika markah tak kurang dengan 40 dan tak hadir dengan 30

Penyataan if bersarang
Apabila terdapat penyataan if yang lain di bahagian True atau False Jika melibatkan banyak pilihan

Contoh:
Kenalpasti lelaki bujang (single) berumur antara 18 hingga 26 tahun termasuk kedua-duanya Cara penulisan C++ if(status== s) /*syarat 1*/ if(sex== m) /*syarat 2*/ if(age>= 18) /*syarat 3*/ cout<<Meet criteria; /*Penyataan T*/

Penyataan if dengan banyak pilihan (if-else-if)


Sintaks if(syarat 1) penyataan else if(syarat 2) penyataan else if(syarat 3) penyataan .. else if(syarat n) penyataan Else penyataan 1; 2; 3;

n; e;

Carta alir

Tidak Syarat 1 Syarat 2

Tidak Syarat 3

Tidak Syarat 4

Ya

Ya

Ya

Ya

Penyataan 1

Penyataan 2

Penyataan 3

Penyataan N

Tidak

Penyataan E

Kebisingan
Kurang atau sama 50 51-70 71-90 Lebih dari 90 Cara penulisan C++
if(bising<= 50) cout<<senyap; else if(bising<= 70) cout<<mengganggu); else if(bising<= 90) cout<<amat mengganggu; else cout<<boleh pekak;

Persepsi
senyap mengganggu amat mengganggu boleh pekak

STRUKTUR PILIHAN
Struktur Penyataan Switch
Digunakan untuk memilih satu daripada banyak pilihan. Pilihan berasaskan kepada nilai bagi satu pembolehubah atau sama ungkapan mudah. - Nilai ungkapn atau pembolehubah sama ada integer atau character (aksara) - Nilai ungkapan bukan jenis double Terdiri dari beberapa label case. Kenyataan tertentu sahaja dilaksanakan apabila struktur switch dilalui Label default juga boleh dimasukkan untuk pilihan lain yang tidak tersenarai dalam label case

STRUKTUR PILIHAN
Sintaks :
Dimana : Ungkapan kawalan: pembolehubah/ungkapan mudah yangmenentukan kes-kes Ungkapan1-N: nilai kes(ungkapan kawalan) Pernyataan1N: penyata yang dilaksanakan berdasarkan kepada kes ungkapan Break: arahan untuk keluar daripada blok sesuatu kes yang True (benar), jika tiada, baris berikutnya akan dilaksanakan walaupun baris berikutnya false Default: penyataan-d akan dilaksanakan sekiranya lain-lain kes false/salah

switch(ungkapan kawalan) { case ungkapan1: penyataan1; break; case ungkapan2: penyataan2; break; .. case ungkapanN: penyataanN; break; default: penyataan-d; }

STRUKTUR PILIHAN
switch(watts) { case 15: brightness=125; break; case 25: brightness=215; break; case 40: brightness=500; break; case 60; brightness=880; break; case 100; brightness=1000; break; default: brightness=-1;

STRUKTUR PILIHAN
Carta Alir Asas
Ya

case1
Tidak

Penyataan1

Ya

Penyataan2

case2 Tidak
Ya

PenyataanN

case N Tidak Penyataand

STRUKTUR GELUNG
4 jenis: Penyataan while Penyataan do-while Penyataan for Penyataan gelung bersarang

Penyataan While
Melakukan proses pengulangan Lebih dikenali dengan gelung while Ia menyelesaikan masalah berbentuk ulang selagi benar. Ini bermakna selagi syarat masih benar, pengulangan akan dilakukan Sintaks:
a) 1 penyataan sahaja while (ungkapan kawalan gelung) penyataan badan gelung

b)

lebih dari 1 penyataan while (ungkapan kawalan gelung) { penyataan badan gelung 1 penyataan badan gelung 2 .. penyataan badan gelung-n } dimana: Ungkapan kawalan gelung : ungkapan logikap jika TRUE, badan gelung dilaksanakan (berulang). Jika FALSE, badan gelung tidak dilaksanakan (gelung tamat) Penyataan badan gelung : penyataan yang akan diulangi

Cartalir asas

Ya

Ungkapan kawalan gelung


Ya Tidak

Penyataan Badan gelung

Contoh: A. 1. bilangan =0 2. baca nilai k 3. x=k*k 4. bilangan=bilangan + 1 5. pamer X 6. jika bilangan kurang atau sama 10, pergi langkah 2 7. tamat

Cara penulisan C
Bilangan = 0; while(bilangan<=10) { scanf(%d,&k); x=k*k; bilangan+=1; printf(%d,x); }

B.

1. baca nilai n 2. ulang sehingga bil tidak melebihi n i. baca nilai x ii. jumlahkan x dengan sum iii. tambah bil dengan 1 3. purata = sum/n

Cara penulisan C scanf(%d,&n); bil=0; sum=0; while(bil<=n) { scanf(%d,&x); sum+=x; bil++; } purata=sum/n;

C.

1. ambil bilangan hari bekerja pekerja pertama 2. ulang selagi bilangan hari bekerja lebih besar dari 0 kira gaji;gaji = bilangan hari bekerja x gaji sehari

cetak gaji pekerja ambil bilangan hari bekerja pekerja seterusnya

Cara penulisan C printf(Berapa_hari_bekerja?(0 untuk berhenti):);

scanf(%d,&hari_bekerja); while(hari_bekerja>0) { gaji=hari_bekerja*gaji_sehari; printf(Gaji pekerja ialah RM%d,gaji); printf(\nBerapa hari bekerja ?(0 untuk berhenti):); scanf (%d,&hari_bekerja);

juga digunakan untuk melakukan proses pengulangan sesuai digunakan untuk menyelesaikan masalah buat dulu, kemudian ulang selagi TRUE/Benar. Ini bermakna ia melakukan badan gelung dahulu, kemudian selagi syarat yang dikenakan masih benar, pengulangan dilakukan sintaks:
a) 1 penyataan do penyataan badan gelung while (ungkapan kawalan gelung)

Penyataan Do-While

b) lebih dari 1 penyataan do { penyataan badan gelung 1 penyataan badan gelung 2 .. penyataan badan gelung -n } while(ungkapan kawalan gelung);/*mesti ada semicolon*/ dimana: penyataan badan gelung: penyataan yang hendak diulang ungkapan kawalan gelung:ungkapan logical jika TRUE=gelung berulang jika FALSE=gelung tamat

Perbezaan dengan Gelung While


ujian sama ada gelung akan diulang dilakukan di hujung blok penyataan badan gelung akan dilaksanakan sekurang-kurangnya sekali

Carta alir asas

Penyataan Badan Gelung

Ya

Ungkapan kawalan gelung

Tidak

Penyataan for
Satu lagi penyataan untuk melakukan pengulangan Sesuai digunakan untuk membuat pengulangan di pembilang Ulangan yang dikawal oleh pembilang memerlukan: Nilai awal pembilang Syarat yang menguji nilai semasa pembilang dengan nilai akhir pembilang (menentukan sama ada gelung perlu diulang lagi atau diberhentikan) Nilai tambah/susut pada pembilang (ungkapan peningkatan/pengurangan) Sintaks: a) 1 penyataan sahaja for(pengumpukan nilai awal; syarat; ungkapan peningkatan) penyataan badan gelung

b) lebih dari 1 penyataan for(pengumpukan nilai awal; syarat; ungkapan peningkatan) { penyataan badan gelung 1 penyataan badan gelung 2 . penyataan badan gelung-n }

dimana;
pengumpukan nilai awal: nilai awal diberikan kepada pembilang. Memulakan gelung. Dilihat dan dilaksanakan sekali sahaja syarat: ungkapan logical. Dilaksanakan selepas pengumpukan nilai awal. Jika TRUE = badan gelung dilaksanakan Jika FALSE= gelung tamat ungkapan peningkatan/pengurangan: meningkatkan bilangan perlaksanaan gelung. Dilaksanakan setelah penyataan badan gelung dilaksanakan

Cartalir asas

Penumpukan nilai awal

Ungkapan Peningkatan\pengurangan ya

syarat

Penyataan badan gelung

tidak

Contoh: a) for(bilangan=0;bilangan<=10;bilangan++) { scanf(%d,&k); x=k*k; printf(%d,x); }

b) Pamerkan nombor-nombor ganjil diantara 50 dan 100


Cara penulisan C for(nombor=51;nombor<100;nombor+=2) printf(%d,nombor); atau nombor=51; for(;nombor<100;nombor+=2) printf(%d,nombor); atau nombor=51; for(;nombor<100;) { printf(%d,nombor); nombor+=2; }

c) Gelung berterusan tanpa henti for( ; ; ) printf(Tak berhenti); d) Gelung yang tidak melakukan apa-apa for( i=1;i<5;i++ ) printf(Penyataan di luar gelung);
e) Penyataan operasi input dijadikan sebagai penyataan pengumpukan nilai awal pembilang dan ungkapan peningkatan/pengurangan pembilang for( scanf(%d,&nom); nom!=9999;scanf(%d,&nom)) printf(Nombor ialah %d, nom);

Penyataan gelung bersarang


Terdapat penyataan gelung yang lain di dalam satu gelung iaitu gelung luaran dan gelung dalaman Bagi setiap laluan gelung luaran, gelung dalaman akan dilaksanakan sehingga tamat Contoh gelung bersarang ialah gelung for di dalam gelung for, gelung for di dalam gelung while, while atau do-while atau gelung do-while di dalam gelung for

Contoh: a) gelung for di dalam gelung for 1. for(outer=1;outer<=100;outer++) { for(inner=1;inner<=10;inner++) { badan untuk gelung inner }/*tamat gelung for inner*/ }/*tamat gelung for outer*/
2. for(time=1;time<=3;time++) { for(num=1;num<=10;num++) { sum+=num }/*tamat gelung for dalaman*/ }/*tamat gelung for luaran*/

b) gelung while di dalam gelung for


for(n=1;n<=7;n++) { m=n; factorial=1; while(m>0) { factorial*=m; m--; }/*tamat gelung while*/ printf(Faktorial %d ialah %d,n,factorial); }/*tamat gelung for*/

Anda mungkin juga menyukai