Method pada Java

Halo semuanya, kembali lagi di blog saya. Kali ini saya akan berbagi pemahaman seputar method dalam pemrograman Java.

Dalam pemrograman Java dan pemrograman pada umumnya, kita mengenal sesuatu yang disebut method.

Method dan Function

Method atau secara umum sering disebut dengan function adalah sebuah sub-program yang dibuat untuk melakukan tugas tertentu.

Menurut saya sendiri, function adalah blok khusus dari sebuah program yang memiliki nama sendiri dan dibuat untuk melakukan tugas tertentu. Jadi fungsi ini dapat dipanggil (dengan namanya tadi) untuk melaksanakan tugasnya di manapun, kapanpun dan berapa kali pun.

Lalu, kenapa dalam Java disebut method?

Mungkin kalian bertanya-tanya, kenapa saya menggunakan istilah method bukannya function pada pembahasan kali ini. 

Saya juga sempat bingung sebelumnya, kenapa dalam java function sering disebut sebagai method. Dan berikut ini akan coba saya jelaskan menurut pemahaman saya.

Function adalah sebuah sub-program yang dapat dipanggil berdasarkan namanya secara langsung. Sementara method adalah sebuah sub-program yang harus dipanggil beserta referensi objeknya (class-nya).

Jadi intinya,

Function adalah sebuah sub-program yang berdiri sendiri.

Method adalah sebuah function yang terdapat dalam class.

Karena dalam Java kita tidak bisa membuat function di luar class, maka sering kali function disebut sebagai method di Java.

Method dan function

Method dalam Java

Sebenarnya setiap kita membuat atau menulis sebuah program Java, pasti ada satu method yang selalu kita buat, yaitu method main(String[] args).

Method main

Karena method ini merupakan method yang menjadi pintu masuk setiap program java.

Syntax yang digunakan untuk membuat method adalah sebagai berikut,

modifiers tipeData namaMethod(parameter) {
    // body method
    // return (jika perlu)
}

  • modifiers, dapat berupa public, private atau protected dan atau disertai static.
  • tipeData (return type), tipe data dari nilai yang dikembalikan method (jika perlu), bisa berupa semua tipe data. Tapi jika method tersebut tidak perlu mengembalikan nilai bisa diberi tipe void.
  • namaMethod, nama dari method. Disarankan untuk menamainya sesuai dengan apa yang method itu lakukan.
  • parameter, input atau data dari luar yang diperlukan oleh method. Jika tidak perlu bisa dikosongi.

Berikut ini merupakan contoh program dengan method.

class BelajarMethod {
    public static void main(String[] args) {
        cetakJudul("Penjumlahan");
        System.out.println("Hasil dari 5 + 4 adalah " + jumlah(5, 4));
    }
    
    static int jumlah(int a, int b) {
        int hasil = a + b;
        return hasil;
    }
    
    static void cetakJudul(String judul) {
        System.out.println("\n======================");
        System.out.println(judul);
        System.out.println("======================");
    }
}

Jadi di program diatas ada 3 method, yaitu method main, jumlah dan cetakJudul.

Berikut merupakan output dari program diatas.


======================
Penjumlahan
======================
Hasil dari 5 + 4 adalah 9

Method main berfungsi sebagai pintu masuk utama program kita. Berikut ini merupakan struktur dari method main,

Struktur method main

Method jumlah digunakan untuk menjumlahkan dua angka (integer) yaitu a dan b. Dan method ini menghasilkan nilai berupa hasil penjumlahan dua angka tersebut. Berikut ini merupakan struktur dari method jumlah

Struktur method jumlah

Method cetakJudul digunakan untuk mencetak judul dengan "gaya". Berikut ini merupakan struktur method cetakJudul.

Struktur method cetakJudul

Dan method juga bisa dipanggil berkali-kali sesuai kebutuhan. Misal pada contoh program dibawah ini.

class BelajarMethod {
    public static void main(String[] args) {
        cetakJudul("Penjumlahan");
        System.out.println("Hasil dari 5 + 4 adalah " + jumlah(5, 4));
	System.out.println("Hasil dari 7 + 4 adalah " + jumlah(7, 4));
	System.out.println("Hasil dari 12 + 38 adalah " + jumlah(12, 38));
	cetakBatas();
    }

    static int jumlah(int a, int b) {
        int hasil = a + b;
        return hasil;
    }

    static void cetakJudul(String judul) {
        System.out.println("======================");
        System.out.println(judul);
        System.out.println("======================");
    }
	
    static void cetakBatas() {
        System.out.println("======================\n");
    }
}

Outputnya:

======================
Penjumlahan
======================
Hasil dari 5 + 4 adalah 9
Hasil dari 7 + 4 adalah 11
Hasil dari 12 + 38 adalah 50
======================

Dan disini juga ada method baru yaitu cetakBatas untuk mencetak garis batas bawah. Method ini tidak memiliki parameter, jadi bagian kurung setelah nama method dikosongi.

Mungkin kalian bertanya-tanya mengapa saya menggunakan modifier static pada setiap method yang saya buat. Itu karena method main juga merupakan method static, dan sebuah method static tidak bisa memanggil method lain yang tidak static (non-static) secara langsung.

Pada java, jika sebuah method static ingin memanggil method non-static, maka diperlukan inisialisasi object dari kelas yang menampung method non-static tersebut, yang mana object ini dapat digunakan sebagai referensi untuk memanggil method non-static tadi dari sebuah method static.

Bingung? Intinya sebuah method static bisa secara langsung memanggil method static lainnya dengan namanya. Tapi jika method lainnya itu bukan method static, maka sebuah method static tidak bisa memanggil method tersebut secara langsung.

Masih bingung? Tidak masalah, hal ini akan saya bahas lagi pada post berikutnya. Untuk sekarang, kita lanjutkan ke macam-macam method pada Java.

Macam-macam Method

Dalam Java, secara umum dikenal 2 jenis method berdasarkan nilai kembaliannya (return value).

  1. Method Void, method ini adalah method yang tidak mengembalikan nilai setelah dia menyelesaikan tugasnya. Method ini memiliki keyword void untuk tipe data atau return type-nya.
  2. Method Non-Void, method ini adalah method yang mengembalikan nilai setelah dia menyelesaikan tugasnya. Nilai yang dikembalikan method ini bisa kita simpan ke dalam variabel, atau langsung cetak ke layar sesuai kebutuhan. Method ini memiliki keyword tipe data primitive (int, char, double dll.) Atau tipe data object (String dll.) Sebagai tipe data atau return type-nya.

Perhatikan contoh program berikut ini (masih sama dengan contoh program terakhir).

class BelajarMethod {
    public static void main(String[] args) {
        cetakJudul("Penjumlahan");
        System.out.println("Hasil dari 5 + 4 adalah " + jumlah(5, 4));
	System.out.println("Hasil dari 7 + 4 adalah " + jumlah(7, 4));
	System.out.println("Hasil dari 12 + 38 adalah " + jumlah(12, 38));
	cetakBatas();
    }

    static int jumlah(int a, int b) {
        int hasil = a + b;
        return hasil;
    }

    static void cetakJudul(String judul) {
        System.out.println("======================");
        System.out.println(judul);
        System.out.println("======================");
    }
	
    static void cetakBatas() {
        System.out.println("======================\n");
    }
}

Ada 4 method dalam program tersebut (1 method main dan 3 method yang dibuat sendiri).

  1. Method main, method ini merupakan method void karena ada kata void sebagai tipe data kembaliannya. Berarti method ini mengembalikan nilai void (kosong) maka method ini disebut method void.
  2. Method jumlah, method ini merupakan method non-void karena method ini mengembalikan nilai bertipe integer (int) bukannya void maka method ini disebut method non-void (non-void secara harfiah berarti: bukan void).
  3. Method cetakJudul, method ini merupakan method void karena ada kata atau keyword void sebagai tipe data kembaliannya. Berarti method ini mengembalikan nilai void (kosong) maka method ini disebut method void.
  4. Method cetakBatas, method ini merupakan method void karena ada keyword void sebagai tipe data kembaliannya. Berarti method ini mengembalikan nilai void (kosong) maka method ini disebut method void.

Sekarang coba perhatikan bagian kode berikut ini dari contoh program tadi.

cetakJudul("Penjumlahan");
System.out.println("Hasil dari 5 + 4 adalah " + jumlah(5, 4));
System.out.println("Hasil dari 7 + 4 adalah " + jumlah(7, 4));
System.out.println("Hasil dari 12 + 38 adalah " + jumlah(12, 38));
cetakBatas();

Ini merupakan potongan kode dari method main. Disini method cetakJudul digunakan untuk mencetak judul dengan "gaya". Lalu method cetakBatas digunakan untuk mencetak garis batas bawah.

Method jumlah dipanggil 3 kali dan nilai kembaliannya langsung dicetak ke layar menggunakan System.out.println().

Contoh Program

Untuk memperkuat pemahaman, berikut sudah saya siapkan contoh program menggunakan method dan outputnya.

Program ini akan menampilkan contoh operasi matematika dasar (penjumlahan, pengurangan, perkalian dan pembagian).

public class OperasiMatematika {
    public static void main(String[] args) {
        // Operasi Penjumlahan
        cetakJudul("Penjumlahan");
        System.out.println("Hasil dari 5 + 4 adalah " + jumlah(5, 4));
        System.out.println("Hasil dari 7 + 4 adalah " + jumlah(7, 4));
        System.out.println("Hasil dari 1.5 + 2.5 adalah " + jumlah(1.5, 2.5));
        cetakBatas();

        // Operasi Pengurangan
        cetakJudul("Pengurangan");
        System.out.println("Hasil dari 13 - 4 adalah " + kurang(13, 4));
        System.out.println("Hasil dari 27 - 9 adalah " + kurang(27, 9));
        System.out.println("Hasil dari 34.5 - 10.25 adalah " + kurang(34.5, 10.25));
        cetakBatas();

        // Operasi Perkalian
        cetakJudul("Perkalian");
        System.out.println("Hasil dari 7 * 8 adalah " + kali(7, 8));
        System.out.println("Hasil dari 6 * 4 adalah " + kali(6, 4));
        System.out.println("Hasil dari 1.5 * 8 adalah " + kali(1.5, 8));
        cetakBatas();

        // Operasi Pembagian
        cetakJudul("Pembagian");
        System.out.println("Hasil dari 25 / 5 adalah " + bagi(25, 5));
        System.out.println("Hasil dari 100 / 4 adalah " + bagi(100, 4));
        System.out.println("Hasil dari 33 / 2 adalah " + bagi(33, 2));
        cetakBatas();
    }

    static double jumlah(double a, double b) {
        double hasil = a + b;
        return hasil;
    }

    static double kurang(double a, double b) {
        double hasil = a - b;
        return hasil;
    }

    static double kali(double a, double b) {
        double hasil = a * b;
        return hasil;
    }

    static double bagi(double a, double b) {
        double hasil = a / b;
        return hasil;
    }

    static void cetakJudul(String judul) {
        System.out.println("======================");
        System.out.println(judul);
        System.out.println("======================");
    }

    static void cetakBatas() {
        System.out.println("======================\n");
    }
}

Outputnya:

======================
Penjumlahan
======================
Hasil dari 5 + 4 adalah 9.0
Hasil dari 7 + 4 adalah 11.0
Hasil dari 1.5 + 2.5 adalah 4.0
======================

======================
Pengurangan
======================
Hasil dari 13 - 4 adalah 9.0
Hasil dari 27 - 9 adalah 18.0
Hasil dari 34.5 - 10.25 adalah 24.25
======================

======================
Perkalian
======================
Hasil dari 7 * 8 adalah 56.0
Hasil dari 6 * 4 adalah 24.0
Hasil dari 1.5 * 8 adalah 12.0
======================

======================
Pembagian
======================
Hasil dari 25 / 5 adalah 5.0
Hasil dari 100 / 4 adalah 25.0
Hasil dari 33 / 2 adalah 16.5
======================

Silahkan, bisa dicoba sendiri dan juga bisa dicoba untuk mengidentifikasi struktur method dan juga jenis methodnya.

Sekian dari saya, jika ada kesalahan saya mohon maaf dan bila ada kritik, saran atau pertanyaan bisa gunakan kolom komentar dibawah. Terima Kasih sudah membaca sampai akhir, sampai bertemu di post selanjutnya seputar Java.


Bacaan lebih lanjut

Komentar

Postingan populer dari blog ini

Setup Apache2 Server dan PHP 8 di Android menggunakan Termux

Memasang dan menjalankan PHPMyAdmin pada Android

Array pada Java