Program yang kita tulis sejauh ini menumpuk seluruh logika di alur utama: hitung total, hitung diskon, cetak struk — semuanya berjajar dari atas ke bawah. Ketika logika yang sama dibutuhkan di beberapa tempat, kita menyalin barisnya, dan setiap salinan menjadi beban pemeliharaan tersendiri. Method menyelesaikan masalah tersebut: logika ditulis satu kali di dalam sebuah unit bernama, lalu unit tersebut dipanggil berulang kali dari lokasi mana pun.
Anatomi Deklarasi Method #
Sebuah method dideklarasikan dengan beberapa bagian tetap. Bentuk yang akan kita pakai sepanjang section ini:
public static int HitungTotal(int hargaSatuan, int jumlahBarang)
{
int total = hargaSatuan * jumlahBarang;
return total;
}| Bagian | Contoh | Peran |
|---|---|---|
| Access modifier | public | menentukan siapa yang boleh memanggil |
Modifier static | static | method dipanggil lewat nama class, tanpa perlu object |
| Return type | int | tipe nilai yang dikembalikan; void bila tidak mengembalikan apa pun |
| Nama method | HitungTotal | identitas saat dipanggil, ditulis PascalCase |
| Parameter list | (int hargaSatuan, int jumlahBarang) | data masukan yang dibutuhkan method |
Baris-baris di antara kurung kurawal disebut body: isi yang dijalankan setiap kali method dipanggil. Statement return mengirim hasil keluar dari method.
Contoh Lengkap #
Program struk sederhana berikut memiliki dua method: satu mencetak header, satu menghitung total belanja.
static class Laporan
{
public static void TampilkanHeader()
{
Console.WriteLine("=== Kasir Toko Sejahtera ===");
Console.WriteLine("Struk belanja pelanggan");
}
public static int HitungTotal(int hargaSatuan, int jumlahBarang)
{
int total = hargaSatuan * jumlahBarang;
return total;
}
}
Laporan.TampilkanHeader();
int total = Laporan.HitungTotal(45000, 3);
Console.WriteLine($"Total: {total}");Output yang Dihasilkan:
=== Kasir Toko Sejahtera ===
Struk belanja pelanggan
Total: 135000Mari kita bedah baris demi baris:
- Baris 1 (
static class Laporan): class di sini hanya menjadi rumah bagi dua method; kataclassdanstaticbaru dibahas mendalam pada section Pemrograman Berorientasi Objek. - Baris 3 (
public static void TampilkanHeader()): return typevoidberarti method tidak mengirim nilai kembali; body-nya hanya mencetak dua baris teks. - Baris 9 (
public static int HitungTotal(...)): return typeintmenjanjikan method menghasilkan satu bilangan bulat dari dua parameter bertipeint. - Baris 12 (
return total;): nilai variabeltotaldikirim ke pemanggil, dan eksekusi method berakhir di baris tersebut. - Baris 16-18: alur utama memanggil kedua method; hasil
HitungTotal(45000, 3)berupa135000disimpan ke variabeltotalsebelum dicetak.
Nama method sebaiknya berupa kata kerja yang menggambarkan tugasnya, misalnya TampilkanHeader dan HitungTotal. Dengan penamaan seperti itu, baris pemanggilan terbaca seperti instruksi dalam kalimat biasa.