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.2Begini 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.8Saat 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.5Mengapa? Pembagi muat nol kali, jadi seluruh bilangan yang dibagi menjadi sisanya.
Tantangan
PemulaTulis 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 moduloadengan2e (int)yang akan menyimpan hasil moduloadengan3f (double)yang akan menyimpan hasil modulobdengan1.5g (double)yang akan menyimpan hasil modulobdengan3.9h (int)yang akan menyimpan hasil modulocdengan10
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;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloIncrement/DecrementPost Increment/DecrementPintasan AritmetikaOperator PerbandinganPerbandingan String7Dasar-Dasar Input dan Output
Pernyataan coutPernyataan cinInput stringUlasan: Hingga 120Ulasan: Benar atau Salah3Variabel Bagian 2
Deklarasi TipeKonvensi PenamaanUlasan: Inisialisasi VariabelKonversi Tipe Bagian 1Konversi Tipe Bagian 26Pengambilan Keputusan
Pernyataan ifIf - ElsePernyataan switchOperator PercabanganRingkasan - If ElseIf - Else BersarangLatihan sendiri: Compiler C++ online