berbeda-beda. Variabel-variabel yang digunakan dalam function disebut dengan variabel lokal. Oleh karena itu variabel tersebut hanya dapat digunakan didalam function itu sendiri tidak bisa digunakan oleh function lain atau program utama. Variabel lokal ini berfungsi pada saat function tersebut aktif dan akan hilang (dihapus) jika function sudah tidak aktif lagi atau setelah function selesai melakukan tugasnya (kecuali variabel yang digunakan dalam function adalah variabel global yang dapat digunakan oleh semua function dan program utama). Untuk dapat digunakan, function biasanya mempunyai parameter-parameter yang digunakan untuk menerima masukan dari program yang memanggilnya. Parameter-parameter ini disebut dengan parameter formal. Parameter formal ini termasuk dalam variabel lokal yang akan berfungsi pada saat function aktif dan akan dihapus pada saat function selesai melakukan tugasnya. Perhatikan contoh function dalam bahasa C++ berikut ini:
/*functionakanmenghasilkannilai1jikacsamadengans,sebaliknyabernilai0jikac tidaksamadengans*/ intcek(chars,charc){ if(s==c)return1; return0; }
Function cek() mempunyai dua buah parameter formal, yaitu s dan c yang mempunyai tipe data yang sama, char. Function cek() merupakan function yang mengembalikan nilai sehingga dia harus mempunyai tipe data dimana tipe data-nya dalam hal ini adalah integer. Function cek() ini bertugas untuk memeriksa apakah variabel c sama dengan variabel s. Jika sama maka function cek() akan bernilai 1, sebaliknya jika tidak maka akan bernilai 0. Variabel s dan c ini merupakan variabel lokal yang hanya dapat digunakan dalam function cek() saja, tidak bisa digunakan oleh function atau program lain. Permasalahan yang sama untuk Java adalah sebagai berikut:
classricek{ publicintcek(chars,charc){ if(s==c)return1; return0; } }
Telah disebutkan sebelumnya bahwa sub rutin dalam Java berbentuk class dimana didalam class tersebut dimungkinkan untuk mempunyai satu atau lebih function method. Class ricek() ini dapat
digunakan oleh class lain, dalam hal ini untuk mengecek suatu karakter karena class ricek() mempunyai function method cek(). Berikut ini adalah kode lengkap dari kedua program di atas . Perhatikan Program dalam bahasa C++ :
#include<iostream> usingnamespacestd; intcek(chars,charc){ if(s==c)return1; return0; } intmain(void){ chara,b; a='a'; b='a'; cout<<cek(a,b)<<endl; return0; }
Keluaran program adalah : 1 Dari kode program C++ di atas terlihat bahwa function cek() dipanggil melalui argumen pada program utama (main()) dimana argumen tersebut mempunyai variabel masukan untuk function cek() yaitu variabel a dan b. Variabel a dan b ini kemudian disalin oleh parameter formal function cek() yaitu s dan c. Parameter formal ini kemudian diproses lebih lanjut yaitu pengecekan apakah parameter formal s sama dengan parameter formal c. Jika sama maka function cek() akan bernilai 1, sebaliknya jika tidak sama maka function cek() akan bernilai 0. Nilai dari function cek() ini kemudian langsung dicetak ke layar oleh program utama. Kode program untuk bahasa Java dari permasalahan yang sama adalah:
class ricek{ publicintcek(chars,charc){ if(s==c)return1; return0; } } classricekApp{ publicstaticvoidmain String[]args){ ricekck=newricek(); chara='a',b='b'; System.out.println(ck.cek(a,b)); } }
Keluaran program adalah : 0
Next read ON halaman 6.