1 / 24

Pencabangan Bersyarat

Pencabangan Bersyarat. Pertemuan 0 5. Dasar Pemrograman Komputer [TKL-4002] 2010. Learning Outcomes. Pada akhir pertemuan ini , diharapkan mahasiswa me-miliki kemampuan untuk: Men gguna kan struktur kendali pencabangan ber-syarat dalam bahasa pemrograman C. Outline Materi.

vail
Download Presentation

Pencabangan Bersyarat

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pencabangan Bersyarat Pertemuan 05 Dasar Pemrograman Komputer [TKL-4002] 2010

  2. Learning Outcomes Padaakhirpertemuanini, diharapkanmahasiswame-miliki kemampuan untuk: • Menggunakanstrukturkendalipencabangan ber-syarat dalam bahasa pemrograman C.

  3. Outline Materi Pencabangan Bersyarat • Pernyataan if dan if-else • Pernyataannested if-else • Pernyataanswitch-case • Operator kondisional

  4. Pencabangan Bersyarat • Dalamsebuahalgoritma, seringkalibeberapainstruksiharusdilaksanakanbilasuatupersyaratandipenuhi (bernilai benar)dansebaliknya. • Dalamstrukturpencabangan bersyarat, suatuinstruksiatausekelompokinstruksidapatdilewati, sementarainstruksi lain dijalankan. • Pernyataan pencabangan bersyarat terdiri dari: • if • if-else • switch-case

  5. Pernyataan if Statements sebelum if Eks.boolean Eks.boolean true true Statement; Statement; ... Statement; Statement; ... false false Statements setelah if Penggambaran dalam flow-chart

  6. Pernyataan if Blok statement • Sintaks : if (ekspresiboolean) statement; atau if (ekspresiboolean) { statement1; statement2; …… } Jikaekspresibooleanbernilai TRUE, maka statement ataublok statement akandilaksanakan.

  7. Pernyataan if-else Statements sebelum if Eks.boolean Eks.boolean false true false true Statement_11; Statement_12; ... Statement_01; Statement_02; ... Statement_11; Statement_12; ... Statement_01; Statement_02; ... Statements setelah if Penggambaran dalam flow-chart

  8. Pernyataan if-else Blok statement_01 Blok statement_11 Sintaks : if (ekspresiboolean) statement_01; else statement_11; atau if (ekspresiboolean) {statement_01; …… } else {statement_11; …... } JikaekspresibooleanbernilaiTRUE, makastatement_01 ataublokstatement_01yang dilaksanakan, jikabernilai FALSE makastatement_01ataublokstatement_11yang dilaksanakan.

  9. Pernyataan if #include <stdio.h> #include <iostream.h> int main() { int jmlAnak; double gajiKtr, tunjangan, persenTunjangan = 0.2; printf("PERHITUNGAN TUNJANGAN GAJI\n\n"); printf("Gaji Kotor? "); scanf("%lf", &gajiKtr); printf("Jumlah Anak? "); scanf("%lf", &jmlAnak); if (jmlAnak>2) persenTunjangan = 0.3; tunjangan = persenTunjangan*gajiKtr; printf("Besar Tunjangan = Rp. %10.2lf\n\n", tunjangan); system("PAUSE"); return(0); }

  10. Pernyataan if #include <stdio.h> #include <iostream.h> int main(){ int jmlAnak; float gajiKtr, tunjangan, potongan, persenTunjangan = 0.2, persenPotongan = 0.05; printf(“PERHITUNGAN TUNJANGAN & POTONGAN GAJI\N\N”); printf("Gaji Kotor? "); scanf("%f", &gajiKtr); printf("Jumlah Anak? "); scanf("%f", &jmlAnak); if (jmlAnak>2) { persenTunjangan = 0.3; persenPotongan = 0.07; } tunjangan = persenTunjangan*gajiKtr; potongan = persenPotongan*gajiKtr; printf("Besar Tunjangan = Rp. %10.2f\n", tunjangan); printf("Besar Potongan = Rp. %10.2f\n\n", potongan); system("PAUSE"); return(0); }

  11. -b +d 2*a -b -d 2*a Pernyataan if-else • Contoh Program untukmendapatkanakar-akardaripersamaankwardrat. • Algoritma : 1. Dapatkankoefisien a, b, dan c dari keyboard 2. Hitungdiskriminan d = b*b – 4*a*c 3. Bila d >= 0 makahitung x1 dan x2 Bila d < 0 makaakarimajinerdan stop 4. Stop Menghitung x1, denganrumus : Menghitung x2, denganrumus :

  12. Pernyataan if-else #include <stdio.h> #include <math.h> #include <iostream.h> int main() { float a,b,c,d,x1,x2; char ch; printf("PERHITUNGAN AKAR PERS. KUADRAT\n\n"); printf("Masukan koef. a : "); scanf("%f",&a); printf("Masukan koef. b : "); scanf("%f",&b); printf("Masukan koef. c : "); scanf("%f",&c); d = b*b - 4 * a * c; if (d >= 0){ x1 = (-b + sqrt(d)) / (2 * a); x2 = (-b - sqrt(d)) / (2 * a); printf("\nx1=%f\nx2=%f\n\n",x1,x2); } else printf("Akar Persamaan Imajiner\n\n"); system("PAUSE"); return 0; } Contoh :

  13. Pernyataan if-else Bersarang • Konstruksi if-else dapatdigunakansecarabertingkatatau bersarang (nested) • Contoh: if (ekspresi boolean1) statement1; else if (ekspresi boolean2) statement2; else if (ekspresi boolean3) statement3; ..... ..... else if (ekspresibooleanN) statementN;

  14. Pernyataan if-else /* Program Kalkulator */ #include<stdio.h> int main() {float bil1, bil2; char op; while(1) { printf(“\n Ketik bil1 operator bil2, ( Contoh: 3 * 4) \n”); scanf(“%f %c %f”, &bil1, &op, &bil2); if(op == ‘+’) printf(“ = %f”, bil1 + bil2); else if(op == ‘-’) printf(“ = %f”, bil1 - bil2); else if(op == ‘*’) printf(“ = %f”, bil1 * bil2); else if(op== ‘/’) printf(“ = %f”, bil1 / bil2); else{ printf(“error: operator hanya +,-,* dan / \n”); break; } } return 0; } Contohpernyataan if-else bersarang:

  15. Pernyataan if-else Bersarang #include <stdio.h> #include <math.h> #include <iostream.h> int main() { float a,b,c,d,x1,x2; printf("PERHITUNGAN AKAR PERS. KUADRAT\n\n"); printf("Masukan koef. a : "); scanf("%f",&a); printf("Masukan koef. b : "); scanf("%f",&b); printf("Masukan koef. c : "); scanf("%f",&c); Contohpemakaian if-else bersarang untuk perhitungan akar persamaan kuadrat:

  16. Pernyataan if-else Bersarang if (a != 0) { d = b*b - 4 * a * c; if (d > 0) { x1 = (-b + sqrt(d)) / (2 * a); x2 = (-b - sqrt(d)) / (2 * a); printf("\nx1=%f\nx2=%f\n\n",x1,x2); } else {if (d==0) { x1 = x2 = -b/(2*a); printf("\nAkar persamaan kembar x1 = x2 = %f\n\n", x1); } else { printf("\nAkar persamaan kompleks: \n"); printf("x1 = %f + %fj\nx2 = %f - %fj\n\n", -b/2/a,sqrt(-d)/2/a, -b/2/a,sqrt(-d)/2/a); } } } else { if (b !=0 ) printf("Bukan pers. kuadrat dan x = %f\n\n", -c/b); else printf("Data yg dientry tidak layak dioperasikan (data salah)\n\n"); } system("PAUSE"); return 0; }

  17. Pernyataan if-else • Penulisan if-elseharusjelasmaksudnya.... • Contoh penulisan if-else yang kurang jelas meskipun tidak salah. #include <stdio.h> #include <iostream.h> int main(){ int suhu; printf("Input suhu ? (F): "); scanf("%d",&suhu); if (suhu<80) if (suhu>30) printf("Panas\n\n"); else printf("Sejuk\n\n"); system("PAUSE"); return(0); }

  18. Pernyataan switch-case • Pernyataanswitch-casedapatdipergunakansebagaipenggantipernyataanif-else, jika pernyataan if-else bertingkatterlalubanyak, sehinggamenjadisulitdibaca. • Sintakspernyataan switch-case switch (ekspresi integer) { case constant1 : statements1; break; case constant2 : statements2; break; . . [ default : statements; ] }

  19. Pernyataan switch-case Pernyataan switch mengevaluasiekspresidankemudianmelihatisi case constant. Jikanilaiekspresiadadidalam constant list makapernyataandieksekusi. Jikatidakada yang cocok, pernyataan default yang dieksekusi. Catatan: nilaiekspresiharusintegerdanconstantharusinteger constant termasukchar.

  20. Pernyataan switch-case true true case a case a action(s) break case a case a action(s) break false false true true case b case b action(s) break case b case b action(s) break false false true true case z case z action(s) break case z case z action(s) break false false default action(s) default action(s) Struktur logika switch-case dapat digambarkan sbb.:

  21. Pernyataan switch-case #include <stdio.h> #include <iostream.h> int main() { float bil1, bil2; char op; scanf("%f %c %f", &bil1, &op, &bil2); switch(op){ case '+': printf(" = %f", bil1 + bil2); break; case '-' : printf(" = %f", bil1 - bil2); break; case '*' : printf(" = %f", bil1 * bil2); break; case '/' : printf(" = %f", bil1 / bil2); break; default : printf("operator TAK DIKENAL"); } printf("\n\n"); system("PAUSE"); return(0); } Contoh :

  22. Latihan • Buat program untukmenginputnilai IPK mahasiswadanberikanpenilaian : • 3.5 - 4.0 SangatMemuaskan • 3.0 - 3.4 Memuaskan • 2.5 – 2.9 BaikSekali • 2.0 – 2.4 Baik • Dibawah 2.0 Kurang • Gunakanperintah if / if-else !

  23. Latihan • Buatlah program komputer untuk menentukan nilai-huruf dari sebuah matakuliah yang nilainya terdiri dari: nilai tugas, nilai kuis dan nilai UAS. Bila nilai-kuis > UAS, nilai akhir dihitung dg rumus: • Nilai akhir = 40% (nilai-kuis) + 40% (UAS) + 20% (tugas) Bila nilai UAS>= nilai-kuis, nilai akhir dihitung dg rumus: • Nilai akhir = 30% (nilai-kuis) + 50% (UAS) + 20% (tugas) • Sedangkan konversi nilai-akhir menjadi nilai huruf menggunakan tabel berikut:

  24. Latihan • if(n > 0) • if(a > b) • z = a; • else • z = b; • Jelaskan keyword else berpasangandengan if yang mana ? • Perbaikicarapenulisanpotongan program diatas, agar menjadilebihjelasdibacaalgoritmanya ! Perhatikanpotongan program dibawahini:

More Related