Kembali lagi dengan saya temen-temen. Pada artikel kali ini saya akan membagikan kode lengkap dan sederhana bagaimana cara membuat live kalkulator menggunakan HTML, CSS, dan Javascript.

Kode ini sangat sederhana sekali namun sudah memiliki fitur live kalkulator yang sangat memadai. Di sini untuk text editornya saya menggunakan Visual Studio Code serta Firefox sebagai browsernya.

Tampilan Kalkulator

Berikut untuk script lengkapnya dan jika ada yang belum jelas bisa menonton videonya di atas.

<html lang="id">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Live Kalkulator</title>

    <style>
      * {
        margin: 0;
        padding: 0;
        font-family: "Courier New", Courier, monospace;
      }
      #main {
        background: linear-gradient(to right, rgb(90, 20, 20), rgb(10, 8, 110));
        height: 100%;
        text-align: center;
        padding: 3em 5em;
      }
      #input-script {
        width: 100%;
        padding: 1em;
        font-size: 2em;
        font-weight: bold;
        text-align: right;
      }
      .content {
        margin-top: 3em;
        padding: 2em;
        background: rgb(90, 20, 20);
        color: #fff;
      }
      #equal {
        font-size: 3em;
      }
    </style>
  </head>
  <body>
    <div id="main">
      <input
        type="text"
        id="input-script"
        onkeydown="fun()"
        onkeypress="fun()"
        onkeyup="fun()"
      />

      <div class="content">
        <span id="equal">0</span>
      </div>
    </div>

    <script>
      inp = document.getElementById("input-script");
      eql = document.getElementById("equal");

      function fun() {
        val = inp.value;
        if (val) {
          try {
            eql.innerHTML = eval(val);
          } catch (e) {
            if (e instanceof SyntaxError) {
              eql.innerHTML = "Waiting Input ...";
            }
          }
        } else {
          eql.innerHTML = 0;
        }
      }
    </script>
  </body>
</html>

Semoga Bermanfaat …