Tutorial Belajar Java Part 38: Pengertian Function (Fungsi) Bahasa Java

Dalam merancang kode program, kadang kita sering membuat kode yang melakukan tugas sama secara berulang-ulang, seperti membaca tabel dari database, menampilkan penjumlahan, dll. Tugas yang sama ini akan lebih efektif jika dipisahkan dari program utama, dan dirancang menjadi sebuah function atau fungsi.


Pengertian Function (Fungsi) dalam Bahasa Java

Secara sederhana, function adalah kode program yang dirancang untuk menyelesaikan sebuah tugas tertentu, dan merupakan bagian dari program utama. Ketika di sadur ke dalam bahasa indonesia, function ini di sebut juga sebagai fungsi.

Bahasa Java sebenarnya tidak dikenal istilah function, akan tetapi diganti dengan sebutan method. Ini karena secara internal Java sudah menerapkan paradigma object oriented programming (OOP) atau pemrograman berbasis object.

Untuk memudahkan pembahasan, saya akan tetap memakai istilah function untuk sementara. Pada dasarnya cara kerja function nyaris tidak berbeda dengan method. Materi tentang method akan kita bahas ketika masuk ke tutorial tentang pemrograman object Java.

Berdasarkan siapa yang membuat, function bisa dibedakan ke dalam 2 kelompok:

  1. Built-In Function 
  2. User Defined Function

Built-In Function adalah sebutan untuk function yang sudah ada secara bawaan dari dalam bahasa pemrograman. Sebagai contoh, perintah System.out.println() adalah function atau method bawaan bahasa Java.

Bahasa Java menyediakan banyak function bawaan, belum termasuk yang bisa diakses dari berbagai library atau package pihak ketiga. Setiap function punya tugas masing-masing, misalnya perintah System.out.println() dipakai untuk menampilkan teks ke layar.

Sedangkan User Defined Function adalah function yang kita (sebagai programmer) yang membuatnya sendiri. Jenis function inilah yang akan kita bahas.


Cara Membuat Function dalam Bahasa Java

Berikut format dasar cara penulisan function dalam bahasa Java:

static tipeDataKembalian namaFunction() {
  // Isi function disini...
  // Isi function disini...
}

Keyword static dipakai untuk membuat function yang tidak butuh instansiasi object. Dalam tutorial ini saya tidak akan membahas apa itu instansiasi object karena cukup panjang dan akan menjadi jatah tutorial OOP Java. Untuk sementara bisa dianggap bahwa semua function di Java harus diawali dengan perintah static.

Keyword tipeDataKembalian bisa diisi dengan tipe data nilai yang dikembalikan function. Tipe data ini sudah kita pelajari sebelumnya, seperti int, double atau String. Jika function tidak mengembalikan nilai apapun, tipeDataKembalian ditulis sebagai void. Sebuah function yang tidak mengembalikan nilai kadang disebut juga sebagai procedure.

Penulisan namaFunction boleh bebas, namun kebiasaan programmer Java adalah menulis dalam gaya camelCase, dimana karakter pertama nama function ditulis dengan huruf kecil, kemudian setiap karakter pertama kata berikutnya dalam huruf besar. Antara kata tidak boleh mengandung spasi. Contohnya seperti cariNamaMahasiswa(), prosesFormInput() atau tampilkanHargaBarang().

Setelah penulisan namaFunction, terdapat tanda kurung ” () “. Nantinya tanda kurung ini bisa diisi dengan function parameter (akan kita bahas dalam tutorial setelah ini).

Isi dari function berada dalam tanda kurung kurawal yang bisa terdiri dari 1 sampai ribuan baris kode program, tergantung kompleksitas aplikasi yang dibuat.

Pendefinisian function ini harus berada di dalam class seperti format berikut:

class NamaClass {
  
  static tipeDataKembalian namaFunction() {
    // Isi function disini...
    // Isi function disini...
  }
  
  public static void main(String args[]){
    // Jalankan function
    namaFunction()
  }
  
}

Dalam contoh format ini, pendefinisian function ada di baris 3 – 6. Sebuah function harus dijalankan atau “dipanggil” dengan cara menulis nama function tersebut dalam method main(). Inilah yang dilakukan oleh perintah di baris 10.

Agar penjelasan ini lebih mudah dipahami, mari kita bahas dengan contoh praktek.


Contoh Kode Program Function Bahasa Java

Dalam kode program berikut saya membuat sebuah function sapa() yang ketika dijalankan akan menampilkan teks “Halo Duniailkom”:

class BelajarJava {
  
  static void sapa() {
    System.out.println("Halo Duniailkom");
  }
    
  public static void main(String args[]){
    sapa();
    sapa();
    sapa();
  }
  
}

Hasil kode program:

Halo Duniailkom
Halo Duniailkom
Halo Duniailkom

Function sapa() tidak mengembalikan nilai, sehingga tipeDataKembalian diisi dengan keyword void. Isi dari function sapa() sendiri hanya 1 perintah System.out.println(“Halo Duniailkom”) seperti di baris 4.

Setelah di definisikan, sebuah function bisa dijalankan berkali-kali, inilah yang saya lakukan antara baris 11 – 13. Setiap kali perintah sapa() ditulis, akan tampil teks “Halo Duniailkom” di layar.

Sebuah class bisa saja memiliki banyak function. Berikut contohnya:

class BelajarJava {
  
  static void sapaLisa() {
    System.out.println("Hai Lisa");
  }
  
  static void sapaNova() {
    System.out.println("Morning, Nova");
  }
  
  static void sapaRudi() {
    System.out.println("Halo bro,..");
  }
    
  public static void main(String args[]){
    sapaLisa();
    sapaNova();
    sapaRudi();
  }
  
}

Hasil kode program:

Hai Lisa
Morning, Nova
Halo bro,..

Kali ini saya mendefinisikan 3 function di dalam class BelajarJava, yakni function sapaLisa(), sapaNova() dan sapaRudi(). Setiap function berisi perintah System.out.println() yang berbeda-beda.


Variabel di Dalam Function

Untuk function yang kompleks, kita bisa menulis variabel di dalam function tersebut. Berikut contoh penggunaannya:

class BelajarJava {
  
  static void hitungLuasSegitiga() {
    double alas = 5;
    double tinggi = 7;
    double luas = (alas * tinggi) / 2;
    System.out.println("Luas segitiga adalah: "+luas);
  }
  
  public static void main(String args[]){
    hitungLuasSegitiga();
  }
  
}

Hasil kode program:

Luas segitiga adalah: 17.5

Kali ini saya mendefinisikan function hitungLuasSegitiga() di baris 3 – 8. Sesuai dengan namanya, fungsi ini dipakai untuk menghitung luas segitiga.

Di dalam function hitungLuasSegitiga() terdapat variabel alas, tinggi dan luas yang semuanya bertipe double. Variabel alas diisi angka 5 dan variabel tinggi diisi angka 7. Sedangkan variabel luas akan diisi hasil perhitungan (alas * tinggi) / 2, yakni rumus untuk mencari luas segitiga. Kemudian perintah System.out.println() di baris 7 akan menampilkan hasil perhitungan.

Untuk menjalankan function ini, kita harus panggil dengan perintah hitungLuasSegitiga() dari dalam method main di baris 11.


Dalam tutorial ini kita telah membahas pengertian function serta cara pembuatan function dalam bahasa Java. Berikutnya akan dibahas tentang Pengertian Parameter dan Argument Function.

*** Artikel Terkait ***

4 Comments

  1. Wahyu
    06 Oct 20
    • Andre
      06 Oct 20
      • Rahmat
        17 Oct 20
        • Andre
          18 Oct 20

Add Comment