Lewati ke isi
JRG++JRG++ v0.2.0

Bab 3 · Aritmatika Dasar

Perkalian & Pembagian

Perkalian adalah "penjumlahan berulang yang dipercepat". Pembagian punya satu konsep tersembunyi yang sangat sering dipakai dalam pemrograman: sisa bagi.

KonsepPerkalian sebagai penjumlahan berulang

4 × 3 = 3 + 3 + 3 + 3 = 12
"4 kelompok berisi 3" atau "3 kelompok berisi 4" — hasilnya selalu sama (komutatif)

Sama seperti penjumlahan, perkalian juga komutatif (a×b=b×a), asosiatif ((a×b)×c=a×(b×c)), dan punya identitas — tapi identitasnya adalah 1, bukan 0, karena a × 1 = a.

Pembagian: hasil bagi vs sisa bagi

Ketika 17 dibagi 5, hasilnya bukan bilangan bulat rapi. Ada dua cara memandangnya:

Pembagian biasa17 ÷ 5 = 3.4
Hasil bagi (quotient)17 ÷ 5 = 3 sisa 2
Sisa bagi (modulo)17 mod 5 = 2

Sisa bagi (modulo) adalah "apa yang tersisa" setelah dibagi rata sebanyak mungkin. Ini konsep yang akan terus kamu pakai — untuk cek genap/ganjil, membagi giliran, mengatur jam (24 jam berulang), dan banyak lagi.

17 mod 5 = 2
5 masuk ke 17 sebanyak 3 kali (=15)
Sisanya: 17 − 15 = 2
Latihan mandiri

1. Berapa hasil bagi dan sisa bagi dari 29 ÷ 6?

2. Apakah 234 adalah bilangan genap? Bagaimana cara cek pakai modulo?

Jawaban 1: Hasil bagi = 4, sisa = 5 (karena 6×4=24, 29−24=5)
Jawaban 2: Genap. 234 mod 2 = 0 → kalau sisa bagi 2 adalah 0, berarti genap.

Kode JRGOperator % untuk cek genap-ganjil

Di JRG (seperti kebanyakan bahasa pemrograman), simbol modulo adalah %. Ini salah satu operator paling sering dipakai — jauh lebih sering daripada kelihatannya di kelas matematika.

genap_ganjil.jrg
fn cekGenap(n: int) -> bool {
    return n % 2 == 0
}

pub fn main() {
    let angka = 234
    let hasilBagi = angka / 6
    let sisaBagi = angka % 6

    wok(angka, "/ 6 = ", hasilBagi, "sisa", sisaBagi)
    wok("Apakah genap?", cekGenap(angka))
}
234 / 6 =  39 sisa 0
Apakah genap? true

Kuis 1

Berapa hasil dari 22 mod 7?

Kuis 2

Kenapa 9 × 6 = 54 bisa dihitung cepat sebagai "5, 4"?

Kuis 3

Apa yang terjadi kalau kita membagi dengan 0?