Dunia pemrograman tidak akan pernah lepas dari konsep pengulangan atau looping. Bagi Anda yang baru memulai belajar coding, memahami algoritma pengulangan adalah sebuah kewajiban. Bayangkan jika Anda diminta untuk mencetak kalimat “Saya tidak akan terlambat lagi” sebanyak seribu kali. Tanpa pengulangan, Anda harus menulis baris kode yang sama sebanyak seribu baris. Namun, dengan pengulangan, Anda hanya butuh sekitar tiga hingga lima baris kode saja.
Algoritma pengulangan adalah sebuah struktur instruksi yang memungkinkan komputer untuk menjalankan blok kode yang sama berkali kali selama kondisi tertentu terpenuhi. Di dalam bahasa pemrograman populer seperti Python, C++, Java, atau JavaScript, kita mengenal beberapa jenis perulangan seperti FOR, WHILE, dan DO WHILE. Artikel ini akan menyajikan berbagai contoh soal algoritma pengulangan beserta penyelesaiannya yang dirancang khusus untuk level pemula.
Baca juga:Menguasai Lintasan: Panduan Lengkap Teknik dan Contoh Soal Lari Gawang
Mengenal Jenis Jenis Pengulangan yang Sering Digunakan
Sebelum masuk ke contoh soal, penting bagi Anda untuk mengenali karakteristik masing masing jenis looping agar tidak salah pilih saat menyelesaikan masalah.
1 Perulangan FOR Biasanya digunakan ketika kita sudah tahu dengan pasti berapa kali pengulangan tersebut harus dilakukan. Contohnya, mengulang dari angka 1 sampai 10. 2 Perulangan WHILE Digunakan ketika jumlah pengulangan belum diketahui secara pasti. Pengulangan ini akan terus berjalan selama kondisi yang ditentukan masih bernilai benar atau True. 3 Perulangan DO WHILE Mirip dengan WHILE, namun pengecekan kondisinya dilakukan di akhir. Hal ini menjamin bahwa blok kode akan dijalankan minimal satu kali meskipun kondisi sejak awal bernilai salah.
Kumpulan Contoh Soal dan Pembahasan Algoritma Pengulangan
Mari kita mulai dengan contoh soal yang paling sederhana hingga ke tingkat logika yang sedikit lebih kompleks.
Soal 1 Menampilkan Bilangan Urut 1 Sampai N
Buatlah algoritma yang meminta pengguna memasukkan sebuah angka bulat positif N, lalu tampilkan angka dari 1 sampai N secara berurutan.
Penyelesaian menggunakan Flowchart: Input angka N. Mulai variabel pengulangan (misalnya i) dari angka 1. Cek apakah i <= N. Jika ya, cetak i, lalu tambahkan nilai i sebesar 1 (i = i + 1). Ulangi pengecekan sampai kondisi i > N.
Penyelesaian menggunakan Kode Python:
Python
n = int(input("Masukkan angka: "))
for i in range(1, n + 1):
print(i)
Pembahasan: Penggunaan FOR sangat efektif di sini karena kita sudah tahu batas bawah adalah 1 dan batas atas adalah N.
Soal 2 Menjumlahkan Seluruh Angka dalam Rentang
Buatlah program yang menghitung total penjumlahan dari 1 + 2 + 3 + … + N, di mana N adalah input dari pengguna.
Penyelesaian: Kita membutuhkan variabel penampung hasil, misalnya total. Dimulai dari 0. 1 Set total = 0. 2 Gunakan pengulangan dari i = 1 sampai N. 3 Di dalam pengulangan, jalankan rumus total = total + i. 4 Cetak total setelah pengulangan selesai.
Soal 3 Menampilkan Bilangan Ganjil Saja
Tampilkan semua bilangan ganjil antara 1 sampai 20 menggunakan algoritma perulangan.
Penyelesaian: Ada dua cara untuk menyelesaikan ini. Cara pertama adalah melakukan pengulangan satu per satu lalu mengeceknya dengan fungsi IF (modulus). Cara kedua, yang lebih efisien, adalah mengatur langkah atau step pada pengulangan. Logika Efisien: Mulai dari i = 1. Selama i <= 20, cetak i, lalu tambahkan i dengan 2 (i = i + 2). Hasil outputnya adalah 1, 3, 5, 7, 9, 11, 13, 15, 17, 19.
Soal 4 Tabel Perkalian Sederhana
Buatlah algoritma yang menampilkan tabel perkalian untuk angka yang dimasukkan pengguna. Misalnya jika input adalah 5, maka outputnya 5 x 1 = 5, 5 x 2 = 10, sampai 5 x 10 = 50.
Penyelesaian: Gunakan perulangan dari i = 1 sampai 10. Di dalam blok kode, lakukan operasi perkalian hasil = input * i. Cetak format string yang diinginkan.
Soal 5 Menentukan Bilangan Faktorial
Hitunglah nilai faktorial dari angka yang dimasukkan pengguna. Contoh 4 Faktorial (4!) adalah 4 x 3 x 2 x 1 = 24.
Penyelesaian: Gunakan variabel hasil_faktorial dan beri nilai awal 1 (bukan 0, karena perkalian dengan 0 akan merusak hasil). Lakukan pengulangan mundur dari angka input N sampai angka 1. hasil_faktorial = hasil_faktorial * i. Jika input adalah 5, maka 1 x 5 x 4 x 3 x 2 x 1 = 120.
Soal 6 Pengulangan Berhenti dengan Kata Kunci (Sentinel)
Buatlah program yang meminta pengguna memasukkan kata secara terus menerus. Pengulangan akan berhenti hanya jika pengguna mengetik kata “selesai”.
Penyelesaian: Ini adalah kasus klasik untuk perulangan WHILE.
Python
kata = ""
while kata != "selesai":
kata = input("Masukkan kata (ketik 'selesai' untuk berhenti): ")
Pembahasan: Di sini WHILE lebih cocok karena kita tidak pernah tahu kapan pengguna akan merasa bosan dan mengetik kata “selesai”.
Soal 7 Membuat Pola Segitiga Bintang
Tampilkan pola bintang berikut untuk input N = 4: * **
Penyelesaian: Ini membutuhkan konsep Nested Loop atau pengulangan di dalam pengulangan. Loop pertama (luar) mengurus baris, loop kedua (dalam) mengurus jumlah bintang pada baris tersebut. FOR i dari 1 sampai N: FOR j dari 1 sampai i: Cetak "*" tanpa baris baru Cetak Baris Baru
Soal 8 Mengecek Bilangan Prima
Gunakan perulangan untuk mengecek apakah sebuah angka N adalah bilangan prima atau bukan.
Penyelesaian: Bilangan prima hanya habis dibagi 1 dan dirinya sendiri. Caranya, buat variabel hitung_pembagi = 0. Lakukan perulangan i dari 1 sampai N. Jika N sisa bagi i adalah 0 (N % i == 0), maka tambahkan hitung_pembagi. Di akhir pengulangan, jika hitung_pembagi hanya berjumlah 2, maka angka tersebut adalah prima.
Soal 9 Menghitung Rata Rata Data
Minta pengguna memasukkan N jumlah data, lalu minta input nilai sebanyak N kali. Hitunglah rata ratanya.
Penyelesaian: 1 Input N. 2 total_nilai = 0. 3 Loop i dari 1 sampai N: Input nilai. total_nilai = total_nilai + nilai. 4 rata_rata = total_nilai / N. 5 Cetak rata_rata.
Soal 10 Deret Fibonacci Sederhana
Tampilkan deret Fibonacci hingga suku ke N.
Penyelesaian: Deret Fibonacci dimulai dengan 0 dan 1. Angka berikutnya adalah jumlah dari dua angka sebelumnya. Siapkan a = 0, b = 1. Cetak a dan b. Gunakan perulangan dari 3 sampai N: c = a + b, cetak c, lalu pindahkan posisi a = b dan b = c.
Tips Menghindari Infinite Loop bagi Pemula
Satu masalah besar yang sering dihadapi pemula adalah Infinite Loop, yaitu pengulangan yang tidak pernah berhenti. Hal ini terjadi karena kondisi penghentian tidak pernah tercapai atau lupa menambahkan iterasi (seperti i = i + 1). Jika ini terjadi, aplikasi akan hang atau crash. Selalu pastikan variabel yang menjadi acuan kondisi selalu berubah nilainya di dalam blok pengulangan.
Kesimpulan
Menguasai algoritma pengulangan adalah kunci utama untuk menjadi programmer yang handal. Dengan latihan sepuluh soal di atas, Anda telah mempelajari pola dasar manipulasi data secara iteratif, penggunaan variabel penampung, hingga logika bersarang (nested loop). Teruslah berlatih dengan mengubah variabel atau mencoba kasus baru untuk mengasah ketajaman logika Anda.
Ingatlah bahwa dalam pemrograman, tidak ada cara tunggal untuk menyelesaikan masalah. Satu soal looping bisa diselesaikan dengan berbagai jenis perulangan tergantung kenyamanan dan efisiensi kode yang ingin dicapai.
Penulis:kiara salsabilla


Post Comment