Number JavaScript

Penjelasan number

Number merupakan salah satu jenis data berupa angka seperti ini: 1, 2 , 3.

Number bisa ditulis dengan desimal atau tanpa desimal. Desimal pada JavaScript ditulis dengan titik dan bukannya koma:

var a = 33.00;   // Sebuah number ditulis dengan desimal
var a = 33;      // Sebuah number ditulis tanpa desimal

Number bisa ditulis dengan symbol exponential (e):

var a = 234e5;   // Artinya e pangkat 5 atau 23400000
var b = 234e-5;  // Artinya e pangkat -5 atau 0.00234

Catatan

Symbol [e2] artinya 10 pangkat 2, [e5] artinya 10 pangkat 5. Angka 234e5 artinya 234 kali 10 pangkat 5.

Akurasi

JavaScript tidak membedakan beberapa jenis angka yang ada seperti integer dan floating point. Sedangkan bahasa pemrograman yang lain biasanya membedakan jenis angka ini.

Integer adalah bilangan bulat seperti: 1, 2, 10, 200.

Floating point adalah bilangan selain integer seperti: desimal (3.0 atau -112.4), pecahan (1/2), atau exponential (3e-5).

Pemakaian integer dalam JavaScript hanya bisa memiliki akurasi atau ketepatan sampai 15 digit angka.

Pada contoh di bawah, jika kita memakai angka lebih dari 15 digit maka hasilnya bisa ngaco.

Code JavaScript 1:

<script>
var a = 99999999999;        // a akan menghasilkan angka 99999999999
var b = 9999999999999999;   // b akan menghasilkan angka 10000000000000000

document.write(a);
document.write("<br />");
document.write(b);
</script>

Hasil code JavaScript 1:

99999999999
10000000000000000

JavaScript hanya bisa memproses angka desimal sampai maksimum 17 digit selebih itu hasil perhitungan akan kacau.

Code JavaScript 2:

<script>
var a = 0.2 + 0.1 ;     // Harusnya hasilnya adalah [0.3]. Tetapi ternyata tidak.

document.write(a);
</script>

Hasil code JavaScript 2

0.30000000000000004

Untuk mengatasi permasalahan di atas kita bisa menggunakan perkalian dan pembagian seperti di bawah ini:

Code JavaScript 3:

<script>
var a = (0.2 * 10 + 0.1 * 10) / 10;    // Hasilnya akan tepat 0.3

document.write(a);
</script>

Hasil code JavaScript 3:

0.3

Infinity

Infinity adalah value yang dihasilkan dari hasil perhitungan jika hasilnya lebih dari angka maksimal yang bisa diproses oleh JavaScript. Biasanya infinity digunakan untuk memeriksa hasil perhitungan apakah perhitungan tersebut masih bisa diproses atau tidak.

Code JavaScript 4:

<script>
var a = 3;
while (a != Infinity) {    // Proses sampai Infinity
   a = a * a;
   document.write(a);
   document.write("<br />");
};
</script>

Hasil code JavaScript 4:

9
81
6561
43046721
1853020188851841
3.4336838202925124e+30
1.1790184577738583e+61
1.3900845237714473e+122
1.9323349832288915e+244
Infinity

Pembagian sebuah angka dengan angka nol [0] juga menghasilkan infinity.

Code JavaScript 5:

<script>
var a = 2 / 0;    // a akan menghasilkan Infinity
var b = -2 / 0;   // b akan menghasilkan -Infinity

document.write(a);
document.write("<br />")
document.write(b);
</script>

Hasil code JavaScript 5:

Infinity
-Infinity

Jika kita menggunakan code typeof operator untuk infinity maka kita akan mengetahui bahwa infinity termasuk jenis data berupa number.

Code JavaScript 6:

<script>
var a = typeof Infinity;

document.write(a);
</script>

Hasil code JavaScript 6:

number

NaN (Not a Number)

NaN artinya adalah bukan angka.

Berikut ini kita akan membagi sebuah angka dengan string. Karena tidak mungkin angka dibagi dengan string maka hasilnya adalah NaN.

Code JavaScript 7:

<script>
var a = 90 / "Indomi";    // a akan menghasilkan NaN

document.write(a);
</script>

Hasil code JavaScript 7:

NaN

Hal yang berbeda akan terjadi jika sebuah angka dibagi dengan string yang berisi dengan angka. Hasilnya adalah angka:

Code JavaScript 8:

<script>
var a = 90 / "9";    // a akan menghasilkan angka 10

document.write(a);
</script>

Hasil code JavaScript 8:

10

JavaScript memiliki sebuah function bernama isNaN() yang berguna untuk mengetahui apakah sebuah value adalah angka atau NaN.

Code JavaScript 9:

<script>
var a = 90 / "Indomi";    // a akan menghasilkan true yang artinya a bukanlah angka.
var b = isNaN(a);

document.write(b);
</script>

Hasil code JavaScript 9:

true

Jika NaN digunakan dalam perhitungan matematika maka hasilnya juga akan NaN.

Code JavaScript 10:

<script>
var a = NaN;
var b = 3;
var c = a + b;   //c akan menghasilkan NaN

document.write(c);
</script>

Hasil code JavaScript 10:

NaN

Jika kita menggunakan code typeof operator untuk NaN maka kita akan mengetahui bahwa NaN termasuk jenis data berupa number.

Code JavaScript 11:

<script>
var a = typeof NaN;

document.write(a);
</script>

Code JavaScript 11:

Number

Number object

Sebuah number bisa diubah menjadi sebuah object. Number yang telah berubah menjadi object ini dinamakan number object. Number object ini nantinya bisa diproses oleh number property dan number method.

Membuat Number object

Untuk membuat sebuah number object kita bisa menggunakan syntax sebagai berikut:

var nama_number_object = new Number(value)

Bila kita menggunakan code typeof operator untuk sebuah number object maka kita akan mengetahui bahwa number object merupakan jenis data berupa object.

Code JavaScript 12:

<script>
var a = 123;              // code typeof a akan menghasilkan number
var b = new Number(123);  // code typeof b akan menghasilkan object

document.write(typeof a);
document.write("<br />");
document.write(typeof b);
</script>

Hasil code JavaScript 12:

number
object

Catatan

Jangan menggunakan number object karena number object bisa memperlambat jalannya sebuah script sehingga akan mengakibatkan sesuatu yang tidak diinginkan.

Bila sebuah angka dibandingkan dengan number object menggunakan equality operator == maka hasilnya adalah [true] yang artinya sama.

Code JavaScript 13:

<script>
var a = 123;
var b = new Number(123);

document.write( a == b);
</script>

Hasil code JavaScript 13:

true

Bila number object dibandingkan dengan number object maka hasilnya adalah false karena object tidak bisa dibandingkan dengan object.

Code JavaScript 14:

<script>
var a = new Number(123);
var b = new Number(123);

document.write( a == b);
</script>

Hasil code JavaScript 14:

false

Catatan

object tidak bisa dibandingkan dengan object.

Number property

Sebuah number object memiliki beberapa property yang bisa digunakan untuk memproses number object.

Berikut ini adalah beberapa property dari number object.

Property Penjelasan
nama_number_object.MAX_VALUE Akan menghasilkan angka terbesar yang bisa ditampilkan oleh JavaScript
nama_number_object.MIN_VALUE Akan menghasilkan angka terkecil yang bisa ditampilkan oleh JavaScript
nama_number_object.NaN Akan menghasilkan value yang berjenis bukan angka.
nama_number_object.POSITIVE_INFINITY Akan menghasilkan value yang lebih besar dari MIN_VALUE
nama_number_object.NEGATIVE_INFINITY Akan menghasilkan value yang lebih kecil dari MIN_VALUE

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>