Bu Naim Dasprog - Pertemuan 8 Fungsi

447 views

Published on

Materi Dasar Pemrograman C++

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
447
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bu Naim Dasprog - Pertemuan 8 Fungsi

  1. 1. FUNGSI
  2. 2. 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.
  3. 3. 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.
  4. 4. 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.)
  5. 5. User-Defined Functions • Bentuk umum C++ : // // // // include statements function prototypes main() function function definitions
  6. 6. Input dan Output Fungsi
  7. 7. 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.
  8. 8. 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.
  9. 9. 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.
  10. 10. 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; }
  11. 11. 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
  12. 12. Arguments/Parameters Hubungan one-to-one antara argument dalam pemanggilan fungsi dan parameter dalam definisi fungsi. int argument1; double argument2; //Pemanggilan fungsi result = functionname(argument1, argument2); //Definisi fungsi int functionname(int parameter1,double parameter2) { // parameter1 = argument1 //parameter2 = argument2 }
  13. 13. Prototipe fungsi • prototipe fungsi mendeklarasikan parameter input dan output dari fungsi. • syntax: <type> <function name>(<type list>); • Contoh: int absolute(int);
  14. 14. Prototipe Fungsi • prototipe fungsi dapat digunakan untuk memberitahu kompiler fungsi yang ada. • prototipe fungsi menspesifikasi nama fungsi nama, return type dan tipe parameter.
  15. 15. Contoh prototypes double sqrt( double); int add2nums( int, int); int counter(void);
  16. 16. prototype int counter(void); void main(void) { cout << counter() << endl; cout << counter() << endl; cout << counter() << endl; } int counter(void) { static int count = 0; count++; return(count); }
  17. 17. Definisi Fungsi • Definisi fungsi dapat ditempatkan dimana saja dalam program setelah prototype • Jika definisi fungsi sebelum main(), tidak perlu prototype.
  18. 18. 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; }
  19. 19. 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; }
  20. 20. 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; }

×