Bu Naim Dasprog - Pertemuan 8 Fungsi
-
Upload
umar-al-faruq -
Category
Education
-
view
262 -
download
1
description
Transcript of Bu Naim Dasprog - Pertemuan 8 Fungsi
FUNGSI
Fungsi
• Masalah yang kompleks lebih mudah untuk dipecahkan dengan membagi menjadi bagian-bagian yang lebih kecil.
• Masing-masing dari bagian tersebut kemudian dipecah.
• Hal ini dinamakan pemrograman terstruktur.
• Dalam C++, bagian-bagian tersebut dinamakan fungsi.
• main() program menggunakan fungsi-fungsi tersebut untuk memecahkan masalah yang sesungguhnya.
Keuntungan Fungsi
• Fungsi memisahkan konsep (apa yang dikerjakan) dari implementasi (bagaimana mengerjakan).
• Fungsi membuat program lebih mudah dimengerti.
• Fungsi dapat dipanggil beberapa kali dalam program yang sama.
• Reuse kode.
Fungsi C++
• Fungsi dalam C++ : – internal (user-defined) dan external functions.
• External functions (contoh, abs, rand, sqrt, dsb.) dikelompokkan dalam library khusus (contoh, iostream, stdlib, math, dsb.)
User-Defined Functions
• Bentuk umum C++ :
// include statements // function prototypes // main() function // function definitions
Input dan Output Fungsi
Penggunaan Fungsi –Fungsi Library Math
• Gunakan include math.h.
• Harus mengetahui bagaimana cara memanggil fungsi tersebut.
• Harus mengetahui apa yang dihasilkan oleh fungsi tersebut.
• Tidak perlu mengetahui bagaimana proses fungsi tersebut.
double sqrt( double )
• Ketika memanggil sqrt, diperlukan nilai bertipe double.
• Fungsi sqrt memberikan nilai bertipe double.
• Contoh: x = sqrt(y);
x = sqrt(100);
• Nilai yang diberikan pada fungsi dinamakan argumen. Contoh diatas Y adalah argumen.
Fungsi C++
• Dalam bahasa pemrograman lain dinamakan subroutine atau procedure.
• Mempunyai tipe sesuai dengan nilai yang dihasilkan.– Terkadang fungsi tidak perlu memberikan nilai
tertentu – fungsi ini bertipe void.
• Mempunyai sejumlah parameter.– Parameter adalah nilai yang diberikan pada fungsi
untuk diproses.• Masing-masing parameter mempunyai tipe.
– Suatu Fungsi bisa tidak mempunyai parameter.
Definisi Fungsi
Bentuk umum definisi fungsi :
<type> <function name>(<parameter list>){
<local declarations> <sequence of statements>
}
Contoh: Definisi fungsi yang menghitung nilai absolute :
int absolute(int x){ if (x >= 0) return x; else return -x;
}
Pemanggilan Fungsi
• Bentuk umum : <function name>(<argument list>)
Contoh (dari fungsi absolute):
int distance = absolute(-5);– Hasil dari fungsi ini adalah nilai yang bertipe
sesuai dengan tipe fungsi
Arguments/ParametersHubungan one-to-one antara argument dalam
pemanggilan fungsi dan parameter dalam definisi fungsi.
int argument1;double argument2; //Pemanggilan fungsiresult = functionname(argument1, argument2);
//Definisi fungsi int functionname(int parameter1,double parameter2){// parameter1 = argument1 //parameter2 = argument2}
Prototipe fungsi
• prototipe fungsi mendeklarasikan parameter input dan output dari fungsi.
• syntax:
<type> <function name>(<type list>);
• Contoh: int absolute(int);
Prototipe Fungsi
• prototipe fungsi dapat digunakan untuk memberitahu kompiler fungsi yang ada.
• prototipe fungsi menspesifikasi nama fungsi nama, return type dan tipe parameter.
Contoh prototypes
double sqrt( double);
int add2nums( int, int);
int counter(void);
prototypeint counter(void);
void main(void) {cout << counter() << endl;cout << counter() << endl;cout << counter() << endl;
}
int counter(void) {static int count = 0;count++;return(count);
}
Definisi Fungsi
• Definisi fungsi dapat ditempatkan dimana saja dalam program setelah prototype
• Jika definisi fungsi sebelum main(), tidak perlu prototype.
Absolute Value
#include <iostream>int absolute (int);// prototipe fungsi
void main(){ int num, answer; cout << "Enter an integer (0 to stop): "; cin >> num;
while (num!=0){ answer = absolute(num); cout << “the absolute value of " << num << " is: " << answer << endl; cin >> num; }}
int absolute(int x){ if (x >= 0) return x; else return -x; }
Absolute Value (alternative)• Tanpa prototype.
#include <iostream>int absolute(int x){ if (x >= 0) return x; else return -x; }
int main(){ int num, answer;
cout << "Enter an integer (0 to stop): "; cin >> num;
while (num!=0){ answer = absolute(num); cout << "The absolute value of " <<
num << " is: " << answer << endl; cin >> num; }
return 0; }
Fungsi dengan 3 parameter
#include <iostream>
double total_second(int, double ,double );int main(){
cout << total_second(1,1.5, 2) << endl;return 0;
}
double total_second( int hour, double minutes, double second)
{return hour*3600 + minutes * 60 + second;
}