Kalkulator Modulo
Operasi modulo (atau “mod”) mengembalikan sisa setelah pembagian bilangan bulat: 17 mod 5 = 2 karena 17 = 3·5 + 2. Operasi ini merupakan inti dari aritmetika jam, kriptografi, fungsi hash, serta pola “setiap baris ke-N” dalam SQL. Kalkulator ini menerima operan bilangan bulat atau desimal, menampilkan hasil bagi dan sisa secara eksplisit, serta menangani perbedaan konvensi tanda antar bahasa pemrograman (% di Python ≠ % di C untuk bilangan negatif).
Cara menghitung a mod b
-
1
Masukkan bilangan yang dibagi (a) dan pembagi (b)
Angka apa pun; desimal dan nilai negatif diperbolehkan.
-
2
Pilih konvensi tanda
Pembagian pemotongan (C, Java, Go), pembagian pembulatan ke bawah (Python, Ruby, konvensi matematika).
-
3
Baca hasil bagi dan sisa
a = q·b + r, dengan aturan yang dipilih untuk tanda dari r.
-
4
Lihat ekspresi matematisnya
Nilai yang disubstitusikan membuat setiap langkah terlihat jelas.
Dua konvensi untuk bilangan negatif
Untuk operan positif, semua konvensi sepakat: 17 mod 5 = 2. Untuk bilangan negatif, bahasa pemrograman berbeda-beda:
| Bahasa | -17 mod 5 |
Konvensi |
|---|---|---|
| Python, Ruby | 3 | Pembulatan ke bawah |
| C, Java, Go, JS | -2 | Pemotongan |
| Buku pelajaran matematika | 3 | Pembulatan ke bawah (biasanya) |
Pembagian pembulatan ke bawah: hasil bagi dibulatkan ke arah −∞. Sisa selalu bertanda sama dengan pembagi: sama tanda dengan b.
Pembagian pemotongan: hasil bagi dibulatkan ke arah nol. Sisa bertanda sama dengan bilangan yang dibagi: sama tanda dengan a.
Untuk a = -17, b = 5:
- Pemotongan: q = -3 (dibulatkan ke arah 0), r = -17 − (-3)·5 = -2.
- Pembulatan ke bawah: q = -4 (dibulatkan ke arah -∞), r = -17 − (-4)·5 = 3.
Keduanya benar sesuai konvensinya. Pilih yang cocok dengan bahasa Anda.
Di mana modulo muncul
- Waktu. Menit dalam satu jam, hari dalam seminggu, detik dalam sehari, semuanya aritmetika modulo.
- Tabel hash.
hash(key) mod table_sizememilih sebuah bucket. - Penjadwalan round-robin.
task_i mod worker_countmenugaskan pekerjaan. - Kriptografi. RSA dan Diffie-Hellman dibangun di atas mod
ndengan bilangan prima yang sangat besar. - Setiap baris ke-N. Dalam SQL:
WHERE id % 3 = 0. - Pemeriksaan genap/ganjil.
n mod 2 == 0berarti genap. - Pola bergantian. Garis-garis baris, mewarnai setiap elemen secara selang-seling.
- Buffer sirkular.
(index + 1) mod sizeberputar kembali ke awal.
Identitas yang berguna
(a + b) mod n = ((a mod n) + (b mod n)) mod n(a · b) mod n = ((a mod n) · (b mod n)) mod n(a^k) mod ndapat dihitung dengan eksponensiasi modular cepat dalam O(log k), penting untuk kriptografi bilangan besar.a mod 1 = 0untuk setiap bilangan bulat a.a mod a = 0.
Modulo desimal
Untuk bilangan riil, definisi alaminya adalah a mod b = a − b · floor(a/b). 7.5 mod 2.5 = 0 karena 7,5 adalah kelipatan tepat. 7.6 mod 2.5 = 0.1.
Operator % di JavaScript bekerja pada bilangan riil; fmod di Python melakukan modulo riil dengan pemotongan; % di Python melakukan modulo riil dengan pembulatan ke bawah.
Contoh terselesaikan
100 mod 7: 100 = 14·7 + 2, sehingga sisanya 2.25 mod 4: 25 = 6·4 + 1, sehingga sisanya 1.-10 mod 3(pembulatan ke bawah):-10 = -4·3 + 2, sisa 2. (Pemotongan akan menghasilkan-1.)17.5 mod 5: 17,5 = 3·5 + 2,5, sisa 2,5.
Pertanyaan yang Sering Diajukan
Sebagian besar waktu keduanya bersinonim. Secara formal, “modulo” sering menyiratkan konvensi matematis (pembulatan ke bawah), sedangkan “remainder” (sisa) sering merujuk pada varian pemotongan (gaya C). Nama-nama ini terbawa ke dalam dokumentasi bahasa; jika penting, sebutkan konvensinya secara eksplisit.
Python mengikuti konvensi matematis (pembulatan ke bawah), yang menjaga tanda sisa sesuai dengan pembagi. C mengikuti konvensi ALU perangkat keras (pemotongan), di mana tanda sisa sesuai dengan bilangan yang dibagi. Tidak ada yang salah; keduanya hanyalah pilihan yang berbeda.
Tidak, pembagian dengan nol tidak terdefinisi. Kalkulator mengembalikan kesalahan untuk b = 0.
Biasanya, ya. Periksa spesifikasi bahasa Anda untuk penanganan bilangan negatif, Python dan Ruby berbeda dari C, Java, Go, dan JavaScript.
Untuk matematika gaya RSA dengan bilangan 2048-bit, gunakan pustaka khusus (pow(a, b, n) di Python, BigInteger.modPow di Java). Kalkulator ini menangani nilai sehari-hari, bukan nilai tingkat kriptografi.
Alat Terkait
Kalkulator Parlay
Gabungkan odds desimal, Amerika, atau pecahan, lalu hitung probabilitas tersirat harga, imbal hasil kotor, dan potensi profit satu parlay.
Kalkulator Durasi Waktu
Hitung durasi antara dua jam dalam HH:MM, jam desimal, menit, dan detik.
Kalkulator Menit dari Sekarang
Hitung waktu jam yang tepat dalam durasi N menit dari sekarang. Mengatasi perpindahan hari, tampilan 12–24 jam, serta berbagai zona waktu.
Kalkulator Pelunasan KPR
Hitung perkiraan bulan pelunasan KPR dan bunga yang bisa dihemat dengan menambah pembayaran pokok bulanan.
Kalkulator Biaya Listrik
Hitung biaya operasional setiap peralatan berdasarkan daya (dalam watt), jam penggunaan per hari, dan tarif kWh Anda, dengan detail perhitungan harian, bulanan, dan tahunan.
Kalkulator Zodiak
Masukkan tanggal lahir Anda untuk menemukan zodiak matahari Barat (lengkap dengan elemen dan glyph) dan shio Tionghoa beserta elemen terkaitnya.
Alat ini tersedia dalam bahasa lain
- Máy tính modulo [VI]
- Modulokalkylator [SV]
- 모듈로 계산기 [KO]
- Calculateur de Modulo [FR]
- Modulo-calculator [NL]
- Modulo-Rechner [DE]
- เครื่องคำนวณโมดูโล (Modulo) [TH]
- Calculadora de Módulo [PT]
- Calculadora de Módulo [ES]
- Kalkulator modulo [PL]
- حاسبة باقي القسمة (Modulo) [AR]
- 剰余計算機 [JA]
- Modulo Calculator [EN]
- Calcolatore Modulo [IT]
- Калькулятор остатка от деления [RU]
- Modulo Hesaplayıcı [TR]
- 取模计算器 [ZH]