Your SlideShare is downloading. ×
  • Like
Bab6 001
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Bab6 001

  • 686 views
Published

 

Published in Travel , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
686
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. BAB 6 :PERNYATAAN KAWALAN
  • 2. BAB 6
    • Struktur kawalan
      • Tujuan : mengawal aliran aturcara
      • Jenis:
        • Struktur pemilihan
        • Struktur Perulangan & Gelung
      • Kata kunci:
        • if else
        • switch case
        • for
        • while do
  • 3. STRUKTUR PEMILIHAN
    • Arahan2 dipilih utk dilaksanakan & pemilihan bergantung kepada syarat
    • Dilakukan dengan 3 cara:
      • Pemilihan dgn if & else
      • Pemilihan dgn operator bersyarat
      • Pemilihan dgn switch, case & break
  • 4. Pemilihan dgn if & else
    • Terdapat 3 format
    • Format 1
      • if (syarat)
        • bhgn_benar;
      • Contoh
      • if (x == 10)
      • printf(“sama dgn 10”);
  • 5.
    • Format 2
        • if (syarat)
        • bhgn_benar;
        • else
        • bhgn_palsu;
      • Contoh
        • If (x<0)
          • printf(“no negatif”);
        • else
        • printf(“no positif”);
    Pemilihan dgn if & else (samb)
  • 6.
    • Format 3 (bersarang)
        • if (syarat 1)
        • bhgn_benar 1;
        • else if(syarat 2)
        • bhgn_benar 2;
        • :
        • else
        • bhgn_palsu;
    Pemilihan dgn if & else (samb)
  • 7.
    • contoh
        • if (x == 0)
        • printf(“ no sifar “);
        • else if(x < 0)
        • printf(“ no negatif ”);
        • else
        • printf (“ no positif “);
    Pemilihan dgn if & else (samb)
  • 8.
    • Syarat,syarat1…
      • Ungkapan logik dan hubungan mudah/kompleks
    • Bhgn_benar / Bhgn salah
      • Terdiri dr 1/lebih kenyataan C.
      • Jika lebih dr satu, mesti di letakkan di antara tanda {}
      • Contoh
      • if(x<10){
      • printf(“lebih kecil dpd 10);
      • --kira;
      • }
      • else {
      • printf(“lebih besar dpd 10);
      • ++kira;
      • }
  • 9.
    • Jenis struktur pemilihan:
      • Pemilihan mudah
        • Hanya ada 1 @ 2 bahagian pilihan sahaja
      • Pemilihan Bersarang
        • Jika lbh dr 2 pilihan
        • 2 cara pemilihan bersarang:
          • Keputusan Berbilang Alternatif
            • if…else if
          • Syarat if yg diberi dlm beberapa aras
  • 10. Syarat if yg diberi dlm beberapa aras Tulis satu aturcara utk mengira & memaparkan luas satu segiempat. Saiz sisi segiempat ini diberikan oleh pengguna melalui papan kekunci. Aturcara anda mesti memastikan saiz sisi2 yg diberi bukanlah sifar atau negatif. Jika saiz yg diberikan adalah sifar, cetak mesej amaran kpd pengguna & jadikan luas sifar. Jika saiz yg diberikan adalah negatif, ambil magnitudnya shj.
  • 11.
    • if (panjang== 0 || lebar ==0)
    • {
    • printf(&quot;%*@$%^#***@^ &quot;);
    • luas=0;
    • }
    • else
    • {
    • if (panjang < 0)
    • panjang = -panjang; /*cari magnitud panjang*/
    • if (lebar < 0 )
    • lebar = -lebar; /* cari magnitud lebar*/
    • luas = panjang*lebar;
    • }
    Cth Syarat if yg diberi dlm 2 aras
  • 12. Cth Syarat if yg diberi dlm 4 aras Kementerian pertahanan hendak menyenaraikan nama-nama kakitangan lelaki yg berumur 20 hingga 26 tahun dan belum berkahwin. Kenyataan if bersarang berikut boleh digunakan: if (jantina == 'L' ) if (taraf_perkahwinan == 'B') if (umur <=26) if (umur>=20) printf(&quot;%s &quot;,nama ); ATAU kenyataan berikut juga boleh digunakan: if ((jantina == 'L' )&& (taraf_perkahwinan == 'B')&& (umur <=26) && (umur>=20)) printf(&quot;%s &quot;,nama );
  • 13. Pemilihan dgn operator bersyarat
      • Format:
        • ekspresi_1 ? Ungkapan_benar : ungkapan_palsu
        • Maksud:
          • ekspresi_1 akan diuji
          • Jika memenuhi syarat , ungkapan_benar dilaksanakan
          • Jika tidak memenuhi syarat , ungkapan_palsu dilaksanakan
        • Contoh
        • (umur <12) ? harga_tiket =10 :harga tiket = 20;
  • 14. Pemilihan dgn operator bersyarat
    • Sama dgn kenyataan if-else
          • if(umur <12)
            • harga_tiket =10;
          • else
            • harga_tiket =20;
    • Boleh juga ditulis spt berikut
        • harga_tiket = (umur <12) ? 10 :20;
  • 15.
      • Jika terdapat banyak pilihan dalam aturcara, lebih mudah dilakukan dgn menggunakan struktur switch-case-break berbanding if..else
      • Format:
        • switch(ungkapan_kawalan)
        • {
        • case label_1: arahan-arahan;
        • case label_2: arahan-arahan;
        • case label_3: arahan-arahan;
        • …… .
        • default : arahan-arahan;
        • }
    Pemilihan dgn switch,case & break
  • 16.
    • Di mana:
      • ungkapan kawalan
        • Ungkapan yg akan menghasilkan nilai integer atau aksara.
      • label_1, label_2…..
        • Nilai kes utk menentukan pilihan
        • Nilai ini mestilah dr jenis integer atau aksara sahaja
        • Nombor sahih dan pembolehubah tidak dibenarkan
      • arahan-arahan
        • Pernyataan C yg perlu dilakukan utk setiap label
        • Boleh terdiri dr 1 atau lebih pernyataan dan tak perlu di blok
        • Walaubagaimanapun, pernyataan yg terakhir bg setiap label (kecuali label terakhir) mestilah pernyataan break
      • default
        • Optional
        • Jika digunakan ia adalah utk menangani kes yg lain yg tidak dilabelkan
      • switch,case
        • Mesti diblokkan
  • 17. Contoh: int x; scanf(&quot;%d&quot;, &x); switch (x) { case 1: puts (&quot;satu&quot;); break; case 2: puts (&quot;dua&quot;); break; case 3: puts (&quot;tiga&quot;); break; default: puts (&quot;bukan satu dua tiga &quot;); } Pemilihan dgn switch,case & break If(x= = 1) puts (“satu”); else if(x= = 2) puts (“dua”); else if(x= = 3) puts (“tiga”); else puts(“bukan satu,dua, tiga”);
  • 18. LATIHAN
    • Bentukkan ungkapan dlm C bagi mengungkap syarat2 berikut:
    • nombor sama dgn atau lebih besar dari 1 tetapi lebih kecil dari 9
    • pembolehubah hrf bukan huruf q atau k
    • Jika nombor adalah di antara 1 dan 9 tetapi bukan 5 cetak “nombor kegemaran saya”.
  • 19.
    • Gelung???
      • Blok kenyataan yg perlu dilaksanakan berulang-ulang sehingga sesuatu syarat dipenuhi
      • Katakunci: while, do….while, for
      • 2 cara mengawal ulangan gelung:
        • Menggunakan pembilang
          • Digunakan jika bilangan ulangan diketahui semasa aturcara dikod
        • Menggunakan data sentinel di dalam ungkapan bersyarat
          • Digunakan jika bilangan ulangan tidak diketahui semasa aturcara dikod
          • Data sentinel => data yg ditentukan sendiri oleh pengaturcara sbg data penamat
          • Ulangan di buat sehingga data sentinel ditemui
  • 20.
    • Pernyataan for
      • Digunakan utk ulangan yg diketahui bilangannya
    • Pernyataan while & do-while
      • Digunakan utk ulangan yg diketahui atau tidak diketahui bilangan ulangannya
  • 21. PERNYATAAN while
    • Format:
      • while(ungkapan syarat)
    • satu pernyataan c;
      • while(ungkapan syarat)
    • {
    • pernyataan_1;
    • pernyataan_2;
    • …… .
    • pernyataan_n;
    • } /* end pernyataan while*/
  • 22.
    • int digit =1;
    • while (digit <= 10)
    • {
    • printf(“%d ”,digit);
    • ++digit;
    • }
    PERNYATAAN while (contoh) Printf(“masukkan data :”); scanf(“%d”, nombor); While (nombor != 9999){ ++bil; jumlah = jumlah + nombor; Printf(“masukkan data :”); scanf(“%d”, nombor); }
  • 23. PERNYATAAN do-while
    • Juga mempunyai peranan seperti while
      • Perbezaannya: dari segi kedudukan pengujian
      • Bagaimana??? : Berlaku pada bahagian bawah gelung.
        • => kawalan akan masuk ke badan gelung dan melaksanakannya sekali, sebelum menilai ungkapan syarat
  • 24. FORMAT do-while
    • do
    • { blok aturcara C;}
    • while (ungkapan syarat);
  • 25.
    • int digit =1;
    • do {
    • printf(“%d ”,digit);
    • ++digit;
    • } while (digit <= 10);
    PERNYATAAN do-while (contoh) do { puts(“Masukkan Y atau N=>”); scanf(“%c”, &jawapan); } while ((jawapan != ‘Y’) || jawapan != ‘N’));
  • 26.  
  • 27. PERNYATAAN for
    • Pernyataan gelung dengan format yg mudah tetapi bilangan ulangan yg hendak dibuat mesti diketahui semasa aturcara dikod.
    • Menggunakan pembolehubah kawalan utk mengawal bilangan ulangan yg dilaksanakan.
  • 28. FORMAT for
    • for(ungk_awal;ungk_syarat;ungk_peningkatan)
    • {
    • blok aturcara C;
    • }
    • cth:
    • for(darjah=0;darjah<=360;darjah +=10)
    • {
    • radian = darjah*pi/180;
    • printf(“Radian:”,radian);
    • }
  • 29.
    • ungk_awal
      • terdiri daripada pernyataan umpukan utk memberi nilai awal kepada pembolehubah kawalan
      • ia pertama dilaksanakan dalam pernyataan for dan hanya dilaksanakan sekali
      • Jika pembolehubah kawalan telah diberikan nilai awal sebelum pernyataan for, ungkapan ini boleh diabai tetapi tanda ; tetap diperlukan.
  • 30.
    • ungk_syarat
      • ungkapan yg mengawal perlaksanaan gelung
      • Biasanya membandingkan pembolehubah kawalan yg digunakan dgn nilainya yg akhir utk menentukan sama ada ulangan telah tamat atau belum.
      • Ungkapan akan dinilai setiap kali sebelum melaksanakan badan gelung.
    • ungk_peningkatan
      • ungkapan yg menambah nilai pembolehubah kawalan yg digunkan dgn kenaikan/pengurangan yg ditetapkan
      • boleh diabaikan jika peningkatan dilakukan di badan gelung.
      • tetapi tanda ; masih diperlukan
  • 31. PERLAKSANAAN for
    • bermula dgn melaksanakan ungk_awal.
      • dilaksanakan sekali sahaja
    • ungk_syarat akan dinilai.
      • Jika BENAR, badan gelung dilaksanakan
      • Jika SALAH, pernyataan for akan tamat
    • ungk_peningkatan dilaksanakan sebaik saja perlaksanaan badan gelung selesai. Kawalan seterusnya pergi ke langkah 2.
  • 32. latihan int digit =1; while (digit <= 10) { printf(“%d ”,digit); ++digit; }
  • 33. GELUNG BERSARANG
    • Badan pernyataan gelung mengandungi pernyataan gelung yg lain.
    • Ia tidak semestinya dari jenis yg sama. Bermakna boleh terdiri dari kombinasi pernyataan gelung.
    • Walaupun boleh, tetapi penggunaan gelung yg berlapis-lapis akan menjadikan aturcara susah dibaca dan kompleks.
  • 34. contoh
    • For (i=1; i<=2; i++) {
      • For (j = 1; j<=3; j++){
        • For (k=1; k<=4; k++)
        • printf(“*”);
        • printf(“ ”);
        • }
      • printf(“ ”);
    • }
    1 1 1 Output : * 2 * 3 * 4 * 5 2 1 * 4 4 5 i j k * * * 3 1 * * * * * * * * * * * * * * * * 2 1 1
  • 35.
    • Fungsi exit()
      • Merupakan fungsi jenis void yg akan:
        • mengosongkan semua buffer
        • menutup semua fail yg dibuka semasa perlaksanaan aturcara tersebut
        • menamatkan perlaksanaan aturcara
        • memulangkan kawalan kepada sistem sebelumnya yg memulakan perlaksanaan aturcara tersebut.
      • Utk menggunakannya perlu memasukkan fail kepala piawai <stdlib.h>
      • Format : exit(status)
        • status boleh mengambil apa sahaja nilai integer
  • 36.
    • Fungsi break
      • pernyataan utk menamatkan struktur pelaksanaan pernyataan while, do-while,for dan switch-case
      • Bila pernyataan break ditemui perlaksanaan gelung dianggap tamat walaupun ada lagi pernyataan lain (dalam badan gelung) yg belum dilaksanakan
      • (menyebabkan adanya baki dalam badan gelung)
      • Format:
        • break;
  • 37. contoh
    • #include <stdio.h>
    • main()
    • {
    • int x;
    • for (x = 1; x<=10; x++){
    • if(x==5) break;
    • printf (“%d”, x);
    • }
    • printf(“ using the break statement”);
    • return 0;
    • }
    Output: 1 2 3 4 Using the break statement 1 2 3 4 5 x
  • 38.
    • pernyataan continue
      • menyebabkan baki pernyataan dalam badan gelung (selepas pernyataan continue) diabaikan, tetapi kawalan terus melaksanakan gelung tersebut
  • 39. contoh #include <stdio.h> main() { int x; for (x = 1; x<=10; x++){ if(x==5) continue; printf (“%d”, x); } printf(“ using the continue statement”); return 0; } Output: 1 2 3 4 Using the continue statement 1 2 3 4 5 6 6 7 7 8 8 9 9 10 10 11 x