MATERI V 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: Output: 1
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 ; Keterangan: // untuk perulangan bersifat menurun (encrement) for (variabel = nilai_awal; kondisi;variabel--){ statemen yang akan diulang; 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. 2
Contoh 2: for(int i=1;i<=5;i++) 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: int a; for(int i=1,a=5;i<=10;i++) { cout<<"\nnilai ke "<<i<<" = "<<a; a+=5; 3
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: 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; Output conto4: 4
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: for (int j=1; j<=10; j++) { for (int k=1; k<=j; k++) { cout<<k*j<<' '; cout<<'\n'; Output contoh 5: 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: 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 */ 6
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: Output contoh7: int J = 10; int K; while (J >= 1) { K = 1; while (K <= J) { cout<<k*j<<' '; K++; cout<<'\n'; J--; Do While 7
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 Bisa jadi tidak akan pernah dikerjakan jika syarat tidak dipenuhi. Ini dikarenakan sebelum instruksi dikerjakan, syarat dicek terlebih dahulu. Do while 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: int C = 0; do { cout<<"saya harus lulus tepat waktu"<<endl; C++; while (C <10 ); 8
Contoh 9: 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; Ouput contoh9: Contoh 10 program do-while bersarang: int J = 10; int K; do { K = 1; do { cout<<k*j<<' '; K++; while (K <= J); cout<<'\n'; J--; while (J >= 1); 9
Output contoh10: 10