Studi Kasus : Macam-Macam Bentuk Loop

Radianfarsainsa
4 min readJan 16, 2024

--

Sungguh….amat…sangat…banyak…
Itulah ungkapan yang dapat menggambarkan seberapa banyak kasus yang ada dalam mempelajari materi loop.

Blog ini khusus akan membahas mengenai case-case dari materi loop yang digabung dengan beberapa materi sebelumnya.

LOOP DASAR

  1. Untuk pertama, kita akan membuat urutan angka 1–10 dengan loop while- do
//judul
#include <iostream>
using namespace std;

//kamus
int x;

//diskripsi
main(){
x=1;
while(x <= 10){
cout << x << " ";
x = x+1;
}
}

outputnya akan menjadi seperti ini

2. Selanjutnya, urutan 1–10 sebanyak 5 kali

//judul
#include <iostream>
using namespace std;

//kamus
int x, y;

//diskripsi
main(){
y=1;
while(y <= 5){
x=1;
while(x <= 10){
cout << x << " ";
x = x+1;
}
y = y+1;
cout << endl;
}
}

outputnya akan seperti ini

LOOP SEGITIGA

Kita dapat membuat berbagai macam bentuk segitiga angka dengan looping

  1. Segitiga Menurun
#include <iostream>
using namespace std;

//kamus
int a, b;

//diskripsi
main(){
cout << "********************************"<<endl;
cout << " Program Segitiga Menurun"<<endl;
cout << "********************************"<<endl;
a = 1;
while(a < 7){
b = 1;
while(b < a+1){
cout <<b <<" ";
b = b+1;
}
cout<<endl;
a = a+1;
}
}

outputnya seperti ini

2. Segitiga Naik

#include <iostream>
using namespace std;

//kamus
int a, b;

//diskripsi
main(){
cout << "********************************"<<endl;
cout << " Program Segitiga Naik"<<endl;
cout << "********************************"<<endl;
a = 7;
while(a > 1){
b = 1;
while(b < a){
cout <<b <<" ";
b = b+1;
}
cout<<endl;
a = a-1;
}
}

outputnya seperti ini

3. Segitiga Menurun (versi 2)

#include <iostream>
using namespace std;

//kamus
int a, b, c;

//diskripsi
main(){
cout << "********************************"<<endl;
cout << " Program Segitiga Numpang"<<endl;
cout << "********************************"<<endl;
a = 1;
c = 11;
while(a < 7){
b = 1;
while(b < a+1){
cout <<c <<" ";
b = b+1;
c = c+1;
}
cout<<endl;
a = a+1;
}
}

outputnya seperti ini

4. Segitiga Sama Kaki

#include <iostream>
using namespace std;

//kamus
int a, b, n, d, x;

//diskripsi
main(){
cout << "********************************"<<endl;
cout << " Program Segitiga Sama Kaki "<<endl;
cout << "********************************"<<endl;

int x=11;
a=1;
while(a<10){
b=1;
while(b<10-a){
cout<<" ";
b++;
}
n=10;
while(n>10-a){
cout<<n<<" ";
n--;
}
d=x;
while(d<=10){
cout<<d<<" ";
d++;
}
x--;
a++;
cout<<endl;

}
}

outputnya seperti ini

SOAL — SOAL LAIN

  1. Menjumlahkan isi loop

//judul : 5+6+7+8+9=
// 5+6+7+8=
// 5+6+7=
// 5+6=
// 5=
// =
#include <iostream>
//kamus
int x, y;
int hasil, total;
using namespace std;
//diskripsi
main(){
x=0;
total=0;
while(x<5){
y=5;
hasil=0;
while(y<=9-x){
cout<<y<<" + ";
hasil=hasil+y;
y++;
}
cout<<"= "<<hasil;
total=total + hasil;
x++;
cout<<endl;
}
cout<<"= "<<total;
}

Analisis Kasus

Untuk soal ini, kita dapat menampung hasil penjumlahan pada tiap baris variabel “y” dengan menambahkan variabel “hasil”. Variabel “hasil” menampung penjumlahan dari “y”, bersamaan dengan y di loop. Begitu seterusnya hingga baris ke bawah selesai.
Lalu ada variabel “total” yang menampung jumlah variabel “hasil” tadi, dijumlahkan lagi ke bawah dengan variabel “hasil” dibawahnya. Berulang hingga selesai.

Outputnya sebagai berikut

2. Pola Bilangan

//judul: 4 3 1 5 3 2 6 3 3 7 3 4 8 3 5 9 3 6 5x
//kamus
#include <iostream>
using namespace std;

//diskripsi
int x=0;
main(){
while(x<5){
int a=4;
int c=1;
while(a<10){
int b=3;
cout<<a<<" ";
a++;
cout<<b<<" ";
cout<<c<<" ";
c=c+1;
}
cout<<endl;
x++;
}
}

Analisis Kasus

Pada program tersebut, terdapat pola yang setiap bilangannya loncat 3 bilangan. Sebagai contoh :
4 -> 5 -> 6 setelah loncat-loncat 3 bilangan (+1).
3 -> 3 -> 3 (tetap)
1 -> 2 -> 3 (+1)
Kemudian hasil pola tersebut diulang sebanyak 5 kali

outputnya sebagai berikut

3. Ganjil Genap dan Menjumlahkan Mengurangkan

//judul: membuat 1+2-3+4....-9+10 =?
//by Radian Dhuha
//menggunakan loop dan if
#include <iostream>
using namespace std;
//kamus
int x, hasil;
//diskripsi
//caranya jika bilangan genap maka operator setelahanya adalah kurang, jika bilangan ganjil maka operator setelahnya tambah
//kemudian di loopkan
main(){
x = 1;
hasil=2;
while(x < 11){
if(x % 2 == 0)
{
if (x==10)
{
cout<<x;
hasil=hasil-x;
x++;
}
else{
cout<<x<<" + ";
hasil=hasil-x;
x++;
}
}
else
{
cout<<x<<" - ";
hasil=hasil+x;
x++;
}

}
cout<<" = "<<hasil;
}

outputnya sebagai berikut

--

--