Dalam dunia pemrograman dan analisis sistem, flowchart atau bagan alir merupakan alat komunikasi visual yang sangat krusial. Salah satu konsep paling mendasar namun sering kali menantang bagi pemula adalah perulangan atau looping. Artikel ini akan membahas secara tuntas berbagai contoh soal flowchart perulangan, mulai dari tingkat dasar hingga kompleks, lengkap dengan logika di balik setiap simbolnya.
Baca juga: Kumpulan Contoh Soal Enkripsi dan Dekripsi Lengkap dengan Pembahasan
Memahami Konsep Perulangan dalam Flowchart
Perulangan adalah sebuah struktur instruksi dalam algoritma yang memungkinkan sekumpulan perintah dijalankan secara berulang-ulang selama kondisi tertentu terpenuhi. Dalam flowchart, perulangan biasanya ditandai dengan adanya jalur balik (loop back) ke langkah sebelumnya berdasarkan hasil dari simbol keputusan (decision).
Ada tiga komponen utama yang wajib ada dalam sebuah flowchart perulangan:
- Inisialisasi: Menentukan nilai awal variabel pencacah (counter).
- Kondisi: Pernyataan logika yang diperiksa (menggunakan simbol belah ketupat).
- Iterasi: Perubahan nilai variabel (increment atau decrement) agar perulangan tidak berjalan selamanya (infinite loop).
Jenis Struktur Perulangan yang Sering Muncul
Sebelum masuk ke contoh soal, penting untuk mengenali dua struktur utama perulangan:
- Perulangan While (Entry-Controlled): Kondisi diperiksa di awal. Jika kondisi salah sejak awal, instruksi di dalam perulangan tidak akan pernah dijalankan.
- Perulangan Do-While atau Repeat-Until (Exit-Controlled): Instruksi dijalankan setidaknya satu kali, baru kemudian kondisi diperiksa di akhir.
Contoh Soal 1: Menampilkan Angka 1 Sampai 10
Ini adalah soal paling dasar untuk memahami bagaimana counter bekerja dalam sebuah bagan alir.
Pertanyaan: Buatlah flowchart untuk mencetak angka dari 1 hingga 10 secara berurutan.
Logika Penyelesaian:
- Mulai (Start).
- Inisialisasi variabel angka = 1.
- Cek apakah angka <= 10.
- Jika Ya, cetak angka tersebut.
- Tambahkan nilai angka sebanyak 1 (angka = angka + 1).
- Kembali ke langkah pengecekan kondisi.
- Jika Tidak (angka > 10), selesai (End).
Penjelasan: Pada contoh ini, titik kritis terletak pada simbol decision. Jika Anda lupa menambahkan proses increment (angka + 1), maka program akan mencetak angka 1 terus-menerus tanpa henti.
Contoh Soal 2: Menghitung Jumlah Deret Angka
Soal ini setingkat lebih sulit karena melibatkan akumulasi nilai dalam sebuah variabel.
Pertanyaan: Buatlah flowchart untuk menghitung jumlah total dari deret bilangan 1 + 2 + 3 + … + N, di mana N adalah input dari pengguna.
Jawaban Logika:
- Input nilai N.
- Inisialisasi i = 1 dan total = 0.
- Apakah i <= N?
- Jika Ya:
- total = total + i
- i = i + 1
- Kembali ke pengecekan i <= N.
- Jika Tidak:
- Cetak total.
- Selesai.
Penjelasan: Variabel “total” berfungsi sebagai wadah penampung. Setiap kali perulangan berjalan, nilai i yang baru akan ditambahkan ke nilai total yang sudah ada sebelumnya.
Contoh Soal 3: Menampilkan Bilangan Genap
Perulangan sering kali dikombinasikan dengan struktur percabangan (IF) untuk memfilter data.
Pertanyaan: Tampilkan semua bilangan genap antara 1 sampai 20.
Logika Penyelesaian:
- Inisialisasi bil = 1.
- Apakah bil <= 20?
- Jika Ya:
- Apakah bil modulo 2 == 0? (Cek apakah sisa bagi dengan 2 adalah nol).
- Jika Ya: Cetak bil.
- Jika Tidak: Lewati (langsung ke increment).
- bil = bil + 1.
- Kembali ke langkah 2.
- Jika Tidak: Selesai.
Metode Alternatif yang Lebih Efisien: Anda bisa memulai bil = 2 dan melakukan increment bil = bil + 2. Ini akan menghilangkan kebutuhan untuk mengecek kondisi IF di dalam perulangan.
Contoh Soal 4: Menghitung Nilai Faktorial
Faktorial adalah perkalian beruntun yang sering digunakan dalam soal-soal logika matematika di sekolah maupun tes masuk kerja IT.
Pertanyaan: Buatlah algoritma flowchart untuk menghitung N faktorial (N!). Contoh: 5! = 5 x 4 x 3 x 2 x 1 = 120.
Logika Penyelesaian:
- Input bilangan N.
- Inisialisasi faktorial = 1 dan i = 1.
- Apakah i <= N?
- Jika Ya:
- faktorial = faktorial * i
- i = i + 1
- Kembali ke langkah 3.
- Jika Tidak:
- Cetak faktorial.
- Selesai.
Penjelasan: Berbeda dengan penjumlahan deret, pada faktorial kita memulai variabel penampung dengan angka 1. Jika dimulai dengan 0, maka hasil perkalian akan selalu nol.
Contoh Soal 5: Tabel Perkalian Spesifik
Soal ini melatih kemampuan flowchart dalam menangani input dinamis yang memengaruhi hasil perulangan.
Pertanyaan: Pengguna memasukkan sebuah angka (misalnya X). Program harus menampilkan tabel perkalian angka tersebut dari 1 hingga 10. Contoh input 5, output: 5, 10, 15… 50.
Logika Penyelesaian:
- Input X.
- Inisialisasi counter = 1.
- Apakah counter <= 10?
- Jika Ya:
- hasil = X * counter.
- Cetak hasil.
- counter = counter + 1.
- Kembali ke langkah 3.
- Jika Tidak: Selesai.
Contoh Soal 6: Perulangan dengan Kondisi Berhenti (Sentinel Value)
Kadang kita tidak tahu berapa kali perulangan akan terjadi. Perulangan akan berhenti hanya jika user memasukkan input tertentu.
Pertanyaan: Buatlah flowchart yang meminta input angka terus-menerus dan akan berhenti serta menjumlahkan semuanya hanya ketika user memasukkan angka 0.
Logika Penyelesaian:
- Inisialisasi jumlah = 0.
- Input angka.
- Apakah angka != 0?
- Jika Ya:
- jumlah = jumlah + angka.
- Kembali ke input angka.
- Jika Tidak:
- Cetak jumlah.
- Selesai.
Penjelasan: Ini adalah contoh “Infinite Loop” yang terkontrol. Angka 0 di sini disebut sebagai sentinel value atau nilai pemicu berhentinya program.
Contoh Soal 7: Konversi Suhu Berulang
Flowchart ini berguna untuk aplikasi praktis yang menawarkan pilihan kepada pengguna.
Pertanyaan: Buat flowchart untuk mengubah Celcius ke Fahrenheit. Setelah satu kali konversi, tanyakan kepada pengguna apakah ingin menghitung lagi (Y/T). Jika Y, ulangi proses. Jika T, keluar.
Logika Penyelesaian:
- Mulai.
- Input Celcius.
- Hitung Fahrenheit = (9/5 * Celcius) + 32.
- Cetak Fahrenheit.
- Input pilihan (“Apakah ingin mengulang? Y/T”).
- Apakah pilihan == ‘Y’ atau ‘y’?
- Jika Ya: Kembali ke langkah 2.
- Jika Tidak: Selesai.
Tips Menggambar Flowchart Perulangan yang Benar
Agar flowchart Anda mudah dibaca oleh orang lain atau rekan setim, perhatikan beberapa aturan standar berikut:
- Arah Aliran: Aliran utama harus dari atas ke bawah atau kiri ke kanan. Garis balik untuk perulangan biasanya ditarik dari bawah kembali ke atas (ke arah simbol decision atau sebelum inisialisasi).
- Simbol yang Tepat:
- Oval untuk Start/End.
- Jajar Genjang untuk Input/Output.
- Persegi Panjang untuk Proses (perhitungan).
- Belah Ketupat untuk Decision (kondisi perulangan).
- Label Garis: Selalu beri label “Ya/True” atau “Tidak/False” pada setiap garis yang keluar dari simbol decision. Ini adalah kesalahan yang paling sering dilakukan pemula.
- Hindari Persilangan Garis: Usahakan garis alir tidak saling tumpang tindih agar tidak membingungkan pembaca.
Baca juga: Rektor Universitas Teknokrat Indonesia Salurkan Donasi untuk Korban Bencana Sumatera melalui ICMI
Kesimpulan
Memahami flowchart perulangan adalah langkah awal yang sangat penting sebelum Anda menulis kode program dalam bahasa apa pun, baik itu Python, Java, C++, maupun PHP. Flowchart membantu Anda memetakan logika secara jernih, sehingga ketika terjadi kesalahan (bug), Anda dapat dengan mudah melacak di bagian mana logika tersebut meleset.
Latihlah kemampuan Anda dengan mencoba memodifikasi contoh-contoh di atas. Misalnya, cobalah membuat flowchart untuk mencari bilangan prima atau menampilkan deret Fibonacci. Semakin sering Anda berlatih memvisualisasikan logika perulangan, semakin tajam insting pemrograman Anda.
Penulis: Nabila


Post Comment