Bu Naim Dasprog - Pertemuan 8 Fungsi

20
FUNGSI

description

Materi Dasar Pemrograman C++

Transcript of Bu Naim Dasprog - Pertemuan 8 Fungsi

Page 1: Bu Naim Dasprog - Pertemuan 8 Fungsi

FUNGSI

Page 2: Bu Naim Dasprog - Pertemuan 8 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.

Page 3: Bu Naim Dasprog - Pertemuan 8 Fungsi

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.

Page 4: Bu Naim Dasprog - Pertemuan 8 Fungsi

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.)

Page 5: Bu Naim Dasprog - Pertemuan 8 Fungsi

User-Defined Functions

• Bentuk umum C++ :

// include statements // function prototypes // main() function // function definitions

Page 6: Bu Naim Dasprog - Pertemuan 8 Fungsi

Input dan Output Fungsi

Page 7: Bu Naim Dasprog - Pertemuan 8 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.

Page 8: Bu Naim Dasprog - Pertemuan 8 Fungsi

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.

Page 9: Bu Naim Dasprog - Pertemuan 8 Fungsi

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.

Page 10: Bu Naim Dasprog - Pertemuan 8 Fungsi

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;

}

Page 11: Bu Naim Dasprog - Pertemuan 8 Fungsi

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

Page 12: Bu Naim Dasprog - Pertemuan 8 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}

Page 13: Bu Naim Dasprog - Pertemuan 8 Fungsi

Prototipe fungsi

• prototipe fungsi mendeklarasikan parameter input dan output dari fungsi.

• syntax:

<type> <function name>(<type list>);

• Contoh: int absolute(int);

Page 14: Bu Naim Dasprog - Pertemuan 8 Fungsi

Prototipe Fungsi

• prototipe fungsi dapat digunakan untuk memberitahu kompiler fungsi yang ada.

• prototipe fungsi menspesifikasi nama fungsi nama, return type dan tipe parameter.

Page 15: Bu Naim Dasprog - Pertemuan 8 Fungsi

Contoh prototypes

double sqrt( double);

int add2nums( int, int);

int counter(void);

Page 16: Bu Naim Dasprog - Pertemuan 8 Fungsi

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);

}

Page 17: Bu Naim Dasprog - Pertemuan 8 Fungsi

Definisi Fungsi

• Definisi fungsi dapat ditempatkan dimana saja dalam program setelah prototype

• Jika definisi fungsi sebelum main(), tidak perlu prototype.

Page 18: Bu Naim Dasprog - Pertemuan 8 Fungsi

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; }

Page 19: Bu Naim Dasprog - Pertemuan 8 Fungsi

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; }

Page 20: Bu Naim Dasprog - Pertemuan 8 Fungsi

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;

}