Modul 8 โ€” Method

Pelajari cara membuat dan menggunakan method di Java, termasuk anatomi method, overloading, dan scope variabel.
PemulaMethodFungsiJava 21 LTS

๐Ÿงฉ Modul 8 โ€” Method

Method adalah blok kode yang diberi nama dan dapat dipanggil berkali-kali. Method memungkinkan kita menulis kode yang terorganisir, menghindari pengulangan, dan memudahkan debugging.

Tujuan Modul: Setelah mempelajari modul ini, Anda akan mampu membuat method dengan berbagai tipe return, memahami perbedaan parameter dan argumen, menggunakan method overloading, serta memahami scope variabel.

๐Ÿ“ Anatomi Method

Method terdiri dari beberapa komponen. Mari kita bedah satu per satu.

Format Dasar

// Format:
// [modifier] [tipe_return] namaMethod([parameter]) {
//     // body
//     return nilai; // jika tipe_return bukan void
// }

Contoh Method

Contoh Method
// Method void โ€” tidak mengembalikan nilai
public static void tampilkanSalam(String nama) {
    System.out.println("Halo, " + nama + "!");
}

// Method dengan return value
public static int tambah(int a, int b) {
    return a + b;
}

public static double hitungRata(int[] nilai) {
    int total = 0;
    for (int n : nilai) total += n;
    return (double) total / nilai.length;
}

// Cara memanggil
public static void main(String[] args) {
    tampilkanSalam("Budi");          // Output: Halo, Budi!
    int hasil = tambah(5, 3);        // hasil = 8
    System.out.println(hasil);       // 8

    int[] n = {80, 90, 70};
    System.out.printf("Rata: %.1f%n", hitungRata(n)); // Rata: 80.0
}

Komponen Method

public
access modifier
Menentukan visibilitas method. public berarti method dapat diakses dari mana saja.
static
keyword
Method static dapat dipanggil tanpa membuat objek (cocok untuk method yang dipanggil dari main).
void / int / double
tipe return
Tipe data yang dikembalikan method. Gunakan void jika tidak mengembalikan nilai.
namaMethod
identifier
Nama method, sebaiknya menggunakan camelCase (misal: hitungLuas, tampilkanData).
(int a, int b)
parameter
Daftar parameter yang diterima method (boleh nol atau lebih). Parameter adalah variabel lokal yang nilainya diberikan saat method dipanggil.
return ...
pernyataan
Mengembalikan nilai ke pemanggil. Tipe nilai harus sesuai dengan tipe return.
Jika method memiliki tipe return selain void, maka wajib ada pernyataan return di dalamnya.

๐Ÿ”„ Method Overloading

Overloading adalah teknik membuat beberapa method dengan nama yang sama tetapi parameter berbeda. Java akan memilih method yang tepat berdasarkan jumlah dan tipe argumen yang diberikan.

Contoh Overloading

Method Overloading
public static int luas(int sisi) {
    return sisi * sisi;  // persegi
}

public static int luas(int panjang, int lebar) {
    return panjang * lebar;  // persegi panjang
}

public static double luas(double radius) {
    return Math.PI * radius * radius;  // lingkaran
}

public static void main(String[] args) {
    System.out.println(luas(5));    // 25 (persegi)
    System.out.println(luas(4, 6)); // 24 (persegi panjang)
    System.out.println(luas(3.0));  // 28.274333882308138 (lingkaran)
}
Overloading tidak bisa dibedakan hanya dari tipe return saja. Parameter harus berbeda (jumlah, tipe, atau urutan).

Aturan Overloading

BolehTidak Boleh
Jumlah parameter berbedaHanya tipe return berbeda
Tipe parameter berbedaNama parameter berbeda saja
Urutan parameter berbedaโ€”

๐Ÿ“ฆ Scope Variabel

Scope (lingkup) menentukan di mana sebuah variabel dapat diakses. Variabel hanya hidup di dalam blok tempat ia dideklarasikan.

Scope Variabel
public static void main(String[] args) {
    int x = 10; // x hanya ada di dalam main()

    if (x > 5) {
        int y = 20; // y hanya ada di dalam blok if ini
        System.out.println(x + y); // OK: 30
    }
    // System.out.println(y); โ† ERROR! y sudah keluar scope
}
Variabel lokal (dideklarasikan di dalam method) harus diinisialisasi sebelum digunakan. Parameter method juga termasuk variabel lokal.

Hierarki Scope

  1. Scope blok โ€” variabel di dalam { } hanya bisa diakses di dalam blok tersebut.
  2. Scope method โ€” variabel yang dideklarasikan di dalam method (termasuk parameter) bisa diakses di seluruh method, kecuali jika ada blok yang membatasinya.
  3. Scope class โ€” variabel anggota (field) bisa diakses dari seluruh method dalam class (jika tidak static, perlu objek).

๐Ÿงช Latihan Praktik

Buat program Java yang:

  1. Memiliki method static double hitungRata(double[] nilai) yang mengembalikan rata-rata nilai dalam array.
  2. Memiliki method static int hitungLulus(double[] nilai, double batas) yang mengembalikan jumlah nilai yang >= batas.
  3. Memiliki method static void tampilkanStatistik(double[] nilai) yang menampilkan:
    • Rata-rata (panggil method 1)
    • Jumlah lulus (batas 70, panggil method 2)
    • Jumlah tidak lulus
    • Nilai tertinggi dan terendah
  4. Di main, minta pengguna memasukkan jumlah mahasiswa dan nilai-nilainya, lalu panggil tampilkanStatistik().

Contoh interaksi:

Masukkan jumlah mahasiswa: 5
Masukkan nilai ke-1: 85.5
Masukkan nilai ke-2: 62.0
Masukkan nilai ke-3: 90.0
Masukkan nilai ke-4: 47.5
Masukkan nilai ke-5: 78.0

Statistik:
Rata-rata: 72.6
Lulus (โ‰ฅ70): 3
Tidak lulus: 2
Tertinggi: 90.0
Terendah: 47.5
Gunakan method terpisah untuk setiap tugas agar kode lebih modular. Method tampilkanStatistik bisa memanggil method lain.

๐Ÿ“บ Video Penjelasan

Tonton video berikut untuk penjelasan lebih visual tentang method di Java (20 menit):


โœจ Kesimpulan

Apa yang Telah Dipelajari

  • โœ… Anatomi method: modifier, tipe return, nama, parameter, body
  • โœ… Method void vs method dengan return value
  • โœ… Method overloading dengan parameter berbeda
  • โœ… Scope variabel lokal dan blok

Selanjutnya

Modul 9: OOP Dasar โ€” Class, Object, Constructor, dan Encapsulation.

Selamat! Modul 8 selesai. Method adalah fondasi penting untuk pemrograman terstruktur. ๐ŸŽ‰