• Tidak ada hasil yang ditemukan

(3) Outline Materi Struktur Pengulangan (looping

N/A
N/A
Protected

Academic year: 2022

Membagikan "(3) Outline Materi Struktur Pengulangan (looping"

Copied!
44
0
0

Teks penuh

(1)Pertemuan 06. Pengulangan. Dasar Pemrograman Komputer [TKL-4002] 2010. 1.

(2) Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : . Memahami struktur kendali pengulangan (looping) dan memanfaatkannya dalam pembuatan aplikasi program komputer dengan bahasa pemrograman C/C++.. 2.

(3) Outline Materi Struktur Pengulangan (looping) . Konstruksi for, while dan do-while. . Nested dan infinite loop. . Compound atau Block statement. . Break dan Continue. 3.

(4) Struktur Pengulanangan . Struktur pengulangan dimaksudkan untuk melakukan proses pengulangan dari beberapa instruksi dalam sejumlah pengulangan tertentu. . Jumlah pengulangan dapat ditentukan sebelumnya atau ditentukan dalam proses pelaksanaan pengulangan.. . Tiga macam struktur pengulangan dalam pemrograman terstruktur, yaitu:  Struktur for  Struktur while  Struktur do-while 4.

(5) Struktur Pengulangan for  Konstruksi. for. for (exp1; exp2; exp3) statement; atau: for (exp1; exp2; exp3){ statement1; statement2; ……. } exp1 : adalah ekspresi untuk inisialisasi, exp2 : adalah ekspresi conditional exp3 : adalah ekspresi increment atau decrement exp1, exp2 dan exp3 adalah sifatnya optional (boleh ada boleh tidak ada). 5.

(6) Struktur Pengulangan for . Struktur logika pengulangan for exp1. exp3 statements exp2. true. false. 6.

(7) Struktur Pengulangan for . Contoh : . for (x=1; x <= 10; x++) printf(“%d\n”,x); x=1 x++ printf(“%d\n”,x) x<=1 0 false. true. 7.

(8) Struktur Pengulangan for . exp1 dan exp3 boleh terdiri dari beberapa ekspresi yang dipisahkan dengan koma.. . Contoh: #include <stdio.h> #include <iostream.h> int main () { int i,j; for(i=1, j=30; i<j; i++, j--){ printf("%04d -- %04d\n", i,j); } printf("\n\n"); system("PAUSE"); return(0); } 8.

(9) Struktur Pengulangan for . Contoh : • Program mencetak angka dari 1 sampai 10. #include<stdio.h> int main() { int x; for( x = 1 ; x <= 10 ; x++ ) printf( "%d\n", x ); return(0); } • Program mencetak angka dari 10 sampai 1. #include<stdio.h> int main() { int x; for( x = 10 ; x >= 1 ; x-- ) printf( "%d\n", x); return(0); } 9.

(10) Struktur Pengulangan for . Contoh penggunaan for untuk menghitung ratarata pengeluaran uang bensin selama satu bulan, dengan data sbb : Minggu 1 Rp. 2 Rp. 3 Rp. 4 Rp.. Pengeluaran 32.000,29.000,33.000,24.000,-. Algoritma : 1. Variabel jumlah diberi nilai nol 2. Baca data pengeluaran bensin dari keyboard dan simpan ke variabel data 3. Tambahkan data ke jumlah 4. Ulangi 2 dan 3 sebanyak 4 kali 5. Rerata = Jumlah / 4 10.

(11) Struktur Pengulangan for . Program dalam C: /*----------------------------------*/ /* Program Hitung_Rerata */ /*----------------------------------*/ #include<stdio.h> int main() { float data, jumlah, rerata; int x; jumlah = 0.0; for( x = 1; x <= 4; x++) { printf(“Data minggu ke-%d :”,x) ; scanf(“%f”,&data); jumlah = jumlah + data; } rerata = jumlah / 4; printf(“Rerata = Rp %8.2f\n”,rerata); return(0); } 11.

(12) Struktur Pengulangan for  Infinite. Loop. Untuk membuat infinite loop dapat dilakukan dengan menggunakan “for-loop”, dengan menghilangkan ketiga parameter (exp1, exp2, exp3) yang ada pada for loop. Untuk keluar dari loop dapat digunakan statement break.  Contoh:. #include <stdio.h> #include <iostream.h> int main () { int i = 0; for(;;) { i++; printf("%d ", i); if (i>=10) break; } printf("\n\n"); system("PAUSE"); return(0); }. 12.

(13) Struktur Pengulangan for  Nested. Loop. Jika di dalam sebuah pengulangan terdapat statement pengulangan. Pengulangan akan dijalankan dimulai dari pengulangan terdalam. Bahasa C Bahasa C++ (diperbolehkan). int x, y; for (x=1;x<=5;x++) for (y=5; y>=1; y--) printf(”%d %d ”,x,y);. for (int x=1;x<=5;x++) for (int y=5; y>=1; y--) printf(”%d %d ”,x,y);. Output : 1 5 1 4 1 3 .. 2 5 2 4 .. 5 1 13.

(14) Struktur Pengulangan for  Contoh. :. #include <stdio.h> #include <iostream.h> int main () { int p,q; printf("===========================================\n"); printf(" p q p or q p and q not p p xor q\n"); printf("===========================================\n"); for(p=1; p>=0; p--) for(q = 1; q>=0; q--) printf("%2d %2d %6d %8d %8d %8d\n",p, q, p||q, p&&q, !p, p^q ); printf("===========================================\n"); printf("\n\n"); system("PAUSE"); return(0); } 14.

(15) Struktur Pengulangan while  Sintaks. :. while (eks.boolean) statements; atau : while(eks.boolean){ statement1; statement2; ….. }. statements eks. boolean. true. false. 15.

(16) Struktur Pengulangan while  Contoh. :.  while(product <= 1000) product =. 2*product;. product=2*product; tru product <= 1000 e fals e. 16.

(17) Struktur Pengulangan while  Contoh. program:. #include <stdio.h> #include <iostream.h> int main () { int n,i,f; printf("MENGHITUNG NILAI FAKTORIAL n (n!)\n\n"); printf("Masukkan sebarang bilangan integer: "); scanf("%i",&n); i = n; f = n; while (i>1){ i--; f=f*i; } printf("%d! = %d\n\n",n,f); system("PAUSE"); return(0); } 17.

(18) Struktur Pengulangan while . Kesetaraan for dengan while sbb: exp1; while ( exp2 ) { statement1; statement2; …. exp3 }. . setara. for (exp1; exp2; exp3 ) { statement1; statement2; …. }. Contoh: #include<stdio.h> void main() { int x = 1; while (x<=10) { printf( "%d\n", x ); x++; } }. serupa dg. #include<stdio.h> void main() { int x; for( x = 1 ; x <= 10 ; x++ ) printf( "%d\n", x ); } 18.

(19) Struktur Pengulangan do - while  Sintaks. :. do statement while (eks.boolean); atau : do { statement1; statement2; ….. } while(eks.boolean). statements eks. boolean. true. false. . Selama eks.boolean bernilai true maka statements dieksekusi lagi.. . Pengetesan eks.boolean dilakukan setelah meng-eksekusi statements. 19.

(20) Struktur Pengulangan do - while  Contoh:. int i = 0; do { printf(”%d\n”, i); } while(++i <=10);. I=0. Cetak i ++i <= 10. true. false. 20.

(21) Pengulangan . Pada pengulangan while, statement atau blok statement mungkin tidak akan pernah dilaksanakan, bila nilai ekspresi boolen bernilai false, karena operasi pengulangan diawali dengan mengeksekusi ekspresi boolean terlebih dahulu.. . Pada pengulangan do-while statement atau blok statement pasti dikerjakan paling sedikit satu kali, karena ekspresi boolean baru diuji pada akhir blok pengulangan.. 21.

(22) Pengulangan . Beberapa cara untuk menghentikan pengulangan untuk program interaktif, di antaranya dapat dilakukan dengan menambah: • Sentinel atau Pembatas dengan kode khusus. • Pertanyaan, misalkan: “Apakah pengulangan. akan dilanjutkan?”.. 22.

(23) Pengulangan . Contoh : Cara ‘sentinel’ pada konstruksi do-while dengan memakai nilai 0 pada variabel panjang dan variabel lebar. #include <stdio.h> int main() { int panjang,lebar,luas; char ulang; do{ printf(“Panjang [0=selesai] : “); scanf(“%d”,&panjang); printf(“Lebar [0=selesai] : “); scanf(“%d”,&lebar); luas = panjang * lebar; printf(“Luas = %d\n”,luas); } while((panjang != 0) && (lebar != 0)); return(0); } 23.

(24) Pengulangan . Contoh : Cara ‘Pertanyaan’ pada konstruksi While #include <stdio.h> int main() { int panjang, lebar, luar; char ulang; printf(”Teruskan Perhitungan ? (Y/T) :”); scanf(”%c”,&ulang); while((toupper(ulang)) == ’Y’) { printf(”Panjang : ”); scanf(”%d”,&panjang); printf(”Lebar : ”); scanf(”%d”,&lebar); luas = panjang * lebar; printf(”Luas = %d\n\n”,luas); printf(”Teruskan Perhitungan?(Y/T):”); scanf(”%c”,&ulang); } return(0); } 24.

(25) Statement break dan continue  break. • Digunakan untuk keluar dari loop (for, while dan. do-while) • Digunakan untuk keluar dari switch  continue. • skip sisa instruksi dalam loop, dan eksekusi. loop berjalan ke tahap selanjutnya. 25.

(26) Break  Contoh penggunaan statement break pada loop yang menyebabkan program keluar dari loop tersebut #include<stdio.h> int main() { int x = 1; while (x<=10) { printf( "%d\n", x ); x++; if (x>5) break; } return 0; Keluar dari loop } 26.

(27) continue  Contoh:. #include <stdio.h> int main() { int x; for(x=1; x<=10; x++) { if (x == 5) continue; printf("%d ", x); } return 0; } Output : 1 2 3 4 6 7 8 9 10 27.

(28) break vs continue do { scanf(“%f”, &x); if(x<0) { printf”\nEror. Negatif”); break; } /*Proses nonnegatif */ … } while(exp);. do { scanf(“%f”, &x); if(x<0) { printf”\nEror. Negatif”); continue; } /*Proses nonnegatif */ … } while(exp);. 28.

(29) Latihan for (i=k; i < n; i++) printf(”TIF-FTUB\n”); 1.. Jika k < n maka berapa kali kata TIF-FTUB di cetak dilayar monitor?. 2.. Jika k=n maka berapa kali kata TIF-FTUB di cetak dilayar monitor ?. 3.. Jika k > n maka berapa kali kata TIF-FTUB di cetak dilayar monitor ?. 29.

(30) Latihan for (i=k; i >= n; i--) printf(” TIF-FTUB \n”); 1. Jika k < n maka berapa kali kata TIF-FTUB di cetak dilayar monitor ? 2. Jika k=n maka berapa kali kata TIF-FTUB di cetak dilayar monitor ? 3. Jika k > n maka berapa kali kata TIF-FTUB di cetak dilayar monitor ?. 30.

(31) Latihan . Dapatkah infinite/forever loop ditulis menggunakan for loop, while loop dan do-while loop ?. . Jika p = pernyataan dan e = ekspresi, ubahlah loop for berikut menjadi loop while. a. for(; e ;) p; b. for(; ; e) p;. 31.

(32) Latihan . Bandingkan dua buah sintaks for berikut ini : for (i=0, j=1; i<8; i++, j++) printf("%d + %d = %d\n", i, j, i+j); for (i=0, j=1; i<8; ++i, ++j); printf("%d + %d = %d\n", i, j, i+j);. Jelaskan outputnya dan perbedaannya dari dua potongan program di atas!. 32.

(33) Latihan APA OUTPUT PROGRAM BERIKUT ??. #include <stdio.h> int main() { int x,y; for(x=1;x<=3;x++) for (y=3;y>=1;y--) printf("%d %d ",x,y); return 0; }. awas! Ada titik koma. #include <stdio.h> int main() { int x,y; for(x=1;x<=3;x++); for (y=3;y>=1;y--) printf("%d %d ",x,y); return 0; } 33.

(34) Latihan APA OUTPUT PROGRAM BERIKUT ??. #include <stdio.h> int main() { int x,y; for(x=1;x<=3;x++) for (y=3;y>=1;y--); printf("%d %d ",x,y); return 0; } Awas! ada titik koma. awas! ada titik koma. #include <stdio.h> int main() { int x,y; for (x=1;x<=3;x++); for (y=3;y>=1;y--); printf("%d %d ",x,y); return 0; } 34.

(35) Latihan Jelaskan output program berikut ini : #include<stdio.h> int main() { int nilai = 0, jumlah = 0; while(nilai < 10) { jumlah += nilai; printf(”\nNilai =%d, Jumlah =%d”, nilai++, jumlah); } return 0; }. 35.

(36) Latihan . Jelaskan output program berikut ini : #include<stdio.h> int main() { long bil, tmp, x=1; printf(”\nInput bil:”); scanf(”%d”, &bil); tmp=bil; while(bil >= 1) x*=bil--; printf(”\n%ld ! = %ld”,tmp, x); return 0; }. 36.

(37) Latihan . Buat program untuk menampilkan bilangan ganjil dari 11 s/d 188, dengan menggunakan : • for • while • do - while. 37.

(38) Latihan . Diasumsikan hari 1 menyatakan senin, 2 - selasa, 3 rabu,…, 7 – minggu. Buatlah sebuah program untuk menampilkan angka hari sebanyak n yang diinput dari keyboard. Perhatikan pola berikut : n=3 1 2 3 n=7 2 2 3 4 5 6 7 n = 10 1 2 3 4 5 6 7 1 2 3 38.

(39) Latihan  Berapa kali kata Hello dicetak di layar monitor oleh setiap potongan program di bawah ini? int x ; for(x=0 ; x<10 ; x++) printf("Hello\n");. int x=0; for( ; x<10 ; x++) printf("Hello\n");. int x=0; for( ; ; ){ if(x<10) printf("Hello\n"); else break; x++; }. int x=0; for( ; ; x++){ if(x<10) printf("Hello\n"); else break; } 39.

(40) Latihan . Buatlah program untuk menampilkan gambar seperti contoh dibawah, dimana n variabel integer yg nilainya di-input dari keyboard (dengan for, while atau do-while loop). * * * * *. * ** *** **** n. n. 40.

(41) Latihan . Buatlah program untuk menampilkan gambar seperti contoh dibawah, dimana n variabel integer yg nilainya di-input dari keyboard (dengan for, while atau do-while loop). * * * * *. **** *** ** *. n. n 41.

(42) Latihan Apa Output dari program di bawah ini? #include <stdio.h> int main() { int x,y,z; for (x=0; x<4; x++) { for (y=0; y<3; y++) { for (z=0; z<3; z++) { if (z==2) break; } printf("Selamat\n"); } printf("Datang\n"); } printf("di TIF-FTUB\n"); getch(); return(0); } 42.

(43) Struktur Pengulangan for . Struktur logika pengulangan for exp1. exp3 statements exp2. true. false. 43.

(44) Struktur Pengulangan for . Struktur logika pengulangan for exp1. exp3 statements exp2. true. false. 44.

(45)

Referensi

Dokumen terkait

Seluruh data dan fakta yang dimunculkan dalam TeSCA 2012, diharapkan akan menjadi rujukan bagi Dikti, Kemdikbud dalam melakukan pemetaan pelaksanaan TIK di perguruan

Ennek ellenére azt tapasztaljuk – nemcsak a hivatalos levelekben, hanem a misszilisekben is –, hogy a kialakult magyar levélkezdő és -záró formulák helyett latin formulákat

Pada akhir abad ke-18 gerakan pembaruan tarekat, dengan maksud yang sama, juga muncul di Indonesia (Minangkabau) di kalangan tarekat Syaththârîyah, yang sangat

Tabel 3.2 Rute Anggkot Jalur CKL Dari Arah Terminal Landungsari - APK Cemoro Kandang (Rute Pulang)...21 Tabel 3.3 Pembagian Zona Angkot Jalur CKL Berangkat...22 Tabel

Hasil penelitian ini sesuai dengan penelitian yang dilakukan oleh Masini (2015) menunjukkan Ibu yang berpartisipasi dalam kelas ibu hamil, lebih banyak pada ibu yang

Maka Dari Itu kita Surga Pewangi Laundry juga Menjual paket Sample pewangi Laundry isi 100ml, 250 ml , 1 literan Dengan Aneka opsi aroma parfum.. buat memperoleh Paket Sample

Fraktur batang femur biasanya terjadi karena trauma langsung akibat kecelakaan lalu lintas atau jatuh dari ketinggian. Patah tulang yang terjadi pada daerah ini

Otto turned back to Seth and shook his head unhappily. “More of