Sunday, September 21, 2025

Javascript Aritmetika Jumlah Pecahan Desimal


Javascript Aritmetika Jumlah Pecahan Desimal

Diasuh dan diampu oleh Ikhsan, S.Pd., M.Pd.


Kaidah di perkuliahan S1 dalam mata kuliah Analisis Real: 

Jika terdapat dua bilangan real atau lebih  dijumlahkan, maka hasilnya adalah bilangan real, seperti 2024 + 2025 = 4049.

Konsep ini diperinci menjadi 

Jika terdapat dua bilangan desimal atau lebih dijumlahkan, maka hasilnya adalah bilangan yang diperoleh dengan menjumlahkan sesama bilangan yang bersesuaian dengan nilai tempatnya masing-masing, seperti 0,1 + 0,2 = 0,3. Persepuluhan sesama persepuluhan dijumlahkan, kemudian satuan sesama satuan dijumlahkan.

Konsep ini diperluas ke dalam bahasa pemrograman website menjadi: 

Jika terdapat dua bilangan desimal atau lebih dijumlahkan, maka hasilnya adalah menjumlahkan kedua bilangan desimal tersebut dengan menggunakan basis biner atau basis 2 karena yang menjumlahkan ini adalah mesin padahal mesin itu menggunakan perhitungan bilangan basis dua.

Contoh 0,1 + 0,2 = 0.30000000000000004.

Di dalam bahasa pemrograman Javascript "Floating point arithmetic is not always 100% accurate" dan juga banyak bahasa pemrograman lainnya berarti: perhitungan angka desimal (floating point) dalam JavaScript tidak selalu akurat 100% karena keterbatasan cara komputer merepresentasikan angka desimal dalam bentuk biner.

console.log(0.1 + 0.2);

atau

document.write(0.1 + 0.2);

Hasilnya:

0.30000000000000004

Padahal secara matematis di dalam mata kuliah Analisis Real; 0.1 + 0.2 = 0.3

Mengapa bisa begitu? 

Komputer menyimpan angka desimal dalam bentuk biner atau basis dua, dan tidak semua angka desimal bisa direpresentasikan secara tepat dalam bentuk biner. 

Saat anda menuliskan:

0.1 + 0.2

Secara internal, Javascript melakukan perhitungan seperti ini:

0.1  → 0.000110011001100... (biner, dibulatkan)

0.2  → 0.001100110011001... (biner, dibulatkan)

Hasil akhirnya adalah pembulatan biner yang mendekati 0.3 (nilai hampiran, nilai pendekatan), tapi bukan 0.3 secara persis.

Solusinya:

Jika kamu butuh akurasi (misalnya untuk keuangan), kamu bisa:

Membulatkan hasil:

let hasilnya = Math.round((0.1 + 0.2) * 100) / 100; // Hasil: 0.3


Cara 1

Menggunakan perintah document.write("   ");


Langkah-langkahnya

1. Bukalah Google Docs untuk halaman baru.

Tulislah kode

<script type="text/javascript"> </script>

2. Tulislah perintah let a, b; ke dalam kode tersebut,

sehingga kode menjadi 

<script type="text/javascript">

let a, b;

</script>

3. Tulislah kode berikut

a = 0.1;

b = 0.2;

hasilnya = a + b;

sehingga kode menjadi 

<script type="text/javascript">

let a, b;

a = 0.1;

b = 0.2;

hasilnya = a + b;

</script>


Perhatian! 

Untuk bilangan desimal; tanda koma di dalam Javascript diganti dengan tanda titik.


4. Tulislah perintah 

document.write("   "); dalam kurung diisi oleh variabel hasilnya.

sehingga kode menjadi

<script type="text/javascript">

let a, b;

a = 0.1;

b = 0.2;

hasilnya = a + b;

document.write("Hasilnya=  "+a+"+"+b+"="+hasilnya); 

</script>

5. Copy-lah seluruh kode tersebut kemudian Paste-lah ke dalam halaman +POSTINGAN BARU di Blogger di menu Tampilan HTML, bukan di menu Tampilan Menulis.

Lalu periksalah apakah tanda kutipnya itu miring atau tegak. Jika tanda kutip tersebut miring, gantilah dengan tanda kutip yang tegak. 

6. Publikasikan

Sekali lagi, kode selengkapnya berikut :

<script type="text/javascript">

let a, b;

a = 0.1;

b = 0.2;

hasilnya = a + b;

document.write("Hasilnya=  "+a+"+"+b+"="+hasilnya); 

</script>

Hasil tampilannya berikut:

Hasilnya= 0.1+0.2=0.30000000000000004


Solusinya:

Kita sisipkan kode Math.round pada kode tersebut di atas, sehingga kode menjadi:

<script type="text/javascript">

let a, b;

a = 0.1;

b = 0.2;

hasilnya = Math.round((a + b) * 100) / 100;

document.write("Hasilnya=  "+a+"+"+b+"="+hasilnya); 

</script>

Hasil tampilannya berikut:

Hasilnya= 0.1+0.2=0.3



All the titles can be read in this link (Click on here)
Daftar semua judul dapat di baca di link sini ( Klik di sini)