Membuat Kalkulator Sederhana dengan C++ untuk Pemula

| | | C dan C++
Membuat Kalkulator Sederhana dengan C++ untuk Pemula

Membuat kalkulator sederhana dengan C++ adalah latihan klasik yang bagus untuk memahami input, percabangan, dan fungsi.

Artikel ini memberi contoh kode yang langsung jalan, plus menjelaskan bagian-bagiannya satu per satu.

Kode Program Kalkulator C++

Berikut contoh lengkap kalkulator dengan empat operasi dasar menggunakan switch:

#include <iostream>
using namespace std;

int main() {
    double a, b, hasil;
    char operasi;

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

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

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

    switch (operasi) {
        case '+': hasil = a + b; break;
        case '-': hasil = a - b; break;
        case '*': hasil = a * b; break;
        case '/':
            if (b == 0) {
                cout << "Error: pembagian dengan nol!" << endl;
                return 1;
            }
            hasil = a / b;
            break;
        default:
            cout << "Operator tidak dikenal!" << endl;
            return 1;
    }

    cout << "Hasil: " << a << " " << operasi << " " << b << " = " << hasil << endl;
    return 0;
}

Cuplikan ini sudah menangani dua kasus yang sering bikin pemula bingung: pembagian dengan nol, dan operator yang tidak dikenal.

Penjelasan Kode

  • double a, b, hasil; — memakai double (bukan int) supaya pembagian 5 / 2 menghasilkan 2.5, bukan 2. Ini perbedaan yang sering tidak disadari.
  • cin — membaca angka dan operator dari keyboard.
  • switch (operasi) — memilih operasi berdasarkan karakter yang dimasukkan pengguna. Lebih rapi daripada rantai if-else untuk kasus seperti ini.
  • Pengecekan b == 0 — mencegah crash saat pengguna membagi dengan nol.
  • return 1 — menghentikan program dengan kode error bila input salah.

Versi dengan Fungsi Terpisah

Kalau kamu sedang belajar fungsi, versi ini memecah tiap operasi ke fungsi sendiri:

#include <iostream>
using namespace std;

double tambah(double a, double b) { return a + b; }
double kurang(double a, double b) { return a - b; }
double kali(double a, double b)   { return a * b; }
double bagi(double a, double b)   { return a / b; }

int main() {
    double a = 10, b = 4;
    cout << "10 + 4 = " << tambah(a, b) << endl;
    cout << "10 / 4 = " << bagi(a, b) << endl;  // 2.5, bukan 2
    return 0;
}

Kesalahan Umum yang Sering Terjadi

Saat belajar C++, beberapa kesalahan umum yang perlu dihindari:

  1. Lupa titik koma — Setiap statement di C++ harus diakhiri dengan ;.
  2. Out of bounds array — Index array dimulai dari 0, pastikan tidak mengakses index di luar deklarasi.
  3. Mengabaikan return type — Fungsi main() harus bertipe int dan mengembalikan nilai.
  4. Tidak menggunakan namespace — Gunakan using namespace std; atau qualify dengan std:: untuk menghindari ambigu.
  5. Lupa menginisialisasi variabel — Variabel lokal tidak otomatis bernilai 0; selalu inisialisasi sebelum dipakai.

Memahami kesalahan umum ini akan menghemat waktu debugging Anda.

FAQ

Kenapa pembagian 5 / 2 di C++ menghasilkan 2?

Karena jika kedua operand bertipe int, hasilnya dipotong ke bilangan bulat (int division). Pakai double untuk a, b, dan hasil supaya hasilnya 2.5.

Apa bedanya pakai switch vs if-else untuk kalkulator?

switch lebih rapi untuk membandingkan satu nilai (operasi) dengan banyak case. if-else lebih fleksibel jika kondisinya kompleks. Untuk kalkulator, keduanya sama-sama valid.

Bagaimana mencegah error pembagian dengan nol?

Cek dulu if (b == 0) sebelum membagi, lalu tampilkan pesan error dan hentikan program dengan return 1. Contoh lengkapnya ada di kode di atas.

Apa arti return 1 di program kalkulator?

return 1 menghentikan main() dengan kode status 1 (menandakan error), berbeda dengan return 0 untuk sukses. Ini membantu sistem tahu program berakhir normal atau gagal.

Kesimpulan

Membuat kalkulator sederhana dengan C++ adalah latihan yang bagus untuk memahami cin, cout, percabangan, dan fungsi. Mulai dari versi switch yang aman (sudah menangani nol dan operator tak dikenal), lalu coba variasi dengan fungsi terpisah saat kamu belajar pembagian double.

Pertanyaan yang Sering Diajukan

Kenapa pembagian 5 / 2 di C++ menghasilkan 2?

Karena jika kedua operand bertipe int, hasilnya dipotong ke bilangan bulat. Pakai double untuk a, b, dan hasil supaya hasilnya 2.5.

Apa bedanya pakai switch vs if-else untuk kalkulator?

switch lebih rapi untuk membandingkan satu nilai dengan banyak case. if-else lebih fleksibel jika kondisinya kompleks. Untuk kalkulator, keduanya sama-sama valid.

Bagaimana mencegah error pembagian dengan nol?

Cek dulu if (b == 0) sebelum membagi, lalu tampilkan pesan error dan hentikan program dengan return 1.

Apa arti return 1 di program kalkulator?

return 1 menghentikan main() dengan kode status 1 (menandakan error), berbeda dengan return 0 untuk sukses.

Sigit Nurhanafi avatar
Full-stack developer & technical writer. Berpengalaman di PHP, Laravel, NodeJS, MySQL, dan Python. Aktif menulis tutorial pemrograman dan maintaining open-source projects di PemburuKode sejak 2021.