FUNCTION
Disusun untuk Memenuhi Matakuliah Dasar Pemrograman Komputer
Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto
Oleh :
Yazid Rahmat Abdillah
220533609785
S1 PTI ’22 OFF C
Contoh:
Ckali() {
return (0);
PROTOTYPE FUNCTION
Sebuah program C++ dapat terdiri dari banyak fungsi. Salah satu fungsi
tersebut harus bernama main(). Jika fungsi yang lain di tuliskan setelah
fungsi main(), sebelum fungsi main harus ditambahkan prototype
function agar fungsi tersebut dapat dikenal. Hal tersebut tidak berlaku
jika penulisannya dilakukan sebelum fungsi main(). Misal:
Call by Value vs Call by Reference
Ada dua cara pemanggilan fungsi yaitu: (1) Call by Value (2)
Call by Reference
1. Call By Value
Pemanggilan fungsi dengaan melewatkan nilai parameter variable
dalam definisi fungsi. Fungsi tersebut akan mengolah nilai yang
dikirimkan kepadanya. Misalnya:
2. Call By Reference
Pemanggilan dengan refernsi merupakan suatu usaha melewatkan
alamat dari suatu variable ke dalam fungsi. Dengan pengubahan
dialkukan di dalam fungsi untuk mengubah varaibel diluar fungsi. Misal:
Selanjutnya nilai X dan Y diproses tetapi nilai A dan B akan tetap( tidak
berubah). Metode Call By Reference menggunakan operator pointer ”&”
dan ”*” untuk mengirimkan alamat variable ke suatau fungsi.
Fungsi Rekursif
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri artinya
fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri. Parameter
yang dilewatkan berubah sebanyak fungsi itu dipanggil.
Latihan No. 1
Nama Program : Latihan 1
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Algoritma :
1. Mulai
2. deklarasi int a, b; a=99; b=11;
3. Proses sub program void Rtukar (int *, int*);
4. Proses sub program void Vtukar (int, int);
5. Output data nilai
6. selesai
Flowchart :
Source Code :
#include <iostream.h>
void Rtukar (int *, int*);
void Vtukar (int, int);
main()
{
int a, b;
a=99; b=11;
//call by reference
cout<<"Nilai sebelum pemanggilan fungsi "<<endl;
cout<<"Nilai a= " <<a<< " Nilai b= "<<b<<endl;
Rtukar (&a,&b);
cout <<"Nilai setelah pemanggilan fungsi Rtukar:
"<<endl;
cout <<"Nilai a= "<<a<<" Nilai b=
"<<b<<endl<<endl<<endl;
//Kembali ke nilai semua
a=99;
b=11;
//call by value
cout<<"Nilai sebelum pemanggilan fungsi "<<endl;
cout<<"Nilai a= " <<a<< " Nilai b=
"<<b<<endl<<endl;
Vtukar (a,b);
cout<<"Nilai setelah pemanggilan fungsi Vtukar:
"<<endl;
cout<<"Nilai a= " <<a<< " Nilai b= "<<b<<endl;
return 0;
}
void Rtukar (int *px, int *py)
{
int temp;
temp = *px;
*px=*py;
*py=temp;
cout<<"Nilai pada fungsi dengan call by
value:"<<endl;
cout<<"Nilai px="<<*px<<" Nilai
py="<<*py<<endl<<endl;
}
void Vtukar (int px, int py)
{
int temp;
temp= px;
px=py;
py=temp;
cout<<"Nilai pada fingsi call by Value :
"<<endl;
cout<<" Nilai px="<<px<<" Nilai
py="<<py<<endl<<endl;
}
Output Program :
Source Code :
//fungsi
#include <stdio.h>
//deklarasi fungsi
int cari (int n1,int n2);
void prin (int m);
//main function
int main()
{
int i=5;
int j=7;
int k;
k=cari(i,j);
prin(k);
return 0;
}
//<-- function 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 function
Output Program :
float tax=calcSalesTax(purchase);
cout<<"Pajak pembelian adalah : "<<tax<<endl;
return 0;
}
int calcSalesTax(float purchase, float taxRate)
{
return purchase*taxRate;
}
Output Program :
Latihan No. 5
Nama Program : Latihan 5
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Algoritma :
1. Mulai
2. Deklarasi int x;
3. Masukan nilai n
4. Input x
5. Sub program long fibo
6. Proses data
7. Output data cout<<"Fibonacci "<<x<<" = "<<fibo(x)<<endl;
8. selesai
Flowchart :
Source Code :
/*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);
}
int main()
{
int x;
cout<<"Mencari Nilai Fibonacci\n";
cout<<"Masukkan Nilai n = ";
cin>>x;
cout<<"Fibonacci "<<x<<" = "<<fibo(x)<<endl;
return 0;
}
Output Program :
Flowchart :
Source Code :
#include <iostream.h>
int main()
{
int n, r;
int a=1, b=1, ab=1;
cout<<"___________________________________"<<endl;
cout<<"\t PROGRAM KOMBINASI"<<endl;
cout<<"___________________________________"<<endl;
cout<<" masukan nilai n :";
cin>>n;
cout<<" masukan nilai r :";
cin>>r;
while (n<r)
{
cout<<" masukan nilai n :";
cin>>n;
cout<<" masukan nilai r :";
cin>>r;
}
for (int i=n; i>0; i--)
{
a=a*i;
}
for (int i=n-r; i>0; i--)
{
ab=ab*i;
}
for (int i=r; i>0; i--)
{
b=b*i;
}
cout <<" hasil kombinasi adalah :"<<a/(b*ab);
getch();
return 0;
}
Output Program :
float r, t;
void luas(){
float l = 2*3.14*r*(r+t);
cout<<" Nilai luas tabung :"<<l<<endl;
}
void selimut(){
float s = 2*3.14*r*t;
cout<<" Nilai selimut tabung :"<<s<<endl;
}
void volume(){
float v = 3.14*r*r*t;
cout<<" Nilai volume tabung :"<<v<<endl;
}
int main()
{
cout<<"\t MODUL FUNTION "<<endl;
cout<<"___________________________________"<<endl;
cout<<"\t PROGRAM KOMBINASI"<<endl;
cout<<"___________________________________"<<endl;
cout<<"___________________________________"<<endl;
luas();
selimut();
volume();
cout<<"___________________________________"<<endl;
return 0;
}
Output Program :
int main()
{
int b, k;
cout<<"\t MODUL FUNTION "<<endl;
cout<<"___________________________________"<<endl;
cout<<"\t MENENTUKAN BATAS"<<endl;
cout<<"___________________________________"<<endl;
cari(&b, &k);
cout<<endl;
cout<<" Data Terbesar :"<<b<<endl;
cout<<" Data Terkecil :"<<k<<endl;
return 0;
}
Output Program :
void hasil()
{
int x=0;
float r, b, data[99], jumlah=0, a, totala;
char ulang;
do
{
cout<<" Masukan Data :";
cin>>data[x];
jumlah=jumlah+data[x];
x++;
cout<<" Masukan Data Lagi (y/n) :";
cin>>ulang;
}
while(ulang=='y'||ulang=='Y');
cout<<endl;
r=jumlah/x;
cout<<" Nilai rata rata :"<<r<<endl;
cout<<endl;
totala=0;
for (int i=0; i<x; i++)
{
a=data[i]-r;
totala=totala+(a*a);
}
b=sqrt (totala/(x-1));
cout<<" Simpangan baku :"<<b<<endl;
}
int main()
{
cout<<"\t\tMODUL FUNTION "<<endl;
cout<<"___________________________________________"<<e
ndl;
cout<<"\t PROGRAM STANDART DEVIASI"<<endl;
cout<<"___________________________________________"<<e
ndl;
hasil();
return 0;
}
Output Program :
Flowchart :
Source Code :
#include <iostream.h>
int c;