Perulangan (Looping)
di dalam program c++, terdapat 3 macam bentuk perulangan, pada praktek ini akan ditampilkan 3 teknik perulangan dengan keunggulannya
Pengulangan atau looping
- dalam konsep pengulangan terdapat 3 perintah yang umumnya digunakan yaitu
- For
- While
- Do-while
- dari ketiga perintah diatas umumnya yang digunakan adalah While, karena
- dengan menggunakan perintah while, bisa memecahkan semua kasus pengulangan
- For mungkin bisa juga digunakan, karena penulisan perintahnya yang singkat
- misalnya diinginkan mencetak angka dari 1 sampai 10
- maka berikut adalah masing-masing kode format penulisannya
for (i=1;i<=10;i++) { ... } i = 1; while (i<=10) { ... i = i + 1; } i = 1; do { ... i = i + 1; } while (i<=10);
praktek soal looping
- buat file baru dan beri nama contoh2.cpp
- lakukan ketik program berikut
#include <conio.h> #include <stdio.h> #include <iostream> using namespace std; void contoh31() { // demo menggunakan for untuk // mencetak angka dari 1 sampai bilangan yang diinputkan int i,bil; printf("DEMO FOR, masukkan bilangan : ");scanf("%d",&bil); for (i=1;i<=bil;i++) { printf("urutan ke %d \n",i); } } void contoh32() { // demo menggunakan while untuk // mencetak angka dari 1 sampai bilangan yang diinputkan int i,bil; printf("DEMO WHILE, masukkan bilangan : ");scanf("%d",&bil); i = 1; while (i<=bil) { printf("urutan ke %d \n",i); i = i + 1; } } void contoh33() { // demo menggunakan repeat untuk // mencetak angka dari 1 sampai bilangan yang diinputkan // jarang digunakan int i,bil; printf("DEMO REPEAT, masukkan bilangan : ");scanf("%d",&bil); i = 1; do { printf("urutan ke %d \n",i); i = i + 1; } while (i<=bil); } void contoh34() { // demo menggunakan break // break; keluar dari loop, walaupun hitungannya belum sampai akhir // continue; mengembalikan proses yang sedang dilaksanakan // ke awal loop lagi, tanpa menjalankan sisa perintah // exit(0); keluar dari program; int i,bil; printf("DEMO WHILE, masukkan bilangan : ");scanf("%d",&bil); i = 1; while (i<=bil) { printf("urutan ke %d \n",i); if (i == 8){ break; } i = i + 1; } } void contoh35() { // demo membuat // * * // ** ** // ****** // ** ** // * * int b,k1,k2,k3,bil; printf("masukkan bilangan : ");scanf("%d",&bil); b = 1; while (b<=bil) { for(k1=1;k1<=b;k1++){ printf("*"); } for(k2=1;k2<=(2*bil-2*b);k2++){ printf(" "); } for(k3=1;k3<=b;k3++){ printf("*"); } printf("\n"); // ganti baris b = b + 1; } b = bil -1; while (b>=1) { for(k1=1;k1<=b;k1++){ printf("*"); } for(k2=1;k2<=(2*bil-2*b);k2++){ printf(" "); } for(k3=1;k3<=b;k3++){ printf("*"); } printf("\n"); // ganti baris b = b - 1; } } void contoh36() { // demo membuat // * // *** // ***** // *** // * int b,k1,k2,k3,bil; printf("masukkan bilangan : ");scanf("%d",&bil); b = 1; while (b<=bil) { for(k1=1;k1<=bil-b;k1++){ // cetak spasi printf(" "); } for(k2=1;k2<=(b*2-1);k2++){ // 1,3,5 = b * 2 -1 printf("*"); } printf("\n"); // ganti baris b = b +1 ; } b = bil-1; while (b>=1) { for(k1=1;k1<=bil-b;k1++){ // cetak spasi printf(" "); } for(k2=1;k2<=(b*2-1);k2++){ // 1,3,5 = b * 2 -1 printf("*"); } printf("\n"); // ganti baris b = b -1 ; } } void contoh38a() { // demo membuat segitiga sama sisi // bagian include dan main tolong dilengkapi sendiri // * // *** // ***** int b,k1,k2,k3,bil; cout << "Jumlah Baris: "; cin >> bil; b = 1; while (b<=bil) { for(k1=1;k1<=bil-b;k1++){ // cetak spasi cout << " "; } for(k2=1;k2<=(b*2-1);k2++){ // 1,3,5 = b * 2 -1 cout << "*"; // cetak hanya bila awal atau akhir atau baris terakhir } cout << "\n"; // ganti baris b = b +1 ; } } void contoh38b() { // demo membuat segitiga sama sisi lubang di tengah // bagian include dan main tolong dilengkapi sendiri // * // * * // * * // ******* int b,k1,k2,k3,bil; cout << "Jumlah Baris: "; cin >> bil; b = 1; while (b<=bil) { for(k1=1;k1<=bil-b;k1++){ // cetak spasi cout << " "; } for(k2=1;k2<=(b*2-1);k2++){ // 1,3,5 = b * 2 -1 if ((k2 == 1) || (k2 == (b*2-1)) || (b==bil)) { cout << "*"; // cetak hanya bila awal atau akhir atau baris terakhir } else { cout << " "; } } cout << "\n"; // ganti baris b = b +1 ; } } void contoh39() { // demo membuat diamond lubang tengah // *** *** // ** ** // * * // // * * // ** ** // ******* int b,k1,k2,k3,bil; cout << "Jumlah Baris: "; cin >> bil; b = 1; // cetak diamond bagian atas while (b<=bil) { for(k1=1;k1<=bil-b;k1++){ // cetak * cout << "*"; } for(k2=1;k2<=(b*2-1);k2++){ // 1,3,5 = b * 2 -1 cout << " "; } for(k1=1;k1<=bil-b;k1++){ // cetak * cout << "*"; } cout << "\n"; // ganti baris b = b +1 ; } b = bil-1; // cetak diamond bagian bawah while (b>=1) { for(k1=1;k1<=bil-b;k1++){ cout << "*"; } for(k2=1;k2<=(b*2-1);k2++){ cout << " "; } for(k1=1;k1<=bil-b;k1++){ cout << "*"; } printf("\n"); // ganti baris b = b -1 ; } } main() { system("cls"); // membersihkan layar contoh36(); getch(); return 0; }