Sub Rutin dalam Bahasa Pemrograman

6.5. Sub Rutin dalam Bahasa Pemrograman

Bentuk umum sub rutin (function) sekali. Untuk fungsi yang tidak pada C++ dan Java sangat mirip. mempunyai parameter merupakan Untuk function yang mengembalikan

fungsi yang nilainya tetap (tidak nilai, setiap function harus didahului berubah). Sedangkan fungsi yang oleh tipe data yang sesuai dengan mempunyai parameter nilai fungsinya jenis data yang akan dikembalikan, dinamis (dapat berubah-ubah). kecuali tipe data array. Setiap Parameter-parameter ini merupakan function juga mempunyai daftar variabel-variabel yang harus parameter dimana setiap parameter dideklarasikan sendiri-sendiri dipisahkan dengan tanda koma (,). meskipun tipe datanya sama. Parameter-parameter ini digunakan Bentuk umum dari function yang untuk menerima data (nilai) dari mengembalikan nilai adalah sebagai program yang memanggilnya.

berikut

Kita dapat mendeklarasikan banyak parameter atau tidak sama

tipe_data nama_fungsi(daftar_parameter) {

isi dari fungsi return<ekspresi>

Perhatikan contoh progam function yang benar int contoh(int a, int b) {

…. return(c);

Sedangkan program yang menggunakan function salah adalah sebagai berikut: int contoh(int a, b) {

…. return(c);

Setiap function mempunyai karena tugas yang harus kode-kode program sendiri-sendiri diselesaikan oleh setiap function juga

2008 | Direktorat Pembinaan SMK

Bahasa Pemrograman Prosedur dan Subroutin

berbeda-beda. Variabel-variabel yang dapat digunakan oleh semua function digunakan dalam function disebut dan program utama). dengan variabel lokal. Oleh karena

Untuk dapat digunakan, itu variabel tersebut hanya dapat function biasanya mempunyai digunakan didalam function itu sendiri

parameter-parameter yang tidak bisa digunakan oleh function digunakan untuk menerima masukan lain atau program utama.

dari program yang memanggilnya. Variabel lokal ini berfungsi pada

Parameter-parameter ini disebut saat function tersebut aktif dan akan

dengan parameter formal. Parameter hilang (dihapus) jika function sudah formal ini termasuk dalam variabel tidak aktif lagi atau setelah function lokal yang akan berfungsi pada saat selesai melakukan tugasnya (kecuali

function aktif dan akan dihapus pada variabel yang digunakan dalam saat function selesai melakukan function adalah variabel global yang

tugasnya. Perhatikan contoh function dalam bahasa C++ berikut ini:

/* function akan menghasilkan nilai 1 jika c sama dengan s, sebaliknya bernilai 0 jika c tidak sama dengan s */ int cek(char s, char c) {

if(s==c) return 1; return 0;

Function cek() mempunyai dua dengan variabel s. Jika sama maka buah parameter formal, yaitu s dan c

function cek() akan bernilai 1, yang mempunyai tipe data yang sebaliknya jika tidak maka akan sama, char. Function cek() bernilai 0. Variabel s dan c ini merupakan function yang merupakan variabel lokal yang hanya mengembalikan nilai sehingga dia dapat digunakan dalam function cek() harus mempunyai tipe data dimana saja, tidak bisa digunakan oleh tipe data-nya dalam hal ini adalah function atau program lain. integer.

Permasalahan yang sama untuk Java Function cek() ini bertugas untuk

adalah sebagai berikut: memeriksa apakah variabel c sama

class ricek { public int cek(char s, char c) { if(s==c) return 1; return 0; }

Telah disebutkan sebelumnya class tersebut dimungkinkan untuk bahwa sub rutin dalam Java mempunyai satu atau lebih function berbentuk class dimana didalam method. Class ricek() ini dapat

Direktorat Pembinaan SMK | 2008

Prosedur dan Subroutin Bahasa Pemrorgraman

digunakan oleh class lain, dalam hal function method cek(). Berikut ini ini untuk mengecek suatu karakter adalah kode lengkap dari kedua karena class ricek() mempunyai program di atas

. Perhatikan Program dalam bahasa C++ : #include <iostream> using namespace std;

int cek(char s, char c) { if(s==c) return 1;

return 0; } int main(void) {

char a,b;

a = 'a';

b = 'a'; cout << cek(a,b) << endl; return 0;

Keluaran program adalah :

Dari kode program C++ di atas yaitu pengecekan apakah parameter terlihat bahwa function cek() formal s sama dengan parameter dipanggil melalui argumen pada formal c. Jika sama maka function program utama (main()) dimana cek() akan bernilai 1, sebaliknya jika argumen tersebut mempunyai tidak sama maka function cek() akan variabel masukan untuk function bernilai 0. Nilai dari function cek() ini cek() yaitu variabel a dan b.

kemudian langsung dicetak ke layar

Variabel a dan b ini kemudian oleh program utama. Kode program disalin oleh parameter formal function

untuk bahasa Java dari cek() yaitu s dan c. Parameter formal

permasalahan yang sama adalah: ini kemudian diproses lebih lanjut

class ricek { public int cek(char s, char c) { if(s==c) return 1; return 0; }

} class ricekApp {

public static void main

2008 | Direktorat Pembinaan SMK

Bahasa Pemrograman Prosedur dan Subroutin

(String[ ] args) { ricek ck = new ricek(); char a='a',b='b'; System.out.println(ck.cek(a,b)); }

Keluaran program adalah :

Dalam Java, class ricek() yang Contoh di atas merupakan mempunyai function method cek() contoh function dimana function tidak bisa langsung kita gunakan (kita

tersebut mempunyai parameter, panggil), tetapi harus dibuat / dalam hal ini parameter s dan c yang diciptakan dahulu obyek dari class bertipe char. Function cek() tersebut ricek() seperti yang terlihat pada baris

nilainya akan berubah-ubah sesuai ke-9 dimana obyek baru dari class dengan nilai masukannya. Untuk ricek() dalam class ricekApp() diberi contoh di atas nilai function dari cek() nama ck. Dengan obyek ck inilah kita

cuma ada dua, yaitu 0 atau 1. Berikut dapat mengakses method yang ini adalah contoh function yang tidak dipunyai oleh class ricek() karena mempunyai parameter sama sekali secara otomatis obyek ck juga sehingga nilai function-nya tidak akan mempunyai method cek() yang berubah-ubah seperti halnya pada dimiliki oleh class ricek().

contoh sebelumnya.

Contoh program dalam bahasa C++ : #include <iostream> using namespace std; int fpb(){

int a=24,b=18,hasil; int r = a % b; if (r==0) hasil = b; else { while(r!=0) {

a = b;

b = r; r = a % b; hasil = b; } } return(hasil);

} void main() {

Direktorat Pembinaan SMK | 2008

Prosedur dan Subroutin Bahasa Pemrorgraman

cout << "FPB‐nya = "; cout << fpb() <<endl;

Keluaran programnya adalah : FPB ‐nya = 6

Contoh program dalam bahasa Java :

1. class hitung {

2. public int fpb(){

3. int a=78,b=24,hasil=0;

4. int r = a % b;

5. if (r==0) hasil = b;

6. else {

7. while(r!=0) {

11. hasil = b;

14. return hasil;

17. class fpbApp {

18. public static void main(String[ ] args) {

19. hitung sekutu = new hitung();

20. System.out.println("Bilangan terbesarnya="+ sekutu.fpb());

Keluaran programnya adalah : Bilangan terbesarnya = 6

Nilai dari function fpb() di atas untuk bahasa Java nilai method fpb() dari bahasa C++ pasti 6 karena nilai dari

class hitung() juga pasti tetap, yaitu 6

a dan b telah ditetapkan besarnya, karena nilai a dan b juga telah yaitu 24 dan 18. Sedangkan untuk ditentukan (a=78 dan b=24).