Menu
CoddyTech

Operator Modulo

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

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

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

Sebagai 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 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 bekerja dengan angka floating-point (double) di C++, kamu tidak dapat menggunakan operator modulo % secara langsung. Sebagai gantinya, kamu perlu menggunakan fungsi fmod() dari library <cmath>. Fungsinya mirip dengan operator modulo, tetapi mempertahankan presisi desimal. Contohnya:

#include <cmath>

double result = fmod(5.2, 2.0);
// result bernilai 1.2

Begini cara kerjanya: 2.0 masuk ke 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

Saat pembagi lebih besar daripada yang dibagi, hasilnya sama dengan yang dibagi. Ini berlaku untuk % dan fmod().

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

Mengapa? Pembagi muat 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 (berturut-turut).

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 pembagi 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