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:

csharp
public static int HitungTotal(int hargaSatuan, int jumlahBarang)
{
    int total = hargaSatuan * jumlahBarang;
    return total;
}
BagianContohPeran
Access modifierpublicmenentukan siapa yang boleh memanggil
Modifier staticstaticmethod dipanggil lewat nama class, tanpa perlu object
Return typeinttipe nilai yang dikembalikan; void bila tidak mengembalikan apa pun
Nama methodHitungTotalidentitas 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.

csharp
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:

text
=== Kasir Toko Sejahtera ===
Struk belanja pelanggan
Total: 135000

Mari kita bedah baris demi baris:

  1. Baris 1 (static class Laporan): class di sini hanya menjadi rumah bagi dua method; kata class dan static baru dibahas mendalam pada section Pemrograman Berorientasi Objek.
  2. Baris 3 (public static void TampilkanHeader()): return type void berarti method tidak mengirim nilai kembali; body-nya hanya mencetak dua baris teks.
  3. Baris 9 (public static int HitungTotal(...)): return type int menjanjikan method menghasilkan satu bilangan bulat dari dua parameter bertipe int.
  4. Baris 12 (return total;): nilai variabel total dikirim ke pemanggil, dan eksekusi method berakhir di baris tersebut.
  5. Baris 16-18: alur utama memanggil kedua method; hasil HitungTotal(45000, 3) berupa 135000 disimpan ke variabel total sebelum 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.