Tipe Data BigInt dalam JavaScript: Solusi untuk Angka Sangat Besar

Tipe Data BigInt dalam JavaScript: Solusi untuk Angka Sangat Besar

Tipe Data BigInt dalam JavaScript


Dalam pengembangan JavaScript, terutama saat Anda bekerja dengan aplikasi javascript online atau menulis javascript code yang membutuhkan presisi tinggi, Anda mungkin akan menemui keterbatasan angka yang bisa ditangani oleh tipe data Number. Di sinilah BigInt hadir sebagai solusi modern.

Apa Itu BigInt?

BigInt adalah objek bawaan (built-in object) di JavaScript yang memungkinkan Anda untuk merepresentasikan bilangan bulat (integer) yang sangat besar, bahkan melebihi batas aman dari tipe Number.

Secara teknis, angka dalam Number hanya aman hingga ±(253 - 1), atau sekitar ±9,007,199,254,740,991. Jika Anda mencoba untuk mewakili angka lebih dari itu, akurasi akan hilang karena keterbatasan representasi floating-point.

Dengan BigInt, Anda dapat bekerja dengan bilangan bulat sebesar dan sekecil apa pun — cocok untuk skenario seperti:

  • Perhitungan kriptografi
  • Komputasi ilmiah
  • Manipulasi data finansial besar

Cara Menggunakan BigInt dalam JavaScript

Ada dua cara untuk membuat nilai BigInt:

1. Dengan Menambahkan Huruf n di Akhir Angka

const bigNumber = 123456789012345678901234567890n;

Huruf n memberitahu JavaScript bahwa nilai ini adalah BigInt, bukan Number biasa.

2. Menggunakan Fungsi BigInt()

const anotherBigNumber = BigInt("123456789012345678901234567890");

Metode ini berguna jika Anda menerima input dalam bentuk string, seperti dari form atau API.

Perbedaan Antara BigInt dan Number

Fitur Number BigInt
Batas Aman ±253 - 1 Tak Terbatas
Presisi Dapat hilang di angka besar Tetap presisi
Operasi dengan Tipe Lain Bisa dengan Number Harus sesama BigInt

Operasi Matematika pada BigInt

BigInt mendukung operasi dasar seperti penjumlahan, pengurangan, perkalian, dan pembagian. Namun, operasi ini hanya bisa dilakukan antar BigInt.

const a = 100000000000000000000n;
const b = 200000000000000000000n;
const sum = a + b;

console.log(sum); // 300000000000000000000n

Menggabungkan BigInt dengan Number akan menghasilkan error:

const x = 10n;
const y = 5;

console.log(x + y); // ❌ TypeError: Cannot mix BigInt and other types

Kapan Menggunakan BigInt?

Gunakan BigInt ketika:

  • Anda memerlukan akurasi dalam angka yang sangat besar
  • Aplikasi Anda terkait dengan kriptografi atau blockchain
  • Melakukan operasi numerik pada data yang tidak boleh dibulatkan

Keterbatasan BigInt

  • Tidak kompatibel dengan Math API (seperti Math.sqrt() atau Math.pow())
  • Tidak bisa digunakan untuk JSON.stringify secara langsung
  • Tidak bisa dicampur dengan Number tanpa konversi eksplisit

Konversi BigInt ke Number

const big = 12345678901234567890n;
const num = Number(big);
console.log(num); // Bisa, tapi mungkin kehilangan presisi

Contoh Lengkap: Operasi BigInt

Contoh berikut memperlihatkan bagaimana Anda bisa menjumlahkan dua bilangan besar secara akurat:

function addBigNumbers(a, b) {
  return BigInt(a) + BigInt(b);
}

console.log(addBigNumbers("9007199254740991", "10")); // 9007199254741001n

Kesimpulan

BigInt adalah solusi penting dalam javascript modern untuk mengatasi keterbatasan tipe data Number. Dengan memanfaatkan BigInt, Anda bisa melakukan perhitungan dengan presisi tinggi tanpa khawatir akan kehilangan data pada angka besar.

Bagi Anda yang sedang belajar javascript online atau sedang menulis javascript code untuk proyek yang memerlukan ketelitian numerik, memahami dan menggunakan BigInt adalah langkah cerdas.

Komentar