Menu
CoddyTech

Operator Modulo

Termasuk bagian Dasar-Dasar dalam perjalanan C++ di Coddy. Pelajaran 17 dari 74.

Operator modulo % menghasilkan sisa pembagian. Dalam C++, operator ini digunakan dengan sintaks sederhana:

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

Contoh:

result = 10 % 3;

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

Biasanya modulo digunakan untuk memeriksa apakah suatu angka genap atau ganjil:

  • Jika suatu angka genap, membaginya dengan 2 akan menghasilkan sisa 0.
  • Jika suatu angka ganjil, membaginya dengan 2 akan menghasilkan sisa 1.

Saat bekerja dengan bilangan floating-point (double) di C++, kamu tidak bisa menggunakan operator modulo % secara langsung. Sebagai gantinya, kamu perlu menggunakan fungsi fmod() dari library <cmath>. Fungsi ini bekerja mirip dengan operator modulo, tetapi mempertahankan presisi desimal. Contohnya:

#include <cmath>

double result = fmod(5.2, 2.0);
// nilai result adalah 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).

Contoh lainnya:

double result = fmod(7.8, 3.5);
// result bernilai 0.8

Ketika pembagi lebih besar daripada bilangan yang dibagi, hasilnya sama dengan bilangan yang dibagi. Hal ini berlaku untuk % dan fmod().

5 % 10 = 5
3 % 7 = 3
fmod(2.5, 8.0) = 2.5

Mengapa? Pembagi muat sebanyak nol kali, jadi seluruh bilangan yang dibagi menjadi sisanya.

challenge icon

Tantangan

Pemula

Tulis kode yang menginisialisasi tiga variabel, a (int), b (double), dan c (int) dengan nilai 9, 2.6, dan 11 (secara berurutan).

Setelah itu, inisialisasi variabel berikut:

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

Lihat hasilnya dan amati bagaimana pembilang dan penyebut yang berbeda memengaruhi hasil.

Coba sendiri

#include <iostream>
#include <cmath>

int main() {
    // Ketik kodemu di bawah ini
    
    
    // Jangan ubah baris di bawah ini
    std::cout << "a = " << a << std::endl;
    std::cout << "b = " << b << std::endl;
    std::cout << "c = " << c << std::endl;
    std::cout << "d = " << d << std::endl;
    std::cout << "e = " << e << std::endl;
    std::cout << "f = " << f << std::endl;
    std::cout << "g = " << g << std::endl;
    std::cout << "h = " << h << std::endl;
    return 0;
}
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler C++ online