
1. Math.random()
Method ini menghasilkan angka desimal acak antara 0 (inklusif) dan 1 (eksklusif). Artinya, Anda akan mendapatkan angka seperti 0.123... atau 0.897..., tetapi tidak akan pernah mencapai angka 1.
-
Kegunaan: Membuat ID acak, menentukan pemenang undian, atau logika game.
-
Contoh:
JavaScriptconsole.log(Math.random()); // Output: 0.45321... (selalu berubah)
2. Math.floor()
floor (lantai) digunakan untuk membulatkan angka ke bawah ke bilangan bulat terdekat, tidak peduli seberapa besar angka desimalnya.
-
Kegunaan: Menghilangkan angka di belakang koma tanpa memedulikan pembulatan matematika standar.
-
Contoh:
console.log(Math.floor(4.9)); // Output: 4 console.log(Math.floor(4.1)); // Output: 4 ``` --- ## 3. Math.ceil()
`ceil` (plafon/langit-langit) adalah kebalikan dari `floor`. Ia **membulatkan angka ke atas** ke bilangan bulat terdekat jika ada sekecil apa pun angka desimalnya. * **Kegunaan:** Menentukan jumlah halaman (pagination). Jika ada 11 item dan tiap halaman berisi 10, Anda butuh 2 halaman ($1.1$ dibulatkan jadi $2$).
* **Contoh:** ```javascript console.log(Math.ceil(4.1)); // Output: 5 console.log(Math.ceil(4.01)); // Output: 5 ``` --- ## 4. Math.round()
Method ini mengikuti aturan pembulatan matematika standar. Jika desimalnya **0.5 atau lebih**, akan dibulatkan ke atas. Jika **kurang dari 0.5**, akan dibulatkan ke bawah. * **Contoh:** ```javascript console.log(Math.round(4.5)); // Output: 5 console.log(Math.round(4.4)); // Output: 4 ``` --- ## Tutorial Praktis: Membuat Angka Acak 1 - 10 Biasanya, `Math.random()` tidak berguna sendirian karena hasilnya selalu desimal di bawah 1. Kita sering menggabungkannya dengan `Math.floor()` untuk mendapatkan angka bulat. ### Rumus Angka Acak:
$$Angka = \text{Math.floor}(\text{Math.random}() \times (\text{Maks} - \text{Min} + 1)) + \text{Min}$$ **Contoh Implementasi (Angka 1 sampai 10):**
```javascript
// 1. Math.random() menghasilkan misal 0.5
// 2. 0.5 * 10 = 5.0
// 3. Math.floor(5.0) = 5
// 4. Ditambah 1 agar jangkauannya 1-10 (bukan 0-9) const angkaAcak = Math.floor(Math.random() * 10) + 1;
console.log(`Angka keberuntungan Anda: ${angkaAcak}`);
Tabel Perbandingan Pembulatan
| Angka Input | Math.floor | Math.ceil | Math.round |
| 4.2 | 4 | 5 | 4 |
| 4.5 | 4 | 5 | 5 |
| 4.8 | 4 | 5 | 5 |
Kesimpulan
-
Math.random: Untuk kejutan atau data acak. -
Math.floor: Untuk "memotong" desimal ke bawah. -
Math.ceil: Untuk memastikan semua data tertampung (pembulatan ke atas). -
Math.round: Untuk hasil yang adil secara matematika.