Dalam tutorial ini, Anda akan mempelajari tentang operator sisa bagi (%) pada JavaScript untuk mendapatkan sisa pembagian suatu angka dengan angka lain.
Pengantar Operator Sisa Bagi pada JavaScript JavaScript menggunakan simbol % untuk merepresentasikan operator sisa bagi. Operator sisa bagi mengembalikan sisa pembagian suatu nilai dengan nilai lainnya.
Berikut adalah sintaks dari operator sisa bagi:
dividen % divisor
Berikut adalah persamaan untuk sisa bagi:
dividen = divisor * quotient + remainder
where |remainder| < |divisor|
Dalam persamaan ini, dividen, divisor, quotient, dan remainder semuanya berupa bilangan bulat. Tanda dari sisa bagi sama dengan tanda dari dividen.
Contoh Penggunaan Operator Sisa Bagi pada JavaScript Mari kita lihat beberapa contoh penggunaan operator sisa bagi pada JavaScript.
1. Menggunakan operator sisa bagi dengan contoh dividen positif
Berikut adalah contoh penggunaan operator sisa bagi dengan dividen positif:
let remainder = 5 % -2;
console.log(remainder); // 1
remainder = 5 % 2;
console.log(remainder); // 1
2. Menggunakan operator sisa bagi dengan contoh dividen negatif
Berikut adalah contoh penggunaan operator sisa bagi dengan dividen negatif:
let remainder = -5 % 3;
console.console.log(remainder); // -2
remainder = -5 % -3;
console.log(remainder); // -2
3. Menggunakan nilai khusus pada operator sisa bagi
Jika dividen adalah Infinity dan divisor adalah angka terbatas, sisa bagi adalah NaN. Contoh:
let remainder = Infinity % 2;
console.log(remainder); // NaN
Jika dividen adalah angka terbatas dan divisor adalah nol, sisa bagi adalah NaN:
let remainder = 10 % 0;
console.log(remainder); // NaN
Jika kedua dividen dan divisor adalah Infinity, sisa bagi adalah NaN:
let remainder = Infinity % Infinity;
console.log(remainder); // NaN
Jika dividen adalah angka terbatas dan divisor adalah Infinity, sisa bagi adalah dividen. Contoh:
let remainder = 10 % Infinity;
console.log(remainder); // 10
Jika dividen adalah nol dan divisor bukan nol, sisa bagi adalah nol:
let remainder = 0 % 10;
console.log(remainder); // 0
Jika salah satu dari dividen atau divisor bukan angka, keduanya dikonversi menjadi angka menggunakan fungsi Number() dan aturan di atas diterapkan. Contoh:
let remainder = '10' % 3;
console.log(remainder); // 1
Menggunakan Operator Sisa Bagi untuk Memeriksa Bilangan Ganjil
Untuk memeriksa apakah suatu angka adalah bilangan ganjil, Anda menggunakan operator sisa bagi (%) seperti contoh berikut:
let num = 13;
let isOdd = num % 2;
Pada contoh ini, jika num adalah bilangan ganjil, sisa bagi adalah satu. Tetapi jika num adalah bilangan genap, sisa bagi adalah nol.
Selanjutnya, Anda akan belajar cara mendefinisikan fungsi yang mengembalikan true jika suatu angka ganjil atau false sebaliknya seperti ini:
function isOdd(num) {
return num % 2;
}
Atau menggunakan fungsi arrow dalam ES6:
const isOdd = (num) => num % 2;
Operator Sisa Bagi vs. Operator Modulo
Dalam JavaScript, operator sisa bagi (%) bukanlah operator modulo.
Jika Anda telah bekerja dengan Python, mungkin Anda menemukan bahwa % mewakili operator modulo dalam bahasa ini. Namun, hal ini tidak berlaku dalam JavaScript.
Untuk mendapatkan modulo di JavaScript, Anda menggunakan ekspresi berikut:
((dividen % divisor) + divisor) % divisor
Atau bungkus dalam suatu fungsi:
const mod = (dividen, divisor) => ((dividen % divisor) + divisor) % divisor;
Jika pembagian dan divisor memiliki tanda yang sama, operator sisa bagi dan modulo mengembalikan hasil yang sama. Sebaliknya, mereka mengembalikan hasil yang berbeda.
Contoh:
const mod = (dividen, divisor) => ((dividen % divisor) + divisor) % divisor;
// dividen dan divisor memiliki tanda yang sama
console.log('sisa bagi:', 5 % 3); // 2
console.log('modulo:', mod(5, 3)); // 2
// dividen dan divisor memiliki tanda yang berbeda
console.log('sisa bagi:', -5 % 3); // -2
console.log('modulo:', mod(-5, 3)); // 1
Output:
sisa bagi: 2
modulo: 2
sisa bagi: -2
modulo: 1
Ringkasan
Gunakan operator sisa bagi (%) pada JavaScript untuk mendapatkan sisa pembagian suatu nilai dengan nilai lainnya.