Kamis, 18 April 2013

Tugas 4. Algoritma dan Struktur Data C (Kalkulator Sederhana Dengan Memanfaatkan Fungsi)

,
Nama :
Empianus Eko Putra
49013009
No.Reg % 4 = 1 (Soal 7)



Deskripsi Singkat Video :
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, cos, sin, tan, exp, luas segitiga, luas lingkaran, luas segi empat, akar kuadrat, pembulatan. Dalam melakukan perhitungan operasi tersebut kita membutuhkan library math.h dimana library ini berfungsi untuk bisa melakukan perhitungan matematika.

Dalam pembuatan program ini juga menggunakan  fungsi, tujuannya agar program yang dibuat lebih terstruktur. 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.

Source Code :

/* Kasus Soal 7 :
   Kalkulator yang Dapat melakukan perkalian, pengurangan, pertambahan,
   pembagian, cos, sin, tan, exp, luas segitiga, luas lingkaran,
   luas segi empat, akar kuadrat, pembulatan, dengan menggunakan math.h

Writer : Empianus Eko Putra */


#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\n");
       printf ("                             Writer : Empianus Eko Putra\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){
              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 Luas Segitiga\n");
       printf ("10. Hitung Luas Lingkaran\n");
       printf ("11. Hitung Luas SegiEmpat\n");
       printf ("12. Hitung Akar Kuadrat\n");
       printf ("13. Hitung Pembulatan\n");
      
}

// Fungsi Untuk Proses Kalkulator
void proses(int pil){
       switch (pil){
       case 1:{ 
                 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:{
                 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:{
                 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:{
                 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:{
                 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:{
                 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:{
                 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:{
                 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:{
                 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 10:{
                 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 11:{
                 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 12:{
                 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 13:{
                 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 :



0 komentar to “Tugas 4. Algoritma dan Struktur Data C (Kalkulator Sederhana Dengan Memanfaatkan Fungsi) ”

Posting Komentar