Modul 8 โ Method
๐งฉ 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.
๐ 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
// 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 berarti method dapat diakses dari mana saja.static dapat dipanggil tanpa membuat objek (cocok untuk method yang dipanggil dari main).void jika tidak mengembalikan nilai.hitungLuas, tampilkanData).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
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)
}
Aturan Overloading
| Boleh | Tidak Boleh |
|---|---|
| Jumlah parameter berbeda | Hanya tipe return berbeda |
| Tipe parameter berbeda | Nama 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.
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
}
Hierarki Scope
- Scope blok โ variabel di dalam
{ }hanya bisa diakses di dalam blok tersebut. - Scope method โ variabel yang dideklarasikan di dalam method (termasuk parameter) bisa diakses di seluruh method, kecuali jika ada blok yang membatasinya.
- Scope class โ variabel anggota (field) bisa diakses dari seluruh method dalam class (jika tidak
static, perlu objek).
๐งช Latihan Praktik
Buat program Java yang:
- Memiliki method
static double hitungRata(double[] nilai)yang mengembalikan rata-rata nilai dalam array. - Memiliki method
static int hitungLulus(double[] nilai, double batas)yang mengembalikan jumlah nilai yang >= batas. - 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
- Di
main, minta pengguna memasukkan jumlah mahasiswa dan nilai-nilainya, lalu panggiltampilkanStatistik().
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
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.