Mengulang Instruksi dengan Perulangan
Pelajari bagaimana membuat program C++ menjalankan instruksi secara berulang menggunakan for, while, dan do-while, tanpa harus menuliskan perintah yang sama berkali-kali.
Bayangkan kita diminta membuat program yang menampilkan tulisan "Belajar C++" sebanyak sepuluh kali. Jika belum mengenal perulangan, mungkin kita akan menuliskan perintah cout sebanyak sepuluh kali.
Programnya mungkin terlihat seperti berikut:
#include <iostream>
using namespace std;
int main() {
cout << "Belajar C++" << endl;
cout << "Belajar C++" << endl;
cout << "Belajar C++" << endl;
cout << "Belajar C++" << endl;
cout << "Belajar C++" << endl;
cout << "Belajar C++" << endl;
cout << "Belajar C++" << endl;
cout << "Belajar C++" << endl;
cout << "Belajar C++" << endl;
cout << "Belajar C++" << endl;
return 0;
}
Cara tersebut memang dapat menghasilkan keluaran yang diinginkan. Namun, bagaimana jika kita harus menampilkan tulisan tersebut sebanyak 100 kali, 1.000 kali, atau bahkan 1 juta kali?
Menuliskan instruksi yang sama berulang kali tentu tidak efisien. Selain membuat kode menjadi panjang, cara tersebut juga menyulitkan kita ketika ingin mengubah instruksi yang dijalankan.
Dalam pemrograman, sebenarnya kita dapat memerintahkan komputer untuk mengulangi instruksi yang sama secara otomatis. Kita cukup menuliskan instruksi tersebut satu kali, kemudian menentukan berapa kali atau sampai kapan instruksi itu harus dijalankan.
Kemampuan inilah yang disebut perulangan atau looping.
Daripada menuliskan instruksi yang sama berkali-kali, kita dapat menuliskannya satu kali dan meminta komputer mengulanginya berdasarkan aturan tertentu.
- Mengapa program membutuhkan perulangan?
- Memahami konsep perulangan
- Menggunakan perulangan for
- Menggunakan perulangan while
- Menggunakan perulangan do-while
- Memahami perbedaan for, while, dan do-while
- Menghentikan dan melewati perulangan
- Mengenal nested loop
- Kesalahan yang sering terjadi
- Contoh penerapan perulangan
- Latihan dan tantangan
1. Mengapa Program Membutuhkan Perulangan?
Dalam banyak situasi, komputer harus melakukan pekerjaan yang sama berkali-kali. Misalnya, aplikasi dapat meminta pengguna memasukkan beberapa data, menghitung total nilai dari banyak murid, menampilkan daftar produk, atau memproses setiap data yang tersimpan dalam sebuah kumpulan.
Jika setiap instruksi harus ditulis satu per satu, program akan menjadi panjang dan sulit dikelola.
Perulangan membantu menyelesaikan masalah tersebut. Kita dapat menentukan sebuah instruksi yang ingin diulang, kemudian memberikan aturan kapan pengulangan dimulai dan kapan harus dihentikan.
- Aplikasi akademik: menghitung nilai dari banyak murid.
- Aplikasi kasir: memproses beberapa barang yang dibeli pelanggan.
- Game: terus memeriksa kondisi permainan selama permainan berlangsung.
- Aplikasi perbankan: menampilkan daftar transaksi.
- Aplikasi simulasi: mengulang proses perhitungan dalam sejumlah langkah.
Perhatikan bahwa perulangan tidak hanya digunakan untuk menampilkan tulisan berkali-kali. Konsep ini menjadi bagian penting dalam hampir semua program yang harus memproses data dalam jumlah banyak atau menjalankan proses secara berulang.
Sebelum mempelajari perulangan, sebaiknya pahami juga bagaimana program menentukan tindakan berdasarkan suatu kondisi. Hal tersebut telah dibahas dalam materi Membuat Program yang Dapat Mengambil Keputusan dengan C++.
2. Memahami Konsep Perulangan
Perulangan adalah struktur dalam pemrograman yang memungkinkan suatu instruksi atau sekumpulan instruksi dijalankan berulang kali selama aturan tertentu terpenuhi.
Secara sederhana, perulangan memiliki beberapa bagian penting:
- Inisialisasi: menentukan nilai awal yang digunakan dalam perulangan, jika diperlukan.
- Kondisi: menentukan apakah perulangan masih boleh dijalankan.
- Instruksi: bagian program yang akan dijalankan berulang kali.
- Perubahan nilai: memperbarui nilai yang digunakan dalam perulangan agar proses dapat bergerak menuju kondisi berhenti.
Contohnya, kita ingin menampilkan angka 1 sampai 5. Kita dapat memulai dari angka 1, kemudian menampilkan angka tersebut. Setelah itu, nilai angka ditambah satu dan proses diulangi sampai angka 5 ditampilkan.
Alurnya dapat digambarkan seperti berikut:
- Mulai dengan angka 1.
- Periksa apakah angka masih kurang dari atau sama dengan 5.
- Jika benar, tampilkan angka tersebut.
- Tambahkan angka dengan 1.
- Kembali memeriksa kondisi.
- Berhenti ketika kondisi tidak lagi terpenuhi.
Jika proses tersebut dilakukan secara manual, hasilnya adalah angka 1, 2, 3, 4, dan 5. Namun, komputer dapat menjalankan proses tersebut secara otomatis menggunakan struktur perulangan.
Untuk memahami bagaimana alur tersebut digambarkan menggunakan simbol dan arah proses, pelajari juga materi flowchart dalam algoritma pemrograman.
3. Menggunakan Perulangan for
Jenis perulangan pertama yang akan kita pelajari adalah for.
Perulangan for biasanya digunakan ketika jumlah pengulangan sudah diketahui atau dapat ditentukan sejak awal. Misalnya, kita ingin menampilkan angka 1 sampai 10, menampilkan tulisan sebanyak lima kali, atau melakukan proses sebanyak 100 iterasi.
Struktur dasar perulangan for adalah sebagai berikut:
for (inisialisasi; kondisi; perubahan) {
// Instruksi yang diulang
}
Ada tiga bagian penting di dalam tanda kurung for:
- Inisialisasi: dijalankan satu kali sebelum perulangan dimulai.
- Kondisi: diperiksa sebelum setiap putaran perulangan.
- Perubahan: dijalankan setelah instruksi di dalam blok perulangan selesai.
Mari kita gunakan contoh sederhana untuk menampilkan angka 1 sampai 5.
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
cout << i << endl;
}
return 0;
}
Hasil program:
1
2
3
4
5
Sekarang mari kita pahami bagaimana program tersebut bekerja.
Pada bagian int i = 1, program membuat variabel i dan memberikan nilai awal 1. Variabel ini berfungsi sebagai penghitung perulangan.
Selanjutnya, program memeriksa kondisi i <= 5. Selama kondisi tersebut benar, instruksi di dalam blok for akan dijalankan.
Setelah instruksi cout selesai dijalankan, program melakukan i++. Artinya, nilai i bertambah satu.
Proses tersebut terus berulang sampai nilai i menjadi 6. Pada saat itu, kondisi i <= 5 bernilai salah sehingga perulangan dihentikan.
Memahami i++ dan i--
Dalam contoh sebelumnya, kita menggunakan i++. Operator ini merupakan bentuk singkat untuk menambahkan nilai variabel sebanyak satu.
| Penulisan | Makna | Contoh perubahan |
|---|---|---|
i++ |
Menambah 1 | 5 menjadi 6 |
i-- |
Mengurangi 1 | 5 menjadi 4 |
i += 2 |
Menambah 2 | 5 menjadi 7 |
i -= 2 |
Mengurangi 2 | 5 menjadi 3 |
Operator tersebut dapat digunakan untuk mengatur arah perubahan nilai dalam perulangan.
Menghitung mundur dengan for
Perulangan tidak harus selalu berjalan dari angka kecil ke angka besar. Kita juga dapat membuat perulangan yang menghitung mundur.
#include <iostream>
using namespace std;
int main() {
for (int i = 5; i >= 1; i--) {
cout << i << endl;
}
cout << "Selesai";
return 0;
}
Hasil program:
5
4
3
2
1
Selesai
Dalam contoh tersebut, nilai awal adalah 5. Setiap putaran mengurangi nilai i sebanyak satu. Perulangan berhenti ketika nilai i sudah lebih kecil dari 1.
Pendalaman: Memahami urutan kerja for secara bertahap
Misalkan kita menggunakan kode for (int i = 1; i <= 3; i++). Urutan kerjanya adalah:
int i = 1dijalankan satu kali.- Program memeriksa apakah
i <= 3. - Jika benar, instruksi di dalam blok dijalankan.
i++dijalankan untuk menambah nilai.- Program kembali memeriksa kondisi.
- Proses berakhir ketika kondisi bernilai salah.
Dengan memahami urutan ini, kita dapat mengetahui mengapa perulangan berjalan sebanyak tiga kali, bukan empat kali.
Materi pendalaman: Perulangan for dalam C++ secara lebih mendalam.
4. Menggunakan Perulangan while
Perulangan for cocok ketika jumlah pengulangan sudah dapat ditentukan. Namun, bagaimana jika kita tidak mengetahui sejak awal berapa kali suatu instruksi harus dijalankan?
Misalnya, sebuah program meminta pengguna memasukkan kata sandi. Program akan terus meminta kata sandi sampai pengguna memasukkan kata sandi yang benar.
Dalam situasi seperti ini, kita mungkin tidak mengetahui berapa kali pengguna akan mencoba. Bisa satu kali, dua kali, atau lebih.
C++ menyediakan perulangan while untuk situasi tersebut.
Perulangan while menjalankan instruksi selama kondisi yang ditentukan bernilai benar.
Struktur dasarnya:
while (kondisi) {
// Instruksi yang diulang
}
Berbeda dengan for, bagian inisialisasi dan perubahan nilai tidak dituliskan langsung di dalam struktur while. Kita biasanya mengaturnya secara terpisah.
Perhatikan contoh berikut:
#include <iostream>
using namespace std;
int main() {
int i = 1;
while (i <= 5) {
cout << i << endl;
i++;
}
return 0;
}
Hasilnya sama dengan contoh perulangan for, yaitu menampilkan angka 1 sampai 5.
Namun, cara penulisannya berbeda. Variabel i dibuat sebelum perulangan dimulai. Kemudian, kondisi diperiksa melalui while. Setiap kali instruksi selesai dijalankan, nilai i bertambah satu.
Ketika nilai i mencapai 6, kondisi i <= 5 tidak lagi terpenuhi. Akibatnya, perulangan berhenti.
Contoh while dengan kondisi yang bergantung pada input pengguna
Sekarang kita gunakan contoh yang lebih dekat dengan situasi nyata. Program akan terus meminta pengguna memasukkan angka selama angka yang dimasukkan belum sama dengan 0.
#include <iostream>
using namespace std;
int main() {
int angka;
cout << "Masukkan angka (0 untuk berhenti): ";
cin >> angka;
while (angka != 0) {
cout << "Anda memasukkan: " << angka << endl;
cout << "Masukkan angka (0 untuk berhenti): ";
cin >> angka;
}
cout << "Program selesai.";
return 0;
}
Program tersebut akan terus meminta angka selama nilai yang dimasukkan tidak sama dengan 0.
Jika pengguna memasukkan angka 5, program menampilkan angka tersebut dan meminta input kembali. Jika pengguna memasukkan angka 12, proses yang sama terjadi. Namun, ketika pengguna memasukkan 0, kondisi angka != 0 menjadi salah dan perulangan berhenti.
Jika kondisi perulangan selalu benar dan tidak ada perubahan yang membuat kondisi menjadi salah, program dapat berjalan terus-menerus. Keadaan ini disebut infinite loop atau perulangan tanpa akhir.
Untuk memahami lebih lanjut cara kerja kondisi dalam perulangan, pelajari perulangan while dalam C++.
5. Menggunakan Perulangan do-while
Perulangan while memeriksa kondisi terlebih dahulu sebelum menjalankan instruksi. Artinya, jika kondisi sejak awal bernilai salah, instruksi di dalam perulangan tidak akan dijalankan sama sekali.
Namun, ada situasi ketika kita ingin instruksi dijalankan minimal satu kali sebelum kondisi diperiksa.
Contohnya adalah program menu. Ketika aplikasi dibuka, kita ingin menu langsung ditampilkan kepada pengguna. Setelah pengguna memilih salah satu pilihan, program baru memeriksa apakah proses perlu diulang atau dihentikan.
Untuk kebutuhan tersebut, kita dapat menggunakan do-while.
Struktur dasarnya:
do {
// Instruksi yang diulang
} while (kondisi);
Perhatikan bahwa pada do-while, kondisi dituliskan setelah blok instruksi. Karena itu, instruksi di dalam blok akan dijalankan terlebih dahulu, baru kemudian kondisi diperiksa.
Contoh berikut menampilkan angka 1 sampai 5 menggunakan do-while.
#include <iostream>
using namespace std;
int main() {
int i = 1;
do {
cout << i << endl;
i++;
} while (i <= 5);
return 0;
}
Hasilnya:
1
2
3
4
5
Hasilnya memang sama dengan contoh for dan while. Perbedaannya terletak pada urutan pemeriksaan kondisi.
Membuktikan bahwa do-while dijalankan minimal satu kali
Perhatikan contoh berikut:
#include <iostream>
using namespace std;
int main() {
int i = 10;
do {
cout << "Instruksi dijalankan";
} while (i < 5);
return 0;
}
Variabel i memiliki nilai 10, sedangkan kondisi yang diperiksa adalah i < 5. Kondisi tersebut jelas salah.
Namun, program tetap menampilkan tulisan "Instruksi dijalankan" satu kali. Hal ini terjadi karena instruksi dalam do-while dijalankan sebelum kondisi diperiksa.
while: kondisi diperiksa sebelum instruksi dijalankan.do-while: instruksi dijalankan terlebih dahulu, kemudian kondisi diperiksa.
Perhatikan juga tanda titik koma setelah bagian while (kondisi);. Tanda titik koma tersebut merupakan bagian dari sintaks do-while dan tidak boleh dihilangkan.
Pelajari contoh lainnya melalui materi perulangan do-while dalam C++.
6. Memahami Perbedaan for, while, dan do-while
Ketiga jenis perulangan tersebut sama-sama digunakan untuk mengulang instruksi. Namun, masing-masing memiliki cara kerja dan situasi penggunaan yang berbeda.
| Aspek | for | while | do-while |
|---|---|---|---|
| Pemeriksaan kondisi | Sebelum instruksi | Sebelum instruksi | Setelah instruksi |
| Minimal satu kali dijalankan | Tidak | Tidak | Ya |
| Penempatan inisialisasi | Umumnya di bagian for | Biasanya sebelum while | Biasanya sebelum do |
| Penggunaan umum | Jumlah pengulangan diketahui | Bergantung pada kondisi | Instruksi harus dijalankan minimal sekali |
Contohnya, jika kita ingin menampilkan angka 1 sampai 100, perulangan for dapat menjadi pilihan yang praktis karena jumlah pengulangan sudah diketahui.
Jika kita ingin meminta pengguna memasukkan data sampai pengguna memilih untuk berhenti, while dapat digunakan karena jumlah pengulangan bergantung pada input pengguna.
Jika kita ingin menampilkan menu terlebih dahulu sebelum memeriksa pilihan pengguna, do-while dapat menjadi pilihan yang sesuai.
Ketiga struktur tersebut tidak selalu saling menggantikan secara langsung dalam hal keterbacaan kode. Pilih struktur yang paling sesuai dengan alur logika program agar kode lebih mudah dipahami dan dipelihara.
7. Menghentikan dan Melewati Perulangan
Dalam beberapa situasi, kita mungkin ingin menghentikan perulangan sebelum kondisi normalnya terpenuhi. Ada juga situasi ketika kita ingin melewati satu putaran tertentu, tetapi tetap melanjutkan putaran berikutnya.
C++ menyediakan dua pernyataan yang dapat digunakan untuk mengatur alur tersebut, yaitu break dan continue.
Menggunakan break
Pernyataan break digunakan untuk menghentikan perulangan secara langsung, meskipun kondisi perulangan sebenarnya masih bernilai benar.
Contohnya, kita ingin menampilkan angka mulai dari 1. Namun, perulangan harus dihentikan ketika angka mencapai 5.
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
cout << i << endl;
}
return 0;
}
Hasil program:
1
2
3
4
Ketika nilai i mencapai 5, kondisi i == 5 menjadi benar. Program kemudian menjalankan break sehingga perulangan langsung dihentikan.
Menggunakan continue
Berbeda dengan break, pernyataan continue tidak menghentikan seluruh perulangan. Pernyataan ini hanya melewati sisa instruksi pada putaran yang sedang berjalan, kemudian melanjutkan ke putaran berikutnya sesuai aturan perulangannya.
Misalnya, kita ingin menampilkan angka 1 sampai 5, tetapi tidak ingin menampilkan angka 3.
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
cout << i << endl;
}
return 0;
}
Hasil program:
1
2
4
5
Ketika nilai i mencapai 3, program menjalankan continue. Akibatnya, perintah cout pada putaran tersebut dilewati. Perulangan kemudian melanjutkan proses untuk angka berikutnya.
| Pernyataan | Fungsi |
|---|---|
break |
Menghentikan seluruh perulangan yang sedang dijalankan. |
continue |
Melewati sisa instruksi pada putaran saat ini dan melanjutkan ke putaran berikutnya. |
Untuk mempelajari pengendalian alur program secara lebih mendalam, kunjungi materi break dan continue dalam C++.
8. Mengenal Nested Loop
Sebelumnya kita telah mengenal nested if, yaitu percabangan yang ditempatkan di dalam percabangan lainnya. Konsep serupa juga dapat diterapkan pada perulangan.
Nested loop adalah perulangan yang berada di dalam perulangan lainnya.
Nesting atau penempatan perulangan di dalam perulangan dapat digunakan ketika kita perlu mengulang suatu proses di dalam proses pengulangan yang lain.
Contohnya, kita ingin menampilkan pola angka berbentuk beberapa baris dan kolom.
#include <iostream>
using namespace std;
int main() {
for (int baris = 1; baris <= 3; baris++) {
for (int kolom = 1; kolom <= 4; kolom++) {
cout << "* ";
}
cout << endl;
}
return 0;
}
Hasil program:
* * * *
* * * *
* * * *
Mengapa terdapat dua perulangan?
Perulangan pertama menggunakan variabel baris untuk mengatur jumlah baris yang akan dibuat. Sementara itu, perulangan kedua menggunakan variabel kolom untuk mengatur jumlah simbol bintang pada setiap baris.
Setiap kali perulangan luar berjalan satu kali, perulangan dalam akan menyelesaikan seluruh putarannya terlebih dahulu. Setelah itu, program kembali melanjutkan perulangan luar.
Dengan demikian, program menghasilkan tiga baris, dan setiap baris memiliki empat simbol bintang.
Memahami urutan nested loop
Jika perulangan luar berjalan sebanyak 3 kali dan perulangan dalam berjalan sebanyak 4 kali pada setiap putaran perulangan luar, maka instruksi di dalam perulangan terdalam dijalankan sebanyak 12 kali.
Perhitungannya:
Perulangan dalam dijalankan kembali dari awal setiap kali perulangan luar memasuki putaran baru.
Nested loop banyak digunakan untuk mengolah data berbentuk tabel, membuat pola angka, memproses matriks, dan berbagai kebutuhan pemrograman lainnya.
Jika ingin melihat variasi pola dan contoh penerapan yang lebih banyak, pelajari nested loop dalam C++.
9. Contoh Penerapan Perulangan
Setelah mengenal struktur perulangan, sekarang kita akan menggunakannya untuk menyelesaikan beberapa permasalahan sederhana.
Contoh 1: Menghitung jumlah angka dari 1 sampai N
Misalnya, pengguna memasukkan angka 5. Program harus menghitung hasil penjumlahan 1 + 2 + 3 + 4 + 5.
Kita dapat menggunakan perulangan untuk menjumlahkan setiap angka secara bertahap.
#include <iostream>
using namespace std;
int main() {
int n;
int total = 0;
cout << "Masukkan angka: ";
cin >> n;
for (int i = 1; i <= n; i++) {
total += i;
}
cout << "Total penjumlahan: " << total;
return 0;
}
Jika pengguna memasukkan angka 5, proses yang dilakukan adalah:
Putaran pertama: total = 0 + 1 = 1
Putaran kedua: total = 1 + 2 = 3
Putaran ketiga: total = 3 + 3 = 6
Putaran keempat: total = 6 + 4 = 10
Putaran kelima: total = 10 + 5 = 15
Hasil akhir: 15Contoh tersebut menunjukkan bahwa perulangan dapat digunakan untuk melakukan perhitungan secara bertahap.
Contoh 2: Menampilkan tabel perkalian
Perulangan juga dapat digunakan untuk membuat tabel perkalian. Misalnya, kita ingin menampilkan tabel perkalian dari angka yang dimasukkan pengguna.
#include <iostream>
using namespace std;
int main() {
int angka;
cout << "Masukkan angka: ";
cin >> angka;
for (int i = 1; i <= 10; i++) {
cout << angka << " x " << i
<< " = " << angka * i << endl;
}
return 0;
}
Jika pengguna memasukkan angka 5, hasilnya:
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
Contoh 3: Meminta pengguna memasukkan beberapa nilai
Bayangkan kita ingin membuat program yang menghitung rata-rata nilai dari sejumlah murid. Jumlah murid ditentukan oleh pengguna.
Tanpa perulangan, kita harus menuliskan instruksi input untuk setiap murid secara terpisah. Dengan perulangan, proses input dapat dilakukan secara otomatis.
#include <iostream>
using namespace std;
int main() {
int jumlahMurid;
double nilai;
double total = 0;
cout << "Jumlah murid: ";
cin >> jumlahMurid;
if (jumlahMurid <= 0) {
cout << "Jumlah murid harus lebih dari 0.";
return 0;
}
for (int i = 1; i <= jumlahMurid; i++) {
cout << "Masukkan nilai murid ke-"
<< i << ": ";
cin >> nilai;
total += nilai;
}
double rataRata = total / jumlahMurid;
cout << "Rata-rata nilai: " << rataRata;
return 0;
}
Program tersebut meminta jumlah murid terlebih dahulu. Setelah itu, perulangan for digunakan untuk meminta nilai setiap murid dan menjumlahkannya.
Setelah seluruh nilai dimasukkan, program membagi total nilai dengan jumlah murid untuk memperoleh rata-rata.
Contohnya, jika terdapat tiga murid dengan nilai 80, 90, dan 70, maka total nilai adalah 240. Rata-ratanya adalah 240 dibagi 3, yaitu 80.
Contoh 4: Membuat menu yang terus ditampilkan sampai pengguna memilih keluar
Dalam aplikasi, menu sering kali perlu ditampilkan berulang kali. Pengguna dapat memilih suatu fitur, kembali ke menu utama, kemudian memilih fitur lainnya.
Program berikut menggunakan do-while agar menu selalu ditampilkan minimal satu kali dan terus muncul sampai pengguna memilih untuk keluar.
#include <iostream>
using namespace std;
int main() {
int pilihan;
do {
cout << endl;
cout << "=== MENU APLIKASI ===" << endl;
cout << "1. Lihat profil" << endl;
cout << "2. Lihat informasi" << endl;
cout << "3. Keluar" << endl;
cout << "Pilih menu: ";
cin >> pilihan;
switch (pilihan) {
case 1:
cout << "Menampilkan profil.";
break;
case 2:
cout << "Menampilkan informasi.";
break;
case 3:
cout << "Program selesai.";
break;
default:
cout << "Pilihan tidak tersedia.";
}
} while (pilihan != 3);
return 0;
}
Program akan terus menampilkan menu selama pengguna tidak memilih angka 3. Ketika angka 3 dimasukkan, kondisi pilihan != 3 menjadi salah sehingga perulangan berhenti.
Contoh ini juga memperlihatkan bagaimana percabangan dan perulangan dapat digunakan bersama-sama. do-while mengatur pengulangan menu, sedangkan switch menentukan tindakan berdasarkan pilihan pengguna.
10. Kesalahan yang Sering Terjadi Saat Menggunakan Perulangan
Perulangan terlihat sederhana, tetapi ada beberapa kesalahan yang dapat membuat program menghasilkan keluaran yang tidak sesuai atau bahkan tidak pernah berhenti.
Kesalahan 1: Lupa mengubah nilai penghitung
Perhatikan contoh berikut:
int i = 1;
while (i <= 5) {
cout << i << endl;
}
Variabel i tidak pernah bertambah. Akibatnya, nilainya selalu 1 dan kondisi i <= 5 terus bernilai benar.
Program akan terus menampilkan angka 1 tanpa berhenti. Untuk memperbaikinya, tambahkan perubahan nilai seperti i++ di dalam perulangan.
Kesalahan 2: Salah menentukan kondisi perulangan
Misalnya, kita ingin menampilkan angka 1 sampai 5, tetapi menulis kondisi i < 5. Program hanya akan menampilkan angka 1 sampai 4.
Jika angka 5 juga ingin ditampilkan, kondisi yang digunakan adalah i <= 5.
Kesalahan 3: Salah menentukan nilai awal
Jika perulangan dimulai dari angka 0, hasilnya tentu berbeda dengan perulangan yang dimulai dari angka 1.
Pastikan nilai awal sesuai dengan kebutuhan program. Perhatikan juga apakah nilai awal tersebut sudah termasuk dalam jumlah pengulangan yang diinginkan.
Kesalahan 4: Salah memahami posisi pemeriksaan kondisi
Pada while, kondisi diperiksa sebelum instruksi dijalankan. Pada do-while, instruksi dijalankan terlebih dahulu.
Perbedaan ini dapat menghasilkan jumlah eksekusi yang berbeda, terutama ketika kondisi sejak awal bernilai salah.
Kesalahan 5: Salah menggunakan break dan continue
break menghentikan perulangan, sedangkan continue hanya melewati sisa instruksi pada putaran saat ini.
Jika keduanya tertukar, alur program dapat menjadi berbeda dari yang diharapkan.
Kesalahan 6: Menggunakan perulangan yang tidak sesuai kebutuhan
Jika jumlah pengulangan sudah diketahui, for sering kali lebih mudah dibaca. Jika pengulangan bergantung pada suatu kondisi, while dapat menjadi pilihan yang lebih jelas. Jika instruksi harus dijalankan minimal satu kali, pertimbangkan do-while.
11. Latihan dan Tantangan
Setelah mempelajari berbagai struktur perulangan, cobalah menyelesaikan latihan berikut untuk menguji pemahaman.
Perhatikan kode berikut:
for (int i = 1; i <= 5; i++) {
cout << i;
}
Berapa kali instruksi cout dijalankan? Apa keluaran yang dihasilkan?
Mengapa perulangan while dapat menyebabkan infinite loop jika nilai yang digunakan dalam kondisi tidak pernah berubah?
Jika kondisi i < 5 sejak awal bernilai salah, apakah instruksi di dalam do-while tetap dijalankan? Jelaskan alasannya.
Apa perbedaan hasil program jika kita mengganti continue dengan break pada contoh yang melewati angka 3?
Buat program yang menampilkan seluruh bilangan genap dari 2 sampai 20 menggunakan perulangan for.
Buat program kasir sederhana dengan ketentuan berikut:
- Program meminta pengguna memasukkan jumlah barang yang dibeli.
- Program meminta harga setiap barang satu per satu.
- Setiap harga yang dimasukkan dijumlahkan ke dalam total belanja.
- Setelah seluruh barang dimasukkan, program menampilkan total belanja.
Petunjuk: Gunakan for untuk mengulang proses input harga sesuai jumlah barang. Gunakan variabel bertipe double untuk menyimpan harga dan total belanja.
12. Kesimpulan
Perulangan merupakan salah satu konsep dasar dalam pemrograman yang memungkinkan komputer menjalankan instruksi secara berulang. Dengan menggunakan perulangan, kita tidak perlu menuliskan instruksi yang sama berkali-kali.
Dalam C++, terdapat tiga struktur perulangan utama yang perlu dipahami:
fordigunakan ketika jumlah pengulangan sudah diketahui atau dapat ditentukan.whiledigunakan ketika pengulangan bergantung pada suatu kondisi yang diperiksa sebelum instruksi dijalankan.do-whiledigunakan ketika instruksi harus dijalankan minimal satu kali sebelum kondisi diperiksa.
Selain ketiga struktur tersebut, kita juga dapat menggunakan break untuk menghentikan perulangan, continue untuk melewati satu putaran, dan nested loop untuk membuat perulangan di dalam perulangan lainnya.
Perulangan akan menjadi semakin berguna ketika digabungkan dengan konsep lain seperti variabel, operator, input, pengolahan data, dan percabangan. Dengan menggabungkan konsep-konsep tersebut, kita dapat membuat program yang mampu menyelesaikan permasalahan yang lebih kompleks.
Mengolah Kumpulan Data dengan Array
Sejauh ini kita telah menggunakan variabel untuk menyimpan satu nilai, kemudian menggunakan perulangan untuk menjalankan instruksi berkali-kali. Namun, bagaimana jika kita ingin menyimpan banyak nilai dengan jenis data yang sama dan mengaksesnya menggunakan satu nama variabel?
Pada materi berikutnya, kita akan mempelajari array, yaitu struktur data yang memungkinkan kita menyimpan sekumpulan nilai dalam satu variabel dan mengakses setiap elemen menggunakan indeks.
0 comments:
Posting Komentar