Menu
CoddyTech

Operator Modulo

Termasuk bagian Dasar-Dasar dalam perjalanan Rust di Coddy. Pelajaran 16 dari 75.

Operator modulo % menghasilkan sisa pembagian. Di Rust, operator ini digunakan dengan sintaks sederhana:

let result = dividend % divisor;
  • dividend: Bilangan yang dibagi.
  • divisor: Bilangan yang membagi dividend.
  • result: Sisa dari pembagian.

Sebagai contoh:

let result = 10 % 3;

Di sini, 10 dibagi 3. 3 masuk ke dalam 10 sebanyak tiga kali, dengan sisa 1. Jadi, result akan bernilai 1.

Jika bilangan yang dibagi lebih kecil daripada pembagi, pembagi masuk sebanyak nol kali, sehingga sisanya adalah bilangan yang dibagi itu sendiri: 2 % 9 bernilai 2.

Biasanya, modulo digunakan untuk memeriksa apakah suatu bilangan genap atau ganjil:

  • Jika suatu bilangan genap, membaginya dengan 2 akan menghasilkan sisa 0.
  • Jika suatu bilangan ganjil, membaginya dengan 2 akan menghasilkan sisa 1, atau -1 jika bilangannya negatif.

Saat menggunakan modulo dengan angka floating-point (f64), cara kerjanya mirip dengan bilangan bulat, dan sisanya dapat memiliki bagian desimal. Contohnya:

let result: f64 = 5.2 % 2.0;
// result bernilai sekitar 1.2

Begini cara kerjanya: 2.0 masuk ke dalam 5.2 sebanyak dua kali (4.0), dan sisanya adalah 1.2 (5.2 - 4.0 = 1.2). f64 tidak dapat menyimpan 5.2 dengan tepat, jadi mencetak result menampilkan 1.2000000000000002.

Contoh lainnya:

let result: f64 = 7.8 % 3.5;
// result bernilai sekitar 0.8 (menampilkan 0.7999999999999998)
challenge icon

Tantangan

Pemula

Tulis kode untuk menginisialisasi tiga variabel, a (i32), b (f64), dan c (i32) dengan nilai 9, 2.6, dan 11 (masing-masing).

Setelah itu, inisialisasi variabel-variabel berikut:

  • d (i32) yang akan menyimpan hasil modulo a dengan 2 
  • e (i32) yang akan menyimpan hasil modulo a dengan 3
  • f (f64) yang akan menyimpan hasil modulo b dengan 1.5
  • g (f64) yang akan menyimpan hasil modulo b dengan 3.9
  • h (i32) yang akan menyimpan hasil modulo c dengan 10

Lihat hasilnya dan perhatikan bagaimana pembilang dan penyebut yang berbeda memengaruhi hasilnya.

Coba sendiri

fn main() {
    // Ketik kodemu di bawah ini
    
    
    // Jangan ubah baris di bawah ini
    println!("a = {}", a);
    println!("b = {}", b);
    println!("c = {}", c);
    println!("d = {}", d);
    println!("e = {}", e);
    println!("f = {}", f);
    println!("g = {}", g);
    println!("h = {}", h);
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Rust online