Panduan Lengkap: Membuat Kalkulator Sederhana dengan C++

Ikon Kalkulator Digital 0.00 7 8 9 ÷ 4 5 6 × Simple Calc

Membuat aplikasi dasar seperti kalkulator adalah langkah fundamental yang sangat baik saat memulai perjalanan belajar bahasa pemrograman C++. C++ menawarkan kontrol tingkat rendah yang kuat, tetapi untuk tugas sederhana seperti ini, fokus kita adalah pada logika dasar input/output (I/O) dan percabangan kondisional.

Proyek membuat kalkulator dengan C++ ini akan mengajarkan Anda cara:

Persiapan Lingkungan Pengembangan

Pastikan Anda sudah menginstal kompilator C++ yang berfungsi, seperti GCC (melalui MinGW di Windows atau terinstal secara default di Linux/macOS). Teks editor atau IDE pilihan Anda (seperti VS Code, Code::Blocks, atau Dev-C++) akan digunakan untuk menulis kode.

Struktur Kode Kalkulator Dasar

Kalkulator sederhana ini hanya akan menangani empat operasi dasar: penjumlahan (+), pengurangan (-), perkalian (*), dan pembagian (/). Kita akan menggunakan tipe data double agar kalkulator dapat menangani angka desimal.

Langkah 1: Inklusi Library dan Deklarasi Variabel

Kita perlu menyertakan untuk fungsi input/output. Variabel yang dibutuhkan adalah dua angka (operand) dan satu operator.

#include <iostream>
using namespace std;

int main() {
    double num1, num2, hasil;
    char op;

    cout << "=====================================" << endl;
    cout << " Kalkulator Sederhana C++" << endl;
    cout << "=====================================" << endl;
    // ... kode selanjutnya

Langkah 2: Meminta Input Pengguna

Kita meminta pengguna memasukkan angka pertama, operator, dan angka kedua secara berurutan.

    cout << "Masukkan angka pertama: ";
    cin >> num1;

    cout << "Masukkan operator (+, -, *, /): ";
    cin >> op;

    cout << "Masukkan angka kedua: ";
    cin >> num2;

Langkah 3: Menerapkan Logika Operasi

Ini adalah inti dari program. Kita menggunakan struktur switch-case karena lebih efisien dan mudah dibaca ketika kita harus membandingkan satu variabel (op) dengan beberapa kemungkinan nilai.

    switch (op) {
        case '+':
            hasil = num1 + num2;
            break;
        case '-':
            hasil = num1 - num2;
            break;
        case '*':
            hasil = num1 * num2;
            break;
        case '/':
            // Penanganan kasus pembagian dengan nol (Division by Zero)
            if (num2 != 0) {
                hasil = num1 / num2;
            } else {
                cout << "Error: Pembagian dengan nol tidak diizinkan!" << endl;
                return 1; // Keluar dari program dengan kode error
            }
            break;
        default:
            cout << "Error: Operator tidak valid." << endl;
            return 1; // Keluar jika operator salah
    }

Perhatikan pentingnya penanganan kasus pembagian dengan nol. Dalam pengembangan perangkat lunak, validasi input dan penanganan kesalahan (error handling) adalah krusial. Menggunakan return 1; memberi tahu sistem operasi bahwa program berakhir karena adanya kesalahan.

Langkah 4: Menampilkan Hasil

Setelah operasi berhasil dilakukan (atau jika tidak ada error yang terdeteksi), hasilnya ditampilkan kepada pengguna.

    cout << "-------------------------------------" << endl;
    // Tampilkan ekspresi lengkap
    cout << "Hasil: " << num1 << " " << op << " " << num2 << " = " << hasil << endl;
    cout << "-------------------------------------" << endl;

    return 0; // Program berakhir sukses
}

Kesimpulan Kode Lengkap

Dengan menggabungkan semua langkah tersebut, Anda berhasil membuat kalkulator dengan C++ yang fungsional. Program ini menunjukkan alur kerja dasar dalam pemrograman: Deklarasi > Input > Proses > Output. Jika Anda ingin mengembangkannya lebih lanjut, pertimbangkan untuk menambahkan fitur seperti fungsi modulus (%), atau membungkus seluruh proses dalam sebuah loop (while) agar pengguna dapat melakukan perhitungan berulang kali tanpa harus me-restart program.

Penguasaan logika dasar ini adalah fondasi kuat sebelum beralih ke topik C++ yang lebih kompleks seperti kelas, objek, dan pointer.