Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.

Presentasi serupa


Presentasi berjudul: "FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007."— Transcript presentasi:

1

2 FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007

3 Bina Nusantara Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat menghasilkan program yang terdiri atas fungsi-fungsi yang sesuai Buku Referensi:  C++ - How to program, Deitel & Deitel, Prentice Hall, Websites :  3

4 Bina Nusantara Outline Materi Declaration & Definition Argument & Default Argument Passing by Value Passing by Reference Return Value Fungsi Recursive Function Overloading Inline Function

5 Bina Nusantara Merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama Fungsi digunakan untuk membantu organisasi program dan mengurangi besar (size) program Function

6 Bina Nusantara type function_name ( ) { } Dimana: type  tipe data dari return value function_name  nama fungsi sesuai C++ argument_list  variabel input statement_list  kumpulan instruksi Format deklarasi fungsi

7 Bina Nusantara Merupakan data yang dikirim dari program ke fungsi dan sebaliknya. Argument dipergunakan untuk mengirim data yang akan diproses. Argument (function parameter)

8 Bina Nusantara Passing by value Yang dikirim adalah nilai dari variabel. Perubahan terhadap argumen dalam fungsi tidak mempengaruh nilai variabel tersebut. Passing by reference Yang dikirim adalah reference (pointer) dari variabel. Perubahan terhadap argumen dalam fungsi mempengaruhi nilai variabel tersebut. Jenis data yang dikirim harus berupa variabel, tidak boleh konstanta 2 jenis pengiriman argument

9 Bina Nusantara #include // deklarasi fungsi (function declaration) void print (int num); void main(){ int num = 7007; print(num); } // definisi fungsi (function definition) void print (int num){ cout << “ Nilai bilangan : “ << num++ <

10 Bina Nusantara #include // deklarasi fungsi (function declaration) void KaliDua (int & num) ; void main() { int num = 7007; KaliDua(num); } // definisi fungsi (function definition) void KaliDua (int & num) { num = num * 2; } Contoh program passing by reference

11 Bina Nusantara Suatu nilai tertentu yang akan dipakai sebagai argumen bila fungsi tidak dipanggil dengan argumen lengkap Contoh program: #include void print (int num=100); //function dengan default arg void main() { int num = 7007; print(); //function call tanpa argumen print(num); //function call dengan argumen lengkap getch(); } void print (int num) { cout<<"Nilai bilangan : “ << num<< endl; } Default Argument

12 Bina Nusantara Satu fungsi setelah melaksanakan pekerjaan, maka akan mengirimkan hasil. Hasil dari fungsi dikembalikan dengan statement return Return value

13 Bina Nusantara #include int CariBilTerbesar (int b1, int b2, int b3); void main() { int bil1, bil2, bil3, bilMax; cout<<"Masukkan 3 bilangan: "; cin>>bil1 >> bil2 >> bil3; bilMax = CariBilTerbesar (bil1, bil2, bil3); cout<<"Bilangan terbesar adalah "< bMax) bMax = b2; if (b3 > bMax) bMax = b3; return bMax; //return value bMax } Contoh Return value

14 Bina Nusantara Fungsi recursive adalah fungsi yang memanggil dirinya sendiri Dalam recursive fungsi harus ada kondisi pemberhentian. Fungsi Recursive

15 Bina Nusantara long Factorial(int n) { long hasil = 1; if (n == 0) return 1; else { hasill = n * Factorial(n – 1); return hasil; } Contoh Fungsi Recursive

16 Bina Nusantara Satu fungsi yang dapat melakukan aktivitas yang berbeda tergantung dari data yang diterima. Pada C++ fungsi dapat mempunyai nama yang sama namun dengan tugas yang berbeda, hal ini disebut function overloading atau trivial polymorphism (semu). Function overloading dapat diterapkan bila tiap fungsi mempunyai function signature (ciri khas fungsi) yang berbeda. Function signature terdiri atas: 1. Jenis tipe data argumen 2. Jumlah argumen 3. Urutan letak argumen Function Overloading

17 Bina Nusantara #include void print(int i); void print(char ch); void print(char ch, int i); void print(int i, char ch); void main() { print(10); print('A'); print('A', 10); print(7, 'X'); getch(); } void print(int i){// function definition cout << "Integer : " << i << endl; } void print(char ch){ cout << "Character : " << ch << endl ; } void print(char ch, int i){ for ( int j = 0; j < i; j++ ) cout << ch << endl; } void print(int i, char ch){ cout << "Integer: " << 8 << i << endl; cout << "Character: " << 8 << ch<< endl; } Contoh Overloading

18 Bina Nusantara Fungsi ini bermanfaat menghemat memori, dengan cara mengabungkan fungsi kedalam program utama. #include float lbstokg(float pounds) { return ( * pounds); } void main(){ float lbs; // libras cout << “Enter your weight pounds : “; cin >> lbs; cout << “Your weght in Kilograms is “ << lbstokg(lbs); } Inline Function

19 Bina Nusantara 19 Diskusi dan Tanya Jawab Latihan soal


Download ppt "FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007."

Presentasi serupa


Iklan oleh Google