m05 – fungsi
Download
Report
Transcript m05 – fungsi
FUNGSI
Mata Kuliah: Bahasa C++
Harni Kusniyati
Definisi
Fungsi adalah sekumpulan perintah operasi program yang
dapat menerima argumen input dan dapat memberikan hasil
output yang dapat berupa nilai ataupun sebuah hasil operasi.
Fungsi digunakan untuk menghindari penulisan bagian kode
program berulang-ulang, untuk menyusun kode program agar
terlihat lebih rapi dan kemudahan dalam debugging program.
Bentuk umum sebuah fungsi adalah:
Tipe_fungsi nama_fungsi (parameter fungsi)
Deklarasi parameter
{
Tubuh fungsi
}
Tipe fungsi digunakan untuk menentukan tipe keluaran fungsi.
1. Fungsi Tanpa Nilai Balik
Fungsi tanpa nilai balik (return Value) digunakan untuk
melakukan proses-proses yang tidak menghasilkan nilai, seperti
melakukan pengulangan, proses pengesetan nilai ataupun yang
lainnya.
Fungsi semacam ini tipe kembaliannya akan diisi dengan nilai void.
Bentuk umumnya:
Void_nama_fungsi(parameter1, parameter2,..)
{
Statemen_yang_akan_dieksekusi;
...
}
1. Fungsi Tanpa Nilai Balik
#include<iostream.h>
void tulis(void)
{
int j;
for (j=0;j<10;j++)
{
cout<<"Belajar Bahasa C++"<<endl;
}
}
main(void)
{
tulis();
return 0;
}
2. Fungsi Dengan Nilai Balik
Fungsi tanpa nilai balik yaitu fungsi yang digunakan untuk
melakukan proses-proses yang berhubungan dengan nilai.
Adapun cara pendefinisiannya adalah dengan menuliskan tipe data dari
nilai yang akan dikembalikan didepan nama fungsi.
Bentuk umum:
tipe_data nama_fungsi(parameter1, parameter2,..)
{
Statemen_yang_akan_dieksekusi;
...
return nilai_balik;
}
2. Fungsi Dengan Nilai Balik
#include<iostream.h>
LuasBujurSangkar(int sisi)
{
int L;
L = sisi * sisi;
return L;
}
main()
{
int s, Luas;
cout<<"Masukkan nilai sisi : ";
cin>>s;
Luas=LuasBujurSangkar(s);
cout<<"Luas Bujur Sangkar adalah "<<Luas;
return 0;
}
3. Fungsi Dengan Parameter
Parameter adalah suatu variabel yang berfungsi untuk
menampung nilai yang akan dikirimkan ke dalam fungsi.
Parameter itu sendiri terbagi dua macam yaitu:
Parameter formal adalah variabel yang ada pada daftar
parameter dalam definisi fungsi.
Parameter aktual adalah parameter (tidak selamanya
menyatakan variabel) yang digunakan dalam pemanggilan
fungsi.
Contoh
#include<iostream.h>
int TambahSatu(int X)
{
X = X + 1;
return X;
}
main()
{
int bilangan;
cout<<"Masukkan sebuah bilangan : ";
cin>>bilangan;
cout<<"Nilai akhirnya adalah "<<TambahSatu(bilangan);
return 0;
}
Melewatkan Parameter
Ada 2 cara melewatkan Parameter yaitu:
1. Berdasarkan nilai (pass by value).
2. Berdasarkan referensi (pass by reference).
Contoh: pass by value
#include<iostream.h>
void Kali2(int X)
{
X = X * 2;
cout<<"Nilai didalam fungsi adalah: "<<X<<endl;
}
main()
{
int bilangan;
cout<<"Masukkan sebuah bilangan : ";
cin>>bilangan;
cout<<endl;
cout<<"Nilai awal : "<<bilangan<<endl; //memangil nilai awal
Kali2(bilangan); //memangggil fungsi Kali2
cout<<"Nilai akhirnya adalah "<<bilangan<<endl;
return 0;
}
Hasil Eksekusi:
Contoh: pass by reference
#include<iostream.h>
void Kali2(int& X)
{
X = X * 2;
cout<<"Nilai didalam fungsi adalah: "<<X<<endl;
}
main()
{
int bilangan;
cout<<"Masukkan sebuah bilangan : ";
cin>>bilangan;
cout<<endl;
cout<<"Nilai awal : "<<bilangan<<endl; //memangil nilai awal
Kali2(bilangan); //memangggil fungsi Kali2
cout<<"Nilai akhirnya adalah "<<bilangan<<endl;
return 0;
}
#include<iostream.h>
void Kali2(int& X);
main()
{
int bilangan;
cout<<"Masukkan sebuah bilangan : ";
cin>>bilangan;
cout<<endl;
cout<<"Nilai awal : "<<bilangan<<endl; //memangil nilai awal
Kali2(bilangan); //memangggil fungsi Kali2
cout<<"Nilai akhirnya adalah "<<bilangan<<endl;
return 0;
}
void Kali2(int& X)
{
X = X * 2;
cout<<"Nilai didalam fungsi adalah: "<<X<<endl;
}
Hasil Eksekusi:
Latihan
1. Buatlah Program tambah, kurang, kali, bagi
dengan menggunakan fungsi?
#include<iostream.h>
float Tambah(float x, float y);
float Kurang(float x, float y);
float Kali(float x, float y);
float Bagi(float x, float y);
int main()
{
int x,y;
cout<<"Masukan nilai pertama:";
cin>>x;
cout<<"Masukan nilai kedua:";
cin>>y;
cout<<"Hasil Penjumlahan:"<<Tambah(x,y)<<endl;
cout<<"Hasil Pengurangan:"<<Kurang(x,y)<<endl;
cout<<"Hasil Perkalian:"<<Kali(x,y)<<endl;
cout<<"Hasil Pengurangan:"<<Bagi(x,y)<<endl;
return 0;
}
float Tambah(float x, float y)
{
return (x+y);
}
float Kurang(float x, float y)
{
return (x-y);
}
float Kali(float x, float y)
{
return (x*y);
}
float Bagi(float x, float y)
{
return (x/y);
}
Latihan 2
Buatlah program menggunakan fungsi
untuk menghitung luas persegi panjang
dan luas bujur sangkar!
#include<iostream.h>
LuasBujurSangkar(int sisi)
{
int L;
L = sisi * sisi;
return L;
}
LuasPersegiPanjang(int panjang, int lebar)
{
int L;
L = panjang * lebar;
return L;
}
main()
{
int s,p,l, Luas;
cout<<"Menghitung Luas Bujur Sangkar"<<endl;
cout<<"Masukkan nilai sisi : ";
cin>>s;
Luas=LuasBujurSangkar(s);
cout<<"Luas Bujur Sangkar adalah "<<Luas<<endl;
cout<<endl;
cout<<"Menghitung Luas Persegi Panjang"<<endl;
cout<<"Masukkan panjang : ";
cin>>p;
cout<<"Masukkan lebar : ";
cin>>l;
Luas=LuasPersegiPanjang(p,l);
cout<<"Luas Bujur Sangkar adalah "<<Luas<<endl;
return 0;
}
Hasil eksekusi
Latihan 3
Buatlah fungsi tukar dari 2 buah inputan
user!
//Program tukar
#include<iostream.h>
void tukar(int& X, int& Y);
main()
{
int a,b;
cout<<"Masukkan bilangan pertama: ";
cin>>a;
cout<<"Masukkan bilangan kedua: ";
cin>>b;
cout<<endl;
cout<<"Sebelum ditukar (): "<<endl;
cout<<"Nilai pertama = "<<a<<endl;
cout<<"Nilai kedua = "<<b<<endl;
cout<<endl;
tukar(a,b);
cout<<"Sesudah ditukar () adalah "<<endl;
cout<<"Nilai pertama = "<<a<<endl;
cout<<"Nilai kedua = "<<b<<endl;
cout<<endl;
return 0;
}
void tukar(int& X, int& Y)
{
int Z;
Z = X;
X = Y;
Y = Z;
}