Perulangan Minggu ke-10
KOMPETENSI Memahami kapan pengulangan digunakan dalam program Memahami tentang konsep pengulangan Menguasai cara mengimplementasikan konsep pengulangan dalam program menggunakan C++
PENGULANGAN Pengulangan dilakukan untuk mengulang satu atau beberapa statement, sebanyak n kali atau selama kondisi yang menjadi syarat pengulangan terpenuhi. Karakteristik pengulangan” Ada kondisi awal atau titik awal pengulangan Ada syarat pengulangan. Jika syarat tersebut masih terpenuhi, maka pengulangan masih akan terus berjalan. Pengulangan berhenti saat syarat tersebut sudah tidak terpenuhi Ada step atau tahap pengulangan
PENGULANGAN Dalam C++ terdapat 3 metode untuk mengimplementasikan pengulangan: while() {……} do{……..}while() for(){……..}
WHILE Format while(boolean expression) statement; atau }
WHILE - Contoh #include <iostream.h> int main () { int n; cout<<"Enter the starting number = ”; cin>>n; 5 while (n>0) { cout<<n; 5 4 3 2 1 FIRE !!! n--; } printf(”FIRE…!!!”); return 0; Nilai n mendapat masukan dari user Dilakukan pengecekan untk syarat atau kondisi while yaitu n>0. Dari hasil pengecekan ini ada 2 kemungkinan hasil yaitu: True : akan dilanjutkan ke tahap 3 False : akan dilanjutkan ke tahap 5 Eksekusi statement: cout<<n<<“,”; dan - - n; Akhir blok perulangan dan kembali ke tahap 2 Keluar dari blok perulangan dan cetak “FIRE”
WHILE Kondisi awal perulangan tersebut adalah nilai n yang dimasukkan oleh user. Perulangan akan terus berjalan jika kondisi n>0 masih terpenuhi atau true. Agar perulangan berhenti pada suatu saat tertentu, maka diperlukan step perulangan. Step perulangan ini yang pada saat tertentu akan mengakibatkan syarat perulangan menjadi false dan perulangan berhenti. Pada contoh adalah --n. Misal awalnya nilai n yang dimasukkan adalah 10, maka setiap kali perulangan --n akan menyebabkan nilai n berkurang satu setiap kali berulang. Hingga suatu saat n nilainya 0 dan perulangan berakhir.
WHILE Karakteristik while() adalah: 1. Dilakukan pengecekan kondisi terlebih dahulu sebelum dilakukan perulangan. Jika kondisi yang dicek bernilai benar (true) maka perulangan akan dilakukan. 2. Blok statement tidak harus ada. Struktur tanpa statement akan tetap dilakukan selama kondisi masih true.
FOR Format penulisan for: for(inisialisasi; kondisi_perulangan; step_perulangan) statement; atau: for(inisialisasi; kondisi_perulangan; step_perulangan){ }
FOR for(inisialisasi; kondisi_perulangan; step_perulangan) statement; Cara kerja Inisialisasi dieksekusi. Biasanya digunakan untuk memberikan nilai awal variabel yang digunakan sbg counter perulangan. Inisialisasi hanya dieksekusi 1 kali saja Kondisi dicek. Jika benar, maka ke tahap 3. Jika salah akan keluar dari blok perulangan (tahap 5) Masuk ke blok perulangan dan statement2 yag ada ddi dalamnya akan dieksekusi Step perulangan dieksekusi, dan akan kembali ke tahap 2 Keluar dari perulangan
FOR - Contoh #include <iostream.h> Cin>>x; int main () { for (int n=5; n>0; n--) { cout << n; } printf("FIRE!\n”);
FOR Ekspresi inisialisasi dan ekspresi step perulangan bersifat opsional (boleh tidak ada). Meski demikian, tanda ; (semicolon) yang memisahkan antar ekspresi dalam for harus tetap ada Contoh: for(;n<10;) : jika menghendaki tidak ada inisialisasi dan step perulangan for(;n<10;n++) : jika menghendaki tidak ada inisialisasi, mungkin inisialisasi sudah dilakukan sebelumnya, misal int n = 0; for(;n<10;n++){ ….. }
FOR Dalam for juga memungkinkan untuk menuliskan lebih dari satu proses inisialisasi atau lebih dari satu step perulangan, yaitu dengan menggunakan tanda koma (,) Contoh: for ( n=0, i=100 ; n!=i ; n++, i-- ) { ….... } Loop akan berulang 50 kali
KESETARAAN FOR DAN WHILE
DO-WHILE Format penulisan do-while: do statement; while(boolean expression); atau: do{ }while(boolean expression); Statement dijalankan dulu Pengecekan kondisi perulangan dilakukan di akhir blok perulangan. Selama kondisi bernilai true, maka perulangan akan kembali dilakukan
DO-WHILE #include <iotream.h.h> int main () { int n; cout<<"Enter the starting number = ”; cin>>n; do { cout<<n; --n; } while (n>0) ; cout<<"FIRE!”; return 0; }
DO-WHILE Pada pengulangan while, statement atau block statement mungkin tidak akan pernah dilaksanakan bila nilai ekspresi boolen false, karena operasi pengulangan diawali dengan mengeksekusi ekspresi boolean. Pada pengulangan do-while statement atau block statement pasti dikerjakan minimal satu kali, karena ekspresi boolean baru diuji pada akhir blok pengulangan.
LOOP BERSARANG – NESTED LOOP Condition 1 Mirip seperti NESTED IF Loop yang ada di dalam Loop yang lain. true false false Condition 2 true Body
LOOP BERSARANG – NESTED LOOP #include <stdio.h> int main(){ int x; x=5; for(int i=1;i<=x;i++){ for(int j=1;j<=i;j++){ printf(“*”); } printf(“\n”); * ** *** **** *****
BREAK Sintaks break; digunakan untuk keluar dari blok perulangan for, while ataupun do-while, atau juga blok switch yang sudah dibahas pada pertemuan sebelumnya.
BREAK #include <stdio.h> int main () { int n; for (n=10; n>0; n--) printf(“%i , ”, n); if (n==3) printf("countdown aborted!”); break; } return 0; 10, 9, 8, 7, 6, 5, 4, 3, countdown aborted!
CONTINUE Sintaks continue; digunakan untuk melanjutkan ke tahap perulangan berikutnya, dan tinggalkan sisa instruksi lain yang ada di dalam blok perulangan
CONTINUE #include <stdio.h> int main () { for (int n=10; n>0; n--) { if (n==5) continue; printf(“%i , ”, n); } printf("FIRE!\n”); return 0; 10, 9, 8, 7, 6, 4, 3, 2, 1, FIRE!