1 / 28

Algoritme dan Pemrograman

Algoritme dan Pemrograman. Kuliah #5 Compound statement Kontrol Program : IF, SWITCH, WHILE. Simple and Compound statement. Compound statement adalah beberapa pernyataan sederhana ( simple statements ) yang diapit oleh tanda kurung kurawal {…} Contoh : #include < stdio.h > main() {

ursala
Download Presentation

Algoritme dan Pemrograman

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. AlgoritmedanPemrograman Kuliah #5 Compound statement Kontrol Program : IF, SWITCH, WHILE

  2. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Simple and Compound statement • Compound statement adalahbeberapapernyataansederhana (simple statements) yang diapitolehtandakurungkurawal {…} • Contoh: #include <stdio.h> main() { inti=0, j=1; printf("A"); i = i + 1; return 0; } compound statement

  3. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Sequential structures • Prosesterhadapsuatu program yang terdiridaribeberapa statement dilakukanberurutansecarasekuensial, satu per satu, mulaidariataskebawah sequential. • Contoh: output program berikutadalah ABC #include <stdio.h> main() { inti=0, j=1; printf("A"); i = i + 1; printf("B"); j = j + 1; printf("C"); return 0; }

  4. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Selection control structures • Program akanmemilihsatuataulebih statement untukdiprosesatautidakdiprosesberdasarkankondisitertentu. • Kondisidinyatakansebagaiekspresi. • Pernyataan yang digunakandisebutconditional statement. • Adaduajenis: • Pernyataan IF • Pernyataan SWITCH

  5. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Conditional statement:IF Bentukumum: if (kondisi) simple or compound statement; atau if (kondisi) simple or compound statement; else simple or compound statement;

  6. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Conditional statement:IF kondisi ? kondisi ? FALSE FALSE TRUE TRUE statements statements statements

  7. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Pernyataan IF:Contoh #1 #include <stdio.h> main(){ int a, b; scanf("%d %d", &a, &b); if (a<b) printf("%d\n", b-a); printf("%d\n", a-b); return 0; } • Apa output program jikadiberi input 5 20 ? • Apa output program jikadiberi input 20 5 ? -15 15 15

  8. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Pernyataan IF:Contoh #2 #include <stdio.h> main(){ int a, b; scanf("%d %d", &a, &b); if (a<b) { printf("%d\n", b-a); printf("%d\n", a-b); } return 0; } • Apa output program jikadiberi input 20 5 ?

  9. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Pernyataan IF:Contoh #3 #include <stdio.h> main(){ int a, b; scanf("%d %d", &a, &b); if (a<b) {printf("%d\n", b-a); printf (“a lebih kecil”); } else {printf("%d\n", a-b); printf (“a lebih besar”); } return 0; } • Apa output program jikadiberi input 5 20 ? • Apa output program jikadiberi input 20 5 ? 15 alebihkecil 15 a lebihbesar

  10. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Conditional statement:Nested IF • Strukturseleksiif yang bercabangdenganbanyakkondisi. • Contoh, berapanilai b jikadiberikan input 12? scanf("%d", &a); if (a<5) b=1; else if (a<10) b=2; else if (a<15) b=3; else b=4;

  11. Strukturelse if : if(syarat) { …. perintah; …. perintah; } else if(syarat) { …. perintah; …. perintah; } else if(syarat) { …. perintah; …. perintah; } else if(syarat) { …. perintah; …. perintah; } else { …. perintah; …. perintah; } else yang terakhir sifatnya ’optional’, boleh ada boleh juga tidak.

  12. Bentuk Nested IF dengan banyak perintah : if(syarat) { …. perintah; …. perintah; if(syarat) { …. perintah; …. perintah; } else { …. perintah; …. perintah; } } else { …. perintah; …. perintah; if(syarat) { …. perintah; …. perintah; } else { …. perintah; …. perintah; } }

  13. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Conditional statement:SWITCH • Strukturdenganbanyakkondisi yang berbentukekspresilogikakesamaan. • Perhatikanpotongan program berikut (apa yang dilakukan?) intbil, hasil; scanf("%d", &bil); hasil = bil % 3; if (hasil==0) printf("NOL\n"); else if (hasil==1) printf("SATU\n"); else printf("DUA\n");

  14. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Conditional statement:SWITCH Bentukumumstruktur SWITCH switch(switch_expr) { case (constant expr1) : S1; S2; …; break; case (constant expr2) : S3; S4; …; break; ..... default : S5; S6; …; break; }

  15. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Conditional statement:SWITCH Modifikasi program sebelumnya: intbil, hasil; scanf("%d", &bil); hasil = bil % 3; switch (hasil) { case 0: printf("NOL\n"); break; case 1: printf("SATU\n");break; default: printf("DUA\n"); break; }

  16. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Loop control structures • Program akan mengulang satu atau lebih statement untuk diproses atau tidak diproses berdasarkan kondisi tertentu. • Kondisi dinyatakan sebagai ekspresi. • Pernyataan yang digunakan disebut loop statement. • Ada tiga jenis: • Pernyataan WHILE • Pernyataan DO … WHILE • Pernyataan FOR

  17. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Loop control structures:WHILE • Implementasidaripernyataan: lakukansesuatuberulang-ulangselamakondisibernilai true (berartijugahentikanmelakukanitujikakondisibernilai false). • Format: while (kondisi) simple or compound statement;

  18. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Loop control structures:WHILE while (kondisi) statement; kondisi ? FALSE Pernyataan (statements) didalamstruktur WHILE akandiproses minimum NOL kali. Mengapa? TRUE statement

  19. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Loop control structures:WHILE • Perhatikanpotongan program berikut: int i=0; while (i<5) { printf("%d", i); i++; } • Output program tersebutadalah: 01234

  20. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Loop control structures:WHILE • Apa output potongan program berikut? int i=0; while (i<5) printf("%d", i++); • Bagaimanadenganpotongan program berikut? int i=0; while (i++<5) printf("%d", i); 01234 12345

  21. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #1 Apa output potongan program berikutjikadiberikan input data 8 20 ? Apa yang dilakukan? int a, b, t; scanf("%d %d", &a, &b); while (b) { t = a%b; a = b; b = t; } printf("%d\n", a); 4

  22. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #2 Apa output potongan program berikutjikadiberikan input data 8 20 3 -99 ? Apa yang dilakukan? intbil, c=0; scanf("%d", &bil); while (bil!=-99) { c++; scanf("%d", &bil); } printf("%d\n", c); 3

  23. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #3 Apa output potongan program berikutjikadiberikan input data 9872 ? Apa yang dilakukan? intbil, t=0; scanf("%d", &bil); while (bil) { t = (t*10) + (bil%10); bil/=10; } printf("%d\n", t); 2789

  24. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #4 Suatualat sensor dipasangpadatanamanapeluntukmengatursuplai air. Alatsecaraperiodikmenerima data berupakandungan air tanahdisekitartanaman. Jikaalattersebutmenerima data kandungan air tanahkurangdari 4.5 satuan, makaalatakanmenyuplai air dengan volume 0.12 liter. Demikianseterusnyasampaidiperoleh data kandungan air tanahlebihbesaratausamadengan 4.5 satuandanalatakanberhentisementara. Buat program C untukmenghitung total volume air yang disuplaisampaialattersebutberhentisementara. Output ditulisdalamduadesimaldibelakangtitik. Contoh input : 1.2 4.2 4.3 4.4 5.2 Contoh output : 0.48 Contoh input : 4.9 Contoh output : 0.00

  25. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR float bil=0, jum=0; while (bil<4.5) { jum=jum+0.12; scanf("%d", &bil); } printf("%d\n", jum);

  26. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #5 Seoranganaksukabermaindenganbilanganbulat. Jikadiberikanbilanganbulatlebihbesaratausamadengan 100, diahanyaakanmengambildigit paling kiridanpaling kananuntukmembentuksuatubilanganbarudengandua digit. Misalkandiberikannilai 7895, diamembentukbilanganbaruyaitu 75. Selanjutnya, diamenuliskansisapembagianbilanganbarutersebutdengan6dikertas. Jikabilanganbulat yang diberikankurangdari 100, makadiatidakmelakukanapa-apa. Buat program C untukmendapatkannilaiseperti yang dituliskananaktadi. Contoh input : 7895 Contoh input : 37 Contoh output : 3 Contoh output :

  27. intkiri,kanan,bil,jum, i, sisa; scanf("%d", &bil); kanan = bil % 10; while (bil>10) { bil = bil/10; } kiri = bil * 10; bil = kiri + kanan; printf("%d\n", bil);

  28. Latihan #6 1 2 3 • int a=3, b=0;while (b++<a) printf("%d", b);int a=3, b=0;while (++b<a) printf("%d", b);int a=5, b=0;while (b++<a) printf("%d", b++);int a=3, b=0;while (b=a--) printf("%d %d\n", a,b);int a=3, b=0;while (b=--a) printf("%d %d\n", a,b);int a=5, b, c;while (c=--a, b=a--) printf("%d %d %d\n", a,b,c); 1 2 1 3 5 2 3 1 2 0 1 2 2 1 1 3 4 4 1 2 2

More Related