unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
Fungsi

Fungsi #

Dalam bahasa pemrograman Java, fungsi atau metode (method) adalah blok kode yang dirancang untuk melakukan tugas tertentu dan dapat dipanggil atau dieksekusi dari bagian lain dalam program. Fungsi membantu mengorganisasi kode menjadi bagian-bagian yang lebih kecil, modular, dan dapat digunakan kembali. Dalam Java, fungsi adalah bagian dari kelas (class) dan disebut sebagai metode.

Konsep Dasar Fungsi dalam Java #

  1. Deklarasi Fungsi: Sebelum sebuah fungsi dapat digunakan, ia harus dideklarasikan. Deklarasi ini mencakup tipe pengembalian (return type), nama fungsi, parameter (jika ada), dan badan fungsi.

  2. Parameter dan Argumen: Parameter adalah variabel yang dideklarasikan dalam tanda kurung saat fungsi dideklarasikan. Saat fungsi dipanggil, nilai yang diberikan kepada parameter disebut argumen.

  3. Return Type: Tipe data dari nilai yang dikembalikan oleh fungsi. Jika fungsi tidak mengembalikan nilai, tipe pengembaliannya adalah void.

  4. Pemanggilan Fungsi: Fungsi dipanggil atau dieksekusi dengan menyebutkan nama fungsi diikuti oleh tanda kurung, dan mengisi argumen jika diperlukan.

Struktur Dasar Fungsi dalam Java #

public class ContohFungsi {
    // Deklarasi fungsi
    public static int tambah(int a, int b) {
        return a + b; // Mengembalikan hasil penjumlahan
    }

    public static void main(String[] args) {
        int hasil = tambah(5, 10); // Memanggil fungsi 'tambah'
        System.out.println("Hasil penjumlahan: " + hasil);
    }
}

Penjelasan:

  • public static int tambah(int a, int b): Deklarasi fungsi dengan tipe pengembalian int dan dua parameter int.
  • return a + b;: Mengembalikan hasil penjumlahan a dan b.
  • int hasil = tambah(5, 10);: Memanggil fungsi tambah dengan argumen 5 dan 10, kemudian menyimpan hasilnya dalam variabel hasil.

Berbagai Jenis Fungsi dan Contoh Penggunaannya #

1. Fungsi Tanpa Parameter dan Tanpa Return #

Fungsi ini tidak menerima input (parameter) dan tidak mengembalikan nilai (void).

public class ContohTanpaParameter {
    public static void salam() {
        System.out.println("Halo, selamat datang!");
    }

    public static void main(String[] args) {
        salam(); // Memanggil fungsi 'salam'
    }
}

Penjelasan:

  • public static void salam(): Fungsi yang tidak menerima parameter dan tidak mengembalikan nilai.
  • Saat salam() dipanggil, fungsi ini hanya mencetak pesan ke konsol.

2. Fungsi dengan Parameter tetapi Tanpa Return #

Fungsi ini menerima input tetapi tidak mengembalikan nilai.

public class ContohDenganParameter {
    public static void cetakNama(String nama) {
        System.out.println("Nama Anda: " + nama);
    }

    public static void main(String[] args) {
        cetakNama("Andi"); // Memanggil fungsi 'cetakNama' dengan argumen "Andi"
    }
}

Penjelasan:

  • public static void cetakNama(String nama): Fungsi ini menerima satu parameter String dan tidak mengembalikan nilai.
  • Fungsi ini mencetak Nama Anda: Andi ketika dipanggil.

3. Fungsi dengan Parameter dan Return #

Fungsi ini menerima input dan mengembalikan nilai.

public class ContohDenganReturn {
    public static int kali(int a, int b) {
        return a * b; // Mengembalikan hasil perkalian
    }

    public static void main(String[] args) {
        int hasil = kali(4, 5); // Memanggil fungsi 'kali' dengan argumen 4 dan 5
        System.out.println("Hasil perkalian: " + hasil);
    }
}

Penjelasan:

  • public static int kali(int a, int b): Fungsi ini menerima dua parameter int dan mengembalikan hasil perkalian dari keduanya.
  • Fungsi ini mengembalikan nilai 20 yang kemudian dicetak ke konsol.

4. Fungsi Tanpa Parameter tetapi dengan Return #

Fungsi ini tidak menerima input tetapi mengembalikan nilai.

public class ContohTanpaParameterReturn {
    public static double getPi() {
        return 3.14159; // Mengembalikan nilai Pi
    }

    public static void main(String[] args) {
        double pi = getPi(); // Memanggil fungsi 'getPi'
        System.out.println("Nilai Pi: " + pi);
    }
}

Penjelasan:

  • public static double getPi(): Fungsi ini tidak menerima parameter tetapi mengembalikan nilai double (nilai Pi).
  • Fungsi ini mengembalikan 3.14159 yang kemudian dicetak ke konsol.

Overloading Fungsi #

Java mendukung overloading fungsi, di mana beberapa fungsi dapat memiliki nama yang sama tetapi dengan parameter yang berbeda (jenis, jumlah, atau urutan). Ini memungkinkan penanganan berbagai tipe input dengan nama fungsi yang sama.

public class ContohOverloading {
    // Fungsi pertama: menambahkan dua bilangan integer
    public static int tambah(int a, int b) {
        return a + b;
    }

    // Fungsi kedua: menambahkan tiga bilangan integer
    public static int tambah(int a, int b, int c) {
        return a + b + c;
    }

    // Fungsi ketiga: menambahkan dua bilangan double
    public static double tambah(double a, double b) {
        return a + b;
    }

    public static void main(String[] args) {
        System.out.println("Tambah dua int: " + tambah(5, 10)); // Panggil fungsi pertama
        System.out.println("Tambah tiga int: " + tambah(5, 10, 15)); // Panggil fungsi kedua
        System.out.println("Tambah dua double: " + tambah(5.5, 10.5)); // Panggil fungsi ketiga
    }
}

Penjelasan:

  • Tiga fungsi tambah didefinisikan dengan parameter yang berbeda.
  • Java akan memanggil fungsi yang sesuai dengan tipe dan jumlah argumen yang diberikan.

Fungsi Rekursif #

Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Fungsi ini digunakan untuk menyelesaikan masalah yang dapat dibagi menjadi sub-masalah yang lebih kecil, seperti faktorial atau bilangan Fibonacci.

public class ContohRekursif {
    public static int faktorial(int n) {
        if (n == 1) {
            return 1; // Kondisi dasar
        } else {
            return n * faktorial(n - 1); // Pemanggilan rekursif
        }
    }

    public static void main(String[] args) {
        System.out.println("Faktorial 5: " + faktorial(5)); // Hasil: 120
    }
}

Penjelasan:

  • faktorial(int n): Fungsi ini memanggil dirinya sendiri untuk menghitung faktorial dari n.
  • Kondisi dasar if (n == 1) mencegah rekursi yang tak terbatas.

Kesimpulan #

Fungsi dalam Java adalah alat yang sangat penting untuk menulis kode yang modular, terstruktur, dan dapat digunakan kembali. Dengan menggunakan berbagai jenis fungsi (dengan atau tanpa parameter dan return, overloading, dan rekursif), Anda dapat menangani berbagai tugas dan membuat program Anda lebih efisien dan mudah dipelihara. Fungsi membantu memecah kode kompleks menjadi bagian-bagian yang lebih sederhana dan lebih mudah dikelola.

« Perulangan
Kelas »