Tutorial Belajar JavaScript Part 13: Pengertian Hasil Operasi Matematis NaN dan Infinity

JavaScript memiliki 2 hasil operasi matematis yang ‘bukan‘ berupa angka, yakni NaN dan Infinity. Di dalam tutorial JavaScript kali ini kita akan membahas tentang keduanya dan apa saja operasi yang menghasilkan kedua nilai ini. Kita akan membahas tentang Pengertian Hasil Operasi Matematis NaN dan Infinity di dalam JavaScript.


Pengertian NaN dan Infinity dalam JavaScript

NaN dan Infinity adalah dua hasil perhitungan matematis yang digunakan JavaScript untuk menampung nilai yang bukan angka.

Operasi matematika yang hasilnya ‘tidak terdefinisi’, tidak akan dianggap error di dalam JavaScript. Misalnya operasi pembagian sebuah angka dengan angka 0, atau hasil dari akar kuadrat nilai negatif. Di dalam JavaScript, operasi seperti ini diselesaikan dengan nilai NaN dan Infinity.


Perhitungan yang menghasilkan nilai Infinity

Hasil Infinity akan di dapat jika kita melakukan salah satu operasi di bawah ini:

  • Jika sebuah angka melewati nilai maksimum angka yang bisa ditampung di dalam JavaScript (disebut juga dengan istilah: overflow).
  • Jika sebuah angka lebih besar dari angka negatif yang bisa ditampung (negative overflow).
  • Melakukan operasi aritmatika dengan infinity (misal: a=1 + infinity)
  • Melakukan operasi pembagian dengan nilai 0 (division by zero)

Nilai Infinity di dalam JavaScript dibedakan menjadi 2, yakni infinity positif dan infinity negatif. Infinity positif di dapat jika angka yang dihasilkan lebih besar dari angka positif yang dapat ditampung. Infinity negatif di dapat jika angka yang dihasilkan lebih negatif dari angka negatif yang dapat ditampung (bukan nilai paling kecil).

Jika angka hasil operasi sangat kecil, atau disebut dengan underflow, JavaScript akan menampilkannya dengan angka 0.


Perhitungan yang menghasilkan nilai NaN

Nilai NaN (singkatan dari Not a Number) akan di dapat jika melakukan operasi dibawah ini:

  • Pembagian 0 dengan 0
  • Pembagian infinity dengan infinity
  • Akar kuadrat dari nilai negatif
  • Operasi aritmatika dengan nilai yang bukan angka (dan tidak bisa dikonversi menjadi angka).

Contoh Perhitungan NaN dan Infinity

Berikut adalah contoh program JavaScript yang akan menghasilkan nilai Infinity dan NaN:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Belajar JavaScript</title>
 
<script>
   a = 5;
   b = 7;

   c = b / 0;
   console.log(c);      // Hasil: Infinity (division by zero)

   d = 12 / 0;
   console.log(d);      // Hasil: Infinity (division by zero)

   e = 1 + Math.pow(10,309);
   console.log(e);      // Hasil: Infinity (overflow)

   f = -Math.pow(10,309) - 1;
   console.log(f);      // Hasil: -Infinity (negative infinity)

   g = b + e;
   console.log(g);      // Hasil: Infinity (karena e dan b infinity)

   h = 0/0;
   console.log(h);      // Hasil: NaN

   i = Math.sqrt(-25);
   console.log(i);      // Hasil: NaN (akar kuadrat negatif)

   j = c / d
   console.log(j);   // Hasil: NaN (c dan d sama-sama bernilai infinity)
 
</script>
</head>
<body>
<h1>Belajar JavaScript</h1>
<p> Saya sedang belajar pengertian NaN dan Infinity JavaScript 
di duniailkom.com </p>
</div>
</body>
</html>

Contoh Pengertian dan Penggunaan nilai NaN dan Infinity dalam JavaScriptDi dalam contoh kode JavaScript diatas, saya melakukan beberapa perhitungan matematis yang akan menghasilkan nilai NaN dan Infinity. Untuk perhitungan variabel e dan i, saya menggunakan objek Math. Penjelasan tentang objek Math dan juga method-method lain yang ada pada tipe number di dalam JavaScript akan kita bahas pada tutorial lainnya: Mengenal Konstanta dan Method (fungsi) dari Objek Math.

Salah satu sifat dari nilai NaN yang agak unik adalah nilai NaN tidak akan menghasilkan TRUE jika dibandingkan dengan apapun, termasuk dengan NaN sendiri. a == NaN tidak akan pernah menghasilkan TRUE, berapapun nilai dari variabel a. Jika anda ingin membandingkan nilai NaN, bisa menggunakan persamaan a != a. Persamaan a!= a hanya akan bernilai TRUE jika (dan hanya jika) variabel a bernilai NaN. Atau bisa juga dengan menggunakan fungsi isNaN().

Seperti yang telah dibahas pada tutorial Jenis dan Pengertian Tipe Data Dalam JavaScript bahwa JavaScript memiliki fungsi yang bisa digunakan untuk proses perhitungan atau untuk menampilkan tipe data, termasuk tipe data angka. Fungsi (atau lebih tepatnya method) untuk tipe data angka akan kita bahas pada tutorial berikutnya: Mengenal Method Objek Angka (Number) dalam JavaScipt.


eBook JavaScript Uncover Duniailkom
JavaScript sudah menjadi fitur wajib di setiap website modern. Duniailkom telah menyusun eBook JavaScript Uncover yang membahas JavaScript dengan lebih detail dan lebih lengkap, mulai dari dasar hingga konsep DOM, Event dan AJAX. Penjelasan lebih lanjut bisa ke eBook JavaScript Uncover Duniailkom.

Tutorial Terkait:

9 Comments

  1. Aldi Unanto
    26 Jun 14
    • Andre
      02 Jul 14
  2. Candra Setiadi
    26 Aug 14
    • Andre
      30 Aug 14
      • Candra Setiadi
        07 Nov 14
  3. sunsun
    31 Jan 16
  4. Andri Cahyadi
    14 Sep 17

Add Comment