Pengulangan (looping) dalam C# digunakan untuk mengeksekusi satu blok kode beberapa kali, tergantung pada kondisi tertentu. Bahasa C# menyediakan tiga jenis pengulangan utama:
- For Loop
- While Loop
- Do-While Loop
- Foreach Loop
1. For Loop
For loop digunakan ketika jumlah iterasi sudah diketahui sebelum eksekusi. Formatnya adalah:
for (initialization; condition; iteration) { // Statements }
Keterangan:
initialization
: Nilai awal dari variabel kontrol loop.condition
: Kondisi untuk melanjutkan eksekusi loop.iteration
: Perubahan nilai variabel kontrol setelah setiap iterasi.
Ketiga ekspresi dalam for tersebut harus dipisahkan dengan tanda titik koma (;) , dalam hal ini pernyataan bisa berupa tunggal maupun jamak.
Urutan proses pernyataan for bisa digambarkan seperti berikut :
Penggambaran dalam flowcart :
Contoh Program:
Menampilkan “Selamat Datang” sebanyak 10 kali:
using System; class Program { static void Main() { for (int i = 0; i < 10; i++) { Console.WriteLine("Selamat Datang"); } } }
Menampilkan angka dari 0 hingga 4 :
using System; class Program { static void Main() { for (int i = 0; i <= 4; i++) { Console.WriteLine(i); } } }
2. While Loop
While loop digunakan ketika jumlah iterasi tidak diketahui, tetapi kondisi untuk menghentikan loop dapat ditentukan. Formatnya adalah :
while (condition) { // Statements }
Keterangan:
condition
: Kondisi yang harus bernilaitrue
agar loop terus berjalan.
Flowchart untuk pernyataan while :
Contoh Program:
Menampilkan angka dari 1 hingga 10:
using System; class Program { static void Main() { int i = 1; while (i <= 10) { Console.WriteLine(i); i++; } } }
3. Do-While Loop
Do-while loop mirip dengan while loop, tetapi blok kode dijalankan setidaknya sekali sebelum kondisi diperiksa. Formatnya adalah:
do { // Statements } while (condition);
Keterangan:
condition
: Kondisi yang harus bernilaitrue
agar loop terus berjalan.
Contoh Program:
Menampilkan angka dari 1 hingga 10:
using System; class Program { static void Main() { int i = 1; do { Console.WriteLine(i); i++; } while (i <= 10); } }
4. Foreach Loop
Foreach adalah salah satu bentuk perulangan dalam C# yang memiliki konsep serupa dengan perulangan for. Namun, foreach dirancang khusus untuk iterasi elemen dalam sebuah koleksi atau array tanpa perlu menggunakan penghitung (counter).
Penggunaan foreach sangat ideal untuk mengambil semua elemen dari koleksi, seperti array, list, atau objek lainnya yang mendukung antarmuka IEnumerable. Karena iterasi dilakukan secara internal oleh foreach, kita tidak perlu repot menentukan indeks atau batas iterasi, sehingga penggunaannya menjadi lebih sederhana dan efisien.
Kelebihan Foreach :
- Sederhana: Tidak perlu mendefinisikan variabel penghitung seperti pada for loop.
- Efisien: Sangat cepat untuk mengambil semua elemen dari koleksi.
- Meminimalkan Kesalahan: Mengurangi kemungkinan kesalahan saat menentukan batas iterasi atau indeks.
Kekurangan Foreach :
- Tidak Mendukung Akses Berdasarkan Indeks: Foreach tidak memungkinkan kita langsung mengakses elemen pada indeks tertentu.
- Hanya Membaca Data: Elemen yang diakses menggunakan foreach bersifat read-only (hanya untuk dibaca) sehingga tidak dapat dimodifikasi langsung dalam loop.
Struktur Foreach dalam C#
Sintaks dasar dari perulangan foreach adalah:
foreach (tipe_data nama_variabel in nama_koleksi) { // Pernyataan untuk setiap elemen dalam koleksi }
Contoh Penggunaan Foreach
Contoh 1: Iterasi Elemen pada Array
Berikut adalah contoh sederhana bagaimana foreach digunakan untuk mengakses elemen-elemen dalam sebuah array.
using System; class Program { static void Main(string[] args) { // Mendeklarasikan array string string[] stringArray = { "satu", "dua", "tiga" }; // Menggunakan foreach untuk mencetak setiap elemen array foreach (string element in stringArray) { Console.WriteLine(element); } // Menunggu input sebelum menutup program Console.Read(); } }
Output :
satu
dua
tiga
Contoh 2: Iterasi Elemen pada List
Selain array, foreach juga dapat digunakan untuk koleksi seperti List.
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { // Mendeklarasikan List List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; // Menggunakan foreach untuk mencetak elemen List foreach (int number in numbers) { Console.WriteLine($"Angka: {number}"); } Console.Read(); } }
Output :
Angka: 1
Angka: 2
Angka: 3
Angka: 4
Angka: 5
Kapan Menggunakan Foreach?
- Mengakses Semua Elemen Koleksi
Gunakan foreach saat kita ingin membaca semua elemen dari sebuah koleksi tanpa memodifikasinya. - Iterasi pada Koleksi yang Tidak Mendukung Indeks
Jika kita bekerja dengan koleksi seperti HashSet atau Dictionary, di mana elemen tidak memiliki indeks yang jelas, foreach adalah pilihan yang tepat. - Meningkatkan Keterbacaan Kode
Foreach memberikan sintaks yang lebih sederhana dan rapi dibandingkan for loop, terutama saat bekerja dengan koleksi yang besar.
Perbedaan Foreach dan For
Aspek | Foreach | For |
---|---|---|
Akses Indeks | Tidak mendukung akses langsung ke indeks. | Mendukung akses elemen berdasarkan indeks. |
Kegunaan | Ideal untuk membaca semua elemen koleksi. | Lebih fleksibel untuk operasi berbasis indeks. |
Kesederhanaan | Lebih sederhana dan bersih untuk iterasi. | Memerlukan lebih banyak kontrol manual. |
Ringkasan Perbedaan Jenis Loop di C#
Loop Type | Pemeriksaan Kondisi | Jumlah Minimum Iterasi | Kegunaan Utama |
---|---|---|---|
For | Di awal | 0 | Digunakan ketika jumlah iterasi diketahui sebelumnya. |
While | Di awal | 0 | Cocok untuk iterasi dengan kondisi yang tidak pasti (berhenti berdasarkan kondisi). |
Do-While | Di akhir | 1 | Digunakan ketika setidaknya satu iterasi harus dilakukan sebelum memeriksa kondisi. |
Foreach | Iterasi otomatis | Berdasarkan jumlah elemen | Digunakan untuk membaca semua elemen dalam koleksi tanpa memerlukan indeks atau kondisi manual. |
Dengan menggunakan pengulangan, kode program menjadi lebih efisien dan lebih mudah dipahami. Kita dapat memilih jenis loop yang sesuai dengan kebutuhan berdasarkan jumlah iterasi dan lokasi pemeriksaan kondisi.
Be the first to comment