Fungsi (Function)
Oleh:
FAJRI NOVITASARI
170533628549
S1 PTI’17 OFF A
DASAR TEORI
Dalam pembuatan program diatas terdapat suatu rumus permutasi. Agar program
lebih efisien dipisahkan antara rumus dengan program utama, sehingga dalam program uatam
hanya ada perintah memanggil rumus untuk memproses suatu variable. Hal ini dalam
pemrograman disebut sebagai fungsi.Fungsi merupakan blok dari kode yang dirancang untuk
melakukan tugas khusus. Tujuan pembuatan fungsi adalah:
Pada umumnya fungsi memerlukan masukan yang disebut parameter atau argument.
Hasil akhir fungsi akan berupa nilai(nilai balik fungsi). Bentuk umum sebuah fungsi adalah:
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:
1. Call By Value
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 Praktikum 1
Pemrograman C++
Nama Program : Menukar nilai
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
Script program yang salah:
#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;
//kembalikan ke nilai semula
a=99;
b=11
//call by value
cout<<"\nNilai sebelum pemanggilan fungsi : "<<endl;
cout<<"Nilai a="<<a<<" Nilai b="<<b<<endl<<endl;
Vtukar(a,b);
cout<<"Nilai setelah pemangilan fungsi Vtukar: "<<endl;
cout<<"Nilai a=" <<a<<" Nilai b=" <<b<<endl;
return 0;
}
void Rtukar (int *px, int *py)
{
int temp;
temp = *py;
*px=*py;
*py=temp;
cout<<"Nilai pada fungsi dengan Call by Value: "<<endl;
cout<<"Nilai px="<<*px<<" Nilai py="<<*py<<endl<<endl;
}
Output Program :
Algoritma :
1. Mulai
2. Deklarasi fungsi void Rtukar() dan void Vtukar()
3. Pada fungsi utama nilai a=99 dan b=11, kemudian dipanggil fungsi Rtukar(&a,&b)
sehingga a=11 dan b=99. Kemudian dioutputkan lagi nilai a dan b, dimana nilai a=11
dan b=99.
4. Deklarasi nilai a=99 dan b=11, kemudian dipanggil fungsi Vtukar(a, b) sehingga nilai
a=11 dan b=99. Kemudian dioutputkan lagi nilai a dan b, dimana nilai a=99 dan b=11
5. Selesai
Penjelasan Program :
Pada program di atas menggunakan header file iostream.h yang digunakan untuk
menampilkan perintah cout yang merupakan fungsi keluaran (digunakan untuk menampilkan
data ataupun tulisan).
Tipe data yang digunakan adalah int. Int adalah singkatan dari integer yaitu fungsinya untuk
mengelompokan variabel yang isinya bilangan bulat.
Latihan Praktikum 2
Pemrograman C++
Nama Program : Menentukan nilai terbesar
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
//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;
}
//<== 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 :
Algoritma :
1. Mulai
2. Deklarasi i=5, j=7
3. Mencari nilai terbesar diantara nilai i dan j, kemudian hasilnya menjadi nilai
variabel k.
4. Output: nilai yang terbesar
5. Selesai
Penjelasan Program :
Pada program di atas menggunakan header file stdio.h yang digunakan untuk
menampilkan perintah perintah printf yang merupakan fungsi keluaran.
Tipe data yang digunakan adalah int. Int adalah singkatan dari integer yaitu fungsinya
untuk mengelompokan variabel yang isinya bilangan bulat.
Latihan Praktikum 3
Pemrograman C++
Nama Program : Mencari nilai pajak dari pembelian
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
Script program yang salah:
#include <iostream.h>
//deklarasi fungsi
int calcSalesTax(float purchase, float taxRate=0.1);
//main 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;
}
Script program yang benar:
#include <iostream.h>
//deklarasi fungsi
int calcSalesTax(float purchase, float taxRate=0.1);
//main 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;
}
Output Program :
Algoritma :
1. Mulai
2. Input: purchase
3. Proses: purchase*taxRate
4. Output: pajak pembelian melalui variabel tax
5. Selesai
Penjelasan Program :
Pada program di atas menggunakan header file iostream.h digunakan untuk menampilkan
perintah cout yang merupakan fungsi keluaran (digunakan untuk menampilkan data ataupun
tulisan).
Fungsi utama yang digunakan adalah int main(), berfungsi untuk memberikan nilai balik
menurut tipe datanya, dan karena memiliki nilai balik maka diberikan perintah return nilai.
Tipe data yang digunakan adalah float yang mempunyai fungsi sebagai mengelompokan
bilangan yang bilangan desimal/pecahan.
Latihan Praktikum 4
Pemrograman C++
Nama Program : Mencari nilai faktorial
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
Script program yang salah:
/*aplikasi rekursif pada faktorial*/
#include <iostream.h>
int faktorial(int a)
{
if(a==1)
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;
}
int faktorial(int a)
{
if(a==1)
return 1;
else
return a*faktorial(a-1);
}
int main()
{
int x;
cout<<"Mencari Nilai Faktorial\n";
cout<<"Masukkan nilai n=";
cin>>x;
cout<<"Faktorial "<<x<<"!="<<faktorial(x)<<endl;
}
Output Program :
Algoritma :
1. Mulai
2. Input: x
3. Jika a==1 makan akan mengembalikan nilai a=1, jika a!=1 maka
a=a*faktorial(a-1)
4. Output: nilai faktorial
5. Selesai
Penjelasan Program :
Pada program di atas menggunakan header file iostream.h digunakan untuk menampilkan
perintah cout yang merupakan fungsi keluaran (digunakan untuk menampilkan data ataupun
tulisan).
Fungsi utama yang digunakan adalah int main(), berfungsi untuk memberikan nilai balik
menurut tipe datanya, dan karena memiliki nilai balik maka diberikan perintah return nilai.
Tipe data yang digunakan adalah int. Int adalah singkatan dari integer yaitu fungsinya untuk
mengelompokan variabel yang isinya bilangan bulat.
Latihan Praktikum 5
Pemrograman C++
Nama Program : Mencari nilai fibonacci
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
Script program yang salah:
/*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 niali n=";
cin>>x;
cout<<"FIbonacci "<<x<<"="<<fibo(x)<<endl;
}
int main()
{
int x;
cout<<"Mencari Nilai Fibonacci\n";
cout<<"Masukkan nilai n=";
cin>>x;
cout<<"Fibonacci "<<x<<"="<<fibo(x)<<endl;
}
Output Program :
Algoritma :
1. Mulai
2. Input: x
3. Jika a==1 atau a==2 makan akan mengembalikan nilai a=1, jika a!=1 atau a!=2 maka
a= fibo(a-1) + fibo(a-2)
4. Output: nilai fibonacci
5. Selesai
Penjelasan Program :
Program di atas menggunakan header file iostream.h digunakan untuk menampilkan
perintah cout yang merupakan fungsi keluaran (digunakan untuk menampilkan data ataupun
tulisan).
Fungsi utama yang digunakan adalah int main(), berfungsi untuk memberikan nilai balik
menurut tipe datanya, dan karena memiliki nilai balik maka diberikan perintah return nilai.
Tipe data yang digunakan adalah int. Int adalah singkatan dari integer yaitu fungsinya
untuk mengelompokan variabel yang isinya bilangan bulat.
Tugas Praktikum 1
Pemrograman C++
Nama Program :
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
int faktorial(int x)
{
if(x==1)
{
return 1;
}
else return x*faktorial(x-1);
}
int hasil(int x,int y)
{
return faktorial(x)/(faktorial(y)*faktorial(x-y));
}
int main()
{
int n,r,kombinasi;
cout<<"--------------------------"<<endl;
cout<<" MODUL FUNCTION"<<endl;
cout<<"--------------------------"<<endl;
cout<<" PROGRAM KOMBINASI"<<endl;
cout<<"--------------------------"<<endl;
cout<<"Masukkan Nilai n: ";
cin>>n;
cout<<"Masukkan Nilai r: ";
cin>>r;
cout<<endl;
kombinasi=hasil(n,r);
cout<<"Hasil Kombinasi "<<n<<"C"<<r<<" adalah
"<<kombinasi<<endl;
}
Output program:
Algoritma:
1. Mulai
2. Input: masukkan nilai n dan r
3. Proses: Pada fungsi faktorial jika x==1 maka akan mengembalikan nilai x=1, jika x!
=1 maka akan mengembalikan nilai a= faktorial(x)/(faktorial(y)*faktorial(x-y))
4. Output: hasil kombinasi
5. Selesai
Penjelasan Program:
Program di atas menggunakan header file iostream.h digunakan untuk menampilkan
perintah cout yang merupakan fungsi keluaran (digunakan untuk menampilkan data ataupun
tulisan).
Fungsi utama yang digunakan adalah int main(), berfungsi untuk memberikan nilai balik
menurut tipe datanya, dan karena memiliki nilai balik maka diberikan perintah return nilai.
Tipe data yang digunakan adalah int. Int adalah singkatan dari integer yaitu fungsinya
untuk mengelompokan variabel yang isinya bilangan bulat.
Tugas Praktikum 2
Pemrograman C++
Output program:
Algoritma:
1. Mulai
2. Deklarasi variabel t, r, s, dan l
3. Input: masukkan nilai r dan t
4. Proses: pada fungsi utama int main() dilakukan pemanggilan fungsi void luas(), void
selimut(), void volume()
5. Output: hasil dari perhitungan
6. Selesai
Penjelasan Program:
Program di atas menggunakan header file iostream.h digunakan untuk menampilkan
perintah cout yang merupakan fungsi keluaran (digunakan untuk menampilkan data ataupun
tulisan).
Fungsi utama yang digunakan adalah int main(), berfungsi untuk memberikan nilai balik
menurut tipe datanya, dan karena memiliki nilai balik maka diberikan perintah return nilai.
Tipe data yang digunakan adalah float yang mempunyai fungsi mengelompokkan bilangan
yang bernilai decimal/pecahan.
Tugas Rumah 1
Pemrograman C++
Algoritma:
1. Mulai
2. Input: Masukan data
3. Proses: Jika (a==1) maka *kecil=data; *besar=data;
Jika (*kecil>data) maka *kecil=data;
Jika (*besar<data) maka *besar=data;
a++;
4. Setelah selesai memasukkan data, pada fungsi utama akan dipanggil fungsi
cari(&besar,&kecil).
5. Output: data terbesar dan data terkecil
6. Selesai
Penjelasan Program:
Program di atas menggunakan header file iostream.h digunakan untuk menampilkan
perintah cout yang merupakan fungsi keluaran (digunakan untuk menampilkan data ataupun
tulisan).
Fungsi utama yang digunakan adalah int main(), berfungsi untuk memberikan nilai balik
menurut tipe datanya, dan karena memiliki nilai balik maka diberikan perintah return nilai.
Tipe data yang digunakan adalah int. Int adalah singkatan dari integer yaitu fungsinya untuk
mengelompokan variabel yang isinya bilangan bulat.
Tugas Rumah 2
Pemrograman C++
Tugas Rumah 3
Pemrograman C++
DAFTAR RUJUKAN