Math Object dan Operasi Numerik di JavaScript

Dalam pemrograman JavaScript, pengolahan angka merupakan salah satu kebutuhan utama, baik untuk perhitungan sederhana maupun perhitungan matematis yang lebih kompleks. Untuk mendukung hal tersebut, JavaScript menyediakan Math Object, yaitu objek bawaan yang berisi kumpulan metode serta konstanta matematika yang dapat digunakan secara langsung. Artikel ini membahas pengertian Math Object, fungsi-fungsi penting di dalamnya, serta berbagai operasi numerik yang umum digunakan dalam JavaScript.


1. Apa Itu Math Object?

Math Object adalah objek bawaan JavaScript yang menyediakan fungsi matematika standar, termasuk pembulatan angka, akar kuadrat, trigonometri, logaritma, serta konstanta seperti π (pi). Tidak seperti objek lain, Math Object tidak perlu dibuat instance-nya, sehingga metode dapat langsung digunakan melalui Math.namaMetode().

Contoh sederhana:

console.log(Math.PI); // 3.141592653589793

2. Operasi Numerik Dasar di JavaScript

Sebelum memanfaatkan Math Object, JavaScript dapat melakukan operasi numerik dasar seperti:

  • Penjumlahan: a + b
  • Pengurangan: a - b
  • Perkalian: a * b
  • Pembagian: a / b
  • Modulus (sisa pembagian): a % b
  • Eksponensial: a ** b

Contoh:

const a = 10;
const b = 3;

console.log(a + b); // 13
console.log(a % b); // 1
console.log(a ** b); // 1000

3. Fungsi-Fungsi Penting pada Math Object

3.1. Pembulatan Angka

JavaScript menyediakan beberapa metode untuk membulatkan angka sesuai kebutuhan:

  • Math.round(x) → membulatkan ke bilangan terdekat
  • Math.ceil(x) → membulatkan ke atas
  • Math.floor(x) → membulatkan ke bawah
  • Math.trunc(x) → membuang nilai desimal

Contoh:

console.log(Math.round(4.6)); // 5
console.log(Math.floor(4.9)); // 4

3.2. Akar dan Eksponensial

  • Math.sqrt(x) → akar kuadrat
  • Math.cbrt(x) → akar kubik
  • Math.pow(a, b) → perpangkatan

Contoh:

console.log(Math.sqrt(25)); // 5
console.log(Math.pow(2, 4)); // 16

3.3. Nilai Mutlak

Untuk mendapatkan nilai tanpa tanda:

console.log(Math.abs(-20)); // 20

3.4. Nilai Minimum dan Maksimum

Untuk mencari nilai terkecil atau terbesar dari beberapa angka:

console.log(Math.min(3, 7, 2)); // 2
console.log(Math.max(3, 7, 2)); // 7

3.5. Fungsi Trigonometri

Math Object mendukung fungsi trigonometri standar:

  • Math.sin(x)
  • Math.cos(x)
  • Math.tan(x)
  • Math.asin(x)
  • Math.acos(x)
  • Math.atan(x)

Ingat bahwa nilai x dinyatakan dalam radian, bukan derajat.

Contoh konversi derajat ke radian:

const derajat = 30;
const radian = derajat * (Math.PI / 180);

console.log(Math.sin(radian)); // 0.5

3.6. Logaritma dan Eksponensial

  • Math.log(x) → logaritma natural
  • Math.log10(x) → logaritma basis 10
  • Math.exp(x) → e^x

Contoh:

console.log(Math.log(1)); // 0
console.log(Math.log10(100)); // 2

4. Menghasilkan Angka Acak

Math Object juga digunakan untuk menghasilkan angka acak:

console.log(Math.random()); 

Nilai yang dihasilkan berada pada rentang 0 hingga <1.

Membuat angka acak dalam rentang tertentu:

function randomRange(min, max) {
  return Math.random() * (max - min) + min;
}

console.log(randomRange(10, 20));

5. Masalah Floating Point di JavaScript dan Solusinya

JavaScript menggunakan standar IEEE 754 untuk angka berbasis floating point, sehingga beberapa perhitungan dapat menghasilkan hasil yang tidak presisi.

Contoh:

0.1 + 0.2 // 0.30000000000000004

Solusi umum:

a. Pembulatan manual

Number((0.1 + 0.2).toFixed(2)); // 0.3

b. Mengalikan terlebih dahulu

(0.1 * 10 + 0.2 * 10) / 10; // 0.3

6. Konstanta Matematika di Math Object

Beberapa konstanta matematika penting:

KonstantaNilai
Math.PI3.141592653589793
Math.E2.718281828459045
Math.SQRT2√2
Math.LN2ln(2)
Math.LN10ln(10)

Kesimpulan

Math Object dalam JavaScript menyediakan berbagai fungsi matematika yang dapat digunakan untuk keperluan perhitungan, mulai dari operasi dasar hingga trigonometri dan logaritma. Dengan memahami cara kerja metode-metode ini, pengembang dapat melakukan operasi numerik dengan lebih efisien, lebih terstruktur, dan lebih tepat.

Selain itu, memahami karakteristik perhitungan floating point di JavaScript sangat penting untuk menghindari kesalahan presisi dalam aplikasi. Dengan memanfaatkan fungsi pembulatan serta perhitungan berbasis integer, hasil perhitungan dapat dijaga tetap akurat.