Halo teman-teman semuanya, setelah sebelumnya kita belajar tentang variabel, mutability, konstanta, dan shadowing di Rust, pada artikel kali ini kita akan membahas tentang operator.
Operator adalah simbol khusus yang digunakan untuk melakukan operasi terhadap nilai atau variabel, mulai dari perhitungan matematika, perbandingan antar nilai, logika boolean, manipulasi bit, hingga pembuatan range. Dengan memahami operator, kita bisa menulis ekspresi yang lebih kompleks dan logika program yang lebih kuat.
Rust sendiri mendukung berbagai jenis operator yang mirip dengan bahasa pemrograman lain seperti C, C++, atau Java, tetapi dengan aturan yang lebih aman karena dicek saat compile time. Mari kita bahas satu per satu.
Operator Aritmatika
Operator |
Contoh |
Penjelasan |
+ |
a + b |
Menjumlahkan dua nilai |
- |
a - b |
Mengurangi nilai kiri dengan nilai kanan |
* |
a * b |
Mengalikan dua nilai |
/ |
a / b |
Membagi nilai kiri dengan nilai kanan |
% |
a % b |
Menghasilkan sisa bagi dari pembagian |
fn main() {
let a = 10;
let b = 3;
println!("Penjumlahan: {}", a + b);
println!("Pengurangan: {}", a - b);
println!("Perkalian: {}", a * b);
println!("Pembagian: {}", a / b);
println!("Modulo: {}", a % b);
}
Operator Perbandingan
Operator |
Contoh |
Penjelasan |
== |
x == y |
Sama dengan |
!= |
x != y |
Tidak sama dengan |
< |
x < y |
Lebih kecil dari |
> |
x > y |
Lebih besar dari |
<= |
x <= y |
Lebih kecil atau sama dengan |
>= |
x >= y |
Lebih besar atau sama dengan |
fn main() {
let x = 5;
let y = 10;
println!("x == y: {}", x == y);
println!("x != y: {}", x != y);
println!("x < y: {}", x < y);
println!("x > y: {}", x > y);
println!("x <= y: {}", x <= y);
println!("x >= y: {}", x >= y);
}
Operator Logika
Operator |
Contoh |
Penjelasan |
&& |
a && b |
Logika AND (dan) |
|| |
a || b |
Logika OR (atau) |
! |
!a |
Logika NOT (kebalikan) |
fn main() {
let a = true;
let b = false;
println!("a AND b: {}", a && b);
println!("a OR b: {}", a || b);
println!("NOT a: {}", !a);
}
Operator Penugasan
Operator |
Contoh |
Penjelasan |
= |
x = 5 |
Memberikan nilai ke variabel |
+= |
x += 3 |
Menambahkan nilai ke variabel (x = x + 3 ) |
-= |
x -= 2 |
Mengurangi nilai variabel (x = x - 2 ) |
*= |
x *= 2 |
Mengalikan nilai variabel (x = x * 2 ) |
/= |
x /= 2 |
Membagi nilai variabel (x = x / 2 ) |
%= |
x %= 2 |
Mengambil sisa bagi (x = x % 2 ) |
fn main() {
let mut x = 5;
x += 3;
x *= 2;
println!("Nilai x: {}", x);
}
Operator Bitwise
Operator |
Contoh |
Penjelasan |
& |
a & b |
AND bit |
| |
a | b |
|
^ |
a ^ b |
XOR bit |
<< |
a << 1 |
Geser bit ke kiri |
>> |
b >> 1 |
Geser bit ke kanan |
fn main() {
let a = 0b1010; // 10
let b = 0b1100; // 12
println!("AND: {:b}", a & b);
println!("OR: {:b}", a | b);
println!("XOR: {:b}", a ^ b);
println!("Shift Left: {:b}", a << 1);
println!("Shift Right: {:b}", b >> 2);
}
Operator Range
Operator |
Contoh |
Penjelasan |
.. |
1..5 |
Range eksklusif (dari 1 sampai sebelum 5) |
..= |
1..=5 |
Range inklusif (dari 1 sampai 5, termasuk 5) |
fn main() {
for i in 1..5 {
println!("Eksklusif: {}", i);
}
for i in 1..=5 {
println!("Inklusif: {}", i);
}
}
Kesimpulan
Pada artikel ini kita sudah belajar berbagai macam operator di Rust .Operator ini menjadi dasar untuk menulis ekspresi dan logika program. Pada artikel berikutnya, kita akan membahas tentang Control Flow di Rust, yaitu bagaimana mengatur alur eksekusi program dengan if
, match
, loop
, dan sebagainya.
Terima Kasih