1 / 45

Algoritma dan Dasar Pemograman

Algoritma dan Dasar Pemograman. Pertemuan 5 Struktur Kontrol Percabangan Yudha Dwi P. N. Overview. Materi hari ini akan membahas mengenai bagaimana membuat program yang dapat mengambil keputusan berdasarkan input dari pengguna atau hasil dari suatu perhitungan Operator Relasional

chars
Download Presentation

Algoritma dan Dasar Pemograman

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. AlgoritmadanDasarPemograman Pertemuan5 StrukturKontrolPercabangan YudhaDwi P. N.

  2. Overview • Materi hari ini akan membahas mengenai bagaimana membuat program yang dapat mengambil keputusan berdasarkan input dari pengguna atau hasil dari suatu perhitungan • Operator Relasional • Struktur Kontrol : Percabangan • Operator Logical • Nested If

  3. Operator Relasional • Ada beberapa operator relasional : • > : lebih besar • >= : lebih besar atau sama dengan • < : lebih kecil • <= : lebih kecil atau sama dengan • == : sama dengan • != : tidak sama dengan

  4. Operator Relasional • Operator relasional melambangkan hubungan antara dua entitas • Entitas tersebut bisa berupa variabel, konstanta maupun fungsi • Nilai dari hubungan tersebut adalah TRUE atau FALSE

  5. Operator Relasional • Contoh : • 5 > 3  bernilai benar (TRUE) • 6 < 2  bernilai salah (FALSE) • 45 != 34  bernilai benar (TRUE) • (5 + 4) <= (3x3)  bernilai benar (TRUE) • 6/7 >= 12/17  bernilai benar (TRUE)

  6. Operator Relasional • Hasil dari operator relasional adalah nilai TRUE atau FALSE • Nilai TRUE bernilai sama dengan 1, sedangkan FALSE bernilai sama dengan 0.

  7. Operator Relasional • Contoh : #include <stdio.h> void main() { printf(“ 3 < 5 bernilai : %d\n”, 3 < 5); printf(“15 >= 3 * 5 bernilai : %d\n”, 15 >= 3 * 5); printf(“ 8 == 7 bernilai : %d\n”, 8==7); printf(“11<=5+4 bernilai : %d\n”, 11<=5+4); }

  8. Operator Relasional • Outputnya : 3 < 5 bernilai : 1 15>=3*5 bernilai : 1 8==7 bernilai : 0 11<=5+4 bernilai : 0

  9. StrukturKontrol : Percabangan • Program dapatmenentukanoperasi/perintahmana yang akandijalankansesuaikondisitertentu • Bentuknyasepertipilihanatasalternatif-alternatif yang disediakan

  10. StrukturKontrol : Percabangan • Ada 3 macam perintah percabangan di C • If (kondisi) <statement> • If (kondisi) { … <statement> …} else { … <statement> …} • switch (expression) { … <statement> … }

  11. StrukturKontrol : Percabangan • Perintah percabangan pertama, sintaksnya : If (kondisi) <statement> • (kondisi) diisi dengan operator relasional • Contoh : (nilai > 80) • <statement> adalah perintah yang dijalankan jika kondisi terpenuhi • Contoh : printf(“Nilai anda : A”);

  12. StrukturKontrol : Percabangan Flowchart

  13. StrukturKontrol : Percabangan • Lengkapnya menjadi : … if(nilai > 80) printf(“Nilai anda : A”);

  14. Contohkasus 1 Contoh: Algoritmamenentukanapakahsebuah bilangan bulat merupakan bilangan genap. Algoritma BILANGAN_GENAP { Menentukanapakahsebuahbilanganbulat yang dibacadaripirantimasukanmerupakanbilangangenap } DEKLARASI intbil; DESKRIPSI : scanf(bil); if bil mod 2 = 0 printf(‘bilangangenap’) endif

  15. Contohkasus 2 Program BILANGAN_GENAP; { Menentukanapakahsebuahbilanganbulatyang dibacadaripirantimasukanmerupakanbilangangenap } (* DEKLARASI *) intbil; (* DESKRIPSI *) void main(){ Printf(‘Masukkan suatu bilangan bulat : ‘); scanf(bil); if (bilmod 2 = 0) printf(‘bilangangenap’); (*endif*) }

  16. StrukturKontrol : Percabangan • Padabentuk If (kondisi) <statement> • Adakemungkinanuntukmenjalankanlebihdari 1 perintah, menjadi: If (kondisi) { … <statement> … } Compound Statement

  17. StrukturKontrol : Percabangan • Contoh: … if(nilai > 80) { printf(“selamat anda lulus alpro\n”); printf(“nilai anda : A”); }

  18. StrukturKontrol : Percabangan • Perintah percabangan kedua, sintaksnya : if(kondisi) <statement A> else <statement B> • Mirip dengan bentuk pertama, tapi yang ini ditambah dengan else, yang memuat perintah-perintah yang dijalankan jika (kondisi) tidak terpenuhi

  19. StrukturKontrol : Percabangan DalamstrukturIF-THEN-ELSE: • aksi1 akan dilaksanakan jika kondisi bernilai benar(true) • jika kondisi bernilai salah (false) maka aksi2 yang akandilaksanakan • Statemen else menyatakaningkaran (negation) darikondisi.

  20. Contuhkasus 1 Algoritma MAKSIMUM { Menentukanbilanganterbesardariduabilanganbulat } DEKLARASI int A, B; DESKRIPSI : scanf(A,B) if (A >= B) printf (‘Bilanganterbesar : ’,A) else {B <=A } printf(‘Bilanganterbesar : ’,B) endif

  21. Contuhkasus 2 program MAKSIMUM; { Menentukan bilangan terbesar dari dua bilangan bulat } (* DEKLARASI *) intA, B; (* DESKRIPSI *) Void main(){ scanf(‘Masukkanbilangan A : ‘);readln(A); scanf(‘Masukkanbilangan B : ‘);readln(B); if A > B then printf(‘Bilanganterbesar:%d ’,A) else printf(‘Bilanganterbesar : %d’,B); (*endif*) }

  22. StrukturKontrol : Percabangan • Contoh: Bilajumlahmemboloslebihdari 5 makatampilkanpesan “tidakbolehujian”, jikatidakmakatampilkanpesan “bolehujian”. … if(bolos>5) printf(“tidakbolehujian”); else printf(“bolehujian);

  23. StrukturKontrol : Percabangan • Jumlahalternatifkondisi <else> bisalebihdari 1, seperticontohberikut : … if(suhu>=100) printf(“berwujud gas”); else if(suhu<=0) printf(“wujudpadat”); else printf(“wujudcair”);

  24. StrukturKontrol : Percabangan • Pada C, kondisi yang bernilai tidak sama dengan 0 (nol) berarti bernilai TRUE, jika nilainya 0 maka bernilai FALSE. • Contoh: • If(4+5) bernilai TRUE • Bagaimana dengan if(4-5)? Apa nilainya?

  25. StrukturKontrol : Percabangan • Bentukketigamenggunakan switch • Formatnya: switch(expression) { case <constant expr> : <statement>; break; … case <constant expr> : <statement>; break; default : <statement>; }

  26. StrukturKontrol : Percabangan • switch (expression) • Expression disinibiasanyaadalahvariabel/fungsi • Constant-expr : konstanta • Berupakonstanta, misal ‘A’, 4, 20 dansebagainya • Kode program menjadilebihmudahdibacabiladitulismenggunakan switch dibanding if-else-if • default : <statement> perintah yang dijalankanbilatidakmemenuhikriteria-kriteria yang ada

  27. StrukturKontrol : Percabangan • Contoh: switch(nilai) { case ‘A’ : bobot = 4; break; case ‘B’ : bobot = 3; break; case ‘C’ : bobot = 2; break; default : bobot = 1; }

  28. StrukturKontrol : Percabangan • Keyword break digunakan untuk keluar dari operasi switch. Jika tidak ditemukan break, maka operasi akan dilanjutkan ke constant-expression berikutnya.

  29. Operator Logical • Pada struktur kontrol percabangan, (kondisi) yang dicek selain menggunakan operator relasional juga dapat dikombinasikan dengan operator logical • Operator logical : AND (&&), OR (||), NOT (!)

  30. Operator Logical • Operator precedence ! not * / perkaliandanpembagian < <= => > == != && AND || OR

  31. Operator Logical • Operator Logical AND

  32. Operator Logical • Operator Logical OR

  33. Operator Logical • Operator Logical NOT

  34. Operator Logical • Apa nilai dari expression berikut ? (5==5)||(6==7) (!5)||(5>=6) && (3==3) !(4 < 3) && (5<=10) || (‘b’ < ‘d’) && (!0)

  35. Operator Logical • Kita dapatmenggunakan operator logical untukdigunakansebagaipengecekankondisipadapercabangan if • Contoh: if((nilai>40) && (nilai < 60)) printf(“nilaihuruf : C”); else if((nilai > 61) && (nilai < 80)) printf(“nilaihuruf : B”); else if(nilai > 81) printf(“nilaihuruf : A”);

  36. Nested If • Jika diperlukan, kita bisa melalukan operasi percabangan dalam percabangan (nested if) • Jika statement di dalam if tersebut lebih dari satu, maka perlu ditambahkan curly bracket { } untuk mengelompokkannya

  37. PercabanganKompleks Percabangandimanakondisipemilihantidakhanyasatutetapibisaterdiridaribanyakalternatifsertaperintah-perintah yang dikerjakannyajugabisalebihdarisatu

  38. Nested IF (1)

  39. Nested IF (2)

  40. Nested IF (3)

  41. Nested IF (4)

  42. Nested IF (5)

  43. Nested IF (6)

  44. Nested If : Contoh int a = 10; int b = 15; int c = 20; if(a>b) { if(a>c) printf(“a yang terbesar”); else printf(“c yang terbesar”); } else if (b>c) { if(b>a) printf(“b yang terbesar”); else printf(“a yang terbesar”); } else if(c>a) { if(c>b) printf(“c yang terbesar”); else printf(“b yang terbesar”); }

  45. LatihanSoal • LatihanSoal • Buatlah program untukmenentukanapakahpenghasilan per bulan yang dimasukkankenapajakatautidak(kenapajakjikapenghasilansetahunlebihbesarsamadenganRp. 15.600.000) • Buatlah program untukmenentukanbilangan yang terletakditengahantaratigabilangan yang dimasukkanpengguna. Misal : 35, 12, 27 berartibilangan yang ditengahadalah 27

More Related