Fungsi (Metode) dalam Java

Fungsi, atau dalam terminologi Java disebut metode, adalah blok kode yang dapat digunakan kembali dan dirancang untuk melakukan tugas tertentu. Dengan menggunakan metode, Anda dapat mengorganisir kode Anda, membuatnya lebih modular, dan memudahkan pemeliharaan. Pada modul ini, Anda akan mempelajari cara mendefinisikan dan menggunakan metode dalam Java.

Mendefinisikan Metode #

Metode didefinisikan di dalam kelas dan dapat diakses oleh objek dari kelas tersebut atau langsung jika metode tersebut statis.

Sintaks:

public returnType methodName(parameters) {
    // blok kode
    return nilai_kembali;  // jika ada
}

Contoh:

public class Main {
    // Metode tanpa parameter dan tanpa nilai kembali
    public void greet() {
        System.out.println("Hello, World!");
    }

    // Metode dengan parameter dan nilai kembali
    public int tambah(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        Main obj = new Main();
        
        // Memanggil metode greet
        obj.greet();
        
        // Memanggil metode tambah
        int hasil = obj.tambah(5, 3);
        System.out.println("Hasil penjumlahan: " + hasil);
    }
}

Parameter dan Nilai Kembali #

Metode dapat memiliki parameter untuk menerima input dan dapat mengembalikan nilai menggunakan kata kunci return.

Contoh:

public class Main {
    // Metode dengan parameter dan nilai kembali
    public int multiply(int a, int b) {
        return a * b;
    }

    public static void main(String[] args) {
        Main obj = new Main();
        
        // Memanggil metode multiply
        int hasil = obj.multiply(4, 5);
        System.out.println("Hasil perkalian: " + hasil);
    }
}

Metode Statis #

Metode statis dapat dipanggil tanpa membuat objek dari kelas. Metode statis didefinisikan dengan kata kunci static.

Contoh:

public class Main {
    // Metode statis
    public static void greet() {
        System.out.println("Hello, World!");
    }

    public static void main(String[] args) {
        // Memanggil metode statis
        greet();
    }
}

Metode Overloading #

Metode overloading adalah kemampuan untuk mendefinisikan beberapa metode dengan nama yang sama tetapi dengan parameter yang berbeda. Overloading memungkinkan metode untuk menangani berbagai jenis input dengan cara yang berbeda.

Contoh:

public class Main {
    // Metode overloading dengan dua parameter int
    public int tambah(int a, int b) {
        return a + b;
    }

    // Metode overloading dengan tiga parameter int
    public int tambah(int a, int b, int c) {
        return a + b + c;
    }

    public static void main(String[] args) {
        Main obj = new Main();
        
        // Memanggil metode tambah dengan dua parameter
        int hasil1 = obj.tambah(5, 3);
        System.out.println("Hasil penjumlahan dua angka: " + hasil1);
        
        // Memanggil metode tambah dengan tiga parameter
        int hasil2 = obj.tambah(1, 2, 3);
        System.out.println("Hasil penjumlahan tiga angka: " + hasil2);
    }
}

Variabel Scope #

Variabel yang didefinisikan di dalam metode adalah variabel lokal, sedangkan variabel yang didefinisikan di dalam kelas tetapi di luar metode adalah variabel instance atau variabel anggota.

Contoh:

public class Main {
    // Variabel instance
    int x = 10;

    public void myMethod() {
        // Variabel lokal
        int y = 5;
        System.out.println("x: " + x);
        System.out.println("y: " + y);
    }

    public static void main(String[] args) {
        Main obj = new Main();
        obj.myMethod();
    }
}

Contoh Program Sederhana dengan Metode #

Berikut adalah contoh program sederhana yang menggabungkan berbagai konsep metode:

import java.util.Scanner;

public class Main {
    // Metode untuk membaca input dari pengguna
    public int readNumber() {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a number: ");
        return scanner.nextInt();
    }

    // Metode untuk menghitung faktorial
    public int factorial(int n) {
        if (n == 0) {
            return 1;
        }
        int result = 1;
        for (int i = 1; i <= n; i++) {
            result *= i;
        }
        return result;
    }

    // Metode utama
    public static void main(String[] args) {
        Main obj = new Main();
        
        // Membaca input dari pengguna
        int number = obj.readNumber();
        
        // Menghitung faktorial
        int faktorial = obj.factorial(number);
        
        // Menampilkan hasil
        System.out.println("The factorial of " + number + " is " + faktorial);
    }
}

Pada program di atas, kita memiliki dua metode tambahan: readNumber untuk membaca input dari pengguna dan factorial untuk menghitung faktorial dari sebuah bilangan. Metode main memanggil kedua metode ini untuk membaca input dari pengguna, menghitung faktorial, dan menampilkan hasilnya.

Dengan memahami metode dalam Java, Anda dapat menulis kode yang lebih modular, dapat digunakan kembali, dan mudah dipelihara. Jika ada pertanyaan lebih lanjut atau bagian yang perlu diperjelas, jangan ragu untuk bertanya.