Salam semangat teman-teman :) pada kesempatan kali ini saya membuat aplikasi kalkulator menggunakan fungsi dalam bahasa c. aplikasi ini adalah pengembangan dari aplikasi sebelumnya pada portofolio blog 1.
Lihat Program Kalkulator Sederhana Pada Modul Sebelumnya.
perbedaannya kali ini digunakan fungsi denagn pilihan beberapa menu operasi hitung aritmatik dan operasi hitung luas bangun datar. Untuk lebih meningkatkan pemahaman anda silahkan perhatikan potongan video, flowchart, listing program dan deskripsi program yang tertera di bawah ini.
Video Belajar C
Video Pembelajaran C Program Kalkulator Menggunakan Fungsi
Flowchart Program
Listing Program
//Kalkulator yang Dapat melakukan perkalian, pengurangan, pertambahan,
//pembagian, cos, sin, tan, exp, modulus, akar kuadrat, luas segitiga, luas lingkaran,
//luas segi empat, luas persegi panjang, dan pembulatan, dengan menggunakan math.h
#include <stdio.h> // library untuk input - output
#include <stdlib.h> // library untuk system pause (fungsi jeda)
#include <math.h> // library untuk menggunakan rumus matematika
#include <conio.h>
void menu(); // prototype fungsi menu
void proses(int pil); // prototype fungsi proses kalkulator
float x,y,hasil,atas,bawah; // deklarasi variabel float global
int main(void){
int pil,ulang; // deklarasi variabel integer private
// Judul Program
printf (" =============================\n");
printf (" PROGRAM\n");
printf (" KALKULATOR SEDERHANA WIDYA\n");
printf (" =============================\n\n");
menu(); // pemanggilan fungsi menu
printf("\n\nMasukan Pilihan Anda : ");
scanf("%i",&pil);
proses(pil); // pemanggilan fungsi proses kalkulator
printf ("Apakah Anda Ingin Melakukan Operasi Yang Lain (1=YES , 2=NO)?");
scanf ("%i",&ulang); // meminta input pengulangan operasi lain jika 1=Yes, 2=No
// sintax untuk melakukan pengulangan menu dan proses
if(ulang==1){
system("cls");
while (ulang==1){
menu(); // pemanggilan fungsi menu pada saat pengulangan
printf("\n\nMasukan Pilihan Anda : ");
scanf("%i",&pil);
proses(pil); // pemanggilan fungsi proses kalkulator pada saat pengulangan
printf ("Apakah Anda Ingin Melakukan Operasi Yang Lain (1 = Yes , 2 = No)?");
scanf ("%i",&ulang); /*meminta input pengulangan operasi lain pada
saat pengulangan telah dilakukan sebelumnya*/
}
}else{
printf("====Terima Kasih====\n");
}
system ("pause");
return 0;
}
// fungsi Menu
void menu () {
printf ("\n ==============\n");
printf (" MENU OPERASI\n");
printf (" ==============\n\n");
printf ("1. Hitung Perkalian\n");
printf ("2. Hitung Pengurangan\n");
printf ("3. Hitung Penambahan\n");
printf ("4. Hitung Pembagian\n");
printf ("5. Hitung COS(x)\n");
printf ("6. Hitung SIN(x)\n");
printf ("7. Hitung TAN(x)\n");
printf ("8. Hitung Exponen\n");
printf ("9. Hitung Modulus\n");
printf ("10. Hitung Akar Kuadrat\n");
printf ("11. Hitung Luas Segitiga\n");
printf ("12. Hitung Luas Lingkaran\n");
printf ("13. Hitung Luas SegiEmpat\n");
printf ("14. Hitung Luas Peregi Panjang\n");
printf ("15. Hitung Pembulatan\n");
}
// Fungsi Untuk Proses Kalkulator
void proses(int pil){
switch (pil){
case 1:{
system("cls");
printf ("\n\nProses Perkalian Di Mulai\n");
printf ("=========================\n");
printf ("\nMasukan Angka 1:");
scanf ("%f",&x);
printf ("Masukan Angka 2:");
scanf ("%f",&y);
hasil=x*y; // proses perhitungan perkalian
printf ("Hasil %.2f * %.2f = %.2f\n\n\n",x,y,hasil);
break;
}
case 2:{
system("cls");
printf ("\n\nProses Pengurangan Di Mulai\n");
printf ("===========================\n");
printf ("Masukan Angka 1:");
scanf ("%f",&x);
printf ("Masukan Angka 2:");
scanf ("%f",&y);
hasil=x-y; // proses perhitungan pengurangan
printf ("Hasil %.2f - %.2f = %.2f\n\n\n",x,y,hasil);
break;
}
case 3:{
system("cls");
printf ("\n\nProses Penambahan Di Mulai\n");
printf ("==========================\n");
printf ("Masukan Angka 1:");
scanf ("%f",&x);
printf ("Masukan Angka 2:");
scanf ("%f",&y);
hasil=x+y; // proses perhitungan penambahan
printf ("Hasil %.2f + %.2f = %.2f\n\n\n",x,y,hasil);
break;
}
case 4:{
system("cls");
printf ("\n\nProses Pembagian Di Mulai\n");
printf ("=========================\n");
printf ("Masukan Angka 1:");
scanf ("%f",&x);
printf ("Masukan Angka 2:");
scanf ("%f",&y);
hasil=x/y; // proses perhitungan pembagian
printf ("Hasil %.2f / %.2f = %.2f\n\n\n",x,y,hasil);
break;
}
case 5:{
system("cls");
printf ("\n\nProses Hitung COS Di Mulai\n");
printf ("==========================\n");
printf ("Masukan Angka :");
scanf ("%f",&x);
hasil=cos((3.14*x)/180); // proses perhitungan cos
printf ("COS %.2f = %f\n\n\n",x,hasil);
break;
}
case 6:{
system("cls");
printf ("\n\nProses Hitung SIN Di Mulai\n");
printf ("==========================\n");
printf ("Masukan Angka :");
scanf ("%f",&x);
hasil= sin((3.14*x)/180); // proses perhitungan sin
printf ("SIN %.2f = %f\n\n\n",x,hasil);
break;
}
case 7:{
system("cls");
printf ("\n\nProses Hitung TAN Di Mulai\n");
printf ("==========================\n");
printf ("Masukan Angka :");
scanf ("%f",&x);
hasil=tan((3.14*x)/180); // proses perhitungan tan
printf ("TAN %.2f = %.2f\n\n\n",x,hasil);
break;
}
case 8:{
system("cls");
printf ("\n\nProses Hitung Exponent Di Mulai\n");
printf ("===============================\n");
printf ("Masukan Bilangan :");
scanf ("%f",&x);
hasil= exp(x); // proses perhitungan Exponen
printf ("Exponent dari %.2f = %.2f\n\n\n",x,hasil);
break;
}
case 9:{
int a, b;
system("cls");
printf ("\n\nProses Hitung Modulus Di Mulai\n");
printf ("===============================\n");
printf ("Masukan Angka 1:");
scanf ("%d",&a);
printf ("Masukan Angka 2:");
scanf ("%d",&b);
hasil=a%b; // proses perhitungan modulus
printf ("Hasil Modulus= %d \n",hasil);
break;
}
case 10:{
system("cls");
printf ("\n\nProses Hitung Akar Kuadrat Di Mulai\n");
printf ("=====================================\n");
printf ("Masukan Angka:");
scanf ("%f",&x);
hasil= sqrt(x); // proses perhitungan Akar Kuadrat
printf ("Akar Kuadrat dari %.2f = %.2f\n\n\n",x,hasil);
break;
}
case 11:{
system("cls");
printf ("\n\nProses Hitung Luas Segitiga Di Mulai\n");
printf ("====================================\n");
printf ("Masukan Alas Segitiga:");
scanf ("%f",&x);
printf ("Masukan Tinggi Segitiga :");
scanf ("%f",&y);
hasil= (x*y)/2; // proses perhitungan Luas Segitiga
printf ("Luas Segitiga dengan %.2f dan %.2f = %.2f\n\n\n",x,y,hasil);
break;
}
case 12:{
system("cls");
printf ("\n\nProses Hitung Luas Lingkaran Di Mulai\n");
printf ("=====================================\n");
printf ("Masukan Jari-Jari Lingkaran:");
scanf ("%f",&x);
hasil= 3.14*pow(x,2); // proses perhitungan Luas Lingkaran
printf ("Luas Lingkaran dengan Jari-Jari %.2f = %.2f\n\n\n",x,hasil);
break;
}
case 13:{
system("cls");
printf ("\n\nProses Hitung Luas SegiEmpat Di Mulai\n");
printf ("=====================================\n");
printf ("Masukan Nilai Sisi:");
scanf ("%f",&x);
hasil= x*x; // proses perhitungan Luas Segiempat
printf ("Luas Segiempat dengan Sisi %.2f = %.2f\n\n\n",x,hasil);
break;
}
case 14:{
system("cls");
printf ("\n\nProses Hitung Luas Persegi Panjang t Di Mulai\n");
printf ("=====================================\n");
printf ("Masukan Panjang:");
scanf ("%f",&x);
printf ("Masukan Lebar:");
scanf ("%f",&y);
hasil= x*y; // proses perhitungan Luas Segiempat
printf ("Luas Persegi Panjang adalah = %.2f\n\n\n",hasil);
break;
}
case 15:{
system("cls");
printf ("\n\nProses Pembulatan Bilangan Di Mulai\n");
printf ("===================================\n");
printf ("Masukan Bilangan Pecahan:");
scanf ("%f",&x);
atas = ceil(x); // proses pembulatan bilangan keatas
bawah = floor(x); // proses pembulatan bilangan kebawah
printf ("Hasil Pembulatan Keatas dari %.2f = %.2f\n",x,atas);
printf ("Hasil Pembulatan Kebawah dari %.2f = %.2f\n\n\n",x,bawah);
break;
}
default :
printf ("Anda Belum Memilih Operasi\n\n\n"); /*pernyataan yang
ditampilkan jika memilih selain menu yang ada*/
}
}
Running Program
Deskripsi Program
Listing program diatas merupakan kalkulator sederhana
yang memanfaatkan fungsi dalam mengeksekusi operasi kalkulator yang tersedia
dalam program tersebut. Adapun operasi yang bisa dioperasikan diantaranya : operasi
perkalian, pengurangan, pertambahan, pembagian, modulus, akar kuadrat, exp, cos, sin, tan, luas
segitiga, luas lingkaran, luas segi empat, pembulatan.
Dalam melakukan perhitungan operasi tersebut kita membutuhkan library
math.h dimana library ini berfungsi untuk bisa melakukan perhitungan
matematika.
Program tersebut menggunakan
fungsi, tujuannya agar program yang dibuat lebih terstruktur dan memudahan tracing program. Adapun
fungsi yang dibuat dalam program ini diantaranya :
1. Fungsi untuk menu dengan nama “void menu()”, pada fungsi
ini terdapat menu – menu yang bisa dilakukan operasi perhitungan dalam program
kalkulator tersebut.
2. Fungsi untuk memproses perhitungan dari masing-masing
operasi yang ada pada program kalkulator. Nama fungsi yang dibuat “ void
proses(int pil); ”. Variabel “int pil” disini berfungsi untuk
menampung pilihan yang diiinputkan oleh user, setelah itu program akan
meneruskan pengecekan pada sintax – sintax yang terdapat dalam fungsi proses
ini, jika ada yang sesuai dengan pilihan yang diinputkan oleh user, maka
program akan memulai melakukan perhitungan dari operasi yang dipilih tersebut.
Misalnya user memilih menu 1 (perkalian), maka program akan menampilkan proses
perhitungan dari perkalian tersebut.
Untuk
bisa melakukan pengecekan menu yang dipilih oleh user, maka ditambahkan sintax “switch
case” dalam fungsi proses tersebut. Selain itu fungsi proses
ini akan bisa berjalan apabila telah dilakukan pemanggilan fungsi tersebut pada
program utama. Untuk lebih jelas silahkan dilihat pada program
Selain itu, dalam program ini juga ditambah
sintax pengulangan “while” pada fungsi program utama, hal ini
dibuat agar program bisa menampilkan menu secara berulang – ulang sampai user
memutuskan untuk keluar dari program tersebut.
Aplikasi ini adalah pengembangan dari aplikasi kalkulator pada modul sebelumnya
Semoga Bermanfaat :)
by. Widya Eka Prativi