Algoritme dan Pemrograman Kuliah 5 Compound statement Kontrol
- Slides: 28
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() { int i=0, j=1; printf("A"); i = i + 1; return 0; } compound statement DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Sequential structures • Proses terhadap suatu program yang terdiri dari beberapa statement dilakukan berurutan secara sekuensial, satu per satu, mulai dari atas ke bawah sequential. • Contoh: output program berikut adalah ABC #include <stdio. h> main() { int i=0, j=1; printf("A"); i = i + 1; printf("B"); j = j + 1; printf("C"); return 0; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Selection control structures • Program akan memilih satu atau lebih statement untuk diproses atau tidak diproses berdasarkan kondisi tertentu. • Kondisi dinyatakan sebagai ekspresi. • Pernyataan yang digunakan disebut conditional statement. • Ada dua jenis: ▫ Pernyataan IF ▫ Pernyataan SWITCH DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Conditional statement: IF Bentuk umum: if (kondisi) simple or compound statement; atau if (kondisi) simple or compound statement; else simple or compound statement; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Conditional statement: IF kondisi ? TRUE FALSE kondisi ? FALSE TRUE statements 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("%dn", b-a); printf("%dn", a-b); return 0; } • Apa output program jika diberi input 5 20 ? • Apa output program jika diberi input 20 5 ? -15 15 15 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("%dn", b-a); printf("%dn", a-b); } return 0; } • Apa output program jika diberi input 20 5 ? 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("%dn", b-a); printf (“a lebih kecil”); } else {printf("%dn", a-b); printf (“a lebih besar”); } return 0; } 15 a lebih kecil • • 15 a lebih besar Apa output program jika diberi input 5 20 ? Apa output program jika diberi input 20 5 ? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Conditional statement: Nested IF • Struktur seleksi if yang bercabang dengan banyak kondisi. • Contoh, berapa nilai b jika diberikan 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; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Struktur else if : if(syarat) { …. perintah; } else if(syarat) { …. perintah; …. perintah; } else yang terakhir sifatnya ’optional’, boleh ada boleh juga tidak.
Bentuk Nested IF dengan banyak perintah : if(syarat) { } else { } …. perintah; if(syarat) { …. perintah; } else { …. perintah; }
Conditional statement: SWITCH • Struktur dengan banyak kondisi yang berbentuk ekspresi logika kesamaan. • Perhatikan potongan program berikut (apa yang dilakukan? ) int bil, hasil; scanf("%d", &bil); hasil = bil % 3; if (hasil==0) printf("NOLn"); else if (hasil==1) printf("SATUn"); else printf("DUAn"); DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Conditional statement: SWITCH Bentuk umum struktur SWITCH switch(switch_expr) { case (constant expr 1) : case (constant expr 2) : . . . default } : S 1; S 2; …; break; S 3; S 4; …; break; S 5; S 6; …; break; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Conditional statement: SWITCH Modifikasi program sebelumnya: int bil, hasil; scanf("%d", &bil); hasil = bil % 3; switch (hasil) { case 0: printf("NOLn"); break; case 1: printf("SATUn"); break; default: printf("DUAn"); break; } 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 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Loop control structures: WHILE • Implementasi dari pernyataan: lakukan sesuatu berulang-ulang selama kondisi bernilai true (berarti juga hentikan melakukan itu jika kondisi bernilai false). • Format: while (kondisi) simple or compound statement; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Loop control structures: WHILE while (kondisi) statement; FALSE kondisi ? TRUE Pernyataan (statements) di dalam struktur WHILE akan diproses minimum NOL kali. Mengapa? statement DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Loop control structures: WHILE • Perhatikan potongan program berikut: int i=0; while (i<5) { printf("%d", i); i++; } • Output program tersebut adalah: 01234 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Loop control structures: WHILE • Apa output potongan program berikut? int i=0; while (i<5) printf("%d", i++); 01234 • Bagaimana dengan potongan program berikut? int i=0; while (i++<5) printf("%d", i); 12345 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Latihan #1 Apa output potongan program berikut jika diberikan 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("%dn", a); 4 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Latihan #2 Apa output potongan program berikut jika diberikan input data 8 20 3 -99 ? Apa yang dilakukan? int bil, c=0; scanf("%d", &bil); while (bil!=-99) { c++; scanf("%d", &bil); } printf("%dn", c); 3 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Latihan #3 Apa output potongan program berikut jika diberikan input data 9872 ? Apa yang dilakukan? int bil, t=0; scanf("%d", &bil); while (bil) { t = (t*10) + (bil%10); bil/=10; } printf("%dn", t); 2789 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
Latihan #4 Suatu alat sensor dipasang pada tanaman apel untuk mengatur suplai air. Alat secara periodik menerima data berupa kandungan air tanah di sekitar tanaman. Jika alat tersebut menerima data kandungan air tanah kurang dari 4. 5 satuan, maka alat akan menyuplai air dengan volume 0. 12 liter. Demikian seterusnya sampai diperoleh data kandungan air tanah lebih besar atau samadengan 4. 5 satuan dan alat akan berhenti sementara. Buat program C untuk menghitung total volume air yang disuplai sampai alat tersebut berhenti sementara. Output ditulis dalam dua desimal di belakang titik. Contoh input : 1. 2 4. 3 4. 4 5. 2 Contoh output : 0. 48 Contoh input : 4. 9 Contoh output : 0. 00 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR float bil=0, jum=0; while (bil<4. 5) { jum=jum+0. 12; scanf("%d", &bil); } printf("%dn", jum);
Latihan #5 Seorang anak suka bermain dengan bilangan bulat. Jika diberikan bilangan bulat lebih besar atau samadengan 100, dia hanya akan mengambil digit paling kiri dan paling kanan untuk membentuk suatu bilangan baru dengan dua digit. Misalkan diberikan nilai 7895, dia membentuk bilangan baru yaitu 75. Selanjutnya, dia menuliskan sisa pembagian bilangan baru tersebut dengan 6 di kertas. Jika bilangan bulat yang diberikan kurang dari 100, maka dia tidak melakukan apa-apa. Buat program C untuk mendapatkan nilai seperti yang dituliskan anak tadi. Contoh input : 7895 Contoh output : 3 Contoh input : 37 Contoh output : DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
int kiri, kanan, bil, jum, i, sisa; scanf("%d", &bil); kanan = bil % 10; while (bil>10) { bil = bil/10; } kiri = bil * 10; bil = kiri + kanan; printf("%dn", bil);
Latihan #6 • int a=3, b=0; 123 while (b++<a) printf("%d", b); int a=3, b=0; 12 while (++b<a) printf("%d", b); int a=5, b=0; while (b++<a) printf("%d", b++); 1 3 5 int a=3, b=0; 23 while (b=a--) printf("%d %dn", a, b); 12 01 int a=3, b=0; 22 while (b=--a) printf("%d %dn", a, b); 11 int a=5, b, c; while (c=--a, b=a--) printf("%d %d %dn", a, b, c); 344 122
- Perbedaan pemrograman konvensional dan pemrograman visual
- Pengertian pemrograman visual
- Contoh pemrograman konvensional
- Contoh pemrograman konvensional
- Mata kuliah pemrograman visual
- Definisi struktur kontrol percabangan dalam pemrograman
- Decision structure
- Struktur kontrol pada pemrograman imperatif
- Perulangan bersarang java
- Statement select case termasuk struktur pemrograman ….
- Algoritma c++
- Algoritme van euclides
- Euklids algoritme
- Als algoritme
- Algoritma berasal dari kata ...
- Algoritma berasal dari kata.... *
- Algoritme definitie
- Years algoritme
- Struktur sekuensial
- Algoritme maken
- Analogi dan cara memecahkan masalah algoritma
- Pre terminale tegn
- Algoritme
- Euklids algoritme
- Hjertestop algoritme
- Mata kuliah testing dan implementasi sistem
- Deskripsi mata kuliah statistik
- Materi kuliah organisasi dan manajemen
- Energi potensial adalah