Merangkai Otak Hitung dan Kanvas Kreatif: Membangun Kalkulator & Page Builder Murni HTML, CSS, JS

ikramlink Maret 27, 2026
Merangkai Otak Hitung dan Kanvas Kreatif: Membangun Kalkulator & Page Builder Murni HTML, CSS, JS

Pernahkah Anda merasa terlalu bergantung pada framework atau library modern? Saya pribadi sering, bahkan pernah suatu ketika mencoba membangun komponen kecil dan akhirnya malah menarik seluruh ekosistem React atau Vue hanya untuk sebuah fitur kecil. Rasanya seperti mau membetulkan engsel pintu yang berderit, tapi malah membeli satu set perkakas bengkel lengkap yang isinya ribuan alat dan hanya terpakai satu obeng saja. Memang efektif, tapi kadang terasa "overkill" dan bikin bingung. Nah, kali ini, mari kita kembali ke akar, kembali ke "jeroan" paling fundamental di dunia web: HTML, CSS, dan JavaScript murni!

Artikel ini akan membawa Anda dalam perjalanan merakit dua aplikasi web yang cukup kompleks, tetapi dengan filosofi kesederhanaan dan kemandirian: sebuah kalkulator fungsional dan sebuah page builder dinamis. Keduanya akan kita bangun tanpa bantuan framework apa pun, murni dengan kehebatan trio dasar yang sudah ada sejak zaman baheula. Bayangkan ini seperti seorang koki handal yang, alih-alih memakai mesin canggih, memilih untuk menggunakan pisau dan talenan saja untuk menciptakan hidangan bintang lima. Hasilnya? Pemahaman mendalam, performa optimal, dan kepuasan luar biasa saat melihat kreasi Anda berfungsi.

Persiapkan diri Anda, buka editor kode favorit Anda, dan mari kita mulai merakit "otak digital" serta "kanvas kreatif" ini!

Bagian 1: Merakit Otak Digital – Kalkulator Fungsional

Membangun kalkulator mungkin terdengar sepele, tapi ini adalah proyek fundamental yang sangat bagus untuk melatih logika dan interaksi DOM (Document Object Model) dengan JavaScript. Dulu, waktu pertama kali belajar JS, saya pernah debugging kalkulator sederhana sampai seharian penuh hanya karena lupa satu tanda kurung atau salah penempatan event listener. Rasanya seperti montir yang sudah membongkar seluruh mesin mobil tapi ternyata masalahnya hanya di kabel busi yang kendur. Frustrasi, tapi begitu ketemu solusinya, rasanya seperti menemukan harta karun!

1.1. Pondasi HTML: Rangka Kalkulator

HTML adalah tulang punggung aplikasi kita. Untuk kalkulator, kita butuh "layar" untuk menampilkan angka dan hasil, serta "tombol-tombol" untuk input. Bayangkan ini seperti merancang tata letak panel kontrol di kokpit pesawat, di mana setiap tombol dan layar punya tempatnya sendiri.


<div class="calculator-container">
    <div class="display">0</div>
    <div class="buttons">
        <button class="operator clear">AC</button>
        <button class="operator backspace">&larr;</button>
        <button class="operator">%</button>
        <button class="operator">/</button>

        <button>7</button>
        <button>8</button>
        <button>9</button>
        <button class="operator">*</button>

        <button>4</button>
        <button>5</button>
        <button>6</button>
        <button class="operator">-</button>

        <button>1</button>
        <button>2</button>
        <button>3</button>
        <button class="operator">+</button>

        <button class="zero">0</button>
        <button>.</button>
        <button class="operator equals">=</button>
    </div>
</div>

Di sini, kita punya sebuah `div` utama sebagai "badan" kalkulator. Di dalamnya, ada `div` untuk "layar" (`display`) dan `div` lain untuk menampung semua "tombol" (`buttons`). Setiap tombol diwakili oleh elemen `