Functions

1. Tulis program dengan fungsi untuk menghitung akar persamaan kuadrat. Akar persamaan kuadrat dapat dicari dengan menentukan terlebih dahulu nilai diskriminan dengan rumus D = B2 – 4AC.
– Jika Nilai D < 0 maka merupakan “Akar Imaginer”.
– Jika Nilai  D= 0, maka X1=X2 = –B / (2A).
– Jika Nilai D > 0, maka terdapat dua akar berbeda
X1 = (-B + D) / (2A) dan X2 = (-B – D) / (2A)

Jawab:
#include <iostream.h>
#include <math.h>

inline void akar(float A,float B,float C, float D)
{
if (D<0)
{cout<<“\nX1 dan X2 adalah Akar Imaginer”<<endl;}
if (D==0)
{  cout<<“\nX1 = X2 = ” << -B / (2*A)<<endl; }
if (D>0)
{
cout<<“X1 = “<<(-B + sqrt(D)) / 2*A <<endl;
cout<<“X2 = “<<(-B – sqrt(D)) / 2 <<endl;
}
}

int main()
{
float aa, bb, cc, dd;

cout << “Rumus : D = (B*B) – 4AC ” << endl;
cout << “Input A = “;
cin >> aa;
cout << “\nInput B = “;
cin >> bb;
cout << “\nInput C = “;
cin >> cc;
cout << “\nInput D = “;
cin >> dd;

akar(aa,bb,cc,dd);

system(“pause”);
}

Hasil:
1

2

3

2. Buatlah program dengan fungsi untuk menghitung rata-rata dari 10 bilangan yang diinputkan, fungsi-fungsi yang harus dibuat adalah:
a.Fungsi input 10 bilangan bulat
b.Fungsi hitung jumlah 10 bilangan bulat
c.Fungsi hiutng rata-rata
d.Fungsi tampil hasil

Jawab:
#include <iostream.h>

inline void input(float n[9])
{

cout << “Masukkan 10 bilangan ” << endl;
for (int i=0;i<=9;i++)
{
cout << “Input bilangan ke-“<<i+1<<” = “;
cin >> n[i];
}
}
inline float sum(float n[9])
{
float total=0;
for (int i=0;i<=9;i++)
{
total=total+n[i];
}
return total;
}
inline float avg(float s)
{
float rt=0;
rt=s/10;
return rt;
}
inline void print(float s, float a)
{
cout<<“\nTotal = “<<s<<endl;
cout<<“Rata rata = “<<a<<endl;
}
int main()
{
float num[9];
float s,a;
input(num);
s=sum(num);
a=avg(s);
print(s,a);
system(“pause”);
}

Hasil:
4

3. Tuliskan program dengan function recursive untuk menampilkan deret fibonaci yang nilai tertingginya kurang dari 100.

Deret fibonaci : 1, 1 , 2 , 3, 5, 8, …

Jawab:
#include <iostream.h>

int fibo(int v1, int v2)
{
int temp;
if (v2<100)
{
temp=v1+v2;
v1=v2;
v2=temp;
if (v2<100)
{ cout<<” “<<v2; }
fibo(v1,v2);
}
return 0;
}
int main()
{
cout<<“Deret Fibonacci”<<endl;
fibo(1,0);
cout<<endl;
system(“pause”);
}
Hasil:

5