Aplikasi Rumus Matematika dengan Library Math.h & Fungsi Rekursif

Judul : Aplikasi Rumus Matematika dengan Fungsi Math dan Fungsi Rekursif
Deskripsi :
Aplikasi ini merupakan pengembangan dari aplikasi rumus matematika dengan fungsi math yang saya buat sebelumnya, dalam aplikasi ini user diminta untuk menginpitkan username dan password untuk dapat masuk dalam aplikasi, apabila username dan password tidak cocok, maka akan dilakukan pengulangan sebanyak tiga kali, lebih dari 3 kali maka akses akan ditolak dan keluar dari aplikasi, dan apabila username dan password cocok maka akan langsung masuk ke dalam aplikasi dan menampilkan beberapa pilihan pada menu utama, yaitu:
ada 11 menu utama yaitu :
1.  Menghitung Akar
2.  Menghitung cos
3.  Menghitung sin
4.  Menghitung tan
5.  Menghitung log
6.  Menghitung fungsi absolut
7.  Menghitung fungsi ceil
8.  Menghitung fungsi floor
9.  Menghitung fungsi pow
10.Menghitung fungsi fmod
11.Menghitung faktorial dengan fungsi rekursif
Aplikasi ini dilengkapi dengan variabel, operator, control flow, fungsi, dan array, serta fungsi recursive.
dan setelah proses perhitungan, user diminta untuk memilih lagi, jika user ingin melakukan perhitungan lagi maka pilihan yes atau tidak, dengan angka 1 yaitu ya, dan 2 yaitu tidak. apabila ya akan di ulang dan melakukakn perhitungan dan kembali ke menu utama dengan menggunakan beberapa fungsi dan berbagai variabel global.

Flowchart :

Listing :

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

float F_akar (float nilai1); float akr; // menghitung akar
float F_cos (float nilai2); float cs; // menghitung nilai tan
float F_sin (float nilai3); float sn; // menghitung nilai sin
float F_tan (float nilai4); float tn; // menghitung nilai tan
float F_log (float nilai5); float lg; // menghitung nilai log
int F_absolut (int nilai6); float abso; // menghasikan nilai absolut berjenis integer
float F_ceil (float nilai7); float cl; // menghasikan pembulatan keatas dari suatu nilai desimal
float F_floor (float nilai8); float fl; // menghasikan pembulatan kebawah dari suatu nilai desimal
float F_pow (float a, float b); float pw; // menghasikan nilai berpangkat
float F_mod (float c, float d); float md; // nilai sisa hasil pembagian
float F_Rekursif (float e, float f);// nilai faktorial dengan fungsi rekursif
int main(void)
{
int angka;
float a,b,c,d,e,f;

  int jum, i, ulang;
  char kalimat1[20],kalimat2[20];
  char pass1[20],pass2[20];
  int banding1, banding2;
  int login_ulang;

  for (login_ulang=1; login_ulang<=3; login_ulang++){

  strcpy(kalimat1, "mentari");
  printf("Masukkan Username : ");
  gets(kalimat2);

  strcpy(pass1, "tumpil");
  printf("Masukkan Password : ");
  gets(pass2);

  banding1=strcmp(kalimat1,kalimat2);
  banding2=strcmp(pass1,pass2);

  if (banding1==0 && banding2==0){
  system("cls");

printf ("Aplikasi Fungsi Matematika\n");
printf ("1.  Fungsi akar\n");
printf ("2.  Fungsi cos\n");
printf ("3.  Fungsi sin\n");
printf ("4.  Fungsi tan\n");
printf ("5.  Fungsi log\n");
printf ("6.  Fungsi absolut\n");
printf ("7.  Fungsi ceil\n");
printf ("8.  Fungsi floor\n");
printf ("9.  Fungsi pow\n");
printf ("10. Fungsi fmod\n");
printf ("11. Fungsi Rekursif Faktorial\n");
printf ("=================\n");
printf ("Masukkan Pilihan : ");
scanf_s ("%d",&angka);
if (angka==1){
printf ("Nilai Akar Adalah : %.2f\n", F_akar(akr));
system ("pause");
}
else if (angka==2){
printf ("Nilai Cos Adalah : %.2f\n", F_cos(cs));
system ("pause");
}
else if (angka==3){
printf ("Nilai Sin Adalah : %.2f\n", F_sin(sn));
system ("pause");
}
else if (angka==4){
printf ("Nilai Tan Adalah : %.2f\n", F_tan(tn));
system ("pause");
}
else if (angka==5){
printf ("Nilai Log Adalah : %.2f\n", F_log(lg));
system ("pause");
}
else if (angka==6){
printf ("Nilai Absolut Adalah : %.2d\n", F_absolut(abso));
system ("pause");
}
else if (angka==7){
printf ("Nilai Ceil Adalah : %.2f\n", F_ceil(cl));
system ("pause");
}
else if (angka==8){
printf ("Nilai Floor Adalah : %.2f\n", F_floor(fl));
system ("pause");
}
else if (angka==9){
printf("Masukkan nilai 1 : ");
scanf_s ("%f",&a);
printf("Masukkan nilai 2 : ");
scanf_s ("%f",&b);
printf ("Nilai Pow Adalah : %.2f\n", F_pow(a, b));
system ("pause");
}
else if (angka==10){
printf("Masukkan nilai 1 : ");
scanf_s ("%f",&c);
printf("Masukkan nilai 2 : ");
scanf_s ("%f",&d);
printf ("Nilai Fmod Adalah : %.2f\n", F_mod(c, d));
system ("pause");
}
else if (angka==11){
printf("Masukkan nilai 1 : ");
scanf_s ("%f",&e);
printf("Masukkan nilai 2 : ");
scanf_s ("%f",&f);
printf ("Nilai Rekursif Adalah : %.2f\n", F_Rekursif(e, f));
system ("pause");
}
}
else{
printf("Password Salah \n");
}
  }
  printf("Akses Ditolak \n");
  system("pause");
return(0);
}


float F_akar (float nilai1)
{
akr = sqrt(nilai1);
return akr;
system ("pause");
}

float F_cos (float nilai2)
{
printf("Masukkan nilai : ");
scanf_s ("%f",&nilai2);
cs = cos(nilai2);
return cs;
system ("pause");
}

float F_sin (float nilai3)
{
printf("Masukkan nilai : ");
scanf_s ("%f",&nilai3);
sn = sin(nilai3);
return sn;
system ("pause");
}
float F_tan (float nilai4)
{
printf("Masukkan nilai : ");
scanf_s ("%f",&nilai4);
tn = tan(nilai4);
return tn;
system ("pause");
}
float F_log (float nilai5)
{
printf("Masukkan nilai : ");
scanf_s ("%f",&nilai5);
lg = log(nilai5);
return lg;
system ("pause");
}

float F_absolut (float nilai6)
{
printf("Masukkan nilai : ");
scanf_s ("%f",&nilai6);
abso = abs(nilai6);
return abso;
system ("pause");
}

float F_ceil (float nilai7)
{
printf("Masukkan nilai : ");
scanf_s ("%f",&nilai7);
cl = ceil(nilai7);
return cl;
system ("pause");
}

float F_floor (float nilai8)
{
printf("Masukkan nilai : ");
scanf_s ("%f",&nilai8);
fl = floor(nilai8);
return fl;
system ("pause");
}

float F_pow (float a, float b)
{
pw = pow(a,b);
return pw;
system ("pause");
}

float F_mod (float c, float d)
{
md = pow(c,d);
return md;
system ("pause");
}

float F_Rekursif (float e, float f)
{
if (f==0)
return 1;
else
return e*F_Rekursif(e,f-1);
system("pause");
}

Video :