Fungsi dalam C Outline Fungsi standar Predefined Fungsi



























- Slides: 27

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) = x 2 + 3 x -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) = x 2 + 3 xy – 5 y – 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 • Fungsi sqrt (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, – tipe data double, mempunyai satu parameter

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 ) { int main() { return y* y; 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*/ int main() { float luas, panjang, tinggi; float hasil; cout << “Masukan Panjang = "; cin>>panjang; cout << “ Masukan. Tinggi = "; cin>>tinggi; hasil = p*t; } return hasil; 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; float PANGKATKAN(float a, int n); Int main() { /* program utama untuk menghitung volume bola dengan rumus V = 4/3 πr 3} */ float V, r; hasil = 1; for( i=1; i<=n; i++) hasil = hasil * a; } return hasil; cout<<"Jari-jari : "; cin>>r; V = 1. 33 * 3. 14 * PANGKATKAN(r, 3); cout<<"Volume Bola : "<< V; }

Latihan q 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 q Kembangkan program di atas dengan membuat fungsi untuk bagian program yang menghitung: q § Luas permukaan § Volume Dan buat program utamanya yang memanggil ke-2 fungsi tsb.