Dokumen tersebut membahas tentang instruksi pengulangan do-while dalam pemrograman, dimana instruksi akan dieksekusi minimal sekali sebelum melakukan pengecekan kondisi, dan akan terus diulang selama kondisi bernilai benar. Diberikan pula contoh kode C++ untuk mencetak syair anak ayam menggunakan pengulangan do-while.
2. Konsep do-while
• Bentuk umum:
do {
…
instruksi-instruksi
…
} while(kondisi);
• Makna: mengulangi instruksi-instruksi selama
kondisi masih berlaku (sangat mirip dengan
WHILE)
9/10/2014 Algoritma Pemrograman, @SUARGA 2
3. Instruksi-
Instruksi
Kondisi
Y
N
Perhatian: pada pengulangan do-
while, instruksi-instruksi dikerjakan
lebih dahulu baru kemudian kondisi
diperiksa, bila memenuhi maka
diadakan pengulangan instruksi-
instruksi, bila tidak memenuhi maka
pengulangan berhenti.
Jadi walaupun kondisi tidak pernah
dipenuhi maka instruksi-instruksi
dikerjakan satu kali.
Apabila pengulangan dikehendaki
maka variabel perulangan harus
memenuhi kondisi ketika diperiksa.
9/10/2014 Algoritma Pemrograman, @SUARGA 3
4. Contoh sederhana
Algoritma perulangan do-while
{ mencetak angka 1 hingga 10 }
Deklarasi
integer angka;
Deskripsi
angka 1; { nilai awal var angka }
do
write ( angka );
angka angka + 1; { perubahan nilai var angka}
} while (angka < 11); { syarat perulangan }
9/10/2014 Algoritma Pemrograman, @SUARGA 4
5. Contoh: Syair Anak Ayam
Algoritma Perulangan_do_while_2
{ mencetak syair anak ayam }
Definisi Variabel
integer anak;
Rincian Langkah
anak 10;
do {
write ( “anak ayamku turun “, anak);
anak anak – 1;
if ( anak > 0 )
then write ( “mati satu tinggal “, anak);
else write ( “mati satu tinggal saya “);
endif.
} while ( anak > 0 )
9/10/2014 Algoritma Pemrograman, @SUARGA 5
6. QUIZ
• BUAT PROGRAM C++ DARI SYAIR ANAK AYAM!!
9/10/2014 Algoritma Pemrograman, @SUARGA 6
8. Analisis
• Berapa output dari:
x=10;
while (x > 0) {
cout << x << ‘n’;
x = x – 3;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 8
9. Analisis
• Berapa output dari:
x = 10;
do {
cout << x << ‘n’;
x = x – 3;
} while ( x > 0);
9/10/2014 Algoritma Pemrograman, @SUARGA 9
10. Analisis
• Berapa output dari:
x=10;
while (x > 0) {
cout << x << ‘n’;
x = x + 3;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 10
11. Analisis
• Berapa output dari:
x = -42;
do {
cout << x << ‘n’;
x = x – 3;
} while ( x > 0);
9/10/2014 Algoritma Pemrograman, @SUARGA 11
12. Analisis
• Berapa output dari:
x = -42;
do {
cout << x << ‘n’;
x = x + 3;
} while ( x < 0);
9/10/2014 Algoritma Pemrograman, @SUARGA 12
13. Contoh Perulangan Berlapis
// NestedDemo - demo perulangan berlapis
// input rentetan angka-angka.
// Angka tsb dijumlahkan hingga angka 0
// dimasukkan, dan hasil ditampilkan.
// Tapi perulangan untuk jumlahan yang
// lain dimulai, hingga total menjadi 0.
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
// the outer loop
cout << "Program ini menjumlahkan deretan angkan"
<< "Menampilkan jumlahnya ketikanangka negatif dimasukkann"
<< "[----------------------------------------]n";
9/10/2014 Algoritma Pemrograman, @SUARGA 13
14. int accumulator, total;
total = 0;
do {
// mulai deretan angka
accumulator = 0;
cout << "Mulai deretan angkan";
// loop forever
for(;;) {
// fetch another number
int value = 0;
cout << "Masukkan angka-nya : ";
cin >> value;
// if it’s negative...
if (value < 0)
{
// ...then exit
break;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 14
15. // ...otherwise add the number to the accumulator
accumulator = accumulator + value;
}
total += accumulator;
// output the accumulated result...
cout << "Akumulasi deretan angkanya adalah " << accumulator
<< endl;
cout << "Total semua angka yang ada = " << total << endl << endl;
if (accumulator != 0)
cout << "Untuk meng-akhiri, masukkan 0 lalu -1" << endl;
// ...and start over with a new sequence
// if the accumulated sequence was not zero
} while (accumulator != 0);
// we’re about to quit
cout << "Terima kasih yaa.." << endl;
// wait until user is ready before terminating program
// to allow the user to see the program results
system("PAUSE");
return 0;
}
9/10/2014 Algoritma Pemrograman, @SUARGA 15