Part 4
Part 4
A. Tujuan Pembelajaran
Mahasiswa dapat mengerti dan dapat menggunakan fungsi dan prosedur dalam
pemrograman.
B. Uraian Materi
Suatu fungsi dalam C++ harus diberi nama yang unik, yang membedakan
satu sama lain. Sangat dianjurkan memberi nama fungsi sesuai dengan tugas
yang dijalankan oleh fungsi tersebut.
Di mana:
• type adalah tipe data untuk nilai yang akan dikembalikan dari fungsi. Untuk
prosedur, type ditulis sebagai void yang berarti tidak mengembalikan nilai
apapun.
• name adalah nama fungsi.
• parameter. Setiap parameter terdiri dari tipe data dan nama. Parameter
dapat didefinisikan sebanyak yang diperlukan dengan tiap parameter
diantarai koma. Parameter merupakan pertukaran nilai antara pemanggil
dengan fungsi yang dipanggil. Di dalam fungsi, parameter berlaku seperti
layaknya variabel.
Contoh Program 1
1 #include <iostream>
4 int r=a*b;
5 return r;
6 }
7 int main () {
9 z = perkalian(3,4);
11 }
Program di atas dibagi atas dua fungsi, perkalian dan main. Ya, main juga
merupakan fungsi. Hanya saja main adalah fungsi istimewa karena dia yang
pertama kali dipanggil oleh sistem ketika program dijalankan. Fungsi lain akan
dijalankan hanya jika dipanggil oleh main, langsung maupun tidak langsung.
Maka ketika fungsi perkalian dipanggil, di dalam fungsi itu variabel a akan
berisi nilai 3 dan variabel b akan berisi nilai 4. Kedua nilai ini didapat dari
parameter aktual di fungsi main. Badan fungsi perkalian akan mengalikan a
dengan b dan mengembalikan hasilnya ke modul pemanggil yaitu main. Fungsi
main akan menangkap nilai yang dikembalikan oleh fungsi perkalian dan
menyimpan hasilnya di variabel z. Saat ditampilkan, z akan berisi nilai 12.
Hasil perkalian: 12
Kita dapat mendefinisikan suatu fungsi di bawah fungsi lain dan tetap
dapat dipanggil dengan syarat prototipe fungsi dituliskan terlebih dahulu.
Contoh, program di atas dapat dituliskan sebagai berikut.
Contoh Program 2
1 #include <iostream>
4 int main () {
5 int z;
6 z = perkalian(3,4);
10 int r=a*b;
11 return r;
12 }
Contoh Program 3
1 #include <iostream>
2 #include <math.h>
7 int main() {
10 double d;
11 panjang=8;
12 lebar=5;
13 l = luas(panjang, lebar);
14 k = keliling(panjang, lebar);
15 d = diagonal(panjang, lebar);
22 }
24 return a*b;
25 }
27 return 2 * (a+b);
28 }
30 return (double)sqrt(a*a+b*b);
31 }
diagonal = √a2 + b 2
Segi Empat
Panjang : 8
Lebar : 5
Luas : 40
Keliling: 26
Diagonal: 9.43398
Contoh Program 4
1 #include <iostream>
3 void judul();
5 int main() {
7 judul();
8 while (angka!=0){
10 cin>>angka;
11 if (angka==0) break;
13 <<fungsiX(angka)<<endl<<endl;
14 judul();
15 }
16 }
17 void judul() {
22 }
25 }
************************
fungsi 3x^2+5*x+4
************************
************************
fungsi 3x^2+5*x+4
************************
************************
fungsi 3x^2+5*x+4
************************
Program di atas membuat 2 fungsi, judul dan fungsiX. Ini membuat fungsi
main lebih rapi dan mudah dibaca. Terlihat bahwa main memakai pengulangan
while untuk (1) meminta masukan dan (2) menghitung hasil fungsi dan (3)
menampilkan judul.
4.6 Tugas
Soal 1
Soal 2
Soal 3
- Fungsi luas
- Fungsi keliling
- Fungsi diameter
Ada fungsi-fungsi yang sudah disediakan oleh C++ (built-in functions) dan
dapat dipanggil oleh program kita. Misal perintah printf untuk mencetak ke layar.
Fungsi-fungsi ini biasanya mengharuskan program memasukkan file header
sebelum dapat dipakai. Misal fungsi sqrt untuk menghitung akar suatu angka.
Fungsi ini mengharuskan kita memasukkan header math.h ke dalam program
kita dengan perintah #include <math.h>. File header ini berisi definisi dan
prototipe dari fungsi-fungsi matematika yang tersedia.
Contoh Program 5
1 #include <iostream>
5 void judul();
6 int main() {
23 }
25 }
26 void judul() {
27 char bintang[]="*****************************";
32 }
*****************************
Hitung sinus, cosinus, tangen
dengan built-in function C++
*****************************
*****************************
*****************************
Hitung sinus, cosinus, tangen
dengan built-in function C++
*****************************
di mana PI = 3.14159265
Contoh Program 6
1 #include <iostream>
4 #define JML_DATA 50
8 int main() {
9 int angka[JML_DATA];
10 isi_random(angka);
11 cetak(angka);
12 int n=10;
13 while (n>=0) {
14 cout<<endl
16 cin>>n;
17 if (n<0) break;
18 cari(angka, n);
19 }
20 }
22 srand(time(NULL));
24 a[i]=rand()%100;
25 }
27 char garis[]="-------------------------------";
33 cout<<endl<<garis<<endl;
34 }
36 int i;
38 if (a[i]==x) {
40 break;
41 }
42 }
43 if (i==JML_DATA)
45 }
Soal 1
D. Referensi
Sjukani M. Algoritma Dan Struktur Data 1 Dengan C, C++ Dan Java. Jakarta,
Indonesia: Mitra Wacana Media; 2014.
Davis SR. C++ for Dummies. 7th Editio. New Jersey, USA: John Wiley & Sons, Inc;
2014.