Function yang Mengembalikan Nilai
6.6. Function yang Mengembalikan Nilai
Yang dimaksud dengan function oleh suatu program (argumen) maka yang mengembalikan nilai adalah argumen tersebut akan memperoleh suatu sub rutin yang bila dipanggil nilai balikan dari function tersebut.
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Prosedur dan Subroutin
Atau dengan kata lain, suatu function sehingga tipe data-nya juga harus yang mempunyai nilai.
integer.
Karena mempunyai nilai inilah Dengan demikian dapat maka suatu function yang disimpulkan bahwa ciri dari function mengembalikan nilai harus yang mengembalikan nilai adalah : mempunyai tipe data sesuai dengan
Function tersebut mempunyai tipe nilai yang dihasilkannya. Perhatikan
data.
baris ke-2 pada function cek() pada Diakhiri dengan klausa return. contoh sebelumnya. Function cek()
Berikut contoh program C++ digunakan menghasilkan nilai integer
yang menggunakan function dimana (lihat baris ke-3 dan ke-4) yaitu 0 function-nya dapat mengembalikan
atau 1 (return 0 dan return 1), nilai
1. #include <iostream>
2. using namespace std;
3. int fpb(int a, int b) {
4. int hasil;
5. int r = a % b;
6. if (r==0) hasil = b;
7. else {
8. while(r!=0) {
9. a = b; b = r;
10. r = a % b;
11. hasil = b;
14. return(hasil);
16. void main() {
17. int m,n;
18. do {
19. cout << "Bilangan pertama = ";
20. cin >> m;
21. cout << "Bilangan kedua = ";
22. cin >> n;
23. } while (m < n);
24. cout << "FPB‐nya = " << fpb(m,n)<<endl;
Keluaran programnya : Biangan pertama
Bilangan kedua
FPB ‐nya
Direktorat Pembinaan SMK | 2008
Prosedur dan Subroutin Bahasa Pemrorgraman
Baris ke-3 sampai dengan ke-16 data integer juga, yaitu a dan b (baris merupakan sub rutin (function) yang
ke-3). Function tersebut juga bernama fpb(). Sedangkan baris ke-
mempunyai variabel hasil yang
17 sampai dengan ke-26 merupakan bertipe data integer (baris ke-4). program utamanya. Program utama Function fpb() ini nilainya akan sama ini akan memanggil function fpb() dengan variabel hasil (baris ke-15). melalui suatu argumen (lihat baris ke-
Variabel a, b, dan hasil 25). Function fpb() bertugas untuk merupakan variabel lokal dimana melakukan pencarian faktor ketiga variabel ini hanya berfungsi persekutuan besar dari dua buah pada function fpb() saja. Variabel a bilangan yang dimasukkan di dan b bertugas untuk menerima data program utama (lihat baris ke-19 yang dikirim oleh program lain yang sampai dengan ke-24). Setelah memanggilnya sedangkan variabel selesai melakukan tugasnya, maka hasil digunakan untuk menyimpan function fpb() akan mempunyai nilai data hasil pencarian faktor yang langsung ditampilkan pada persekutuan besar (baris ke-6 dan program utama.
baris ke-12). Untuk permasalahan
Function fpb() mempunyai tipe yang sama dengan menggunakan data integer dan mempunyai dua bahasa Java adalah sebagai berikut: buah parameter formal yang bertipe
1. import java.util.Scanner;
2. import java.io.*;
3. class hitung {
4. public int fpb(int a, int b) {
5. int hasil=0;
6. int r = a % b;
7. if (r==0) hasil = b;
8. else {
9. while(r!=0) {
13. hasil = b;
16. return hasil;
19. class sekutuBesar {
20. public static void main(String[ ] args) {
21. hitung sekutu = new hitung();
22. int m,n;
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Prosedur dan Subroutin
23. Scanner input = new Scanner(System.in);
24. do {
25. System.out.print("Bilangan pertama = ");
26. m = input.nextInt();
27. System.out.print("Bilangan kedua = ");
28. n = input.nextInt();
29. } while(m < n);
30. System.out.println("Bilanganterbesarnya="+sekutu.fpb(m,n));
Keluaran programnya : Bilangan pertama
Bilangan kedua
Bilangan terbesarnya = 4
Pada program Java di atas Class hitung() “dipanggil” oleh terlihat bahwa pencarian faktor program utamanya yaitu Class persekutuan besar-nya dilakukan sekutuBesar(). oleh Class hitung(). Class hitung() ini
Program Java tersebut jika di- mempunyai method fpb(), yang compile akan menghasilkan dua merupakan function fpb() pada C++,
buah class, yaitu hitung.class dan dan bertugas untuk melakukan sekutuBesar.class dimana program pencarian faktor persekutuan besar. sekutuBesar.class akan memanggil Class sekutuBesar() kemudian hitung.class untuk melakukan membuat obyek baru dari Class perhitungan faktor persekutuan besar hitung() dengan nama sekutu (lihat
dari dua buah bilangan. baris ke-21). Atau dengan kata lain