Logika dibungkus dalam function dan dipakai ulang.
// Tombol cukup memanggil: onclick="hitung('+')"
function ambilAngka(id) {
return Number(document.getElementById(id).value);
}
function tampilkan(nilai) {
document.getElementById("hasil").textContent = nilai;
}
// Satu function log, dipakai ulang di mana-mana
function logKonsol(pesan) {
console.log(pesan);
const box = document.getElementById("konsol");
box.textContent += pesan + "\n";
box.scrollTop = box.scrollHeight;
}
function hitung(operator) {
const a = ambilAngka("a");
const b = ambilAngka("b");
let hasil;
if (operator === "+") hasil = a + b;
else if (operator === "-") hasil = a - b;
else if (operator === "*") hasil = a * b;
else if (operator === "/") {
if (b === 0) { tampilkan("Error: bagi 0"); logKonsol("Error: tidak bisa bagi 0"); return; }
hasil = a / b;
}
tampilkan(hasil);
logKonsol(a + " " + operator + " " + b + " = " + hasil);
}
logKonsol() — satu tempat.