2. 8/5/2017
Menny
cendana25.blogspot.com
Menjelaskan proses perulangan menggunakan
pernyataan while, dan do-while.
„Menjelaskan penggunaan pernyataan break dan
continue.
„Menjelaskan loop di dalam loop (nested loop) dan
contoh kasusnya.
PROSES PERULANGAN (LOOPING)
Tujuan Materi
3. 8/5/2017
Menny
cendana25.blogspot.com
Perulangan adalah suatu bentuk pemrograman yang ringkas didalam
menangani suatu langkah yang berulang
Cth: cout << “C++” << endl;
Bagaimana bentuk perulangan dengan WHILE ?
Bentuk sederhana WHILE :
While (kondisi)
Pernyataan
Kondisi diuji terlebih dahulu; jika kondisi bernilai
benar maka bagian pernyataan akan di eksekusi dan
kemudian kondisi di uji kembali hingga kondisi
bernilai salah
7. 8/5/2017
Menny
cendana25.blogspot.com
i = 1;
while ( i <= n) {
cout << i << endl;
i++;
}
Biasanya melibatkan variabel pencacah (i) dan variabel lain (n)
Inisialisasi variabel
pencacah Kondisi penentu
perulangan
Pernyataan untuk
menampilkan nilai yg
diulang
Menaikan/menurun
nilai variabel pencacah
Variabel pencacah
9. 8/5/2017
Menny
cendana25.blogspot.com
VARIABEL PENCACAH TIDAK HARUS BERUPA SATU
#include <iostream>
using namespace std;
int main() {
int i, n;
cout << "Masukkan bilangan bulat (n): ";
cin >> n;
i = 1;
while (i <= n) {
cout << i << endl;
i = i + 2;
}
return 0;
}
11. 8/5/2017
Menny
cendana25.blogspot.com
Menampilkan bilangan 1 ke N yang habis dibagi
Pada kasus seperti ini maka harus dipikirkan dulu solusi yang tdk
melibatkan perkecualian; setelah itu tambahkan IF didalam WHILE.
int main() {
int i, n;
cout << "Masukkan bilangan bulat (n): ";
cin >> n;
i = 1;
while (i <= n) {
if (i % 5)
cout << i << endl;
i = i + 1;
}
return 0;
}
12. 8/5/2017
Menny
cendana25.blogspot.com
int main() {
int i, bil, n;
cout << "Masukkan bilangan bulat (n): ";
cin >> n;
i = 1;
bil = 0;
while (true) {
bil = bil + i;
if (bil > n)
break; // Keluar dari while
cout << bil << endl;
i = i + 1;
}
return 0;
}
13. 8/5/2017
Menny
cendana25.blogspot.com
Hal yang menarik pada latihan diatas adalah kondisi whie menggunakan
konstanta boolean bernama true, dilihat sekilas while dgn kondisi true akan
menyebabkan perulangan yg tdk berhenti,.
i = 1;
bil = 0;
while (true) {
bil = bil + i;
cout << bil << endl;
i = i + 1;
}
return 0;
}
Membuat perulangan selamanya; maka
perlu penanganan utk keluar dari
perulangan
Mekanisme
utk keluar
dari while
if (bil > n)
break;
14. 8/5/2017
Menny
cendana25.blogspot.com
Pernyataan continue didalam while
Pernyataan continue digunakan utk mengarahkan eksekusi kebagian kodisi while;
artinya pernyataan tersebut akan membuat bagian kondisi diuji kembali.
While (kondisi) {
…
Continue;
…
}
Bagian tersisa diabaikan
Continue;
15. 8/5/2017
Menny
cendana25.blogspot.com
int main() {
int bil;
bil = 7;
while (bil <= 30) {
cout << bil << endl;
if (bil == 10) {
bil = bil + 15;
continue;
}
bil++;
}
return 0;
}
Contoh:
Perhatikan pada hasil yg didapat tidak ada
angka 11hingga 24; hal tersebut karena akibat
adanya perintah
16. 8/5/2017
Menny
cendana25.blogspot.com
PERULANGAN DENGAN DO-WHILE
Bentuk umum pernyataan do-while adalah seperti berikut:
Do {
Pernyataan
} while (kondisi)
Berbeda dengan while, do-while menjalankan bagian pernyataan terlebih
dahulu dan kemudian menguji kondisi; sehingga paling tidak bagian
pernyataan dari do-while akan dijalankan sekali.
18. 8/5/2017
Menny
cendana25.blogspot.com
int main() {
int bil;
bool salah;
do {
cout << "Masukkan bilangan bulat: ";
cin >> bil;
salah = cin.fail();
if (salah)
cout << "Anda salah memasukkan bilangan!" << endl;
cin.clear(); // Hapus kesalahan kalau , // sebelumnya terjadi
cin.ignore(255,'n'); // Buang karakter tersisa, // termasuk
newline
} while (salah);
cout << "Bilangan yang Anda masukkan: " << bil << endl;
return 0;
}
19. code Hexadecimal perubah warna
0 = Black
1 = Blue
2 = Green
3 = Aqua
4 = Red
5 = Purple
6 = Yellow
7 = White
8 = Gray
9 = Light Blue
A = Light Green
B = Light Aqua
C = Light Red
D = Light Purple
E = Light Yellow
F = Light White
20. Contoh
#include<iostream> //library input output stream, yang digunakan untuk support
cout dan cin
#include<Windows.h>
using namespace std; //Baris ini memberitahu kompilator untuk menggunakan
sekelompok fungsi std
int main()
{
system("color 8C");
cout<< “Algoritma dan Pemrograman II "<<endl<<endl;
system("pause");
return 0;
}
21. #include <stdio.h>
#include <windows.h> // include untuk pemberian warna
int main (){
int count;
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
for (count=0; count<257; count++)
{ SetConsoleTextAttribute(hConsole, count);
printf ("Warna pada nomer %in",count);
}
SetConsoleTextAttribute(hConsole, 7);
system ("pause");
return 0;
}
22. #include <iostream> // standard library buat cout dan cin
#include <conio.h> //standard library buat getch();
#include <windows.h> //standard library buat tipe data HANDLE, fungsi
GetStdHandle dan prosedur SetConsoleTextAtrribute
using namespace std;
void setcolor(unsigned short color)
{
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,color);
}
int main()
{
cout<<"Warna Text Default"<<endl; //menamppilkan kalimat “Warna Text Default”
setcolor(10); //Mengeset warna text menjadi warna hijau
cout<<"Warna Text Hijau"<<endl;
setcolor(21);
cout<<"Contoh Text Berwarna Dengan Block"<<endl;
setcolor(37);
cout<<"Warna Text Kembali Seperti Default"<<endl;
getch(); //menahan sekuensi program bisa juga dibilang menunggu inputan dri user
}
23. #include<Windows.h>//processor
#include<iostream> //library input output stream, yang digunakan untuk
support cout dan cin
using namespace std;
void setcolor(unsigned short color) //fungsi untuk pemberian warna
{
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);//membuat objek
hCon
SetConsoleTextAttribute(hCon,color);//program untuk merubah warna,color
akan diganti dengan nilai i nantinya
}
int main(){
int i;
for(i=0;i<300;i++){
setcolor(i);//panggil fungsi setcolor dan beri nilai warnasesuai looping
i
cout<<"Warna "<<i <<"t";
}
system("pause");
return 0;
}
24. 8/5/2017
Menny
cendana25.blogspot.com
TUGAS
Gunakan while untuk menyelesaikan kasus berikut :
Notasi diatas identik dengan 1+2+3+…. +n;
Algoritma untuk menyelesaikan persoalan seperti itu adalah sbb:
1. Ambil sebuah bilangan bulat dari keyboard dan simpan di N
2. Berikan nilai 1 ke variabel pencacah I .
3. Berikan nilai 0 ke variabel pencatat jumlah nilai bernama jum.
4. While I <= N
5. Tambahkan I ke jum dan simpan kembali ke jum
6. Naikan isi I sebesar 1
25. 8/5/2017
Menny
cendana25.blogspot.com
Gunakan while untuk menyelesaikan kasus berikut :
Notasi diatas identik dengan 1x2x3x…. X(n-1)xn;
Algoritma untuk menyelesaikan n faktorial adalah sbb:
1. Ambil sebuah bilangan bulat dari keyboard dan simpan di N
2. Berikan nilai 1 ke variabel pencacah I .
3. Berikan nilai 1 ke variabel pencatat hasil perkalian bernama hasil .
4. While I < N
5. Kalikan I ke hasil dan simpan kembali ke hasil.
6. Naikan isi I sebesar 1
N! didefinisikan sebagai berikut :