Latihan
Latihan 1
Syntax pada Microsoft Visual C++ :
/*fungsi*/
#include
<stdio.h>
//deklarasi
fungsi
int
cari(int n1, int n2);
void
prin (int m);
//main
function
main
()
{
int i=5;
int j=7;
int k;
k=cari(i,j);
prin(k);
return 0;
}
//<--fuction
definition here
int
cari (int a, int b)
{if
(a>b) return a;
else
return b;
}
void
prin(int m)
{
printf ("Bilangan terbesar adalah :
%d\n",m);
}
//end
Penjelasan Program :
Program
ini merupakan sebuah program yang digunakan untuk menentukan bilangan terbesar
dengan menggunakan fungsi. Pertama pada fungsi main kita deklarasikan i dan j
yang masing-masing kita beri nilai 5 dan 7. Selanjutnya akan variabel i dan j
tadi akan masuk pada fungsi cari yang nantinya akan ditentukan bilangan
terbesarnya. Jika a> b maka akan menjadi a sedangkan jika sebaliknya maka
akan menjadi b. Setelah di dapat hasil dari fungsi cari maka akan masuk pada
fungsi prin yang akan menampilkan hasil setelah proses tadi.Saat program dijalankan akan muncul bilangan
terbesar 7.
Latihan 2
Syntax pada Microsoft Visual C++ :
#include <iostream.h>
//deklarasi fungsi
int calcsalestax(float purchase,
float taxrate=0.1);
//mamin function
main ()
{
float
purchase;
cout<<"Masukkan
pembelian: ";
cin>>purchase;
float
tax=calcsalestax(purchase);
cout<<"Pajak
pembelian adalah : "<<tax<<endl;
return
0;
}
int calcsalestax(float purchase,
float taxrate)
{
return
purchase * taxrate;
}
Penjelasan Program :
Program ini merupakan sebuah program yang digunakan
untuk menghitung pajak pembelian. Ketika program dijalankan maka kita diminta
untuk memasukkan pembelian kita, selanjutnya akan dilakukan proses penghitungan
pajak pembelian. Setelah kita memasukkan pembelian maka selanjutnya akan masuk
pada fungsi perhitungan pajak yakni 0.1atau 10% dari total pemeblian kita.
Selanjutnya akan kembali ke fungsi main() atau fungsi utama dan akan
menampilkan pajak pembelian kita.
Fungsi
Rekursif
Latihan
1
Coding pada Microsoft Visual C++ :
/*aplikasi
rekursif pada faktorial*/
#include
<iostream.h>
#include
<stdlib.h>
int
faktorial(int a)
{
if(a==0)
return 1;
else
return a *(faktorial(a-1));
}
void
main()
{
int x;
cout<<"Mencari Nilai Faktorial
\n";
cout<<"Masukkan nilai n= ";
cin>>x;
cout<<"Faktorial
"<<x<<"!="<<faktorial (x)<<endl;
}
Penjelasan
Program :
Program tersebut digunakan untuk menghitung
nilai faktorial.Kita diminta untuk memasukkan nilai n yang akan dicari nilai
faktorialnya. Selanjutnya nilai tersebut akan masuk pada fungsi faktorial dan
akan dihitung nilainya menggunakan fungsi faktorial (fungsi rekursif). Faktorial dari bilangan asli n adalah hasil
perkalian antara bilangan bulat positif yang kurang dari atau sama dengan n.
Latihan
2
Coding
pada Microsoft Visual C++ :
/*aplikasi rekursif pada
fibonacci*/
#include <iostream.h>
long fibo(long a)
{
if
(a==1 || a==2)
return
1;
else
return
fibo(a-1)+fibo(a-2);
}
void main ()
{
int
x;
cout<<"Mencari
nilai fibonacci \n";
cout<<"Masukkan
nilai n= ";
cin>>x;
cout<<"Fibonacci
"<<x<<" = "<<fibo(x)<<endl;
}
Penjelasan
Program :
Program tersebut digunakan untuk
menghitung nilai fibonacci. Kita diminta untuk memasukkan nilai n yang akan
dicari nilai fibonaccinya. Selanjutnya nilai tersebut akan masuk pada fungsi fibonacci
dan akan dihitung nilainya menggunakan fungsi fibonacci (fungsi rekursif).
Bilangan fibonacci adalah suatu deret bilangan bulat positif (integer) tak
berhingga yang secara berurutan adalah didefinisikan sebagai berikut :
1,
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, dst....
Jika diamati
deret bilangan fibbonacci di atas maka dapat dipahami bahwa nilai bilangan
fibonacci suku ke n dalam deret tersebut dapat dihitung dengan menjumlahkan dua
bilangan terdekat pada urutan sebelumnya.
Call by Value dan Call by Reference
Coding
pada Microsoft Visual C++ :
#include <iostream.h>
voidrtukar(int*, int*);
voidvtukar(int, int);
main ()
{
inta,b;
a=99;
b=11;
//call
by reference
cout<<"Nilaisebelumpemanggilanfungsi
: "<<endl;
cout<<"Nilai
a= "<<a<<", Nilai b= "<<b<<endl;
rtukar(&a,&b);
cout<<"Nilaisetelahpemanggilanfungsirtukar:
"<<endl;
cout<<"Nilai
a= "<<a<<", Nilai b=
"<<b<<endl<<endl<<endl;
//kembalikankenilaisemula
a=99;
b=11;
//call
by value
cout<<"\nNilaisebelumpemanggilanfungsi
: "<<endl;
cout<<"Niali
a= "<<a<<", Nilai b=
"<<b<<endl<<endl;
vtukar(a,b);
cout<<"Nilaisetelahpemanggilanfuungsivtukar:
"<<endl;
cout<<"Nilaai
a= "<<a<<", Nilai b= "<<b<<endl;
return
0;
}
void rtukar
(int *px, int *py)
{
int
temp;
temp
= *px;
*px =
*py;
*py =
temp;
cout<<"\nNilaipadafungsidengan
call by reference : "<<endl;
cout<<"Nilaipx=
"<<*px<<", Nilaipy=
"<<*py<<endl<<endl;
}
voidvtukar (intpx, intpy)
{
int
temp;
temp
= px;
px =
py;
py =
temp;
cout<<"Nilaipadafungsidengan
call by value : "<<endl;
cout<<"Nilaipx=
"<<px<<", Nilaipy=
"<<py<<endl<<endl;
Penjelasan
Program :
Program diatas ditujukan untuk menukar nilai dari dua buah nilai. Dalam
program tersebut penukaran nilai dilakukan dengan dua cara yakni mengunakan fungsi call by value dan call by
reference. Fungsi call by value merupakan fungsi yang melewatkan nilai
parameter variabel ke dalam fungsi, sedangkan fungsi call by reference adalah
fungsi yang melawatkan alamat variabel ke dalam fungsi. Program di atas
merupakan program pemanggilan fungsi pada suatu nilai yang kemudian melakukan
fungsi tukar pada nilai-nilai tersebut. Untuk melakukan nilai tukar ini bisa
digunakan fungsi call by value dan reference karena untuk membuat program ini
agar syntax nya lebih sederhana bisa dilakukan dengan memanggil alamat variabel
untuk kemudian nilai variabel itu ditampilkan.