07 - LOOPING / PERULANGAN
LOOPING ATAU PERULANGAN
PENGERTIAN PERULANGAN
Perulangan adalah sebuah kondisi dimana satu atau beberapa baris kode program di eksekusi secara berulang-ulang.
Loop digunakan untuk mengeksekusi blok kode yang sama berulang kali, blok kode yang sama dijalankan berulang kali selama kondisi bernilai benar atau true.
Salah satu kemampuan komputer yang dimanfaatkan adalah mengulang suatu intruksi, bahkan aksi, secara berulang-ulang dengan peformansi yang sama. Berbeda dengan manusia yang cenderung melakukan kesalahan jika melakukan hal yang sama (karena lelah atau bosan), komputer akan melakukan pengulangan dengan setia sesuai dengan perintah yang diberikan.
- Kondisi yang mengakibatkan pengulangan suatu saat berhenti, yang dinyatakan oleh sebuah ekspresi logik baik secara eksplist maupun implisit.
- badan pengulangan, yaitu aksi yang harus diulang selama kondisi yang ditentukan untuk pengulangan masih terpenuhi.
Pengulangan haru berhenti ini yang harus dijamin oleh pemrograman. dalam bahasa pemrograman C++ ada istilah increment dan decrement. Increment adalah kondisi dimana tiap mengulang akan bertambah satu, sedangkan untuk decrement adalah kebalikan dari increment itu sendiri, yaitu setiap mengulang berkurang satu. kedua elemen ini adala elemen yang penting agar tidak terjadi infinite loop. Untuk lebih jelasnya kita langsung ke contoh perulangan menggunakan bahasa pemrograman C++. Ada tiga jenis perulangan dalam bahasa pemrograman C++ yaitu while, do while, dan for. Berikut penjelasan ketiganya:
WHILE DALAM C++
start;
while (condition)
{
// kode program
// kode program
increment;
}
Di bagian start biasanya ditulis perintah inisialisasi variabel counter, misalnya i = 0. Di bagian condition terdapat kondisi yang harus dipenuhi agar menjadi syarat perulangan itu berhenti atau berjalan, misalnya i < 10. Kemudian perintah increment ini diguanakan agar tidak terjadi infinite looping atau perulangan yang tidak berhenti, sebenarnya bukan hanya increment tapi terdapat juga decrement, fungsi dari increment sendiri yaitu untuk menaikkan nilai dari variabel counter misalnya dengan perintah i++, sedangkan untuk decrement kebalikan dari increment yaitu mengurangi nilai variabel counter contohnya dengan perintah i--, langsung saja ke contoh agar lebih jelas.
| Judul Mencetak nama sebanyak n kali |
| Kamus n, i : integer nama : string |
| Algoritma output ("Masukkan nama kamu ") input (nama) output ("Mau berapa kali di cetak : ") input (n) while i<n do output (nama) i <- i+1 |
Kodingan:
/***************************
Judul : Mencetak nama sebanyak n kali
Nama : Samuel Andrey Aji Prasetya
***************************/
#include <iostream>
using namespace std;
// Kamus
int n,i;
string nama;
// Algoritma
int main()
{
cout <<"Masukkan nama kamu : ";
getline(cin,nama);
cout <<"Mau berapa kali di cetak : ";
cin >> n;
cout << endl;
i = 0;
while (i<n){
cout << nama << endl;
i++;
}
cin.get();
return 0;
}
Hasil run kodingan:
DO WHILE DALAM C++
Perulangan do while sedikit berbeda dengan perulangan while, do akan minimal mengeksekusi program sekali, beda dengan while, dia akan melewati kondisi terlebih dahulu baru mengeksekusi program. Perulangan do while mempunyai format sebagai berikut:
do {
// program disini akan dieksekusi
// minimal sekalli
}while (kondisi)
Agar lebih jelas mari kita ke contoh soal.
| Judul program chat bot, jika input y maka akan mencetak nama saya |
| Kamus jawab : char |
| Algoritma repeat output ("Apakah mau lanjut cetak? (y/n) : ") input (jawab) output ("Samuel Andrey Aji Prasetya") until (jawab == 'y') |
Berikut adalah kodingan dalam bahasa C++:
#include <iostream>
using namespace std;
// Kamus
char jawab;
// Algoritma
int main()
{
cout <<"\n\n\n";
do {
cout <<"Samuel Andrey Aji Prasetya\n";
cout <<"Apakah mau lanjut cetak? (y/n) : ";
cin >> jawab;
}while(jawab == 'y');
cout <<"Finish";
return 0;
}
Berikut adalah hasil run kodingan:
FOR DALAM C++
for (/*variabel; kondisi; perform*/)
{
// blok kode yang akan dijalankan
}
Dan berikut saya berikan contoh persoalan mencetak bilangan ganjil anatara 1 - 15 menggunakan perulangan for.
| Judul mencetak bilangan ganjil antara 1 - 15 |
| Kamus |
| Algoritma i : integer traversal[1..15] { if (i%2 != 0) then { output (i)(" ") } } |
Dan berikut adalah hasil kodingan:
#include <iostream>
using namespace std;
// Kamus
// Algoritma
int main()
{
for (int i = 1; i<=15; i++)
{
if (i%2 != 0)
{
cout << i <<" ";
}
}
return 0;
}
Dan berikut adalah run kodingan:
Posted by