1 BAB IV LOOPING ( Pengulangan ) Format pengulangan (loop) bertujuan untuk menuliskan beberapa instruksi yang sama kedalam format yang lebih simple. Terdapat tiga bentuk pengulangan (loop) dalam bahasa C++ yaitu FOR, DO WHILE dan WHILE FOR Format deklarasi looping for : for (<ekspresi1>;<ekspresi2>;<ekspresi3>)<statement> dengan penjelasan : ekspresi1 : inisialisasi (nilai awal loop) ekspresi2 : kondisi keluar dari loop ekspresi3 : sebagai pengatur kenaikan variable pengendali loop Namun, tidak aneh apabila nanti ditemukan ketiga ekspresi ini berada diluar format deklarasi loop for, sehingga ditemukan bentuk seperti : for ( i=1;i<5 i++; ) // i variabel penampung untuk melakukan pengulangan dimana i=0; (pengulangan akan dimulai dari 1), sampai i<5 dan pengulangan yang dimaksud adalah i akan bertambah 1 (tidak 0). Dalam perulangan yang menggunakan for, perulangan dilakukan hanya jika kondisi perulangannya mempunyai nilai true //nama file : for_statis.cpp //tampil "STT indonesia" sebanyak jumlah n int i,n;; for(i=1; i<10; i++) printf("stt INDONESIA \n"); //nama file : for_dinamis.cpp //tampil "STT indonesia" sebanyak jumlah n int i,n;; printf("masukan jumlah n :"); scanf("%d", &n); for(i=1; i<n; i++) printf("stt INDONESIA \n");
2 2. Menampilkan angka berkurang 1 3. Menampilkan bintang yang berkurang //nama file : for.cpp int i; for(i=1; i<5; i++) printf("%d \n", i); //nama file : for_bintang.cpp //menampilkan bintang berkurang satu tiap baris pindah 1 int i,j,n; printf("masukkan nilai n : "); scanf("%d",&n) ; for(i=1 ;i<=n ;i++) for(j=n ;j>=i ;j--) printf("*",j); Logika : Int i,j,n; = tipe data yang di gunakan adalah integer dan memiliki 3 variabel yaitu i,j,n. Printf( xxxx ); = menampilkan kata xxxx dilayar. Scan ( %d,&n); = memasukkan nilai n pada perintah printf sebelumnya untuk dipakai dalam proses perhitungan selanjutnya. For(i=1;i<=n;i++); = Untuk i bernilai 1, i lebih kecil sama dengan n,dan i melakukan proses penambahan. Maka proses lanjut. For(j=n;j>=i;j--); = Untuk j bernilai n, i lebih besar sama dengan i,dan j melakukan proses pengurangan. Jika kondisi terpenuhi maka: Printf( %d,j); = mencetak nilai variabel j dilayar Printf( \n ); = Perintah untuk mengendalikan fungsi akhir dalam looping. Jika tidak mengulang kondisi i jika kondisi tidak terpenuhi semua maka proses berakhir. W H I L E format deklarasi while : while(<ekspresi>)<statement> statement akan dijalankan apabila ekspresi bernilai benar <true> looping akan terus dijalankan jika kondisi ini terus dipenuhi. Cara kerja dari perulangan while mirip dengan perulangan for. Tetapi dalam perulangan while ini, tidak ada jaminan bahwa program akan masuk ke dalam perulangan. Ini dikarenakan pemeriksaan kondisinya dilakukan di awal perulangan.
3 //nama file : while_statis.cpp int i=1; while(i<=6) printf(" * "); i++; //nama file : while_stt.cpp // tampil "STT indonesia" sebanyak jumlah n int i,n; printf("masukan jumlah n :"); scanf("%d", &n); i=0; while(i<=n) printf("stt INDONESIA \n"); i++; Do... while Bentuk umum dari do while adalah seperti berikut : do perintah; perintah; while (kondisi); Cara kerja dari perulangan do while mirip dengan perulangan while. Tetapi dalam perulangan do while ini, pengecekan kondisi dilakukan di akhir loop. Sehingga program pasti dapat masuk ke perulangan ini minimal 1 kali. // Nama file : do_while_statis.cpp int i; i=1; do printf("%d ", i); //proses i++; while (i<=0); //kondisi pengulangan // Nama file : do_while_dinamis.cpp int i,n; i=1; printf("masukan jumlah pengulangan :"); scanf("%d", &n); do printf("%d ", i); //proses i++; while (i<=n); //kondisi pengulangan
4 LATIHAN //nama file : if_bersarang.cpp int pass, pilih,level; printf("password anda :");scanf("%d", &pass); if (pass==177) printf("..pilih mata kuliah...\n"); printf("1.algoritma \n"); printf("2.pemrograman\n"); printf("3.kalkulus\n\n"); printf("pilihan Anda :"); scanf("%d",&pilih); if (pilih==1) printf("1.algoritma \n") ; else if(pilih==2) printf("2.pemrograman\n"); else if(pilih==3) printf("3.kalkulus"); else printf("pilihan tidak ada"); else printf("password salah!!!"); HASIL EXECUTE
5 //nama file : nilai_akhir.dev //untuk membaca deklarasi printf //untuk membaca deklarasi getch // fungsi utama program float uts, uas, tugas, absensi; float hasil; printf("kisaran NILAI ANTARA 0 s/d 100 \n"); printf("masukan nilai uts :"); scanf("%f",&uts); printf("masukan nilai uas :"); scanf("%f",&uas); printf("masukan nilai tugas :"); scanf("%f",&tugas); printf("masukan nilai absensi :"); scanf("%f",&absensi); hasil=(0.35*uas)+(0.35*uts)+(0.15*tugas)+(0.15*absensi); printf("hasilnya = %0.0f \n",hasil) ; if((hasil>=80)&&(hasil<=100)) printf("a"); else if ((hasil>=70)&&(hasil<=79)) printf("b"); else if ((hasil>=60)&&(hasil<=69)) printf("c"); else if((hasil>=50)&&(hasil<=59)) printf("d"); else printf("anda tidak lulus");
6 //nama file : bintang_tambah.cpp int i,j,n; printf("masukkan nilai : "); scanf("%d",&n) ; for(i=1;i<=n;i++) for(j=1;j<=i;j++) printf("* "); int i,j,n; printf("masukkan nilai : "); scanf("%d",&n) ; for(i=1;i<=n;i++) for(j=n;j>=i;j--) printf("%d ", j); char nama; int n, pil,i,j; printf("masukan Pilihan :"); scanf("%d", &pil); switch(pil) case 1: printf("nama :"); scanf("%s",&nama); printf("jumlah LOOPING :"); scanf("%d",&n); for(i=1 ;i<=n ;i++) for(j=n ;j>=i ;j--) printf("*"); break; case 2: printf("nama :"); scanf("%s",&nama); //printf("jumlah LOOPING :"); //scanf("%d",&n); for(i=0;i<pil;i++) printf("berhasil "); break; default : printf("pilihan tidak ada!");
// KASUS :MENGGUNAKAN STRUKTUR CASE DAN DO WHILE #define phi 3.14 float luas,jari,p,l; do int no; char ulang='y'; luas=0; printf("menu \n"); printf("1. Luas Lingkaran\n"); printf("2. Luas Persegi Panjang \n"); printf("masukkan No: ");scanf("%d",&no); switch(no) case 1: printf("masukkan Jari-Jari : "); scanf("%f", &jari); luas=phi*jari*jari;break; case 2: printf("masukkan panjang : "); scanf("%f",&p); printf("masukkan Lebar : "); scanf("%f",&l); luas=p*l;break; default: printf("pilihan Tidak Ada\n"); printf("hasilnya: %0.1f", luas); printf(" \n ulangi while((ulang=='y') (ulang=='y'));??????? (y/y): "); scanf("%s", &ulang); STT INDONESIA TANJUNGPINANG 7 1. menampilkan faktor pembagi terbesar dari 2 buah bilangan int m,n,fpb; printf("masukan bilangan pertama : "); scanf("%d", &m); //m=4 printf("masukan bilangan kedua : "); scanf("%d", &n); //n=8 FPB=m%n; //sisa bagi 4%8 = 4 while(fpb!=0) //4 tidak sama dengan 0 m=n; //m=8 n=fpb; //n=4 FPB=m%n; // 8/4 sisa baginya 0 printf("pembagi persekutuan : %d \n ", n);
8 2. Menampilkan bilanagn ganjil anatara 1 samapi 10 //nama file : while_ganjil.cpp int bil=1; while(bil<=10) printf("%d ", bil); bil=bil+2;