Bilangan Bulat: Operasi, Faktor Prima, FPB, dan KPK
Bilangan Dasar Komputasi
Jawaban singkat
Bilangan bulat adalah bilangan cacah beserta negatifnya: …,-3,-2,-1,0,1,2,3,…, ditulis ℤ. Kamu dapat menjumlahkan, mengurangkan, dan mengalikan dua bilangan bulat mana pun dan selalu mendapat bilangan bulat lagi, sedangkan pembagian dapat menyisakan sisa: 17=5·3+2. Bilangan bulat terletak pada garis bilangan, terbagi menjadi bilangan prima dan komposit, dan berbagi faktor yang diukur dengan FPB dan KPK.
Poin penting
- Bilangan bulat adalah bilangan utuh, positif, negatif, atau nol; nol bukan positif dan bukan negatif, dan setiap bilangan bulat a punya lawan -a dengan a+(-a)=0.
- Pada garis bilangan, bilangan yang lebih kanan lebih besar, sehingga -7<-3; nilai mutlak |a| adalah jarak dari 0.
- Mengurangi sama dengan menambah lawannya (5-(-3)=8), dan hasil kali atau hasil bagi negatif tepat bila tanda keduanya berbeda.
- Aturan habis dibagi menguji 2, 3, 4, 5, 9, 10, dan 11 hanya dari angka-angkanya; setiap bilangan bulat di atas 1 adalah hasil kali bilangan prima dengan tepat satu cara.
- Algoritma Euclid mencari FPB dengan pembagian bersisa berulang, dan \gcd(a,b)·\operatornamelcm(a,b)=a· b.
- Pada bilangan negatif, bahasa pemrograman berbeda soal sisa pembagian: -7\bmod3 adalah 2 di Python dan -1 di JavaScript.
Apa itu bilangan bulat?
Bilangan bulat adalah bilangan tanpa bagian pecahan: bilangan asli 1,2,3,…, negatifnya -1,-2,-3,…, dan nol. Himpunannya ditulis ℤ, dari kata Jerman Zahlen ("bilangan").
Bilangan negatif ada karena orang perlu menyatakan hal yang turun di bawah titik awal, dan bilangan bulat adalah yang kamu dapat ketika suatu besaran dapat bergerak ke dua arah:
| Situasi | Positif | Nol | Negatif |
|---|---|---|---|
| Suhu (°C) | 25 di atas titik beku | titik beku | −5 di bawah titik beku |
| Ketinggian | 8 m di atas permukaan laut | permukaan laut | −12 m, seorang penyelam |
| Tombol lift | lantai 3 | lantai dasar | −1, ruang bawah tanah |
| Uang | saldo Rp50.000 | tidak ada | −Rp30.000, utang |
| Selisih gol | unggul 2 gol | imbang | −3, tertinggal |
Tiga jenis bilangan sering tertukar. Bilangan asli adalah 1,2,3,… (di sini mulai dari 1; sebagian buku mulai dari 0). Bilangan cacah adalah 0,1,2,3,…. Bilangan bulat menambahkan negatifnya. Setiap bilangan asli adalah bilangan cacah dan setiap bilangan cacah adalah bilangan bulat, tetapi tidak sebaliknya; artikel bilangan real menunjukkan bagaimana semua himpunan ini bersarang.
Dua hal tentang nol dan tanda perlu dipegang sekarang. Nol bukan positif dan bukan negatif. Dan setiap bilangan bulat a punya lawan, -a, di seberang 0 pada jarak yang sama, sehingga a+(-a)=0. Lawan 7 adalah -7, lawan -7 adalah 7, dan lawan 0 adalah 0, itulah sebabnya -(-a)=a.
Bilangan bulat adalah keluarga yang tertutup terhadap tiga operasi: jumlahkan, kurangkan, atau kalikan dua bilangan bulat dan hasilnya selalu bilangan bulat. Mereka tidak tertutup terhadap pembagian, sebab 7÷2 bukan bilangan bulat. Celah itulah yang dibahas pada bagian sisa pembagian nanti, dan yang ditutup oleh artikel bilangan rasional dengan pecahan.
Coba: mana yang bilangan bulat?
Pilih semua bilangan bulat.
- 5
- -3
- 0
- 2,5
- \frac12
- (10)/(5)
Bagaimana membandingkan bilangan bulat dan apa itu nilai mutlak?
Pada garis bilangan, bilangan bulat yang lebih ke kanan adalah yang lebih besar, sehingga -3>-7 walaupun 7 lebih besar daripada 3. Setiap bilangan bulat positif lebih besar daripada 0 dan setiap yang negatif lebih kecil daripada 0, sehingga setiap bilangan bulat positif lebih besar daripada setiap yang negatif.
Untuk membandingkan dua bilangan negatif, bandingkan ukurannya lalu balik jawabannya: 7>3, sehingga -7<-3. Utang 7 lebih buruk daripada utang 3.
Nilai mutlak |a| adalah jarak dari a ke 0, sehingga tidak pernah negatif: |7|=7, |-7|=7, dan |0|=0. Dalam lambang, |a|=a bila a\ge0 dan |a|=-a bila a<0. Bilangan yang saling berlawanan punya nilai mutlak sama, dan jarak antara dua bilangan bulat adalah nilai mutlak selisihnya: |-4-3|=7.
| Pernyataan | Benar? | Alasan |
|---|---|---|
| -3>-7 | ya | -3 berada di kanan -7 |
| -1<0 | ya | setiap bilangan negatif kurang dari 0 |
| |-5|=|5| | ya | keduanya berjarak 5 dari 0 |
| -9<-10 | tidak | -9 berada di kanan -10 |
Mengurutkan daftar berarti membacanya dari kiri ke kanan pada garis: yang negatif dahulu, dengan ukuran terbesar paling kiri, lalu 0, lalu yang positif.
Coba: urutkan dari yang terkecil
Urutkan bilangan bulat ini dari yang terkecil ke terbesar.
Bagaimana menjumlahkan dan mengurangkan bilangan bulat?
Untuk menjumlahkan bilangan bulat, bergeraklah di garis bilangan: menambah bilangan positif bergeser ke kanan dan menambah bilangan negatif bergeser ke kiri; untuk mengurangkan, tambahkan lawannya, sehingga a-b=a+(-b). Satu aturan itu mencakup semua kasus.
Dua aturan penjumlahan menurut tandanya:
- Tanda sama: jumlahkan ukurannya dan pertahankan tandanya. 5+3=8 dan (-5)+(-3)=-8.
- Tanda berbeda: kurangkan ukuran yang kecil dari yang besar, dan pertahankan tanda yang besar. 5+(-8)=-3, karena 8 adalah ukuran yang lebih besar dan ia negatif. (-5)+8=3.
Dua bilangan yang saling berlawanan saling meniadakan: 6+(-6)=0.
Mengurangkan sama dengan menambah lawannya. Mengambil bilangan positif bergeser ke kiri: 2-5=2+(-5)=-3. Mengambil bilangan negatif bergeser ke kanan, karena menghapus utang membuatmu lebih kaya: 5-(-3)=5+3=8 dan (-5)-(-3)=-5+3=-2.
| Ekspresi | Ditulis ulang | Hasil |
|---|---|---|
| 5-(-3) | 5+3 | 8 |
| -5-3 | -5+(-3) | −8 |
| -5-(-3) | -5+3 | −2 |
| -5+8 | tanda berbeda, 8 lebih besar | 3 |
Urutan tidak berpengaruh pada penjumlahan, a+b=b+a, tetapi berpengaruh pada pengurangan: 5-3=2 sedangkan 3-5=-2. Coba bilanganmu sendiri di bawah; lompatan pertama (di atas garis) dari 0 ke a dan lompatan kedua (di bawah) adalah perubahannya.
Interaktif: jumlah dan selisih pada garis bilangan
Geser dua penggeser dan lihat jumlah atau selisih dua bilangan bulat digambar sebagai dua lompatan pada garis bilangan, beserta aturan yang berlaku.
Coba: menjumlah dan mengurang
Hitunglah.
Bagaimana mengalikan dan membagi bilangan bulat?
Kalikan atau bagi ukurannya, lalu buat jawabannya positif bila tanda keduanya sama dan negatif bila berbeda. Hasil kali dengan faktor 0 adalah 0.
| Pertama | Kedua | Hasil kali atau hasil bagi | Contoh |
|---|---|---|---|
| positif | positif | positif | 4·3=12 |
| negatif | negatif | positif | (-4)(-3)=12 |
| positif | negatif | negatif | 4·(-3)=-12 |
| negatif | positif | negatif | (-4)·3=-12 |
Pembagian mengikuti tanda yang sama, karena a÷ b=c berarti a=b· c: (-12)÷4=-3 sebab 4·(-3)=-12, dan (-12)÷(-3)=4 sebab (-3)·4=-12.
Mengapa negatif kali negatif menjadi positif? Dua argumen menunjukkan bahwa ini bukan kesepakatan, melainkan keharusan.
Pola. Turunkan faktor pertama dan perhatikan hasil kalinya: 3·(-2)=-6, 2·(-2)=-4, 1·(-2)=-2, 0·(-2)=0. Tiap langkah turun menambah 2. Langkah berikutnya harus menambah 2 lagi: (-1)·(-2)=2.
Sifat distributif. Mulai dari 0=(-1)·0=(-1)\bigl(1+(-1)\bigr)=(-1)·1+(-1)(-1)=-1+(-1)(-1). Agar ruas kanan sama dengan 0, (-1)(-1) harus 1. Nilai lain akan merusak sifat distributif, a(b+c)=ab+ac, yang menjadi sandaran seluruh aritmetika.
Pembagian dengan nol tidak terdefinisi. a÷0=c akan berarti a=0· c=0, yang mustahil untuk a≠0; dan 0÷0 dapat berupa bilangan apa pun, sehingga tidak punya satu nilai. Sementara itu 0÷ a=0 untuk a≠0.
Bilangan bulat tidak tertutup terhadap pembagian: 7÷2 adalah pecahan \frac72, itulah sebabnya pembagian bersisa menjadi topik tersendiri di bawah.
Interaktif: empat operasi pada bilangan bulat
Ketik dua bilangan bulat, bahkan yang sangat besar, pilih operasi, dan lihat hasil eksak beserta aturan tanda di baliknya.
Coba: mengalikan dan membagi
Hitunglah.
Apa urutan operasi hitung pada bilangan negatif?
Kerjakan dengan urutan ini: kurung, lalu pangkat, lalu perkalian dan pembagian dari kiri ke kanan, lalu penjumlahan dan pengurangan dari kiri ke kanan. Bilangan negatif menambah dua jebakan.
- Tanda minus bukan kurung. -3^2 berarti -(3^2)=-9, karena pangkat lebih kuat mengikat daripada minus. Hanya (-3)^2=9 yang mengkuadratkan -3.
- Operasi setingkat dikerjakan dari kiri ke kanan. 12÷(-3)×2 adalah -4×2=-8, bukan 12÷(-6)=-2. Dan 10-4-3=3, bukan 10-(4-3)=9.
- Beri kurung pada bilangan negatif setelah operator. 5·-2 ditulis 5·(-2), dan 8-3×(-2)=8+6=14: perkalian dikerjakan sebelum pengurangan.
| Ekspresi | Langkah | Hasil |
|---|---|---|
| -3^2 | -(9) | −9 |
| (-3)^2 | 9 | 9 |
| 8-3×(-2) | 8-(-6)=8+6 | 14 |
| 12÷(-3)×2 | -4×2 | −8 |
| -2 (3-7) | -2·(-4) | 8 |
Pangkat genap dari bilangan negatif positif dan pangkat ganjil negatif: (-2)^4=16 dan (-2)^3=-8, sebab tiap pasang tanda minus saling meniadakan.
Coba: urutan operasi
Hitunglah.
Apa itu bilangan genap, ganjil, dan aturan habis dibagi?
Bilangan bulat a habis dibagi b bila a=b· k untuk suatu bilangan bulat k: b kemudian disebut pembagi (faktor) dari a dan a adalah kelipatan b. Jadi 12 habis dibagi 4 karena 12=4·3, dan 0 habis dibagi setiap bilangan bulat karena 0=b·0.
Genap dan ganjil. Bilangan bulat genap habis dibagi 2, a=2k; yang ganjil berbentuk a=2k+1. Nol genap, dan bilangan negatif juga punya paritas: -3 ganjil dan -4 genap. Bilangan genap 2,4,6,…, bilangan ganjil 1,3,5,…, dan kelipatan bilangan bulat mana pun masing-masing membentuk barisan aritmetika, dan jumlah-jumlahnya punya rumus di sana. Paritas mengikuti tabel singkat:
| Operasi | Hasil |
|---|---|
| genap + genap, ganjil + ganjil | genap |
| genap + ganjil | ganjil |
| genap × apa pun | genap |
| ganjil × ganjil | ganjil |
Bukti satu baris: (2a+1)+(2b+1)=2(a+b+1), yang genap. Bukti dengan gaya yang sama menunjukkan bahwa kuadrat bilangan ganjil adalah ganjil, fakta di balik keirasionalan √2.
Aturan habis dibagi memungkinkanmu menguji sebuah bilangan dari angka-angkanya, tanpa membagi:
| Oleh | Bilangan habis dibagi bila | Mengapa berlaku |
|---|---|---|
| 2 | angka terakhir genap | 10 kelipatan 2 |
| 3 | jumlah angkanya habis dibagi 3 | 10, 100, ... masing-masing bersisa 1 |
| 4 | dua angka terakhir membentuk kelipatan 4 | 100 kelipatan 4 |
| 5 | angka terakhir 0 atau 5 | 10 kelipatan 5 |
| 6 | habis dibagi 2 dan 3 sekaligus | 2 dan 3 tidak punya faktor sama |
| 8 | tiga angka terakhir membentuk kelipatan 8 | 1000 kelipatan 8 |
| 9 | jumlah angkanya habis dibagi 9 | 10, 100, ... masing-masing bersisa 1 |
| 10 | angka terakhir 0 | definisi basis sepuluh |
| 11 | jumlah angka berselang-seling habis dibagi 11 | 10 kurang satu dari kelipatan 11 |
Contoh: 7200 berjumlah angka 9 dan berakhir 00, sehingga habis dibagi 2, 3, 4, 5, 6, 8, 9, dan 10. Untuk 11, ambil angka dari kanan dengan tanda berselang-seling, 0-0+2-7=-5, yang bukan kelipatan 11, sehingga 7200 tidak habis dibagi 11. Coba bilangan apa pun di bawah, termasuk yang sangat panjang.
Interaktif: aturan habis dibagi
Ketik bilangan bulat apa pun dan lihat mana dari 2, 3, 4, 5, 6, 8, 9, 10, dan 11 yang membaginya, apa yang dilihat tiap aturan, dan sisa sebenarnya sebagai pemeriksaan.
Coba: angka yang hilang
Bilangan tiga angka 52d habis dibagi 9. Tentukan angka d.
Apa itu bilangan prima dan faktorisasi prima?
Bilangan prima adalah bilangan bulat lebih dari 1 yang satu-satunya pembagi positifnya adalah 1 dan dirinya sendiri; setiap bilangan bulat lebih dari 1 adalah prima atau hasil kali bilangan prima, dan hasil kali itu tunggal. Bilangan prima dimulai 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47, lima belas bilangan di bawah 50.
- Bilangan komposit punya lebih banyak pembagi: 12=3·4.
- 1 bukan prima dan bukan komposit. Ia hanya punya satu pembagi, yaitu dirinya sendiri. Menyebutnya prima akan merusak ketunggalan, sebab 6=2·3=1·2·3.
- 2 adalah satu-satunya prima genap, karena setiap bilangan genap lain juga habis dibagi 2.
Teorema dasar aritmetika menyatakan setiap bilangan bulat lebih dari 1 dapat ditulis sebagai hasil kali bilangan prima dengan tepat satu cara, selain urutannya. Jadi 360=2·2·2·3·3·5=2^3·3^2·5, dan tidak ada himpunan bilangan prima lain yang hasil kalinya 360.
Untuk memfaktorkan, bagi dengan bilangan prima terkecil yang membagi, berulang-ulang, sampai tersisa 1: 360÷2=180, ÷2=90, ÷2=45, ÷3=15, ÷3=5, ÷5=1.
Untuk menguji apakah n prima, bagi dengan bilangan prima sampai √n. Jika n punya faktor yang lebih besar dari √n, pasangan faktornya lebih kecil dari √n, sehingga sudah kamu temui. Ambil 91: √(91)<10, dan 91=7·13, sehingga ia hanya tampak prima. Untuk 97 tidak ada di antara 2, 3, 5, 7 yang membaginya, sehingga 97 prima.
Bilangan prima tak berhingga banyaknya. Argumen Euclid: misalkan daftar bilangan prima sudah lengkap, kalikan semuanya lalu tambah 1. Hasilnya bersisa 1 bila dibagi bilangan prima mana pun pada daftar, sehingga ia prima baru atau punya pembagi prima baru, dan daftar itu tidak lengkap.
Pembagi dari faktorisasi. Jika n=p^a q^b… maka ia punya (a+1)(b+1)… pembagi positif, sehingga 360 punya 4·3·2=24. Pakai alat di bawah.
Interaktif: faktorisasi prima
Ketik bilangan bulat sampai satu triliun dan lihat apakah ia prima, faktorisasi primanya langkah demi langkah, dan berapa banyak pembaginya.
Coba: temukan bilangan prima
Manakah di antara ini yang prima?
- 51
- 57
- 91
- 97
Bagaimana mencari FPB dan KPK?
Faktor persekutuan terbesar (FPB) dua bilangan bulat adalah bilangan bulat terbesar yang membagi keduanya, dan kelipatan persekutuan terkecil (KPK) adalah bilangan bulat positif terkecil yang habis dibagi keduanya. Untuk 48 dan 180, FPB-nya 12 dan KPK-nya 720.
Dengan faktor prima. Tulis tiap bilangan sebagai bilangan prima: 48=2^4·3 dan 180=2^2·3^2·5. Untuk FPB ambil tiap bilangan prima dengan eksponen yang terkecil: 2^2·3=12. Untuk KPK ambil tiap bilangan prima dengan eksponen yang terbesar: 2^4·3^2·5=720.
Dengan algoritma Euclid, yang tidak memerlukan pemfaktoran dan berlaku untuk bilangan yang sangat besar. Bagi, simpan sisanya, dan ulangi dengan pembagi dan sisa sampai sisanya 0; sisa terakhir yang bukan nol adalah FPB:
180=3·48+36, lalu 48=1·36+12, lalu 36=3·12+0. Jadi \gcd(48,180)=12.
Algoritma ini berhasil karena bilangan mana pun yang membagi a dan b juga membagi a-qb, dan sebaliknya, sehingga \gcd(a,b)=\gcd(b, a-qb) sementara bilangannya mengecil sampai nol. Euclid menuliskannya dalam Buku VII Elements, sekitar 300 SM, sehingga ia salah satu algoritma tertua yang masih dipakai setiap hari.
Keduanya berkaitan: \gcd(a,b)·\operatornamelcm(a,b)=a· b. Periksa: 12·720=8640=48·180. Jadi \operatornamelcm(a,b)=(a· b)/(\gcd(a,b)). Dua bilangan saling prima bila FPB-nya 1, seperti 8 dan 15.
Kegunaannya.
- Menyederhanakan pecahan: bagi pembilang dan penyebut dengan FPB. (48)/(180)=(48÷12)/(180÷12)=(4)/(15).
- Memotong menjadi bagian sama besar: lantai 48 dm kali 180 dm dipasangi ubin persegi terbesar yang sisinya \gcd=12 dm, yang membutuhkan 4·15=60 ubin.
- Kejadian berulang: bus berangkat tiap 12 menit dan tiap 18 menit, bersamaan pada pukul 07:00. Keduanya berangkat bersamaan lagi setelah \operatornamelcm(12,18)=36 menit.
- Menjumlahkan pecahan: penyebut sekutu terkecil adalah KPK dari penyebut-penyebutnya.
Interaktif: FPB dan KPK dengan algoritma Euclid
Masukkan dua bilangan bulat positif dan lihat algoritma Euclid berjalan baris demi baris, lalu FPB, KPK, dan eksponen prima di baliknya.
Coba: FPB dan KPK
Tentukan FPB dan KPK dari 36 dan 48.
Apa itu pembagian bersisa dan aritmetika modular?
Membagi bilangan bulat a dengan b≠0 menghasilkan hasil bagi q dan sisa r yang tunggal dengan a=b· q+r dan 0\le r<|b|; sisanya ditulis a\bmod b. Misalnya 17=5·3+2, sehingga 17\bmod5=2.
Dengan bilangan yang dibagi negatif, aturan itu tetap berlaku, dan sisanya tetap antara 0 dan |b|-1: -7=3·(-3)+2, sehingga -7\bmod3=2, bukan -1. Bayangkan jam: 7 jam sebelum pukul 12 adalah pukul 5, dan satu hari 24 jam berulang setelah 24, yang sama dengan menghitung sisa.
Aritmetika modular bekerja hanya dengan sisa. Dua bilangan bulat kongruen modulo n, ditulis a\equiv c\pmod n, bila n membagi a-c, yaitu bila keduanya bersisa sama: 17\equiv2\pmod5. Sisa mengikuti penjumlahan dan perkalian, sehingga kamu dapat menyederhanakan lebih dulu lalu menghitung:
- Hari dalam seminggu. 100 hari setelah hari Senin: 100\bmod7=2, sehingga harinya Rabu.
- Angka satuan. Angka satuan 7^k berulang 7, 9, 3, 1. Karena 2026\bmod4=2, angka satuan 7^2026 adalah yang kedua dalam siklus, yaitu 9.
- Paritas. Genap dan ganjil tidak lain adalah a\bmod2.
- Angka pemeriksa dan hashing. Barcode dan nomor kartu memuat angka yang dihitung dengan \bmod10 untuk menangkap kesalahan ketik, dan tabel hash memilih slot dengan \bmod ukuran tabel.
Masalahnya, bahasa pemrograman tidak semuanya sepakat tentang operan negatif. Masing-masing memenuhi a=b· q+r tetapi memilih q secara berbeda: matematika menjaga r\ge0; Python membulatkan q ke bawah, sehingga r bertanda sama dengan pembagi; JavaScript, C, C++, dan Java memotong q ke arah nol, sehingga r bertanda sama dengan bilangan yang dibagi. Bandingkan di bawah.
Interaktif: pembagian bersisa
Bagi satu bilangan bulat dengan yang lain dan bandingkan hasil bagi dan sisa menurut matematika, Python, dan JavaScript, termasuk untuk bilangan negatif.
Coba: hasil bagi dan sisa
Tulis -17=5q+r dengan 0\le r<5.
Bagaimana mengolah bilangan bulat di Python dan JavaScript?
Bilangan bulat Python tidak punya batas ukuran dan memakai pembagian floor, sedangkan bilangan JavaScript berupa bilangan floating point (float), eksak hanya sampai 2^53-1, dengan sisa yang mengikuti bilangan yang dibagi; pakai BigInt di JavaScript untuk bilangan bulat besar yang eksak. Kedua bahasa itu berbeda tepat di tempat yang ditunjuk artikel ini. Mengapa bilangan bulat berukuran tetap berputar kembali dijelaskan oleh komplemen dua pada artikel bilangan biner.
>>> 7 // 2, -7 // 2 # floor division rounds down (3, -4) >>> 7 % 3, -7 % 3, 7 % -3 # the remainder takes the sign of the divisor (1, 2, -2) >>> divmod(-7, 3) # quotient and remainder together (-3, 2) >>> int(-7 / 2) # / gives a float, int() truncates toward zero -3 >>> import math >>> math.gcd(48, 180), math.lcm(4, 6) (12, 12) >>> 2 ** 100 # no overflow 1267650600228229401496703205376
def gcd(a, b):
while b:
a, b = b, a % b
return abs(a)
def factorize(n):
out, p = [], 2
while p * p <= n:
while n % p == 0:
out.append(p)
n //= p
p += 1
if n > 1:
out.append(n)
return out
gcd(48, 180) # 12
factorize(360) # [2, 2, 2, 3, 3, 5]-7 % 3 // -1 the remainder takes the sign of the dividend ((-7 % 3) + 3) % 3 // 2 the usual fix for a non-negative remainder Math.trunc(-7 / 2) // -3 Math.floor(-7 / 2) // -4 Number.MAX_SAFE_INTEGER // 9007199254740991 2 ** 53 + 1 === 2 ** 53 // true: beyond 2^53 integers lose exactness 2n ** 100n // 1267650600228229401496703205376n -7n % 3n // -1n BigInt behaves like Number here 7n / 2n // 3n BigInt division truncates
#include <iostream>
using namespace std;
int mod(int a, int b) { return ((a % b) + b) % b; } // a non-negative remainder, for b > 0
int floorDiv(int a, int b) { return (a - mod(a, b)) / b; }
int gcd(int a, int b) { // Euclid's algorithm
while (b != 0) { int t = a % b; a = b; b = t; }
return a < 0 ? -a : a;
}
int lcm(int a, int b) { return a / gcd(a, b) * b; }
int main() {
cout << 7 / 2 << " " << 7 % 3 << endl; // 3 1
// C++ truncates toward zero: -7 / 2 is -3 and -7 % 3 is -1
cout << floorDiv(-7, 2) << " " << mod(-7, 3) << endl; // floor division and the usual remainder
cout << gcd(48, 180) << " " << lcm(4, 6) << endl;
int n = 360; // factorization by trial division
for (int p = 2; p * p <= n; p++)
while (n % p == 0) { cout << p << " "; n /= p; }
if (n > 1) cout << n;
cout << endl;
return 0;
}
/* output:
3 1
-4 2
12 12
2 2 2 3 3 5
*/Jebakannya, berurutan dari yang paling sering menggigit:
| Jebakan | Yang terjadi | Yang sebaiknya dilakukan |
|---|---|---|
-7 % 3 di JavaScript | hasilnya −1, bukan 2 | pakai ((n % m) + m) % m bila perlu 0 sampai m − 1 |
7 / 2 | 3,5 di kedua bahasa; JavaScript tidak punya pembagian bulat | pakai // di Python, Math.trunc atau Math.floor di JavaScript |
Python // dengan negatif | membulat ke bawah: -7 // 2 adalah −4, bukan −3 | pakai int(-7 / 2) bila ingin pemotongan |
| Bilangan di atas 2⁵³ di JavaScript | diam-diam tidak eksak | pakai BigInt dan akhiran n; jangan campur dengan Number |
| Bilangan berukuran tetap di C dan Java | 2147483647 + 1 berputar menjadi −2147483648 di Java, dan tidak terdefinisi di C | pilih tipe yang lebih lebar, atau periksa sebelum menambah |
| Operator bitwise di JavaScript | 1 << 32 bernilai 1: operator itu bekerja pada 32 bit | hindari untuk nilai besar |
0 % n dan n % 0 | 0 tidak masalah; membagi dengan 0 menimbulkan galat di Python dan memberi NaN di JavaScript | periksa pembaginya lebih dulu |
math.gcd dan math.lcm Python (sejak Python 3.9) menerima bilangan bulat sebesar apa pun, sehingga jarang perlu membuat sendiri, tetapi menulis perulangan Euclid sekali adalah cara terbaik melihat mengapa ia berhenti.
Apa kesalahan umum pada bilangan bulat?
Kesalahan paling umum pada bilangan bulat adalah sembilan hal berikut, masing-masing dengan pernyataan yang benar dan bilangan yang menunjukkan alasannya.
| Kesalahan | Yang benar |
|---|---|
| ❌ -3^2=9 | -3^2=-(3·3)=-9. Hanya (-3)^2=9. |
| ❌ 5-(-3)=2 | 5-(-3)=5+3=8. Mengurangi bilangan negatif berarti menambah. |
| ❌ -5-3=-2 | -5-3=-5+(-3)=-8. |
| ❌ (-2)(-3)=-6 | Tanda sama menghasilkan positif: 6. |
| ❌ -7>-3 karena 7>3 | Urutannya berbalik untuk bilangan negatif: -7<-3. |
| ❌ 0 adalah bilangan bulat positif | 0 bukan positif dan bukan negatif. |
| ❌ 1 adalah bilangan prima | 1 hanya punya satu pembagi; bilangan prima dimulai dari 2. |
| ❌ 5÷0=0 | Pembagian dengan nol tidak terdefinisi. |
| ❌ \operatornamelcm dan \gcd tertukar | FPB membagi kedua bilangan dan lebih kecil; KPK adalah kelipatan keduanya dan lebih besar: \gcd(12,18)=6, \operatornamelcm=36. |
Latihan: uji pemahamanmu
Soal-soal ini mencampur semua yang dibahas di atas. Jika jawabanmu belum tepat, perhatikan petunjuk yang tersedia, lalu coba kembali.
Benar atau salah?
Tentukan tiap pernyataan Benar atau Salah.
- Jumlah dua bilangan bulat negatif adalah negatif.
- -7>-3.
- 0 adalah bilangan bulat positif.
- (-4)×(-5)=20.
- 1 adalah bilangan prima.
Pilih semua yang benar
Pilih semua bilangan yang habis dibagi 3 dan 4 sekaligus.
- 24
- 18
- 36
- 100
- 72
Jumlah dan selisih
Hitunglah.
Faktor persekutuan terbesar
Tentukan FPB dari 84 dan 126.
Sisa di JavaScript
Apa hasil ekspresi JavaScript ´-17 % 5´?
- 3
- -2
- 2
- -3
Seorang penyelam
Seorang penyelam berada di -12 m lalu berenang naik 5 m. Di mana penyelam itu sekarang?
- -7 m
- -17 m
- 7 m
- 17 m
Ringkasan: bilangan bulat sekilas
- Bilangan bulat: …,-2,-1,0,1,2,…; nol bukan positif dan bukan negatif; setiap a punya lawan -a.
- Urutan dan ukuran: makin ke kanan makin besar, sehingga -7<-3; |a| adalah jarak dari 0.
- Menjumlah dan mengurang: tanda sama dijumlahkan dan tandanya dipertahankan; tanda berbeda dikurangkan dan mengikuti tanda yang lebih besar; a-b=a+(-b).
- Mengalikan dan membagi: tanda sama menghasilkan positif, tanda berbeda menghasilkan negatif; jangan pernah membagi dengan 0.
- Urutan operasi: kurung, pangkat, lalu ×÷, lalu +− dari kiri ke kanan; -3^2=-9 tetapi (-3)^2=9.
- Habis dibagi: aturan angka untuk 2, 3, 4, 5, 6, 8, 9, 10, 11; setiap bilangan bulat di atas 1 punya satu faktorisasi prima.
- FPB dan KPK: eksponen prima terkecil atau terbesar, atau algoritma Euclid; \gcd·\operatornamelcm=a· b.
- Sisa: a=bq+r dengan 0\le r<|b|; Python, JavaScript, dan matematika berbeda untuk bilangan negatif.
Glosarium: istilah penting
- Bilangan bulat
- Bilangan dalam himpunan ℤ, tanpa bagian pecahan: nol, bilangan bulat positif, dan negatifnya.
- Lawan (bilangan berlawanan)
- Bilangan di seberang nol pada jarak yang sama, sehingga sebuah bilangan ditambah lawannya sama dengan nol.
- Nilai mutlak
- Jarak sebuah bilangan dari nol yang tidak pernah negatif, sehingga nilai mutlak minus 7 adalah 7.
- Tertutup terhadap suatu operasi
- Sebuah himpunan tertutup terhadap suatu operasi bila menerapkannya pada anggota himpunan selalu memberi anggota; bilangan bulat tertutup terhadap penjumlahan, pengurangan, dan perkalian.
- Pembagi (faktor)
- Bilangan bulat b adalah pembagi a bila a sama dengan b kali suatu bilangan bulat, sehingga pembagian tidak menyisakan sisa.
- Kelipatan
- Hasil kali sebuah bilangan dengan bilangan bulat mana pun, seperti 12, 24, dan 36 untuk bilangan 12.
- Bilangan prima
- Bilangan bulat lebih dari 1 yang satu-satunya pembagi positifnya adalah 1 dan dirinya sendiri.
- Bilangan komposit
- Bilangan bulat lebih dari 1 yang bukan prima, sehingga punya pembagi selain 1 dan dirinya sendiri.
- Faktorisasi prima
- Cara tunggal menulis bilangan bulat lebih dari 1 sebagai hasil kali bilangan prima, seperti 360 sama dengan 2 pangkat tiga kali 3 kuadrat kali 5.
- Faktor persekutuan terbesar (FPB)
- Bilangan bulat terbesar yang membagi dua bilangan bulat yang diberikan; untuk 48 dan 180 nilainya 12.
- Kelipatan persekutuan terkecil (KPK)
- Bilangan bulat positif terkecil yang merupakan kelipatan dua bilangan bulat yang diberikan; untuk 12 dan 18 nilainya 36.
- Saling prima
- Dua bilangan bulat yang faktor persekutuan terbesarnya 1, seperti 8 dan 15.
- Sisa pembagian
- Yang tersisa setelah membagi: dalam a sama dengan b kali q ditambah r, bilangan r, yang terletak dari 0 sampai ukuran b dikurangi 1.
- Modulo
- Operasi yang memberi sisa suatu pembagian, sehingga 17 modulo 5 adalah 2.
Pertanyaan yang sering diajukan
Apa itu bilangan bulat?
Bilangan bulat adalah bilangan tanpa bagian pecahan: nol, bilangan utuh positif 1, 2, 3 dan seterusnya, serta negatifnya minus 1, minus 2, minus 3 dan seterusnya. Himpunan bilangan bulat ditulis dengan huruf Z.
Apakah nol bilangan bulat positif atau negatif?
Nol bukan positif dan bukan negatif. Ia adalah bilangan bulat, ia genap, dan ia menjadi titik pemisah pada garis bilangan antara bilangan bulat negatif di kiri dan bilangan bulat positif di kanan.
Apa beda bilangan asli, bilangan cacah, dan bilangan bulat?
Bilangan asli adalah 1, 2, 3 dan seterusnya. Bilangan cacah menambahkan nol. Bilangan bulat menambahkan pula bilangan negatif. Jadi setiap bilangan asli adalah bilangan cacah, dan setiap bilangan cacah adalah bilangan bulat, tetapi tidak sebaliknya.
Mengapa negatif kali negatif hasilnya positif?
Karena sifat distributif memaksanya. Karena minus 1 kali jumlah 1 dan minus 1 adalah nol, maka minus 1 ditambah minus 1 kali minus 1 harus nol, sehingga minus 1 kali minus 1 harus 1. Nilai lain akan merusak aritmetika biasa.
Bagaimana mengurangkan bilangan negatif?
Mengurangkan bilangan negatif sama dengan menambahkan lawannya. Jadi 5 dikurangi minus 3 adalah 5 ditambah 3, yaitu 8. Pada garis bilangan kamu bergeser ke kanan, seperti menghapus utang membuatmu lebih baik.
Apa itu nilai mutlak?
Nilai mutlak sebuah bilangan adalah jaraknya dari nol pada garis bilangan, sehingga tidak pernah negatif. Nilai mutlak 7 dan minus 7 adalah 7, dan nilai mutlak nol adalah nol. Ditulis dengan dua garis tegak.
Mengapa tidak boleh membagi dengan nol?
Membagi a dengan nol memerlukan bilangan c dengan 0 kali c sama dengan a. Nol kali apa pun adalah nol, sehingga ini mustahil bila a bukan nol, dan bila a nol maka setiap c berlaku. Bagaimanapun tidak ada satu jawaban.
Bagaimana mengetahui bilangan habis dibagi 3 atau 9?
Jumlahkan angka-angkanya. Jika jumlah angkanya habis dibagi 3, bilangannya juga, dan jika jumlah angkanya habis dibagi 9, bilangannya juga. Misalnya 522 berjumlah angka 9, sehingga habis dibagi 3 maupun 9.
Apakah 1 bilangan prima?
Bukan. Bilangan prima punya tepat dua pembagi positif, 1 dan dirinya sendiri, sedangkan 1 hanya punya satu pembagi. Mengecualikannya menjaga faktorisasi prima tetap tunggal, sebab jika tidak 6 dapat ditulis 2 kali 3 dan juga 1 kali 2 kali 3. Prima pertama adalah 2.
Bagaimana memeriksa apakah suatu bilangan prima?
Coba bagi dengan bilangan prima sampai akar kuadratnya. Jika tidak ada yang membaginya, ia prima. Kamu boleh berhenti di akar kuadrat karena faktor yang lebih besar akan berpasangan dengan yang lebih kecil yang sudah dicoba. Jadi 97 prima, sedangkan 91 sama dengan 7 kali 13.
Bagaimana mencari FPB dua bilangan?
Ambil tiap faktor prima bersama dengan eksponen yang lebih kecil, atau pakai algoritma Euclid: bagi bilangan yang besar dengan yang kecil, ganti pasangan itu dengan bilangan yang kecil dan sisanya, lalu ulangi. Sisa terakhir yang bukan nol adalah FPB.
Apa beda FPB dan KPK?
FPB adalah bilangan terbesar yang membagi kedua bilangan, sehingga tidak pernah lebih besar dari keduanya. KPK adalah bilangan terkecil yang habis dibagi keduanya, sehingga tidak pernah lebih kecil dari keduanya. Hasil kali keduanya sama dengan hasil kali kedua bilangan.
Berapa sisa bila bilangan negatif dibagi?
Dalam matematika sisa tidak pernah negatif, sehingga minus 7 dibagi 3 bersisa 2, karena minus 7 adalah 3 kali minus 3 ditambah 2. Python sependapat, tetapi JavaScript, C, dan Java mengembalikan minus 1, karena memotong hasil bagi ke arah nol.
Bagaimana melakukan pembagian bulat di Python?
Pakai operator garis miring ganda, yang membulatkan ke bawah, sehingga 7 // 2 adalah 3 dan minus 7 // 2 adalah minus 4. Garis miring tunggal selalu memberi float. Tanda persen memberi sisa, dan divmod mengembalikan hasil bagi dan sisa sekaligus.
Referensi
- James Stewart, Lothar Redlin and Saleem Watson (2016). Precalculus: Mathematics for Calculus (7th ed.). Cengage Learning.
- Euclid. Elements, Book VII (the Euclidean algorithm) and Book IX, proposition 20 (there are infinitely many primes). c. 300 BCE.
- Brahmagupta (628). Brahmasphutasiddhanta (rules for arithmetic with zero, debts and fortunes).
- Carl Friedrich Gauss (1801). Disquisitiones Arithmeticae.
- Ronald Graham, Donald Knuth and Oren Patashnik (1994). Concrete Mathematics: A Foundation for Computer Science (2nd ed.), chapter 3 (floor, ceiling and mod). Addison-Wesley.
- Shen Kangshen, John Crossley and Anthony Lun (1999). The Nine Chapters on the Mathematical Art: Companion and Commentary. Oxford University Press.
- Python Software Foundation. The Python Language Reference: binary arithmetic operations (floor division and modulo). docs.python.org. https://docs.python.org/3/reference/expressions.html#binary-arithmetic-operations.
- Ecma International. ECMAScript Language Specification: multiplicative operators (the remainder operator). tc39.es. https://tc39.es/ecma262/#sec-multiplicative-operators.
Artikel terkait
- Bilangan Real: Pengertian, Jenis, Contoh, dan Sifat-sifatnya: Pengertian bilangan real, jenis (rasional dan irasional), contoh, sifat, dan garis bilangan, lengkap dengan latihan interaktif, pembuktian, dan FAQ.
- Bilangan Biner: Konversi, Operasi, Bit, dan Komplemen Dua: Bilangan biner: bit dan nilai tempat, konversi ke desimal dan heksadesimal, aritmetika biner, komplemen dua, operator bitwise, dan pecahan biner.
- Bentuk Aljabar: Suku, Penjabaran, dan Pemfaktoran: Bentuk aljabar: suku dan koefisien, suku sejenis, menghitung nilai, menjabarkan kurung, memfaktorkan, dan pecahan aljabar, lengkap dengan contoh dan latihan.
- Bilangan dalam Bahasa China: Angka Mandarin 0 sampai Miliaran: Cara menyebut dan membaca bilangan dalam bahasa China (Mandarin): angka 0 sampai miliaran, 万 dan 亿, aturan nol, 两 dan 二, lengkap dengan konverter dan kuis.