Mata Kuliah: Bahasa C++ Harni Kusniyati 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 #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 #include<iostream.h> LuasBujurSangkar(int sisi) { int L; L = sisi * sisi; return L; } LuasPersegiPanjang(int panjang, int lebar) L = panjang * lebar;
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); return 0; }
Hasil eksekusi
Latihan 3 Buatlah fungsi tukar dari 2 buah inputan user!
//Program tukar #include<iostream //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;
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;