Anda di halaman 1dari 21

SUBRUTIN / FUNGSI

Bahasa Pemrograman Java


Subrutin
Adalah kumpulan perintah seperti program
yang ditujukan untuk menangani suatu tugas-
tugas tertentu yang menghasilkan suatu nilai
dengan tujuan untuk memudahkan pembuatan
program dan untuk dikembalikan ke
pemrogram pemanggil.
Subrutin bisa dipanggil berkali-kali dalam
suatu program.
Dalam suatu program, subrutin dibuat secara
terpisah dengan program pemanggil (main())
Subrutin pada Java
Ditulis dalam bentuk metode (method),
yang merupakan bagian dari kelas (class).
Penggunaan metode pada Java membuat
program menjadi sederhana.
Kode program (source code) tidak perlu
ditulis berkali-kali jika terdapat keperluan
yang sudah dicakup dalam metode
tersebut.
Manfaat Subrutin
Dalam pemecahan masalah yang besar dan
kompleks, pemakaian subrutin dalam
program mempunyai manfaat yang cukup
besar. Beberapa manfaat pemakaian subrutin
dalam program diantaranya sebagai berikut :
◦ Menghindari pengulangan
Tujuannya adalah untuk menghindari penulisan bagian
kode program berulang-ulang. Contoh :
Baris 1 : -----
Baris 2 : Tes
Baris 3 : -----
Manfaat Subrutin
◦ Penataan program
 Program yang besar dan komplek dibagi-bagi
menjadi aktivitas yang berbeda dan ditempatkan
dalam subrutin yang terpisah, sehingga setiap
aktivitas bisa ditulis dan diperiksa secara mandiri.
 Pemisahan bagian program menjadi modul-modul
subrutin akan mempermudah perancangan dan
pemahaman suatu program.
Subrutin yang menghasilkan nilai
Terkadang dalam suatu pemecahan
masalah kita membutuhkan subrutin /
fungsi yang bisa menghasilkan suatu nilai.
Untuk membuat subrutin seperti itu, maka
didalam subrutin yang bisa menghasilkan
nilai itu perlu ditambahkan satu baris lagi
untuk statement return().
Dasar Pembuatan Metode (Method)
class NamaKelas {
public static tipe namaMetode(tipe argumen,
tipe argumen) {
Pernyataan_1;
Pernyataan_2;
...
return nilai; // nilai balik metode
}
}
Contoh :
//Berkas DemoFungsi2.java
class DemoFungsi2 {
public static int nilai() { //subrutin nilai
int a = 3, b = 2;
int c;
c = a + b;
return (c); //dikirim ke program pemanggil
}
public static void main (String args[]) {
int jwb;
jwb = nilai();
System.out.println("Nilai c adalah : " + jwb);
}
}
Contoh :
//Berkas : Kotak.java

class Kotak {
public static double perolehKeliling(double
panjang, double lebar) {
double keliling = 2 * (panjang + lebar);
return keliling;
}
}
Contoh :
//Berkas : KelilingKotak.java
class KelilingKotak {
public static void main(String[] args) {
double panjang, lebar, keliling;
panjang = 20;
lebar = 10.5;

keliling = Kotak.perolehKeliling(panjang, lebar);


System.out.println("Keliling = " + keliling);
}
}
Contoh :
Keterangan dari contoh class Kotak.java
dan KelilingKotak.java :
◦ Pernyataan import tidak diperlukan mengingat
antara class Kotak dan program
KelilingKotak terletak pada folder yang
sama.
Method main() dan method yang
menangani kelilingkotak bisa juga ditulis
dalam sebuah class.
Contoh :
//Berkas : KelilingPersegi.java
class KelilingPersegi {
public static void main(String[] args) {
double panjang, lebar, keliling;
panjang = 20;
lebar = 10.5;
keliling = perolehKeliling(panjang, lebar);
System.out.println("Keliling = " + keliling);
}

public static double perolehKeliling(double panjang, double lebar) {


double keliling = 2 * (panjang + lebar);
return keliling;
}
}
Contoh :
Pada program diatas, method
perolehKeliling() dan main() terletak
pada class KelilingPersegi.
Metode tanpa Nilai Balik
(Method) without Return
Sebiuah method bisa tidak memiliki nilai
balik (return).
Pada keadaan seperti ini, tipe nilai balik
ditulis dengan kata void.
Contoh : (Method without Return)
//Berkas : CetakGaris.java

class CetakGaris {
public static void main(String[] args) {
garis();
System.out.println("Garis");
garis();
}

public static void garis() {


System.out.println("-----");
}
}
Contoh : (Method without Return)
//Berkas DemoFungsi.java
class DemoFungsi {
public static void garis() { //subrutin garis
int j;
for (j=1; j<=10; j++)
System.out.print("-");
System.out.println();
}
public static void main (String args[]) {
garis(); //memanggil subrutin
System.out.println("Halo Java");
garis(); //memanggil subrutin
}
}
Contoh : (Method without Return)
//Berkas : InfoPerusahaan.java

class InfoPerusahaan {
public static void main(String[] args) {
info();
}

public static void info() {


System.out.println("STMIK Wicida");
System.out.println("Jl. M. Yamin No. 25");
}
}
Contoh :
//Berkas : Bilangan.java
class Bilangan {
public static int perolehTerkecil(int x, int y) {
int min;
if (x < y)
min = x;
else
min = y;
return min;
}
public static double perolehTerkecil(double x, double y) {
double min;
if (x < y)
min = x;
else
min = y;
return min;
}
}
Contoh :
Pada source code di slide sebelumnya,
method perolehTerkecil() dibuat dua
kali. Yang pertama digunakan untuk
menangani bilangan bertipe bilangan
bulat dan yang kedua dipakai untuk
menangani bialngan bertipe real.
Hal seperti ini dimungkinkan pada Java.
Fitur seperti itu dinamakan overloading
terhadap method.
Contoh : Penggabungan class Bilangan dg
prog. BilanganTerkecil
//Berkas : BilanganTerkecil2.java
class BilanganTerkecil2 {
public static void main(String[] args) {
int x = 10, y = 12;
int min = perolehTerkecil(x,y);
System.out.println("Bilangan terkecil diantara " +
x + " dan " + y + " yaitu " + min);
double a = 10.2, b = 9.3;
double terkecil = perolehTerkecil(a,b);
System.out.println("Bilangan terkecil diantara " +
a + " dan " + b + " yaitu " + terkecil);
}
Contoh : Penggabungan class Bilangan dg
prog. BilanganTerkecil
public static int perolehTerkecil(int x, int y) {
int min;
if (x < y)
min = x;
else
min = y;
return min;
}
public static double perolehTerkecil(double x, double y) {
double min;
if (x < y)
min = x;
else
min = y;
return min;
}
}

Anda mungkin juga menyukai