Halo teman-teman semuanya, setelah kita mempelajari tentang operator di Rust pada artikel sebelumnya, sekarang kita akan masuk ke salah satu konsep fundamental dalam pemrograman yaitu control flow.
Control flow adalah cara kita mengatur jalannya eksekusi program berdasarkan kondisi tertentu atau perulangan. Tanpa control flow, program hanya akan berjalan lurus dari atas ke bawah tanpa bisa mengambil keputusan atau mengulang blok kode.
Di Rust, ada beberapa cara utama untuk mengatur alur eksekusi:
- Percabangan (if/else) untuk menentukan jalur program berdasarkan kondisi.
- Perulangan (loop, while, for) untuk mengeksekusi kode berulang kali.
- Match expression yang sangat powerful untuk mencocokkan pola nilai.
Mari kita bahas satu per satu.
If / Else
if
digunakan untuk membuat keputusan berdasarkan kondisi boolean. Sama seperti bahasa lain, tetapi di Rust kondisi harus berupa boolean, tidak bisa angka seperti di C/C++.
fn main() {
let number = 7;
if number < 5 {
println!("Angka kurang dari 5");
} else if number == 5 {
println!("Angka sama dengan 5");
} else {
println!("Angka lebih dari 5");
}
}
Rust juga mendukung penggunaan if
sebagai expression, artinya bisa langsung mengembalikan nilai.
fn main() {
let age = 20;
let status = if age >= 18 { "Dewasa" } else { "Anak-anak" };
println!("Status: {}", status);
}
Loop
Rust memiliki keyword loop
untuk membuat perulangan tak terbatas sampai dihentikan dengan break
.
fn main() {
let mut count = 0;
loop {
count += 1;
println!("Hitungan: {}", count);
if count == 5 {
break;
}
}
}
Kita juga bisa menggunakan continue
untuk langsung lompat ke iterasi berikutnya.
While
while
digunakan jika kita ingin mengulang kode selama kondisi bernilai true
.
fn main() {
let mut number = 3;
while number > 0 {
println!("Countdown: {}", number);
number -= 1;
}
println!("Go!");
}
For
for
adalah cara yang paling sering digunakan untuk perulangan di Rust, biasanya bersama range atau koleksi.
fn main() {
for i in 1..5 {
println!("i: {}", i);
}
let arr = [10, 20, 30];
for value in arr {
println!("Nilai array: {}", value);
}
}
Match
match
adalah fitur powerful di Rust yang mirip dengan switch
di bahasa lain, tetapi jauh lebih fleksibel karena mendukung pattern matching.
fn main() {
let number = 2;
match number {
1 => println!("Satu"),
2 | 3 => println!("Dua atau Tiga"), // bisa pakai OR
4..=10 => println!("Antara 4 sampai 10"), // bisa range
_ => println!("Selain itu"), // default
}
}
match
sering digunakan karena membuat kode lebih jelas, aman, dan memaksa kita menangani semua kemungkinan nilai.
Kesimpulan
Pada artikel ini kita sudah mempelajari control flow di Rust, mulai dari percabangan dengan if/else
, perulangan dengan loop
, while
, dan for
, serta ekspresi match
yang sangat powerful.
Di artikel berikutnya, kita akan membahas tentang Function di Rust, yaitu bagaimana cara mendefinisikan fungsi, memberi parameter, dan mengembalikan nilai.
Terima Kasih