STT INDONESIA TANJUNGPINANG
MODUL PEMROGRAMAN 1/C++
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 Dalam perulangan yang menggunakan for, perulangan dilakukan hanya jika kondisi perulangannya mempunyai nilai true (tidak 0). //nama file : for_statis.cpp //tampil "STT indonesia" sebanyak jumlah n #include <stdio.h> #include
main() { int i,n;; for(i=1; i<10; i++) {printf("STT INDONESIA \n");} getche(); } //nama file : for_dinamis.cpp //tampil "STT indonesia" sebanyak jumlah n #include <stdio.h> #include main() { int i,n;; printf("Masukan jumlah n :"); scanf("%d", &n); for(i=1; i
[email protected]
1
STT INDONESIA TANJUNGPINANG
MODUL PEMROGRAMAN 1/C++
2. Menampilkan angka berkurang 1 berkurang //nama file : for.cpp #include <stdio.h> #include
3. Menampilkan bintang yang //nama file : for_bintang.cpp //menampilkan bintang berkurang satu tiap baris pindah 1 #include<stdio.h> #include
main() { int i;
{ for(i=1; i<5; i++) printf("%d \n", i); getche(); }
main() 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); } printf("\n");
} getche(); }
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.
WHILE 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.
[email protected]
2
STT INDONESIA TANJUNGPINANG
MODUL PEMROGRAMAN 1/C++ //nama file : while_statis.cpp #include<stdio.h> #include main() { int i=1; while(i<=6) { printf(" * "); i++; } getche(); }
//nama file : while_stt.cpp // tampil "STT indonesia" sebanyak jumlah n #include <stdio.h> #include main() { int i,n; printf("Masukan jumlah n :"); scanf("%d", &n); i=0; while(i<=n) { printf("STT INDONESIA \n"); i++; } getche(); }
Do ... while
// Nama file : do_while_statis.cpp #include<stdio.h> #include
Bentuk umum dari do while adalah seperti berikut : do {
main() { int i;
perintah; i=1;
perintah;
do {
} while (kondisi);
printf("%d ", i); //proses i++; } while (i<=0); //kondisi pengulangan
Cara kerja dari perulangan do while mirip dengan perulangan while. Tetapi dalam perulangan do while ini, pengecekan
getche(); }
kondisi dilakukan di akhir loop. Sehingga program pasti dapat masuk ke perulangan ini minimal 1 kali.
// Nama file : do_while_dinamis.cpp #include<stdio.h> #include main() { int i,n; i=1; printf("Masukan jumlah pengulangan :"); scanf("%d", &n); do { printf("%d ", i); //proses i++; } while (i<=n); //kondisi pengulangan getche(); }
[email protected]
3
STT INDONESIA TANJUNGPINANG
MODUL PEMROGRAMAN 1/C++
LATIHAN //nama file : if_bersarang.cpp #include #include<stdio.h> main() { 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!!!"); } getche(); } HASIL EXECUTE
[email protected]
4
STT INDONESIA TANJUNGPINANG
MODUL PEMROGRAMAN 1/C++
//nama file : nilai_akhir.dev #include <stdio.h> #include main()
//untuk membaca deklarasi printf //untuk membaca deklarasi getch
// fungsi utama program
{ float uts, uas, tugas, absensi; float hasil; printf("KISARAN NILAI printf("masukan nilai scanf("%f" ,&uts); printf("masukan nilai scanf("%f",&uas); printf("masukan nilai scanf("%f" ,&tugas); printf("masukan nilai scanf("%f",&absensi);
ANTARA 0 s/d 100 \n"); uts :"); uas
:");
tugas
:");
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");} getche(); }
[email protected]
5
STT INDONESIA TANJUNGPINANG
MODUL PEMROGRAMAN 1/C++
//nama file : bintang_tambah.cpp #include<stdio.h> #include
#include<stdio.h> #include
main() { int i,j,n; printf("masukkan nilai : "); scanf("%d",&n) ; for(i=1;i<=n;i++) { for(j=1;j<=i;j++) { printf("* "); } printf("\n"); } getche(); }
{
main() 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); } printf("\n");
} getche(); }
#include <stdio.h> #include main() { 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("*"); } printf("\n"); } break; case 2: printf("NAMA :"); scanf("%s",&nama); //printf("JUMLAH LOOPING :"); //scanf("%d",&n); for(i=0;i
[email protected]
6
STT INDONESIA TANJUNGPINANG
MODUL PEMROGRAMAN 1/C++ // KASUS
:MENGGUNAKAN STRUKTUR CASE DAN DO WHILE
#include<stdio.h> #include #define phi 3.14 main() {
float luas,jari,p,l; int no; char ulang='y';
do {
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
??????? (y/Y): "); scanf("%s", &ulang);
printf("\n"); } while((ulang=='y')||(ulang=='Y')); getche(); }
1.
menampilkan faktor pembagi terbesar dari 2 buah bilangan #include <stdio.h> #include main() { 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); getche(); }
[email protected]
7
STT INDONESIA TANJUNGPINANG
MODUL PEMROGRAMAN 1/C++
2. Menampilkan bilanagn ganjil anatara 1 samapi 10
//nama file : while_ganjil.cpp #include <stdio.h> #include main() { int bil=1; while(bil<=10) { printf("%d ", bil); bil=bil+2; } printf("\n"); getche(); }
[email protected]
8