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
Artikel ini dibaca sebanyak 1.384 kali
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full h-auto rounded-xl border border-white dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
/>
SAWERIA
Memuat komentar...