Kamis, 20 Juni 2013

Membuat Kalkulator Sederhana dengan Bahasa Pemrograman C

hallow... sudah lama tidak berjumpa di artikel belajar bahasa pemrograman C. Kami mohon maaf atas keterlambatan penulisan ini, karena satu dan lain hal. Oke kali ini kita akan belajar berasama tentang bagaimana membuat kalkulator dengan bahasa pemorgraman C. Apa saja yang kita butuhkan dalam membuat kalkulator???... Tentu hal pertama yang kita butuhkan adalah pengetahuan tentang dasar matematika, penambahan, pengurangan, perkalian, dan pembagian, dan tentu pengetahuan tentang bahas pemrograman C yang sudah kita bahas sebelum-sebelumnya. Yuks mari sama-sama kita bahas tentang kalkulator pada bahasa pemrograman C.

Pertama mari kita buat tanpa menggunakan input (scanf) terlebih dahulu, berikut contoh source-codenya:
#include <stdio.h>
#include <string.h>

int main() {
    float hasil;
    int a, b, c, i;
    char operator[4];
    
    a = 4; // angka pertama
    b = 5; // angka kedua
    c = 2; // operator

    // baris untuk memasukan perintah input
    
    switch(c) {
        case 1: // tambah
            hasil = a + b;
            strcpy(operator, "+");
            break;
        case 2: // kurang
            hasil = a - b;
            strcpy(operator, "-");
            break;
        case 3: // kali
            hasil = a * b;
            strcpy(operator, "*");
            break;
        case 4: // bagi
            hasil = 1.0 * a / b;
            strcpy(operator, "/");
            break;
        case 5: // pangkat
            hasil = 1;
            for(i=0; i<b; i++) {
                hasil = hasil * a;
            }
            strcpy(operator, "^");
            break;
        default:
            hasil = 0;
            strcpy(operator, "0");
            break;
    }

    if (strcmp(operator, "0") != 0) {
        printf("\n\n%d %s %d = %.2f\n\n", a, operator, b, hasil);
    } else {
        printf("\n\nmaaf operator aritmatika yang anda pilih tidak terdeteksi\n\n");
    }
    
    return 0;
}
Coba dijalankan jika perintah berhasil dijalankan dan menghasilkan seperti pada hasil berikut, berarti kita bisa lanjut dengan menambahkan perintah input.
4 - 5 = -1
Oks mari kita lanjut ke step berikut dengan menambahkan 3 inputan, yaitu untuk inputan angka pertama dan kedua, kemudian inputan operator yang ingin digunakan. berikut penggalan sourcecodenya.
    printf("\n\nSilahkan masukan angka pertama, \n");
    printf("disusul dengan angka kedua, \n");
    printf("kemudian operator sesuai dengan keterangan berikut\n");
    printf("   - 1 = penambahan\n");
    printf("   - 2 = pengurangan\n");
    printf("   - 3 = perkalian\n");
    printf("   - 4 = pembagian\n");
    printf("   - 5 = pemangkatan\n");

    scanf("%d", &a);
    scanf("%d", &b);
    scanf("%d", &c);
jika digabung dengan sourcode diatas maka akan menjadi :
#include <stdio.h>
#include <string.h>

int main() {
    float hasil;
    int a, b, c, i;
    char operator[4]; // penanda operator
    
    // baris untuk memasukan perintah input
    printf("\n\nSilahkan masukan angka pertama, \n");
    printf("disusul dengan angka kedua, \n");
    printf("kemudian operator sesuai dengan keterangan berikut\n");
    printf("   - 1 = penambahan\n");
    printf("   - 2 = pengurangan\n");
    printf("   - 3 = perkalian\n");
    printf("   - 4 = pembagian\n");
    printf("   - 5 = pemangkatan\n");

    scanf("%d", &a); // input angka pertama
    scanf("%d", &b); // input angka kedua
    scanf("%d", &c); // input operator
    
    switch(c) {
        case 1: // tambah
            hasil = a + b;
            strcpy(operator, "+");
            break;
        case 2: // kurang
            hasil = a - b;
            strcpy(operator, "-");
            break;
        case 3: // kali
            hasil = a * b;
            strcpy(operator, "*");
            break;
        case 4: // bagi
            hasil = 1.0 * a / b;
            strcpy(operator, "/");
            break;
        case 5: // pangkat
            hasil = 1;
            for(i=0; i<b; i++) {
                hasil = hasil * a;
            }
            strcpy(operator, "^");
            break;
        default:
            hasil = 0;
            strcpy(operator, "0");
            break;
    }

    if (strcmp(operator, "0") != 0) {
        printf("\n\n%d %s %d = %.2f\n\n", a, operator, b, hasil);
    } else {
        printf("\n\nmaaf operator aritmatika yang anda pilih tidak terdeteksi\n\n");
    }
    
    return 0;
}
Coba dijalankan jika berhasil, Selamat anda sudah berhasil membuat kalkulator sederhana, artikel berikutnya kita akan membahas bersama tentang fungsi dan prosedur. So take care, and keep learning.

Terima kasih atas kunjungannya, semoga bermanfaat...

6 komentar:

  1. Program selisih hari ada gak gan??

    BalasHapus
  2. Waduh mohon maaf gan mssih blm ada gan... :)

    BalasHapus
  3. gan kalo kalkulator kata ada source codenya gk ?
    contoh: 1+1=Dua

    BalasHapus
  4. gan, ko pas pembagian, ada di kali 1 nya sih?? buat apa ya itu gan???

    oiya akn ane udh buat program rumus abc yang buat nyari pemfaktoran itu, tapi kalo nya bukan angka 1, gagal. kenapa ya?? thankss

    BalasHapus
  5. Kenapa kalo dimasukkan rumus misal hasil = a*b/c, hasilnya selalu nol gan? mohon bantuannya :D

    BalasHapus
  6. gan klo ngubah case 1 menjadi case '+' kok g bsa?

    BalasHapus