Sunday, May 8, 2016

LOOPING ( PERULANGAN )


 LOOPING
PERULANGAN
Pengulangan adalah suatu proses yang melakukan statemen-statemen dalam sebuah program secara terus menerus sampai terdapat kondisi untuk menghentikannya. Struktur perulangan akan sangat membantu dalam efesiensi program.
Berikut contoh menampilkan tulisan ”Selamat datang” dilayar sebanyak 5 baris.


Contoh 1:
#include <iostream>
using namespace std;
int main() {
cout<<"\nSelamat datang";
cout<<"\nSelamat datang";
cout<<"\nSelamat datang";
cout<<"\nSelamat datang";
cout<<"\nSelamat datang";
return 0;
}

Output:







 Tidak menjadi masalah jika yang ditampilkan ke layar hanya 5 baris, tetapi bagaimana halnya jika kita ingin menampilkan tulisan tersebut dilayar sebanyak 50 baris atau bahkan lebih. Tentunya sangat tidak efisien jika harus mengcopy instruksi yang sama berulang ulang. Itulah sebabnya muncul instruksi perulangan untuk mengatasi permasalahan tersebut.
Ada tiga struktur perulangan:
1. Struktur for
2. Struktur while
3. Struktur do-while

1. Perulangan For

Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya, statement perulangan ini yang paling mudah dipahami. Untuk melakukan perulangan dengan struktur ini kita harus memiliki sebuah variable sebagai indeksnya.
Bentuk umum struktur for:

// untuk perulangan yang bersifat menaik (increment)
for( variabel = nilai_awal;kondisi;variabel++){
satement yang akan diulang ;
}
// untuk perulangan bersifat menurun (encrement)
for (variabel = nilai_awal; kondisi;variabel--){
statemen yang akan diulang;
}

Keterangan:
Catatan: jika kita melakukan perulangan yang sifatnya menaik (increment) maka nilai awal dari variable yang kita definisikan harus lebih kecil dari nilai akhir yang dituliskan dalam kondisi. Sebaliknya jika melakukan perulangan yang sifatnya menurun (decrement) maka nilai awal harus lebih besar dari nilai akhir.

Contoh 2:

#include <iostream>
using namespace std;
int main() {
for(int i=1;i<=5;i++)
cout<<"\nSelamat datang";
return 0;
}
Keterangan:
for (int i=1;i<=5;i++)
perintah diatas adalah perintah untuk memberi nilai awal perulangan yang dimulai dari i=1,dimana i dideklarasikan dengan tipe int. Kemudian perulangan akan berhenti jika nilai i=5, perulangan bersifat increment atau akan ditambah dengan angka 1 setiap kali proses sampai batas berhenti.
Cout <<”selamat datang”;
Perintah ini adalah statement yang akan diulang sebanyak 5 kali.
Pernyataan untuk nilai awal dapat dituliskan lebih dari satu. Dan kita bisa menentukan nilai untuk variabel indeks.
Contoh 3:
#include <iostream>
using namespace std;
int main() {
int a;
for(int i=1,a=5;i<=10;i++)
{ cout<<"\nNilai ke "<<i<<" = "<<a;
a+=5;
}
return 0;
}

Struktur for dengan banyak Variabel
Struktur for di dalam C++ dapat juga melibatkan lebih dari satu variabel namun yang jelas satu diantaranya akan digunakan sebagai indeks pengulangan. Untuk memahami berikut contoh yang melibatkan 3 variabel yaitu A,B dan C
Contoh 4:
#include <iostream>
using namespace std;
int main() {
char A; // variabel A (bertipe char) akan digunakan
// sebagai indeks pengulangan
int B; // variabel B akan digunakan untuk
// menampung nilai penjumlahan
int C; // variabel C akan digunakan untuk
// menampung nilai perkalian
for (A='a', B=0, C=1; A<='e'; A++, B=B+5, C=C*10) {
cout<<"Nilai A = "<<A<<endl;
cout<<"Nilai B = "<<B<<endl;
cout<<"Nilai C = "<<C<<endl;
cout<<endl;
}
return 0; }
Output contoh4:















Struktur For Bersarang
Sama halnya dengan percabangan, pada struktur perulangan juga dapat diterapkan pengulangan bersarang (nested looping).
Bentuk umum dari struktur for bersarang:
for (variabel1=nilai_awal;kondisi1;variabel1++){
for (variabel2=nilai__awal;kondisi2;variabel2++){
for (variabel3=nilai_awal;kondisi3;variabel3++){
Statemen yang akan diulang;
......
}
}
}
Jika dilihat dari rumusan diatas,pada setiap pengulangan pertama program akan menyelesaikan pengulangan kedua, begitu selanjutnya. Berikut contoh program pengulangan bersarang.
Contoh5:
#include <iostream>
using namespace std;
int main() {
for (int j=1; j<=10; j++) {
for (int k=1; k<=j; k++) {
cout<<k*j<<' ';
}
cout<<'\n';
}
return 0;
}
Output contoh 5:













Struktur While:
Struktur perulangan jenis ini adalah pengulangan yang melakukan pemerikasaan kondisi diawal blok struktur. Kita tahu bahwa perulangan hanya akan dilakukan jika kondisi yang didefenisikan didalamnya bernilai benar.hal ini berarti jika kondisi yang didefenisikan bernilai salah maka statemen-statemen yang ada diblok perulangan tidak akan pernah dieksekusi oleh program. Perulangan while berbeda dengan perulangan for, karena perulangan while jumlah pengulangannya belum diketahui. Bentuk umum struktur pengulangan while adalah sebagai berikut:
while (kondisi)
{statemen yang akan diulang;
}
Contoh 6:
#include <iostream>
using namespace std;
int main() {
int C; // Mendeklarasikan varaiebl C sebagai
// indeks pengulangan
C = 0; // Melakukan inisialisasi nilai terhadap
// variabel C
while (C<10) {
cout<<"Saya Anak yang rajin,
Menjadi Kebanggaan orang tua"<<endl;
C++; /* Statemen ini berguna untuk menaikkan nilai,
dan setelah bernilai 10,
maka pengulangan akan dihentikan */
}
return 0;
}

Output contoh6:








Catatan: untuk melakukan perulangan menggunakan struktur while, kita harus berhati-hati dalam menentukan inisialisasi nilai awal dan memanipulasi nilai tersebut supaya pengulangan akan berhenti sesuai dengan yang diinginkan.
Struktur while bersarang. Contohnya adalah sebai berikut
Contoh 7:
#include <iostream>
using namespace std;
int main() {
int J = 10;
int K;
while (J >= 1) {
K = 1;
while (K <= J) {
cout<<K*J<<' ';
K++;
}
cout<<'\n';
J--;
}
return 0;
}


Output contoh7:













Struktur do-while
Berbedaa dengan struktur while yang melakukan pemeriksaan kondisi diawal blok perulangan, pada struktur do-while kondisi justru ditempatkan dibagian akhir. Hal ini tentu menyebabkan struktur perulangan ini minimal akan melakukan satu kali proses walaupun kondisi yang didefenisikan tidak terpenuhi.
Berikut ini bentuk umum dari struktur do-while
Do {
Statemen yang akan diulang;
}while (kondisi

Berikut perbedaan while dan do-while
While

Do while

Bisa jadi tidak akan pernah dikerjakan jika syarat tidak dipenuhi.
Ini dikarenakan sebelum instruksi dikerjakan, syarat dicek terlebih dahulu.
Minimal dikerjakan satu kali walaupun syarat tidak dipenuhi.
Ini dikarenakan instruksi dikerjakan dahulu, baru syarat dicek untuk melanjutkan perulangan.







Berikut contoh program menggunakan struktur do-while
Contoh 8:
#include <iostream>
using namespace std;
int main() {
int C = 0;
do {
cout<<"saya harus lulus tepat waktu"<<endl;
C++;
}
while (C <10 );
return 0;
}

Contoh 9:
#include <iostream>
using namespace std;
int main() {
int Bil1, Bil2;
int sisa;
cout<<"Masukkan bilangan pertama : "; cin>>Bil1;
cout<<"Masukkan bilangan kedua : "; cin>>Bil2;
// Melakukan pertukaran nilai
if (Bil1 < Bil2) {
int temp = Bil1;
Bil1 = Bil2;
Bil2 = temp;
}
do {
sisa = Bil1 % Bil2;
Bil1 = Bil2;
Bil2 = sisa;
} while (sisa != 0);
cout<<"\nFaktor persekutuan terbesar = "<<Bil1;
return 0;
}

Ouput contoh9:








Contoh 10 program do-while bersarang:
#include <iostream>
using namespace std;
int main() {
int J = 10;
int K;
do {
K = 1;
do {
cout<<K*J<<' ';
K++;
} while (K <= J);
cout<<'\n';
J--;
} while (J >= 1);
return 0;
}

Output contoh10:











Sumber : Modul Pemrograman Terstruktur STMIK AMIKOM YOGYAKARTA 

No comments:

Post a Comment