Imam Fahrur Rozi
Algoritma dan Pemrograman
PENGULANGAN
KOMPETENSI v Memahami kapan pengulangan digunakan dalam program v Memahami tentang konsep pengulangan v 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. ² KarakterisBk pengulangan” ² Ada kondisi awal atau BBk awal pengulangan ² Ada syarat pengulangan. Jika syarat tersebut masih terpenuhi, maka pengulangan masih akan terus berjalan. Pengulangan berhenB saat syarat tersebut sudah Bdak 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(boolean expression){ statement; statement; statement; }
WHILE - Contoh #include
int main () { int n; cout << "Enter the star?ng number > "; cin >> n; while (n>0) { cout << n << ", "; -‐-‐n; } cout << "FIRE!\n"; return 0; }
1. Nilai n mendapat masukan dari user 2. 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
3. Eksekusi statement: cout<
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 berhenB pada suatu saat tertentu, maka diperlukan step perulangan. Step perulangan ini yang pada saat tertentu akan mengakibatkan syarat perulangan menjadi false dan perulangan berhen?. Pada contoh adalah -‐-‐n. ² Misal awalnya nilai n yang dimasukkan adalah 10, maka seBap kali perulangan -‐-‐n akan menyebabkan nilai n berkurang satu seBap kali berulang. Hingga suatu saat n nilainya 0 dan perulangan berakhir.
WHILE KarakterisBk 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 Bdak 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){ statement; statement; }
FOR for(inisialisasi; kondisi_perulangan; step_perulangan) statement; Cara kerja 1. Inisialisasi dieksekusi. Biasanya digunakan untuk memberikan nilai awal variabel yang digunakan sbg counter perulangan. Inisialisasi hanya dieksekusi 1 kali saja 2. Kondisi dicek. Jika benar, maka ke tahap 3. Jika salah akan keluar dari blok perulangan (tahap 5) 3. Masuk ke blok perulangan dan statement2 yag ada ddi dalamnya akan dieksekusi 4. Step perulangan dieksekusi, dan akan kembali ke tahap 2 5. Keluar dari perulangan
FOR - Contoh #include int main () { for (int n=10; n>0; n-‐-‐) { cout << n << ", "; } cout << "FIRE!\n"; return 0; }
FOR Ekspresi inisialisasi dan ekspresi step perulangan bersifat opsional (boleh Bdak ada). Meski demikian, tanda ; (semicolon) yang memisahkan antar ekspresi dalam for harus tetap ada Contoh: • for(;n<10;) : jika menghendaki Bdak ada inisialisasi dan step perulangan • for(;n<10;n++) : jika menghendaki Bdak 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: Loop akan berulang for ( n=0, i=100 ; n!=i ; n++, i-‐-‐ ) 50 kali { ….... }
KESETARAAN FOR DAN WHILE
DO-WHILE Format penulisan do-‐while: • Statement dijalankan dulu • Pengecekan kondisi perulangan do dilakukan di akhir blok statement; perulangan. while(boolean expression); • Selama kondisi bernilai true, maka akan perulangan akan kembali dilakukan atau: do{ statement; statement; }while(boolean expression);
DO-WHILE #include int main () { int n; cout << "Enter the star?ng number > "; cin >> n; do { cout << n << ", "; -‐-‐n; } while (n>0) ; cout << "FIRE!\n"; return 0; }
DO-WHILE • Pada pengulangan while, statement atau block statement mungkin Bdak akan pernah dilaksanakan bila nilai ekspresi boolen false, karena operasi pengulangan diawali dengan mengeksekusi ekspresi boolean. • Pada pengulangan do-‐while statement atau block statement pasB dikerjakan minimal satu kali, karena ekspresi boolean baru diuji pada akhir blok pengulangan.
LOOP BERSARANG – NESTED LOOP
Condi Bon 1
false
true Condi Bon 2
true Body
false
• Mirip seperB NESTED IF • Loop yang ada di dalam Loop yang lain.
LOOP BERSARANG – NESTED LOOP #include int main(){ int x; x=5; for(int i=1;i<=x;i++){ for(int j=1;j<=i;j++){ cout<<“*”; } cout<<endl; } }
* ** *** **** *****
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 int main () { int n; for (n=10; n>0; n-‐-‐) { cout << n << ", "; if (n==3) { cout << "countdown aborted!"; break; } } return 0; }
10, 9, 8, 7, 6, 5, 4, 3, countdown aborted!
CONTINUE • Sintaks con?nue; digunakan untuk melanjutkan ke tahap perulangan berikutnya, dan Bnggalkan sisa instruksi lain yang ada di dalam blok perulangan
BREAK #include int main () { for (int n=10; n>0; n-‐-‐) { if (n==5) con?nue; cout << n << ", "; } cout << "FIRE!\n"; return 0; }
10, 9, 8, 7, 6, 4, 3, 2, 1, FIRE!
Algoritma dan Pemrograman
Selamat Belajar
JJJJJJJJJ
Serious, Focus, stay cool & calm