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