FUNGSI
Oleh:
SITI AMINAH
160533611428
S1 PTI16 OFF D
FUNGSI
Tujuan
DASAR TEORI
Dalam pembuatan program diataas terdapat suatu rumus permutasi. Agar program lebih
efisien dipisahkan antara rumus dengan program utama, sehingga dalam program utama
hanya ada perintah memanggil rumus untuk memproses suatu variable. Hal ini dalam
pemrograman diseut sebagai fungsi. Fungsi merupakan blok dari kode yang dirancang untuk
melakukan tugas khusu. Tujuan pembuatan fungsi adalah:
Program menjadi terstruktur
Dapat mengurangi duplikasi kode
Fungsi dapat dipanggil dari program atau fungsi yang lain
pada umumya fungsi memerlukan masukan yang disebut parameter atau argument. Hasil
akhir fungsi akan berupa nilai (nilai balik fungsi). Bentuk umum sebuah fungsi adalah:
Type fungsi berfungsi untuk menentukan tipe keluaran fungsi yang dapat berupa salah satu
tipe data C++ yang berlaku misalnya char atau int. default tipe yang tidak disebutkan
dianggap sebagai int.
Contoh :
Ckali{
Retrun (0);
}
PROTOTYPE FUNCTION
Sebuah program C++ dapat terdiri dari banyak fungsi. Salah satu fungsi tersebut harus
bernama main(). Jika fungsi yang lain dituliskan setelah fungsi main(), sebelum fungsi main
harus ditambahkan prototype function agar fungsi tersebut dapat dikenal. Hala tersebut tidak
berlaku jika penulisannya dilakukan sebelum fungsi main(). Misal :
Call by Value Vs Call by Reference
Ada dua cara pemanggilan fungsi yait : 1). Call by value. 2). Call by reference
1. Call by Value
Pemanggilan fungsi dengan melewatkan nilai parameter variable dalam defnisi fungsi.
Fungsi tersebut akan mengolah nilai yang dikrimkan kepadanya. Misalnya :
2. Call by Reference
Pemanggilan dengan referensi merupakan suatu usah melewatkan alamat dari suatu
variable ke dalam fungsi. Dengan pengubahan dilaukan didalam fungsi untuk
mengubah variable diluar fungsi. Misal:
A bernilai 20 X juga bernilai 20
B bernilai 30 Y juga bernilai 30
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 sustu fungsi.
Fungsi Rekursif
Fumgsi 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 : pemanggilan fungsi
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream>
using namespace std;
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;
//cal by value
cout << "\nNilai sebelum pemanggilan fungsi : " << endl;
cout << "Nilai a= " << a << " Nilai b= " << b << endl;
Vtukar (a,b);
cout << "Nilai setelah pemanggilan fungsi Vtukar: " << endl;
cout << "Nilai a= " << a << " Nilai b= " << b << endl;
return 0;
}
Latihan Praktikum 2
Pemrograman C++
Nama Program : mencari nilai terbesar dari suatu data
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
Output program :
Penjelasan program :
Program diatas digunakan untuk mengetahui bilangan ynag terbesar dari data yang
diinputkan. Menggunakan header #include <stdio.h> untuk menampilkan perintah
printf dan scanf. dengan fungsi main (). Program diatas diproses dengan
mendeklarasikan variable i=5, j=7 dan k. nilai dari fungsi k ditentukan dengan mencari
parameter i dan j. nilai k dipanggil dengan cari (I,j). yaitu nilai k adalah nilai balik i. jika nilai
a>b maka nilai balik adalah a dan seb.aliknya. Lalu ditampilkan dengan ketentuan m
diperoleh dari k yang mempunyai nilai balik
Latihan Praktikum 3
Pemrograman C++
Nama Program : menghitung pajak.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#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 :
Penjelasan program :
Program diatas digunakan untuk menghitung pajak pemeblian.. Menggunakan header
#include <iostream.h> dengan fungsi main ().dengan menggunakan tipe data
float untuk mendeklarasikan purchase. Proses kita masukkan harga pembelian lalu
ditampilkan pada perintah cin. Dalam proses penghitungan pajak sudah ditentukan rumusnya
lalu memproses menghitung pada perintah :
float tax=calcSalesTax(purchase);
cout<<"Pajak pembelian adalah : "<<tax<<endl;
return 0;
}
int calcSalesTax(float purchase, float taxRate)
{
return purchase*taxRate;
}
Setelah melakukan pendeklarsian nilai kalkulasi pajak dengan rumus *10%. Kemudian akan
dihasilkan jika pembelian 100000 maka pajak yang dibayar yaitu 10000.
Latihan Praktikum 4
Pemrograman C++
Nama Program : latihan praktikum 4
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
/*aplikasi rekursif pada faktorial*/
#include <iostream.h>
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 :
Penjelasan program :
Program diatas digunakan untuk menghitung faktorial. Menggunakan header #include
<iostream.h> dengan fungsi int main (). Tipe data integer digunakan
untuk mendeklarasikan factorial. Pertama kita memasukkan bilangan angka,
kemudian dilanjutkan pada rumus a*factorial(a-1). Kemudian program akan menampilkan
hasil dari perhitungan. Dalam program kita masukkan nilai factorial dari 4 yaitu 24.
Latihan Praktikum 5
Pemrograman C++
Nama Program : menghitung bilangan fibonaci
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
/*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;
}
Output program :
Penjelasan program :
Program diatas digunakan untuk menghitung bilangan fibonaci. Menggunakan header
#include <iostream.h> dengan fungsi int main ().menggunakan tipe data long
untuk mendeklarasikan fibo. Proses pertama yaitu dengan memasukkan nilai deret ke-n
bilangan fibonaci. Misalkan kita menginputkan nili 7 maka akan dihasilkan bilangan
fibonacinya yaitu 13. Hasil tersebut didapat dari sebuah rumus perintah : return fibo(a-1)
+ fibo (a-2);. Dalam proses ini dilakukan pula proses if-else.
Tugas Praktikum 1
Pemrograman C++
Nama Program : rumus kombinasi
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
int faktor(int x)
{
if(x!=1)
{
return x*faktor(x-1);
}
else
{
return 1;
}
}
int kombinasi(int n, int r)
{
return faktor(n)/(faktor(r)*faktor(n-r));
}
int main ()
{
int x,n,r,hasil,nfaktorial=1,rfaktorial=1,xfaktorial=1;
cout << "-----RUMUS KOMBINASI-----" << endl << endl;
cout << " n!"<<endl;
cout << " -----------"<<endl;
cout << " r! * (n-r)!"<<endl<<endl;
cout << "Masukkan nilai n : ";
cin >> n;
cout << "Masukkan nilai r : ";
cin >> r;
cout << endl << "Hasil " << n << " Kombinasi " << r << " adalah
: " << kombinasi(n,r);
}
Output program :
Penjelasan program :
Program diatas digunakan untuk menghitung kombinasi. Menggunakan header #include
<iostream.h> digunakan untuk menampilkan perintah cin cout. dengan fungsi int
main (). dalam proses kombinasi terdapat rumus yaitu; return faktor(n)/
(faktor(r)*faktor(n-r)); dari rumus tersebut nilai akan dikembalikan adlah ahsil
dari perhitungan fungsi factorial. Setelah melakukan perhitungan, maka nilai akan dibawa
dan dioutput dengan cout hasil cout << endl << "Hasil " << n << "
Kombinasi " << r << " adalah : " << kombinasi(n,r);
Tugas Praktikum 2
Pemrograman C++
Nama Program : menghitung luas permukaan,selimut dan volume tabung
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
#include <stdio.h>
Penjelasan program :
Program diatas digunakan untuk menghitung nilai luas permukaan tabung, nilai selimut
tabung dan nilai volume tabung. Menggunakan header #include <iostream.h>
dengan fungsi int main (). Dari program ini diberikan rumus yang dideklarasikan pada
tipe data float yaitu :
float luas_selimut (int r, int t)
{
float phi=3.14;
return 2*phi*r*t;
}
float luas_permukaan (int r, int t)
{
float phi=3.14;
return 2*phi*r*(r+t);
}
float volume(int r, int t)
{
float phi=3.14;
return phi*r*r*t;
}
Dari rumus fungsi tersebut ditampilkan pada void main sehingga dapat diketahui berapa nilai
hasil dari penghitungan 3 rumus diatas. Dari kita masukkan nilai jari-jari dan nilai tinggi
tabung setelah itu diproses dengan menggunakan perintah cout :
cout<<" Nilai Luas Permukaan Tabung :
"<<luas_permukaan(jari_jari,tinggi)<<endl;
cout<<" Nilai Selimut Tabung : " <<luas_selimut(jari_jari,
tinggi)<<endl;
cout<<" Nilai Volume Tabung : "
<<volume(jari_jari,tinggi)<<endl;
dari perintah tersebut diperoleh hasil untuk penghitungan rumus tabung.
Tugas Rumah 1
Pemrograman C++
Nama Program : menentukan batas
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream>
using namespace std;
do
{
cout<<" Masukkan Data : ";
cin>>data[i];
cout<<" Masukkan Data Lagi? (y/n) : ";
cin>>lanjut;
i++;
}
while (lanjut == 'y' || lanjut == 'Y');
Penjelasan program :
Program diatas digunakan untuk menentukan batas.. Menggunakan header #include
<iostream.h> dengan fungsi int main (). Dalam program ini kita dapat
menentukan data terbesar dan terkecil dari data yang kita inputkan. Kita dapat masukkan
sebuah data pada perintah :
do
{
cout<<" Masukkan Data : ";
cin>>data[i];
cout<<" Masukkan Data Lagi? (y/n) : ";
cin>>lanjut;
i++;
}
while (lanjut == 'y' || lanjut == 'Y');
untuk melakukan input data lagi kita dapat menggunakan perulangan do-while sampai batas
n. dari data yang kita inputkan akan ditampilkan di :
cout<<"\nData Terbesar Adalah :
"<<terbesar(data,i)<<endl;
cout<<" Data Terkecil Adalah :
"<<terkecil(data,i)<<endl;
return 0;
data terbesar dan terkecil dikembalikan pada melalui proses fungsi perulangan for:
int terbesar (int x[],int a)
{
int b;
for (int i=0; i<=a-1; i++)
if (x[i] > b)
{
b=x[i];
}
return(b);
}
int terkecil (int x[], int a)
{
int b=x[0];
for (int i=0; i<=a-1; i++)
if (x[i] < b)
{
b=x[i];
}
return (b);
}
Tugas Rumah 2
Pemrograman C++
Nama Program : mencari nilai terbesar dari suatu data
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
int data[100],i=0;
char lanjut;
cout <<
"-----------------------------------------------------------------";
cout << "\n\t\t\tMODUL FUNCTION";
cout <<
"\n-----------------------------------------------------------------"
;
cout << "\n\t\t PROGRAM STANDAR DEVIASI";
cout <<
"\n-----------------------------------------------------------------"
<<endl;
do
{
cout << "Masukkan Data : ";
cin >> data[i];
i++;
}while (lanjut == 'y' || lanjut == 'Y');
Tugas Rumah 3
Pemrograman C++
Nama Program : mencari modus
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream>
using namespace std;
//output
if (j==0)
cout << "\n\nTidak Ada Modus!\n\n" ;
else
{
cout << "\n\nData Yang Sering Diinputkan Adalah
: ";
for (int a=0; a< j ;a++)
{
cout << mod[a] << " ";
}
cout << "\n\n";
}
}
int main ()
{
int data [100],i=0;
char lanjut;
cout <<
"--------------------------------------------------------
---------";
cout << "\n\t\t\tMODUL FUNCTION";
cout <<
"\n------------------------------------------------------
-----------";
cout << "\n\t MENETUKAN DATA YANG SERING
DIINPUTKAN";
cout <<
"\n------------------------------------------------------
-----------"<<endl;
do {
cout << "Masukkan Data : ";
cin >> data[i];
modus (data,i);
}
Output program :
Penjelasan program :
Program diatas digunakan untuk mencari modus atau nilai yang sering muncul dari data yang
diinputkan.. Menggunakan header #include <iostream.h> dengan fungsi int main
(). dalam program ini digunakan fungsi perulangan do-while untuk mengulang masukkan
data. Jika ingin memasukkan data lagi maka tekan enter dan ketikkan kaarakter y jika ingin
berhenti maka ketikan karacter n maka setelah memasukkan karakter n kita dapat mengetahui
nilai modus dari beberapa data yang dimasukkan jika kita hanya memasukkan satu nilai saja
maka kan muncul kata tidak ada nilai modus karena modus merupakan nilai yang sering
muncul. Dalam rumus mencari nilai modus kita masukkan perintah perulangan for
menghitung berapa kali muncul nilai angka, perulangan for menentukan nilai yang sering
muncul, perulangan for jika modus lebih dari satu, perulangan for jika semua angka muncul
semua banyak, perulangan for jika tidak ada nilai modus,. Dari perulangan tersebut nanti
akan bisa dihasilkan nilai modusnya.
KESIMPULAN
DAFTAR RUJUKAN
1. Tim Asisten Dosen. 2015. Modul 6 Fungsi. Malang: Universitas Negeri Malang.
2. Tim Asisten Dosen. 2015. Modul 5 perulangan. Malang: Universitas Negeri Malang.
3. Tim Asisten Dosen. 2015. Modul 2 operator. Malang: Universitas Negeri Malang.
4. Tim Asisten Dosen. 2015. Modul 3 operasi kondisi. Malang: Universitas Negeri Malang.