BAB VIII
FUNGSI
Bentuk umumnya:
tipe_data_kembalian nama_fungsi
(parameter1, parameter2,…)
{
/* Badan Fungsi */
statemen_yang_akan_dilakukan;
return nilai_yang_akan_dikembalikan;
}
Dari bentuk umum tersebut, yang perlu dijelaskan, yaitu:
a. Tipe_nilai_balik
Tipe nilai balik adalah tipe data dari nilai yang akan
dikembalikan oleh fungsi. Khusus untuk Fungsi yang tidak
ditulis tipenya maka akan dianggap bertipe int atau char.
b. nama_fungsi
Nama fungsi adalah nama yang akan digunakan
dalam pemanggilan. Pemanggilan fungsi harus
disesuaikan dengan daftar parameter yang disertakan pada
saat pendefinisian fungsi.
c. parameter
Parameter itu sendiri merupakan variabel berisi
nilai yang akan disertakan ke dalam proses yang dilakukan
oleh fungsi. Fungsi bisa saja memiliki satu atau lebih
parameter. Jika tak ada parameter, judul fungsi berupa:
tipe_nilai_balik nama_fungsi()
VIII-3
d. badan fungsi
Kode atau statemen-statemen yang akan
dilaksanakan di dalam fungsi guna menyelesaikan tugas
spesifik tertentu. Untuk bagian ini harus diawali dengan
tanda { dan diakhiri dengan tanda }.
Latihan 1
1. Source code :
#include <iostream>
using namespace std;
int hitungKeliling(){
int hasil, a,b,c;
cout<<"Masukkan sisi segitiga 1: ";cin>>a;
cout<<"Masukkan sisi segitiga 2: ";cin>>b;
cout<<"Masukkan sisi segitiga 3: ";cin>>c;
hasil = a+b+c;
return hasil;
}
main(){
float alas,tinggi;
2. Tampilan Program :.
VIII-5
1
Gambar Latihan Praktikum ke-1 (Mencari luas dan keliling)
3. Analisa Program
Latihan 2
1. Source code :
#include <iostream>
using namespace std;
string P ( string p)
{
return p;
}
string bukanP()
{
string P;
P= "Lab.Rekayasa Perangkat Lunak ";
return P;
}
int main ()
{
string a;
cout<<"Lab.Rekayasa Perangkat Lunak"<<a;
cout<<P(a)<<endl;
cout<<bukanP();
return 0;
}
2. Tampilan Program :.
VIII-6
3. Analisa Program
Pada kode diatas, variabel P di atas sebagai parameter masukkan.
Selain itu, P disebut dengan parameter formal, sedangkan a disebut
dengan parameter actual,yang akan memanggil parameter masukkan
tersebut.
Latihan 3
1. Source code :
#include <iostream>
using namespace std;
2. Tampilan Program :.
VIII-7
3. Analisa Program
Pada kode diatas, variabel X di atas sebagai parameter
masukkan. Selain itu, X disebut dengan parameter formal,dengan fungsi
x*x -5*x + 5, sedangkan a disebut dengan parameter actual,yang akan
memanggil parameter masukkan tersebut. Pada saat pemanggilan fungsi
jumlah parameter aktual harus sama dengan jumlah parameter formal
Tugas 1
1. Source code :
#include <iostream>
using namespace std;
}
int main ()
{
int b,c,e,byk;
string a;
cout<<"Nama Barang = :";
cin>>a;
cout<<"Harga Barang = :";
cin>>b;
cout<<"Diskon (%)";
cin>>c;
e=b-hitung(b,c);
cout<<"Harga Setelah Diskon ="<<e<<endl;
cout<<"Msukkan Banyak Barang =";cin>>byk;
cout<<"Total ="<<e*byk;
return 0;
VIII-8
2. Tampilan Program :.
3. Analisa Program
Pada kode diatas, variabel x dan d di atas sebagai parameter
masukkan. Selain itu, x dan d disebut dengan parameter formal,dengan
fungsi h=x*d/100, sedangkan b,c disebut dengan parameter actual,yang
akan memanggil parameter masukkan tersebut.
Tugas 2
1. Source code :
#include<iostream>
using namespace std;
return hasil;
}
int main(){
int pilih;
float a,b;
cout<<"Masukan angka pertama : ";
cin>>a;
cout<<"Masukan angka kedua : ";
cin>>b;
cout<<"[1] Pertambahan"<<endl;
cout<<"[2] Pengurangan"<<endl;
cout<<"[3] Perkalian"<<endl;
cout<<"[4] Pembagian"<<endl;
while (pilih>=0){
cout<<"Pilih Perhitungan : ";cin>>pilih;
switch(pilih){
case 1:
cout<<"Hasil :
"<<tambah(a,b)<<endl;
exit(1);
case 2:
cout<<"Hasil :
"<<kurang(a,b)<<endl;
exit(2);
case 3:
cout<<"Hasil : "<<kali(a,b)<<endl;
exit(3);
case 4:
cout<<"Hasil : "<<bagi(a,b)<<endl;
exit(4);
default:
cout<<"Error"<<endl;
}
}
}
VIII-10
2. Tampilan Program :.
3. Analisa Program
Pada kode diatas, variabel x dan y di atas sebagai parameter
masukkan. Selain itu, x dan y disebut dengan parameter formal,dengan
fungsi menggunakan switch-case pertama hasil = x+y,kedua hasil = x-
y,ketiga hasil = x * y dan keempat hasil = x / y,
Tugas 3
1. Source code :
#include <iostream>
using namespace std;
int hitungKeliling(){
int hasil, a,b;
cout<<"=========================================
====="<<endl;
cout<<"============Keliling Persegi
Panjang=========="<<endl;
VIII-11
cout<<"=========================================
====="<<endl<<endl;
cout<<"Masukkan Panjang: ";cin>>a;
cout<<"Masukkan Lebar : ";cin>>b;
hasil = 2*(a+b);
return hasil;
}
main(){
float panjang,lebar;
cout<<"=========================================
========"<<endl;
cout << "========Menghitung Luas Persegi
Panjang========" << endl;
cout<<"=========================================
========"<<endl<<endl;
cout << "Masukkan Panjang : ";
cin >> panjang;
cout << "Masukkan Lebar : ";
cin >> lebar;
cout<< endl << "Jadi, luas Persegi adalah " <<
hitungLuas (panjang,lebar) ;
cout<<endl<<endl;
cout<< endl << "Jadi, keliling segitiga adalah
" << hitungKeliling();
}
2. Tampilan Program :.
VIII-12