Method yang sudah dideklarasikan belum memberi manfaat apa pun selama belum dipanggil. Deklarasi ibarat menyimpan peralatan di rak; pemanggilan (call) adalah saat peralatan itu benar-benar dipakai. Bab ini membahas sisi pemanggilan: sintaksnya, aliran eksekusi program saat panggilan berlangsung, dan cara menangkap hasil kembalian.

Sintaks Pemanggilan #

Static method dipanggil dengan format NamaClass.NamaMethod(argument1, argument2). Bila return type method tersebut bukan void, hasil panggilan adalah sebuah nilai yang boleh disimpan ke variabel atau langsung dipakai di dalam expression lain.

Compiler memeriksa kecocokan panggilan sebelum program dijalankan: jumlah argument harus sesuai, dan tipe tiap argument harus cocok dengan parameternya. Kesalahan seperti mengirim satu argument ke method dua parameter langsung tertangkap saat build, bukan saat program berjalan.

Alur Eksekusi Saat Method Dipanggil #

Contoh berikut memanggil satu method dua kali agar urutan eksekusinya terlihat jelas:

csharp
static class Sapaan
{
    public static void Sapa(string nama)
    {
        Console.WriteLine($"Halo, {nama}!");
    }
}

Console.WriteLine("Program dimulai");
Sapaan.Sapa("Budi");
Sapaan.Sapa("Siti");
Console.WriteLine("Program selesai");

Output yang Dihasilkan:

text
Program dimulai
Halo, Budi!
Halo, Siti!
Program selesai

Mari kita bedah baris demi baris:

  1. Baris 9 (Program dimulai): statement biasa dijalankan lebih dulu karena berada sebelum panggilan method.
  2. Baris 10 (Sapaan.Sapa("Budi")): eksekusi berpindah ke body Sapa; argument "Budi" mengisi parameter nama; body mencetak "Halo, Budi!", lalu eksekusi kembali ke baris berikutnya.
  3. Baris 11: pola yang sama terulang untuk "Siti".
  4. Baris 12: baris ini baru dijalankan setelah kedua panggilan selesai, sehingga pesan penutup muncul paling akhir.

Urutan output membuktikan pola dasar pemanggilan: setiap panggilan adalah perjalanan pergi-pulang. Program menuju body method, menjalankan isinya, lalu kembali tepat ke titik setelah baris pemanggil.

Menangkap Nilai Kembalian #

Ketika method mengembalikan nilai, pemanggil menentukan ke mana nilai itu pergi:

csharp
static class Toko
{
    public static int HitungTotal(int hargaSatuan, int jumlah)
    {
        return hargaSatuan * jumlah;
    }
}

int total = Toko.HitungTotal(25000, 4);
Console.WriteLine($"Total belanja: {total}");

Output yang Dihasilkan:

text
Total belanja: 100000

Baris 9 (int total = Toko.HitungTotal(25000, 4);): sisi kanan dievaluasi lebih dulu — panggilan menghasilkan 100000, lalu nilai itu disimpan ke variabel total. Karena return type method adalah int, hasilnya boleh dipakai seperti nilai int biasa, termasuk masuk ke perhitungan berikutnya.