Tipe Data Number di JavaScript

Pada tutorial ini, Anda akan mempelajari tentang tipe data number di JavaScript dan cara menggunakannya secara efektif.

Pendahuluan Tipe Data ‘Number’ di JavaScript

JavaScript menggunakan tipe data number untuk merepresentasikan baik bilangan bulat maupun nilai desimal (floating-point). Secara teknis, tipe data angka di JavaScript menggunakan format IEEE-754.

Pada ES2020, diperkenalkan tipe data primitif baru bernama “bigint” yang merepresentasikan bilangan bulat besar dengan nilai yang lebih besar dari 253–1.

Untuk mendukung berbagai jenis tipe data angka/ number, JavaScript menggunakan berbagai format literal angka.

Bilangan Bulat

Berikut ini adalah cara mendeklarasikan variabel yang menyimpan bilangan bulat desimal:

let counter = 100;

Bilangan bulat dapat direpresentasikan dalam format-format berikut:

  • Oktal (basis 8)
  • Heksadesimal (basis 16)

Ketika Anda menggunakan angka oktal dan heksadesimal dalam operasi aritmatika, JavaScript akan memperlakukannya sebagai angka desimal.

Oktal

Angka literal oktal dimulai dengan digit nol (0) diikuti oleh rangkaian digit oktal (angka 0 hingga 7). Contohnya:

let num = 071;
console.log(num);

Output:

57

Jika angka oktal mengandung angka di luar rentang 0 hingga 7, JavaScript akan mengabaikan digit nol dan memperlakukannya sebagai angka desimal. Misalnya:

let num = 080;
console.log(num);

Output:

80

Perilaku implisit ini dapat menimbulkan masalah. Oleh karena itu, ES6 memperkenalkan literal oktal baru yang dimulai dengan 0o diikuti oleh rangkaian digit oktal (dari 0 hingga 7). Contohnya:

let num = 0o71;
console.log(num);

Output:

57

Jika ada angka yang tidak valid setelah 0o, JavaScript akan menghasilkan kesalahan sintaks seperti ini:

let num = 0o80;
console.log(num);

Output:

let num = 0o80;
          ^^
SyntaxError: Invalid or unexpected token

Angka Heksadesimal

Angka heksadesimal dimulai dengan 0x atau 0X diikuti oleh sejumlah digit heksadesimal (0 hingga 9, dan a hingga f). Contohnya:

let num = 0x1a;
console.log(num);

Output:

26

Angka Desimal

Untuk mendefinisikan angka literal desimal, Anda masukkan titik desimal dan setidaknya satu angka setelahnya. Contohnya:

let price = 9.99;
let tax = 0.08;
let discount = .05; // valid but not recommeded

Ketika Anda memiliki angka yang sangat besar, Anda dapat menggunakan notasi e. Notasi e menunjukkan bahwa sebuah angka harus dikalikan dengan 10 pangkat tertentu. Contohnya:

let amount = 3.14e7;
console.log(amount);

Output:

31400000

Notasi 3.14e7 berarti mengambil 3.14 dan mengalikannya dengan 10 pangkat 7.

Demikian pula, Anda dapat menggunakan notasi E untuk merepresentasikan angka yang sangat kecil. Contohnya:

let amount = 5e-7; 
console.log(amount);

Output:

0.0000005

Notasi 5e-7 berarti mengambil 5 dan membaginya dengan 10.000.000.

Selain itu, JavaScript secara otomatis mengonversi angka desimal dengan setidaknya enam nol setelah titik desimal ke dalam notasi e. Contohnya:

let amount = 0.0000005;
console.log(amount);

Output:

5e-7

Angka desimal akurat hingga 17 tempat desimal. Namun, ketika Anda melakukan operasi aritmatika pada angka desimal, Anda sering mendapatkan hasil perkiraan. Contohnya:

let amount = 0.2 + 0.1;
console.log(amount);

Output:

0.30000000000000004

Bilangan Bulat Besar

JavaScript memperkenalkan tipe data “bigint” mulai dari ES2022. Tipe data bigint menyimpan angka bulat utuh dengan nilai yang lebih besar dari 253 – 1.

Literal bilangan bulat besar memiliki karakter ‘n’ di akhir literal bilangan bulat seperti ini:

let pageView = 9007199254740991n;

Ringkasan

Tipe data Angka di JavaScript mewakili baik bilangan bulat maupun bilangan desimal (floating-point).

Share jika bermanfaat:
Abdan Zam Zam Ramadhan
Abdan Zam Zam Ramadhan

Seorang penggiat teknologi yang menfokuskan diri pada pengembangan aplikasi (web & android), DevOps, Data Tech, Natural Language Processing (NLP) dan ChatBot berbasis NLP. Sedang mendalami di Node.js dan ekosistemnya. Aktif sebagai konstributor library JS (open source) di NPM. Menulis berbagai artikel tips dan tutorial pemrograman di LampungDev.com.

Articles: 32