Panduan Membuat Aplikasi Kalkulator dengan PHP

Catatan Penting: Artikel ini berfokus pada penggunaan PHP sisi server untuk memproses input, yang memerlukan server web (seperti Apache dengan XAMPP/WAMP).

Pendahuluan: Mengapa PHP untuk Kalkulator?

Membuat aplikasi kalkulator sederhana adalah latihan fundamental yang sangat baik untuk memahami alur kerja dasar pemrograman web: menerima input (HTML/Form), memproses data (PHP), dan menampilkan hasil. Meskipun kalkulator dapat dibuat sepenuhnya menggunakan JavaScript (sisi klien), menggunakan PHP (sisi server) mengajarkan bagaimana data dikirimkan melalui metode HTTP POST atau GET dan bagaimana logika bisnis dieksekusi di server.

Dalam panduan ini, kita akan memisahkan dua bagian utama: antarmuka pengguna (HTML) dan logika pemrosesan (PHP). Kita akan membuat satu file tunggal yang menangani kedua fungsi tersebut untuk kesederhanaan, meskipun dalam proyek nyata, pemisahan file sangat dianjurkan.

Langkah 1: Membuat Struktur HTML untuk Input

Kalkulator memerlukan dua angka dan satu operator. Kita akan menggunakan elemen <form> HTML untuk mengirim data ini ke skrip PHP yang sama (menggunakan atribut action="").

<form method="POST" action=""> <label for="angka1">Angka Pertama:</label> <input type="number" step="any" name="angka1" required> <label for="operator">Operator:</label> <select name="operator" required> <option value="+">Tambah (+)</option> <option value="-">Kurang (-)</option> <option value="*">Kali (×)</option> <option value="/">Bagi (÷)</option> </select> <label for="angka2">Angka Kedua:</label> <input type="number" step="any" name="angka2" required> <input type="submit" value="Hitung"> </form>

Langkah 2: Menambahkan Visualisasi SVG

Berikut adalah representasi visual sederhana dari proses komputasi yang akan dilakukan server.

Angka 1 ? Angka 2 Proses PHP Hasil

Langkah 3: Logika Pemrosesan dengan PHP

Setelah formulir disubmit, PHP akan memeriksa apakah data telah diterima (menggunakan $_SERVER['REQUEST_METHOD'] == 'POST'). Kemudian, ia akan mengambil nilai input, memastikan input tersebut valid (bukan teks atau kosong), dan melakukan operasi aritmatika yang diminta.

<?php $hasil = null; $error = ''; if ($_SERVER["REQUEST_METHOD"] == "POST") { // 1. Ambil data dari form $angka1 = filter_input(INPUT_POST, 'angka1', FILTER_VALIDATE_FLOAT); $angka2 = filter_input(INPUT_POST, 'angka2', FILTER_VALIDATE_FLOAT); $operator = $_POST['operator']; // 2. Validasi data if ($angka1 === false || $angka2 === false) { $error = "Input harus berupa angka yang valid."; } else { // 3. Proses perhitungan switch ($operator) { case '+': $hasil = $angka1 + $angka2; break; case '-': $hasil = $angka1 - $angka2; break; case '*': $hasil = $angka1 * $angka2; break; case '/': if ($angka2 == 0) { $error = "Tidak dapat membagi dengan nol."; } else { $hasil = $angka1 / $angka2; } break; default: $error = "Operator tidak dikenali."; break; } } } ?>

Menampilkan Hasil dan Error

Kita perlu menambahkan kode di akhir file HTML untuk menampilkan hasil atau pesan kesalahan jika perhitungan gagal. Fungsi number_format() sering digunakan untuk memformat output angka.

<?php if ($error) { echo "<p style='color: red; font-weight: bold;'>Error: " . htmlspecialchars($error) . "</p>"; } elseif ($hasil !== null) { // Menampilkan hasil dengan format yang lebih baik echo "<h2>Hasil Perhitungan:</h2>"; echo "<p style='font-size: 1.5em; color: #28a745; font-weight: bold;'>"; echo htmlspecialchars($angka1) . " " . htmlspecialchars($operator) . " " . htmlspecialchars($angka2) . " = " . number_format($hasil, 2); echo "</p>"; } ?>

Kesimpulan Mengenai Pembuatan Aplikasi Kalkulator

Membuat aplikasi kalkulator dengan PHP secara efektif menunjukkan bagaimana PHP bertindak sebagai jembatan antara antarmuka pengguna yang statis (HTML) dan logika pemrosesan yang dinamis. Setiap kali pengguna menekan tombol "Hitung", halaman akan me-refresh, data dikirim ke server, PHP mengeksekusinya, dan mengirimkan kembali halaman HTML yang sudah diperbarui (termasuk hasilnya).

Penggunaan filter_input sangat penting untuk keamanan dasar (sanitasi input), memastikan bahwa kita hanya memproses angka ketika kita mengharapkan angka, meskipun untuk aplikasi yang lebih kompleks, validasi dan sanitasi harus lebih ketat. Kalkulator ini berfungsi sebagai pondasi kuat untuk beralih ke logika perhitungan yang lebih rumit di masa depan menggunakan PHP.