SlideShare a Scribd company logo
1 of 7
Modul C++
Laboratorium Sistem Informasi Universitas Gunadarma 19 dari 77
3. Struktur Perulangan dalam C++
Obyektif Praktikum :
• Mengerti struktur perulangan dalam C++
• Dapat menggunakan struktur perulangan berdasarkan penggunaannya
Struktur perulangan (loops)
Loops merupakan perulangan statement dengan jumlah tertentu jika kondisi terpenuhi.
The while loop.
Sintaks:
while (expression) statement
Fungsi dari statement diatas adalah mengulang statement jika expression bernilai true.
Contoh:
// custom countdown using while
#include <iostream.h>
int main ()
{
int n;
cout << "Enter the starting number > ";
cin >> n;
while (n>0) {
cout << n << ", ";
--n;
}
cout << "FIRE!";
return 0;
}
Output :
Enter the starting number > 8
8, 7, 6, 5, 4, 3, 2, 1, FIRE!
Algoritma program dimulai dari main :
1. User meng-input nilai untuk n.
2. Instrukti while mengevaluasi apakah (n>0). Ada dua kemungkinan :
true: meng-eksekusi statement (step 3,)
false: melompati statement. lanjut ke step 5..
3.Mengeksekusi statement : cout << n << ", ";
--n;
(Menampilkan n di layar dan mengurangi n dengan 1).
Modul C++
Laboratorium Sistem Informasi Universitas Gunadarma 20 dari 77
4. Akhir dari blok. kembali ke step 2.
5. lanjut menuju program setelah blok. Cetak : FIRE! dan program berakhir.
The do-while loop.
Format:
do statement while (condition);
Secara fungsional, hampir sama dengan while loop, hanya saja condition dalam do-while
dievaluasi setelah eksekusi statement , dengan kata lain, sedikitnya satu kali eksekusi
statement walaupun kondisi tidak terpenuhi. Contoh:
// number echoer
#include <iostream.h>
int main ()
{
unsigned long n;
do {
cout << "Enter number (0 to end): ";
cin >> n;
cout << "You entered: " << n << "n";
} while (n != 0);
return 0;
}
Output :
Enter number (0 to end): 12345
You entered: 12345
Enter number (0 to end): 160277
You entered: 160277
Enter number (0 to end): 0
You entered: 0
The for loop.
Format:
for (initialization; condition; increase) statement;
Fungsinya akan mengulang statement jika condition bernilai benar. Sama seperti while
loop., hanya saja for memungkinkan untuk memberikan instruksi initialization dan
intruksi increase, sehingga dapat menampilkan loop dengan counter.
Algoritma perulangan for :
1. initialization, digunakan untuk memberikan nilai awal untuk variable counter.
Dieksekusi hanya sekali.
Modul C++
Laboratorium Sistem Informasi Universitas Gunadarma 21 dari 77
2. condition, Dievaluasi, jika bernilai true maka loop berlanjut, sebaliknya loop berhenti
dan statement diabaikan
3. statement, dieksekusi, bisa berupa instruksi tunggal maupun blok instruksi (dalam
tanda { } ).
4. increase, dieksekusi kemudian algoritma kembali ke step 2.
Contoh:
// countdown using a for loop
#include <iostream.h>
int main ()
{
for (int n=10; n>0; n--) {
cout << n << ", ";
}
cout << "FIRE!";
return 0;
}
Output :
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIRE!
Initialization dan increase bersifat optional. Sehingga dapat dituliskan : for (;n<10;)
untuk for tanpa initialization dan increase; atau for (;n<10;n++) untuk for dengan
increase tetapi tanpa initialization. Dengan operator koma (,) kita dapat mendeklarasikan
lebih dari satu instruksi pada bagian manapun termasuk dalam loop for, contoh :
for ( n=0, i=100 ; n!=i ; n++, i-- )
{
// whatever here...
}
Loop diatas akan meng-eksekusi sebanyak 50 kali :
nilai awal n = 0 dan i = 100, dengan kondisi (n!=i) (yaitu n tidak sama dengan i). Karena
n mengalami penambahan 1 dan i mengalami pengurangan 1, maka kondisi loop akan
salah setelah loop yang ke-50, yaitu ketika n dan i bernilai 50.
Modul C++
Laboratorium Sistem Informasi Universitas Gunadarma 22 dari 77
Kontrol Percabangan (Bifurcation) dan Lompatan (jumps)
Instruksi break
Dengan menggunakan instruksi break, program akan keluar dari loop walaupun kondisi
untuk berakhirnya loop belum terpenuhi. Dapat digunakan untuk mengakhiri infinite
loop, atau untuk menyebabkan loop selesai sebelum saatnya, contoh :
// break loop example
#include <iostream.h>
int main ()
{
int n;
for (n=10; n>0; n--) {
cout << n << ", ";
if (n==3)
{
cout << "countdown aborted!";
break;
}
}
return 0;
}
Output :
10, 9, 8, 7, 6, 5, 4, 3, countdown aborted!
Instruksi continue
Instruksi continue menyebabkan program akan melewati instruksi selanjutnya hingga
akhir blok dalam loop. Atau dengan kata lain langsung melompat ke iterasi selanjutny.
Contoh berikut akan melewati angka 5 dalam hitungan mundur :
// break loop example
#include <iostream.h>
int main ()
{
for (int n=10; n>0; n--) {
if (n==5) continue;
cout << n << ", ";
}
cout << "FIRE!";
return 0;
}
Output :
10, 9, 8, 7, 6, 4, 3, 2, 1, FIRE!
Modul C++
Laboratorium Sistem Informasi Universitas Gunadarma 23 dari 77
Instruksi goto
Menyebabkan lompatan dalam program. Tujuan dari lompatan diidentifikasikan dengan
label, yang berisikan argumen-argumen. penulisan label diikuti dengan tanda colon (:).
Contoh :
// goto loop example
#include <iostream.h>
int main ()
{
int n=10;
loop:
cout << n << ", ";
n--;
if (n>0) goto loop;
cout << "FIRE!";
return 0;
}
Output :
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIRE!
Struktur Seleksi : switch.
Instruksi switch digunakan untuk membandingkan beberapa nilai konstan yang mungkin
untuk sebuah ekspresi, hampir sama dengan if dan else if. Bentuk umumnya :
switch (expression) {
case constant1:
block of instructions 1
break;
case constant2:
block of instructions 2
break;
.
.
.
default:
default block of instructions
}
switch meng-evaluasi expression dan memeriksa apakah equivalen dengan constant1,
jika ya, maka akan meng-eksekusi block of instructions 1 sampai terbaca keyword break,
kemudian program akan lompat ke akhir dari stuktur selektif switch.
Jika expression tidak sama dengan constant1, maka akan diperiksa apakah expression
equivalen dengan constant2. jika ya, maka akan dieksekusi block of instructions 2 sampai
terbaca break. Begitu seterusnya, jika tidak ada satupun konstanta yang sesuai maka
akan mengeksekusi default:
Modul C++
Laboratorium Sistem Informasi Universitas Gunadarma 24 dari 77
contoh :
switch example if-else equivalent
switch (x) { if (x == 1) {
case 1: cout << "x is 1";
cout << "x is 1"; }
break; else if (x == 2) {
case 2: cout << "x is 2";
cout << "x is 2"; }
break; else {
default: cout << "value of x unknown";
cout << "value of x unknown"; }
}
Perintah Switch sering digunakan untuk program yang mengandung menu atau
penginputan karakter yang bisa diseleksi.
Contoh Program dengan menu menggunakan struktur kontrol dan perulangan :
MENU
----------------
1. Deret angka
2. Deret Huruf
3. Keluar
----------------
Pilihan :
apabila memilih
1.
1 2 3 4 5
A B C D
1 2 3
A B
1
2.
A
B C
D E F
G H I J
11 12 13 14 15
3. Keluar dari program
Modul C++
Laboratorium Sistem Informasi Universitas Gunadarma 25 dari 77
#include <iostream.h>
#include <conio.h>
main()
{
int pil,i,j,m;
float a;
char k;
char l='A';
clrscr();
menu:
cout <<"xx{ MENU }xx n";
cout <<" 1. Deret 1 n";
cout <<" 2. Deret 2 n";
cout <<" 3. Exit n";
cout <<"------------ n";
cout <<"Pilihan anda : ";cin >>pil;
switch(pil) {
case 1:
for(i=5;i>=1;i-=1) {
k='A';
cout <<"n";
for(j=1;j<=i;j+=1)
if(i%2==0)
cout <<k++<<" ";
else
cout <<j<<" ";
}
getch();
break;
case 2:
m = 11;
for(i=1;i<=5;i++) {
cout<<"n";
for(j=1;j<=i;j++)
if(i<=4)
cout <<l++<<" ";
else
cout <<m++<<" ";
}
getch();
case 3:
break;
default:
cout <<"Pilihan hanya 1 atau 2 n";
goto menu;
}return 0;
}

More Related Content

What's hot

Penjelasan I/O
Penjelasan I/OPenjelasan I/O
Penjelasan I/O
hajyer
 
Laporan program data pemain bola (java)
Laporan program data pemain bola (java)Laporan program data pemain bola (java)
Laporan program data pemain bola (java)
Rifqi Syamsul Fuadi
 

What's hot (20)

Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
 
Algoritma Pencarian String matching
Algoritma Pencarian String matching Algoritma Pencarian String matching
Algoritma Pencarian String matching
 
Deadlock pada sistem operasi
Deadlock pada sistem operasiDeadlock pada sistem operasi
Deadlock pada sistem operasi
 
Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)Kecerdasan Buatan (AI)
Kecerdasan Buatan (AI)
 
Penjelasan I/O
Penjelasan I/OPenjelasan I/O
Penjelasan I/O
 
Fisiologi Kerja Telkom University PK&E
Fisiologi Kerja Telkom University PK&EFisiologi Kerja Telkom University PK&E
Fisiologi Kerja Telkom University PK&E
 
Implementasi Algoritma FP - Growth Menentukan Asosiasi Antar Produk
Implementasi Algoritma FP - Growth Menentukan Asosiasi Antar ProdukImplementasi Algoritma FP - Growth Menentukan Asosiasi Antar Produk
Implementasi Algoritma FP - Growth Menentukan Asosiasi Antar Produk
 
Penjadwalan proses
Penjadwalan prosesPenjadwalan proses
Penjadwalan proses
 
Pernyataan if-else dalam C++
Pernyataan if-else dalam C++Pernyataan if-else dalam C++
Pernyataan if-else dalam C++
 
E-Business (Business Process and Process Model)
E-Business (Business Process and Process Model)E-Business (Business Process and Process Model)
E-Business (Business Process and Process Model)
 
Model transportasi metode least cost
Model transportasi metode least costModel transportasi metode least cost
Model transportasi metode least cost
 
INTERAKSI MANUSIA DAN KOMPUTER
INTERAKSI MANUSIA DAN KOMPUTERINTERAKSI MANUSIA DAN KOMPUTER
INTERAKSI MANUSIA DAN KOMPUTER
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
5 m+1i
5 m+1i5 m+1i
5 m+1i
 
Set instruksi
Set instruksiSet instruksi
Set instruksi
 
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
 
Materi 6. perulangan
Materi 6. perulanganMateri 6. perulangan
Materi 6. perulangan
 
Laporan program data pemain bola (java)
Laporan program data pemain bola (java)Laporan program data pemain bola (java)
Laporan program data pemain bola (java)
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 
Yuliana - Manajemen Memori Sistem Operasi
Yuliana  -  Manajemen Memori Sistem OperasiYuliana  -  Manajemen Memori Sistem Operasi
Yuliana - Manajemen Memori Sistem Operasi
 

Similar to Struktur perulangan dalam c++

Summer a pert5
Summer a pert5Summer a pert5
Summer a pert5
sirkrisna
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman
Roziq Bahtiar
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
Melina Krisnawati
 
JENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolJENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrol
Dimara Hakim
 
Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)
Mr. FM
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
Dikicandra6
 

Similar to Struktur perulangan dalam c++ (20)

Struktur Kontrol
Struktur KontrolStruktur Kontrol
Struktur Kontrol
 
Struktur kontrol perulangan
Struktur kontrol perulanganStruktur kontrol perulangan
Struktur kontrol perulangan
 
3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf
 
Summer a pert5
Summer a pert5Summer a pert5
Summer a pert5
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur Perulangan
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
 
JENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolJENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrol
 
Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)Pemrograman algoritma (IF,else)
Pemrograman algoritma (IF,else)
 
207 p05
207 p05207 p05
207 p05
 
Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritma
 
Algoritma pemrograman 11
Algoritma pemrograman 11Algoritma pemrograman 11
Algoritma pemrograman 11
 
Laporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IILaporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul II
 
5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan5. struktur kontrol alur program lanjutan
5. struktur kontrol alur program lanjutan
 
JENI-Intro1-Bab06-Struktur Kontrol.pdf
JENI-Intro1-Bab06-Struktur Kontrol.pdfJENI-Intro1-Bab06-Struktur Kontrol.pdf
JENI-Intro1-Bab06-Struktur Kontrol.pdf
 
04 if-ifelse-switch-break
04 if-ifelse-switch-break04 if-ifelse-switch-break
04 if-ifelse-switch-break
 
Pertemuan iv
Pertemuan ivPertemuan iv
Pertemuan iv
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
 

More from Alvin Setiawan

Penyelesaian pers-biseksi13
Penyelesaian pers-biseksi13Penyelesaian pers-biseksi13
Penyelesaian pers-biseksi13
Alvin Setiawan
 
Penyelesaian persamaan-non-linear
Penyelesaian persamaan-non-linearPenyelesaian persamaan-non-linear
Penyelesaian persamaan-non-linear
Alvin Setiawan
 
Pengembangan sistem 1 2
Pengembangan sistem 1 2Pengembangan sistem 1 2
Pengembangan sistem 1 2
Alvin Setiawan
 
Modul pelatihan ly_x_untuk_jurnal-feb-2cols
Modul pelatihan ly_x_untuk_jurnal-feb-2colsModul pelatihan ly_x_untuk_jurnal-feb-2cols
Modul pelatihan ly_x_untuk_jurnal-feb-2cols
Alvin Setiawan
 
Metode numerik-rinaldi-munir-libre
Metode numerik-rinaldi-munir-libreMetode numerik-rinaldi-munir-libre
Metode numerik-rinaldi-munir-libre
Alvin Setiawan
 
Metode numerik-buku-ajar-unila
Metode numerik-buku-ajar-unilaMetode numerik-buku-ajar-unila
Metode numerik-buku-ajar-unila
Alvin Setiawan
 
Met num3 persnonl-inier_baru
Met num3 persnonl-inier_baruMet num3 persnonl-inier_baru
Met num3 persnonl-inier_baru
Alvin Setiawan
 
Met num02 persamaan non linier
Met num02 persamaan non linierMet num02 persamaan non linier
Met num02 persamaan non linier
Alvin Setiawan
 
Membuat dokumen dengan latex ver.0.3
Membuat dokumen dengan latex   ver.0.3Membuat dokumen dengan latex   ver.0.3
Membuat dokumen dengan latex ver.0.3
Alvin Setiawan
 
Membangun website e-commerce_berbasis_php_dan_my_sql
Membangun website e-commerce_berbasis_php_dan_my_sqlMembangun website e-commerce_berbasis_php_dan_my_sql
Membangun website e-commerce_berbasis_php_dan_my_sql
Alvin Setiawan
 
M8 perancangan terinci
M8 perancangan terinciM8 perancangan terinci
M8 perancangan terinci
Alvin Setiawan
 

More from Alvin Setiawan (20)

Penyelesaian pers-biseksi13
Penyelesaian pers-biseksi13Penyelesaian pers-biseksi13
Penyelesaian pers-biseksi13
 
Penyelesaian persamaan-non-linear
Penyelesaian persamaan-non-linearPenyelesaian persamaan-non-linear
Penyelesaian persamaan-non-linear
 
Pengembangan sistem 1 2
Pengembangan sistem 1 2Pengembangan sistem 1 2
Pengembangan sistem 1 2
 
Pedoman ta2008
Pedoman ta2008Pedoman ta2008
Pedoman ta2008
 
Pbw week 01 basics
Pbw week 01   basicsPbw week 01   basics
Pbw week 01 basics
 
Paper
PaperPaper
Paper
 
Nl eqn lab
Nl eqn labNl eqn lab
Nl eqn lab
 
Modul6
Modul6Modul6
Modul6
 
Modul pelatihan ly_x_untuk_jurnal-feb-2cols
Modul pelatihan ly_x_untuk_jurnal-feb-2colsModul pelatihan ly_x_untuk_jurnal-feb-2cols
Modul pelatihan ly_x_untuk_jurnal-feb-2cols
 
Ml2 f304213
Ml2 f304213Ml2 f304213
Ml2 f304213
 
Micro sim template_2
Micro sim template_2Micro sim template_2
Micro sim template_2
 
Metode numerik-rinaldi-munir-libre
Metode numerik-rinaldi-munir-libreMetode numerik-rinaldi-munir-libre
Metode numerik-rinaldi-munir-libre
 
Metode numerik-buku-ajar-unila
Metode numerik-buku-ajar-unilaMetode numerik-buku-ajar-unila
Metode numerik-buku-ajar-unila
 
Metode regula falsi
Metode regula falsiMetode regula falsi
Metode regula falsi
 
Metode biseksi
Metode biseksiMetode biseksi
Metode biseksi
 
Met num3 persnonl-inier_baru
Met num3 persnonl-inier_baruMet num3 persnonl-inier_baru
Met num3 persnonl-inier_baru
 
Met num02 persamaan non linier
Met num02 persamaan non linierMet num02 persamaan non linier
Met num02 persamaan non linier
 
Membuat dokumen dengan latex ver.0.3
Membuat dokumen dengan latex   ver.0.3Membuat dokumen dengan latex   ver.0.3
Membuat dokumen dengan latex ver.0.3
 
Membangun website e-commerce_berbasis_php_dan_my_sql
Membangun website e-commerce_berbasis_php_dan_my_sqlMembangun website e-commerce_berbasis_php_dan_my_sql
Membangun website e-commerce_berbasis_php_dan_my_sql
 
M8 perancangan terinci
M8 perancangan terinciM8 perancangan terinci
M8 perancangan terinci
 

Struktur perulangan dalam c++

  • 1. Modul C++ Laboratorium Sistem Informasi Universitas Gunadarma 19 dari 77 3. Struktur Perulangan dalam C++ Obyektif Praktikum : • Mengerti struktur perulangan dalam C++ • Dapat menggunakan struktur perulangan berdasarkan penggunaannya Struktur perulangan (loops) Loops merupakan perulangan statement dengan jumlah tertentu jika kondisi terpenuhi. The while loop. Sintaks: while (expression) statement Fungsi dari statement diatas adalah mengulang statement jika expression bernilai true. Contoh: // custom countdown using while #include <iostream.h> int main () { int n; cout << "Enter the starting number > "; cin >> n; while (n>0) { cout << n << ", "; --n; } cout << "FIRE!"; return 0; } Output : Enter the starting number > 8 8, 7, 6, 5, 4, 3, 2, 1, FIRE! Algoritma program dimulai dari main : 1. User meng-input nilai untuk n. 2. Instrukti while mengevaluasi apakah (n>0). Ada dua kemungkinan : true: meng-eksekusi statement (step 3,) false: melompati statement. lanjut ke step 5.. 3.Mengeksekusi statement : cout << n << ", "; --n; (Menampilkan n di layar dan mengurangi n dengan 1).
  • 2. Modul C++ Laboratorium Sistem Informasi Universitas Gunadarma 20 dari 77 4. Akhir dari blok. kembali ke step 2. 5. lanjut menuju program setelah blok. Cetak : FIRE! dan program berakhir. The do-while loop. Format: do statement while (condition); Secara fungsional, hampir sama dengan while loop, hanya saja condition dalam do-while dievaluasi setelah eksekusi statement , dengan kata lain, sedikitnya satu kali eksekusi statement walaupun kondisi tidak terpenuhi. Contoh: // number echoer #include <iostream.h> int main () { unsigned long n; do { cout << "Enter number (0 to end): "; cin >> n; cout << "You entered: " << n << "n"; } while (n != 0); return 0; } Output : Enter number (0 to end): 12345 You entered: 12345 Enter number (0 to end): 160277 You entered: 160277 Enter number (0 to end): 0 You entered: 0 The for loop. Format: for (initialization; condition; increase) statement; Fungsinya akan mengulang statement jika condition bernilai benar. Sama seperti while loop., hanya saja for memungkinkan untuk memberikan instruksi initialization dan intruksi increase, sehingga dapat menampilkan loop dengan counter. Algoritma perulangan for : 1. initialization, digunakan untuk memberikan nilai awal untuk variable counter. Dieksekusi hanya sekali.
  • 3. Modul C++ Laboratorium Sistem Informasi Universitas Gunadarma 21 dari 77 2. condition, Dievaluasi, jika bernilai true maka loop berlanjut, sebaliknya loop berhenti dan statement diabaikan 3. statement, dieksekusi, bisa berupa instruksi tunggal maupun blok instruksi (dalam tanda { } ). 4. increase, dieksekusi kemudian algoritma kembali ke step 2. Contoh: // countdown using a for loop #include <iostream.h> int main () { for (int n=10; n>0; n--) { cout << n << ", "; } cout << "FIRE!"; return 0; } Output : 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIRE! Initialization dan increase bersifat optional. Sehingga dapat dituliskan : for (;n<10;) untuk for tanpa initialization dan increase; atau for (;n<10;n++) untuk for dengan increase tetapi tanpa initialization. Dengan operator koma (,) kita dapat mendeklarasikan lebih dari satu instruksi pada bagian manapun termasuk dalam loop for, contoh : for ( n=0, i=100 ; n!=i ; n++, i-- ) { // whatever here... } Loop diatas akan meng-eksekusi sebanyak 50 kali : nilai awal n = 0 dan i = 100, dengan kondisi (n!=i) (yaitu n tidak sama dengan i). Karena n mengalami penambahan 1 dan i mengalami pengurangan 1, maka kondisi loop akan salah setelah loop yang ke-50, yaitu ketika n dan i bernilai 50.
  • 4. Modul C++ Laboratorium Sistem Informasi Universitas Gunadarma 22 dari 77 Kontrol Percabangan (Bifurcation) dan Lompatan (jumps) Instruksi break Dengan menggunakan instruksi break, program akan keluar dari loop walaupun kondisi untuk berakhirnya loop belum terpenuhi. Dapat digunakan untuk mengakhiri infinite loop, atau untuk menyebabkan loop selesai sebelum saatnya, contoh : // break loop example #include <iostream.h> int main () { int n; for (n=10; n>0; n--) { cout << n << ", "; if (n==3) { cout << "countdown aborted!"; break; } } return 0; } Output : 10, 9, 8, 7, 6, 5, 4, 3, countdown aborted! Instruksi continue Instruksi continue menyebabkan program akan melewati instruksi selanjutnya hingga akhir blok dalam loop. Atau dengan kata lain langsung melompat ke iterasi selanjutny. Contoh berikut akan melewati angka 5 dalam hitungan mundur : // break loop example #include <iostream.h> int main () { for (int n=10; n>0; n--) { if (n==5) continue; cout << n << ", "; } cout << "FIRE!"; return 0; } Output : 10, 9, 8, 7, 6, 4, 3, 2, 1, FIRE!
  • 5. Modul C++ Laboratorium Sistem Informasi Universitas Gunadarma 23 dari 77 Instruksi goto Menyebabkan lompatan dalam program. Tujuan dari lompatan diidentifikasikan dengan label, yang berisikan argumen-argumen. penulisan label diikuti dengan tanda colon (:). Contoh : // goto loop example #include <iostream.h> int main () { int n=10; loop: cout << n << ", "; n--; if (n>0) goto loop; cout << "FIRE!"; return 0; } Output : 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIRE! Struktur Seleksi : switch. Instruksi switch digunakan untuk membandingkan beberapa nilai konstan yang mungkin untuk sebuah ekspresi, hampir sama dengan if dan else if. Bentuk umumnya : switch (expression) { case constant1: block of instructions 1 break; case constant2: block of instructions 2 break; . . . default: default block of instructions } switch meng-evaluasi expression dan memeriksa apakah equivalen dengan constant1, jika ya, maka akan meng-eksekusi block of instructions 1 sampai terbaca keyword break, kemudian program akan lompat ke akhir dari stuktur selektif switch. Jika expression tidak sama dengan constant1, maka akan diperiksa apakah expression equivalen dengan constant2. jika ya, maka akan dieksekusi block of instructions 2 sampai terbaca break. Begitu seterusnya, jika tidak ada satupun konstanta yang sesuai maka akan mengeksekusi default:
  • 6. Modul C++ Laboratorium Sistem Informasi Universitas Gunadarma 24 dari 77 contoh : switch example if-else equivalent switch (x) { if (x == 1) { case 1: cout << "x is 1"; cout << "x is 1"; } break; else if (x == 2) { case 2: cout << "x is 2"; cout << "x is 2"; } break; else { default: cout << "value of x unknown"; cout << "value of x unknown"; } } Perintah Switch sering digunakan untuk program yang mengandung menu atau penginputan karakter yang bisa diseleksi. Contoh Program dengan menu menggunakan struktur kontrol dan perulangan : MENU ---------------- 1. Deret angka 2. Deret Huruf 3. Keluar ---------------- Pilihan : apabila memilih 1. 1 2 3 4 5 A B C D 1 2 3 A B 1 2. A B C D E F G H I J 11 12 13 14 15 3. Keluar dari program
  • 7. Modul C++ Laboratorium Sistem Informasi Universitas Gunadarma 25 dari 77 #include <iostream.h> #include <conio.h> main() { int pil,i,j,m; float a; char k; char l='A'; clrscr(); menu: cout <<"xx{ MENU }xx n"; cout <<" 1. Deret 1 n"; cout <<" 2. Deret 2 n"; cout <<" 3. Exit n"; cout <<"------------ n"; cout <<"Pilihan anda : ";cin >>pil; switch(pil) { case 1: for(i=5;i>=1;i-=1) { k='A'; cout <<"n"; for(j=1;j<=i;j+=1) if(i%2==0) cout <<k++<<" "; else cout <<j<<" "; } getch(); break; case 2: m = 11; for(i=1;i<=5;i++) { cout<<"n"; for(j=1;j<=i;j++) if(i<=4) cout <<l++<<" "; else cout <<m++<<" "; } getch(); case 3: break; default: cout <<"Pilihan hanya 1 atau 2 n"; goto menu; }return 0; }