Download - Pertemuan Ke 7 Oop
![Page 1: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/1.jpg)
Fungsi
Fungsi merupaka blok dari badan program yang dirancang untuk melakukan tugas khusus
![Page 2: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/2.jpg)
Tujuan pembuatan fungsi :
Program menjadi terstruktur Mengurangi duplikasi kode program Sebuah fungsi dapat digunakan atau
dipanggil pada blok atau prosedur lain dalam satu tubuh program
![Page 3: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/3.jpg)
Format penulisan bentuk umum fungsi sbb:
tipe nama(argumen1, argumen2,…) pernyataan;
tipe berisi tipe data yang akan dikembalikan oleh fungsinama merupakan pengenal untuk memanggil fungsiargumen (dapat dideklarasikan sesuai dengan kebutuhan). Tiap-tiap argumenterdiri dari tipe-tipe data yang diikuti oleh pengenalnya. Sama sepertimendeklarasikan variable baru (contoh, int x).pernyataan merupakan bagian tubuh fungsi. Dapat berupa pernyataan tunggalataupun pernyataan majemuk.
![Page 4: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/4.jpg)
Contoh Fungsi//contoh fungsi#include <iostream.h>#include <conio.h>
int penjumlahan(int a, int b){ int r;r=a+b;return (r);}
int main(){ int z;z=penjumlahan(5,3);cout<<"Hasil penjumlahan = " << z;return 0;}
![Page 5: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/5.jpg)
Hasil running
Hasil eksekusinya adalah :Hasil penjumlahan = 8
![Page 6: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/6.jpg)
Latihan
Buatlah fungsi pengurangan dan program pengurangan
Buatlah fungsi pengurangan dan program perkalian
Buatlah fungsi pengurangan dan program pembagian (float)
![Page 7: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/7.jpg)
Scope (Batasan) Variabel
Variabel yang dideklarasikan di dalam tubuh fungsi, hanya dapat diakses oleh fungsi itu. Dan tidak dapat dipergunakan di luar fungsi.
![Page 8: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/8.jpg)
variable global
Variabel yang dapat diakses dari manaSaja, dari dalam maupun luar tubuh fungsi.
Untuk mendeklarasikan variableglobal, harus dituliskan di luar fungsi atau blok instruksi.
![Page 9: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/9.jpg)
Pendeklarasian fungsi tanpa tipe (menggunakan void)
Kadang-kadang terdapat fungsi yang tanpa memerlukan adanya pengembalian nilai. Misalkan, sebuah fungsi yang hanya bertugas mencetak kalimat ke layarmonitor dan tanpa memerlukan adanya pertukaran parameter. Dalam kondisiseperti ini, maka dipergunakan kata kunci void.
![Page 10: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/10.jpg)
Cara pelewatan argumen adalah :
Pemanggilan dengan nilai (arguments passed by value)
Pemanggilan dengan acuan (arguments passed by reference)
![Page 11: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/11.jpg)
arguments passed by value
![Page 12: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/12.jpg)
arguments passed by reference
![Page 13: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/13.jpg)
Fungsi Rekursif
Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri, artinya fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri.
![Page 14: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/14.jpg)
Contoh
![Page 15: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/15.jpg)
Prototype Fungsi
pendeklarasian fungsi baru, yaitu dideklarasikan di bawah fungsi main()
![Page 16: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/16.jpg)
Keuntungan pemakaian prototype yaitu
compiler akan melakukan konversi seandainya antara tipe parameter dalam definisi dan parameter saat pemanggilan fungsi tidak sama, atau akan menunjukkan kesalahan kalau jumlah parameter dalam definisi dan saat pemanggilan berbeda.
![Page 17: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/17.jpg)
Sintak prototype:
tipe nama (argumen1, argumen2,…);
sama seperti pendeklarasian judul fungsi, kecuali:
![Page 18: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/18.jpg)
•tidak memiliki baris pernyataan (tubuh fungsi) yang ditandai dengan { dan}.
•diakhiri dengan tanda ;•dalam pendeklarasian argumennya, cukup hanya dengan mendeklarasikan tipe datanya saja. Walaupun sangat dianjurkan untuk menyertakan argumen secara lengkap.
![Page 19: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/19.jpg)
Contoh:
![Page 20: Pertemuan Ke 7 Oop](https://reader036.vdokumen.com/reader036/viewer/2022082414/563db77a550346aa9a8b6578/html5/thumbnails/20.jpg)
Latihan
Buat program menggunakan prototype fungsi mengenai penjumlahan, pengurangan dan perkalian, dimana dua nilai yang di operasikan didapat dari keyboard