Fungsi dalam C++
Outline Fungsi standar (Predefined) Fungsi yang didefinisikan oleh pengguna (User defined function) Fungsi dengan nilai balik Membangun dan menggunakan fungsi dengan nilai balik dalam program
Pendahuluan Program C++ merupakan kumpulan dari fungsi Salah satu fungsi adalah main Fungsi dapat digunakan untuk membagi program menjadi bagian-bagian yang dapat diatur (manageable pieces) Fungsi disebut juga sebagai modul Fungsi seperti miniatur program, yang dapat digunakan untuk membentuk program yang lebih besar
Fungsi Keuntungan dari fungsi: Fokus dalam membentuk, memperbaiki, dan menyempurnakan program Orang yang berbeda dapat bekerja pada fungsi yang berbeda secara bersamaan Jika fungsi digunakan pada lebih dari satu tempat di program, atau pada program lain, fungsi dapat ditulis satu kali dan digunakan berkali-kali Membuat program dapat dibaca dengan mudah karena fungsi dapat mengurangi kompleksitas dari fungsi main
Fungsi Fungsi bernama f(x) memiliki satu parameter x didefinisikan sebagai f(x) = x2 + 3x -5 Jika diberi harga x = 4 maka f(x) akan menghasilkan 23 Jika diberi harga x = 1 maka f(x) akan menghasilkan -1 Fungsi f(x,y) memiliki dua parameter x dan y, didefinisikan sebagai f(x,y) = x2 + 3xy – 5y – 1 Jika diberi harga x = 0 dan y = 0 maka f(x,y) akan menghasilkan -1 Jika diberi harga x = 1 dan y = 0 maka f(x,y) akan menghasilkan 0
Fungsi Klasifikasi fungsi Predefined function User defined function Fungsi dengan nilai balik Fungsi tanpa nilai balik (Prosedur)
Predefined Function Predefined function adalah fungsi standar dalam program C++ Beberapa predefined function: pow (x, y) sqrt (x) floor (x) Fungsi pow (x, y), untuk menghitung 𝑥 𝑦 , tipe data double x dan y disebut parameter atau argumen dari fungsi pow Fungsi pow mempunyai dua parameter
Predefined Function Fungsi sqrt (x), Fungsi floor (x), menghitung akar dari x untuk x >= 0, tipe data double, mempunyai satu parameter Fungsi floor (x), floor(48.79)= 48, floor (45,79) = 45,
Predefined Function Pada C++, predefined function diatur pada libraries tersendiri Header file iostream mengandung fungsi I/O Header file cmath mengandung fungsi math Untuk menggunakan predefined function, kita harus menyertakan header file yang mengandung spesifikasi fungsi yang bersangkutan
Contoh Predefined Function #include <iostream> #include <cmath> #include <cctype> using namespace std; int main() { int x; double u, v; u = 3; v = 2; cout << u << " pangkat " << v << " adalah " << pow(u,v) << endl; return 0; }
User Defined Function C++ tidak menyediakan setiap fungsi yang dibutuhkan pengguna. Pengguna harus belajar menulis fungsi nya sendiri (User defined function) Klasifikasi user defined function: Fungsi dengan nilai balik Fungsi tanpa nilai balik/void function/prosedur
Fungsi Item yang perlu diperhatikan dalam membangun fungsi: Nama fungsi Jumlah parameter (jika ada) Tipe data setiap parameter Tipe data dari fungsi Kode untuk menjalankan tugas Item 1-4 disebut sebagai heading atau function header, item 5 disebut body dari fungsi
Tahapan Membangun Fungsi 1. Mendefinisikan fungsi – Memberikan nama – Mendefinisikan parameter formal (parameter input) – Mendefinisikan type hasil 2. Merealisasikan fungsi – Membuat algoritma fungsi: memroses input hasil 3. Menggunakan fungsi dalam program utama – Memanggil fungsi dengan menggunakan parameter aktual
Struktur Fungsi type hasil Nama_Fungsi(daftar parameter input formal) { /*Spesifikasi fungsi, berisi penjelasan tentang apa yang dilakukan dan yang dikembalikan oleh fungsi ini*/ /*semua nama yang digunakan dalam fungsi dan hanya berlaku lokal di dalam fungsi didefinisikan di sini*/ /*badan fungsi, berisi kumpulan instruksi}*/ return hasil; //pengembalian nilai yang dihasilkan fungsi }
Mendefinisikan fungsi Parameter input boleh tidak ada (kosong) Jika list parameter input (parameter FORMAL) ada (tidak kosong, minimal satu nama), maka merupakan satu atau beberapa nama beserta type-nya Fungsi harus menghasilkan suatu harga Harga yang dihasilkan oleh fungsi harus memiliki suatu type tertentu
Merealisasikan Fungsi
Contoh Realisasi Fungsi
Contoh Realisasi Fungsi
Kode Fungsi dalam Program
Pemanggilan Fungsi Saat pemanggilan, terjadi korespondensi antara parameter input (formal) dengan parameter aktual sesuai dengan urutan penulisan dalam list-nama parameter input List parameter aktual harus sama jumlah, urutan, dan typenya dengan list parameter input pada pendefinisian fungsinya Fungsi boleh dipakai oleh program utama, prosedur, atau fungsi lain
Pemanggilan Fungsi Karena fungsi menghasilkan nilai, maka : nilai tersebut dapat ditampung dalam sebuah peubah yang bertipe sama dengan tipe fungsi : Peubah = NAMA_FUNGSI(daftar parameter aktual); nilai yang diberikan oleh fungsi dapat langsung dimanipulasi printf(“[format]”,NAMA_FUNGSI(daftar parameter)) if (2 * NAMA_FUNGSI(daftar parameter) < 0) { }
Contoh Fungsi dan Pemanggilannya int pangkat( int y ) { return y* y; } int main() { for ( int x = 1; x <= 10; x++ ) cout << pangkat( x ) << " "; cout << endl; return 0; }
Contoh Fungsi dan Pemanggilannya 2 float luas_persegi(float p, float t) { /* mengembalikan nilai hasil perhitungan luas persegi*/ float hasil; hasil = p*t; return hasil; } int main() { float luas, panjang, tinggi; cout << “Masukan Panjang = "; cin>>panjang; cout << “ MasukanTinggi = "; cin>>tinggi; luas = luas_persegi(panjang,tinggi); cout << “Jadi Luasnya = "<<luas; }
Contoh Fungsi dan Pemanggilannya 3 float PANGKATKAN(float a, int n) { /* mengembalikan harga perpangkatan an, n bilangan bulat positif */ float hasil; int i; hasil = 1; for( i=1; i<=n; i++) hasil = hasil * a; return hasil; } float PANGKATKAN(float a, int n); Int main() { /* program utama untuk menghitung volume bola dengan rumus V = 4/3 πr3} */ float V, r; cout<<"Jari-jari : "; cin>>r; V = 1.33 * 3.14 * PANGKATKAN(r,3); cout<<"Volume Bola : "<< V; }
Latihan Buat program untuk menghitung luas permukaan tabung dan volume dengan ketentuan sebagai berikut: Phi=3.14 dijadikan konstanta Jari-jari dan tinggi tabung dimasukkan user di program utama Belum ada modul
Latihan Kembangkan program di atas dengan membuat fungsi untuk bagian program yang menghitung: Luas permukaan Volume Dan buat program utamanya yang memanggil ke-2 fungsi tsb.