Ahmad Saifudin - Laporan Praktikum 5
Ahmad Saifudin - Laporan Praktikum 5
OPERASI PERULANGAN
Oleh :
AHMAD SAIFUDIN
220534600320
S1 PTE ’22 OFF A
I. TUJUAN
Setelah mempelajari bab ini mahasiswa diharapkan mampu :
II. PETUNJUK
1. Awali setiap kegiatan dengan berdoa dan tekad kuat, agar diberi kelancaran
dalam belajar dan mendapatkan ilmu yang bermanfaat.
2. Pahami tujuan praktikum, dasar teori, dan latihan praktikum dengan baik.
3. Kerjakan tugas praktikum dengan baik, jujur, sabar dan teliti.
4. Tanyakan kepada asisten laboratorium apabila ada hal-hal yang kurang jelas.
Implementasi perulangan tidak hanya terbatas pada cetak berulang namun fungsi lain seperti
menghitung bilangan pangkat. Terdapat 3 jenis perulangan di dalam C++, yaitu :
1. Perulangan for
Perulangan loop adalah jenis perulangan yang memungkinkan untuk melakukan
perulangan dalam jumlah yang spesifik. Sebuah variabel perlu digunakan untuk
mengontrol perulangan yang akan berhenti apabila memenuhi suatu kondisi.
Blok awal digunakan untuk melakukan inisialisasi variabel loop.
Blok kondisi digunakan untuk melakukan pengecekan. Jika bernilai benar maka
perulangan dieksekusi, jika tidak maka perulangan dihentikan.
Blok kontrol digunakan untuk melakukan perubahan nilai variabel loop.
Contoh Program :
#include <iostream>
int main() {
for (int i = 1; i <= 5; i++) {
cout << "Hitung " << i << endl;
}
}
Keluaran Program :
Penjelasan Program:
Pada program diatas, variabel i di inisialisasi dengan nilai 1, yang artinya perulangan akan
di mulai dari angka 1, kemudian dalam perulangan tersebut terdapat kondisi i <= 5 yang
artinya batas dari perulangan adalah i++ yang artinya value i akan bertambah 1 sampek
akhirnya nilai i=5 (i++).
2. Perulangan while
Perulangan while adalah perulangan yang tidak membutuhkan jumlah pasti seberapa
banyak perulangan dilakukan. Sehingga perulangan while bekerja dengan mengecek
kondisi, apabila bernilai benar maka pernyataan di dalam perulangan akan dieksekusi
hingga kondisi bernilai salah.
Contoh Program :
#include <iostream>
int main() {
int i = 1;
while (i <= 5) {
cout << "Hitung " << i << endl;
i++;
}
}
Keluaran Program :
Penjelasan program:
Pada program diatas, variabel i di inisialisasi dengan nilai 1, yang artinya perulangan akan
di mulai dari angka 1, kemudian dalam perulangan tersebut terdapat kondisi i <= 5 yang
artinya batas dari perulangan adalah i++ yang artinya value i akan bertambah 1 sampek
akhirnya nilai i=5 (i++).
3. Perulangan do while
Perulangan do while merupakan variasi dari perulangan while dimana letak perbedaannya
adalah perulangan ini melakukan eksekusi kode sekali sebelum pengecekan kondisi.
Contoh Program :
#include <iostream>
int main() {
int i = 1;
do {
cout << "Hitung " << i << endl;
i++;
} while (i <= 5);
}
Keluaran Program :
Penjelasan Program:
Pada program diatas, variabel i di inisialisasi dengan nilai 1, yang artinya perulangan akan
di mulai dari angka 1, kemudian dalam perulangan tersebut terdapat kondisi i <= 5 yang
artinya batas dari perulangan adalah i++ yang artinya value i akan bertambah 1 sampai
akhirnya nilai i=5 (i++).
Selain itu terdapat perintah lain yang di dalam pengulangan yaitu break, continue, dan goto.
1. Pernyataan break
Pernyataan break digunakan untuk menghentikan perulangan. Contohnya program
dibawah hanya akan mencetak angka 1 dan 2. Karena ketika bertemu dengan angka 3,
perulangan dihentikan.
Contoh Program :
#include <iostream>
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
break;
}
cout << "Hitung " << i << endl;
}
}
Keluaran Program :
Penjelasan program:
Pada program diatas, variabel i di inisialisasi dengan nilai 1, yang artinya perulangan akan
di mulai dari angka 1, kemudian dalam perulangan tersebut terdapat kondisi i <= 5 yang
artinya batas dari perulangan adalah i++ yang artinya value i akan bertambah 1 sampek
akhirnya nilai i=5 (i++). Namun, terdapat kondisi i == 3 yang mana true nya adalah sintak
break yang artinya program akan berhenti apabila value i bernilai 3.
2. Pernyataan continue
Pernyataan continue digunakan untuk melewati atau skip iterasi saat ini dan berpindah ke
iterasi berikutnya. Contohnya pada program ini, iterasi dimana i bernilai 3 akan diskip
sehingga hanya mencetak angka 1, 2, 4, dan 5.
Contoh Program :
#include <iostream>
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
cout << "Hitung " << i << endl;
}
}
Keluaran Program :
Penjelasan program:
Pada program diatas, variabel i di inisialisasi dengan nilai 1, yang artinya perulangan akan
di mulai dari angka 1, kemudian dalam perulangan tersebut terdapat kondisi i <= 5 yang
artinya batas dari perulangan adalah i++ yang artinya value i akan bertambah 1 sampek
akhirnya nilai i=5 (i++). Namun, terdapat kondisi i == 3 yang mana true nya adalah sintak
continue yang artinya program akan langsung meloncat ke loop berikutnya.
3. Pernyataan goto
Pernyataan goto digunakan untuk melewati urutan normal eksekusi program dengan
melakukan “lompatan” ke bagian lain. Pernyataan goto dapat melompat ke atas maupun ke
bawah blok kode.
Pernyataan goto biasanya jarang dipakai dalam pemrograman karena membuat kode
menjadi kompleks dan membingungkan. Sehingga beberapa programmer memilih
menggunakan break dan continue.
Contoh Program :
#include <iostream>
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
goto lompat;
}
cout << "Hitung " << i << endl;
}
Keluaran Program :
Penjelasan program:
Pada program diatas, variabel i di inisialisasi dengan nilai 1, yang artinya perulangan akan di
mulai dari angka 1, kemudian dalam perulangan tersebut terdapat kondisi i <= 5 yang artinya
batas dari perulangan adalah i++ yang artinya value i akan bertambah 1 sampek akhirnya nilai
i=5 (i++). Sehingga output dari perulangan tersebut mencetak kata “Hitung” diikuti value dari
variabel i. Tetapi, terdapat kondisi i == 3 yang mana true nya adalah sintak goto yang mana
akan langsung mengeksekusi ke label lompat.
IV. QUIZ
Membuat perulangan menaik dan menurun
Source code:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
int menu, counter = 0;
char a, ulangi ='y';
while (true) {
cout << "Silakan pilih menu:\n";
cout << "1. Perulangan menaik\n";
cout << "2. Perulangan menaik 2\n";
cout << "3. Perulangan menurun\n";
cout << "4. Perulangan menurun 2\n";
cout << "Pilihan Anda: ";
cin >> menu;
switch (menu) {
case 1: {
cout << "Anda memilih perulangan menaik" << endl;
for (int i=1;i<=5;i++) {
cout << "a" <<endl;
}
printf("Apakah kamu mau melanjutkan?\n");
printf("jawab (y/t): ");
cin >> ulangi;
continue;
counter++;
case 2: {
cout << "Anda memilih perulangan menaik 2" << endl;
for (int i=1;i<=5;i++) {
cout <<i<<endl;
}
printf("Apakah kamu mau melanjutkan?\n");
printf("jawab (y/t): ");
cin >> ulangi;
continue;
counter++;
case 3: {
cout << "Anda memilih perulangan menurun " << endl;
for (int i=10;i>=1;i--) {
cout <<i<<endl;
}
printf("Apakah kamu mau melanjutkan?\n");
printf("jawab (y/t): ");
cin >> ulangi;
continue;
counter++;
case 4: {
cout << "Anda memilih perulangan menurun 2" << endl;
for (int i=13;i>=7;i--) {
cout <<i<<endl;
}
printf("Apakah kamu mau melanjutkan?\n");
printf("jawab (y/t): ");
cin >> ulangi;
continue;
counter++;
}
}
}
}
}
}
return 0;
}
Penjelasan Program: program ini diminta untuk membuat perulangan menaik dan
menurun, program dibuat dengan menggunakan percabangan switch case dan
menggunakan perulangan while untuk dan for dilam percabangannya. Program
menggunakan printf untuk menanyakan apakah user mau melanjutkan atau tidak. Dan
continue untuk melanjutkan juka user menjawab y, jika user menjawab t maka program
akan berhenti.
V. LATIHAN PRAKTIKUM
1. Ketik kode program di bawah ini dengan menggunakan Visual Studio, kemudian compile
dan jalankan program tersebut. Jelaskan dan simpulkan hasil program.
#include <iostream>
int main() {
int number;
do {
cout << "Masukkan sebuah angka positif: ";
cin >> number;
} while (number <= 0);
cout << "Angka berhasil dimasukkan adalah " << number << endl;
}
Penjelasan Program: program diminta untuk memasukkan angka positif . disini program
menggunakan program do while dimana program akan mengekseskusi kode sekali
sebelum pengecekan kondisi, ketika kondisi tidak terpenuhi atau ketika kita memasukkan
angka negative maka program akan berhenti.
2. Ketik kode program di bawah ini dengan menggunakan Visual Studio, kemudian compile
dan jalankan program tersebut. Jelaskan dan simpulkan hasil program.
#include <iostream>
using namespace std;
int main() {
int base, exp, result = 1;
cout << base << "^" << exp << " adalah ";
while (exp != 0) {
result = result * base;
exp--;
}
Penjelasan program: program diminta untuk menghitung pangkat dari angka yang
dimasukkan user, program ini menggunakan perulangan while, dimana ini tidak
membutuhkan jumlah perulangan pasti namun program akan dicek apakah data yang
dimasukkan benar atau salah. Jika program salah maka nprogram akan berhenti.
3. Ketik kode program di bawah ini dengan menggunakan Visual Studio, kemudian compile
dan jalankan program tersebut. Jelaskan dan simpulkan hasil program.
#include <iostream>
int main() {
for (int i = 1; i < 100; i++) {
if (i % 2 == 0) {
cout << i << " ";
}
}
}
Penjelasan program:
Program tersebut diminta untuk melakukan perulangan menggunakan for, dimana
program digunakan untuk mencetak bilangan genap dari 1 hingga 99. Loop akan
berulang sebanyak 99 kali dan pada setiap perulangannya program akan mengecek
apakah bilangan tersebut bilangan genap atau bukan menggunakan operator %, jika
program tersebut merupakan bilangan genap maka program akan menampilkan
bilangan tersebut.
#include <iostream>
#include <string>
using namespace std;
int main() {
string kalimat;
int n;
cout <<"Masukkan kalimat: ";
getline(cin,kalimat);
cout << "Masukkan jumlah pengulangan: ";
cin>> n;
for (int i= 1; i<10; i++) {
cout << kalimat << endl;
}
return 0;
}
Output:
Penjelasan Program:
Disini program dibuat untuk menampilkan kalimat yang di ulangi sampai 9 kali.
Menggunakan perulangan for, dengan menggunakan tipe data integer dan
string. Menggunakan getline untuk menambah baris agar output yang
dikeluarkan tidak menyamping tapi turun kebawah.
#include <iostream>
bool is_prime(int n) {
if (n<5) {
return false;
}
for (int i = 2; i*i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int a,b;
cout << "Masukkan nilai a: ";
cin >> a;
cout << "Masukkan nilai b: ";
cin >> b;
cout << "Bilangan prima antara " << a << "dan" << b << "adalah: "
<< endl;
for (int i=a; i<=b; i++) {
if (is_prime(i)) {
cout << i << endl;
}
}
return 0;
}
Output program:
Penjelasan program:
Pada program di atas, terdapat dua fungsi yaitu `is_prime() dan '`main()`. Fungsi
is_prime() digunakan untuk mengecek apakah suatu bilangan adalah bilangan
prima atau bukan. Fungsi ini akan mengembalikan nilai `true` jika bilangan
tersebut merupakan bilangan prima dan mengembalikan nilai `false` jika bukan.
Pada fungsi main(), program akan meminta input dari user berupa nilai a dan b
menggunakan fungsi `cin`. Kemudian, program akan menampilkan bilangan
prima dari rentang a hingga b menggunakan loop `for`. Setiap bilangan pada
rentang tersebut akan dicek menggunakan fungsi `is_prime(), dan jika
merupakan bilangan prima maka akan ditampilkan pada layar menggunakan
fungsi `cout`.
#include <iostream>
using namespace std;
int fibonacci(int n) {
if (n <= 1) {
return n;
}
else {
return fibonacci(n-1)+ fibonacci(n-2);
}
}
int main() {
int n;
cout << "Masukkan nilai n: ";
cin >> n;
cout << "Bilangan Fibonacci ke-" << n << "adalah: " << fibonacci(n)
<< endl;
return 0;
}
Output Program:
Penjelasan Program:
Pada program di atas, terdapat satu fungsi yaitu 'fibonacci() dan satu blok
utama. Fungsi fibonacci() digunakan untuk menghitung bilangan Fibonacci ke-n
menggunakan rekursi.
Pada blok utama, program akan meminta input dari user berupa nilai n
menggunakan fungsi `cin. Kemudian, program akan memanggil fungsi
fibonacci() dengan argumen n dan menampilkan hasilnya menggunakan fungsi
`cout'.
int main() {
int n, fact = 1;
cout << "Masukkan nilai n: ";
cin >> n;
cout << "Factorial dari " << n << " adalah " << fact << endl;
return 0;
}
Output Program:
Penjelasan Program:
Pada program di atas, program akan meminta input dari user berupa nilai
n menggunakan fungsi 'cin. Kemudian, program akan menghitung
faktorial dari n menggunakan perulangan 'for'. Variabel fact akan
digunakan untuk menyimpan nilai faktorial sementara, dimana nilai
awalnya adalah 1. Pada setiap iterasi perulangan, nilai 'fact akan dikalikan
dengan nilai i. Setelah selesai melakukan perulangan, program akan
menampilkan hasil faktorial menggunakan fungsi 'cout'.
VII. KESIMPULAN
1. Perintah while digunakan untuk mengulangi blok kode selama kondisi tersebut
terpenuhi.
2. Blok kode sksn terus terulang selam kondisi tersebut terpenuhi atau kondisi true,
ketika kondisi tersebut salah maka program akan berhenti.
3. Perintah break digunakan untuk menghentikan program perulangan yang sedang
berjalan. Dan akan lanjut ke ekseskusi kode selanjutnya
4. Perintah countinue digunakan untuk melanjutkan dan digunakan untuk
menghindari eksekusi kode yang tidak diperlukan sehingga mengoptimalkan
program
5. Perintah goto digunkan untuk kembali ke menu awal.
6. Perintah for digunakan untuk melakukan perulangan sebanyak jumlah kondisi yang
terpenuhi dan ditentukan.
7. Perintah do while juga digunakan untuk mengulangi blok kode selama kondisi
terpenuhi
5. DAFTAR RUJUKAN
1. Stroustrup, B. (2013). The C++ Programming Language, 4th Edition. Addison-
Wesley Professional.
2. Sutter, H., & Alexandrescu, A. (2004). C++ Coding Standards: 101 Rules,
Guidelines, and Best Practices. Addison-Wesley Professional.
3. Eckel, B. (2000). Thinking in C++, Volume 1: Introduction to Standard C++, 2nd
Edition. Prentice Hall.
4. Liberty, J., & Cadenhead, R. (2002). Teach Yourself C++ in 24 Hours, 2nd
Edition. Sams Publishing.