Metode C#: Mendefinisikan, Memanggil, dan Menggunakan Fungsi
Sebuah metode adalah sekumpulan pernyataan yang bersama-sama melakukan tugas. Setiap program C# memiliki setidaknya satu kelas dengan metode bernama Main.
Untuk menggunakan metode, Anda perlu:
- Mendefinisikan metode
- Memanggil metode
Mendefinisikan Metode dalam C#
Saat Anda mendefinisikan metode, Anda secara dasar mendeklarasikan elemen struktur-nya. Sintaks untuk mendefinisikan metode dalam C# adalah sebagai berikut:
<Access Specifier> <Return Type> <Method Name>(Parameter List) { Method Body } Berikut adalah berbagai elemen metode:
Access Specifier – Ini menentukan visibilitas variabel atau metode dari kelas lain.
Return type – Sebuah metode dapat mengembalikan nilai. Tipe pengembalian adalah tipe data dari nilai yang dikembalikan oleh metode. Jika metode tidak mengembalikan nilai apa pun, maka tipe pengembalian adalah void.
Method name – Nama metode adalah pengidentifikasi unik dan case sensitive. Tidak boleh sama dengan pengidentifikasi lain yang dideklarasikan dalam kelas.
Parameter list – Dikungkur di antara tanda kurung, parameter digunakan untuk melewatkan dan menerima data dari sebuah metode. Daftar parameter merujuk pada tipe, urutan, dan jumlah parameter dari sebuah metode. Parameter bersifat opsional; artinya, metode mungkin tidak memiliki parameter.
Method body – Ini berisi serangkaian instruksi yang diperlukan untuk menyelesaikan aktivitas yang diperlukan.
Contoh
Cuplikan kode berikut menunjukkan fungsi FindMax yang mengambil dua nilai integer dan mengembalikan yang lebih besar. Metode ini memiliki access specifier public, sehingga dapat diakses dari luar kelas menggunakan instance kelas tersebut.
class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; } ... } Memanggil Metode dalam C#
Anda dapat memanggil metode menggunakan nama metodenya. Contoh berikut menggambarkan hal ini:
Live Demo
using System; namespace CalculatorApplication { class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if (num1 > num2) result = num1; else result = num2; return result; } static void Main(string[] args) { /* local variable definition */ int a = 100; int b = 200; int ret; NumberManipulator n = new NumberManipulator(); //calling the FindMax method ret = n.FindMax(a, b); Console.WriteLine("Max value is : {0}", ret ); Console.ReadLine(); } } } Ketika kode di atas dikompilasi dan dieksekusi, hasilnya adalah:
Max value is : 200
Anda juga dapat memanggil metode publik dari kelas lain dengan menggunakan instance kelas tersebut. Misalnya, metode FindMax termasuk kelas NumberManipulator, Anda dapat memanggilnya dari kelas lain Test.
Live Demo
using System; namespace CalculatorApplication { class NumberManipulator { public int FindMax(int num1, int num2) { /* local variable declaration */ int result; if(num1 > num2) result = num1; else result = num2; return result; } } class Test { static void Main(string[] args) { /* local variable definition */ int a = 100; int b = 200; int ret; NumberManipulator n = new NumberManipulator(); //calling the FindMax method ret = n.FindMax(a, b); Console.WriteLine("Max value is : {0}", ret ); Console.ReadLine(); } } } Ketika kode di atas dikompilasi dan dieksekusi, hasilnya adalah:
Max value is : 200
Pemanggilan Metode Rekursif
Sebuah metode dapat memanggil dirinya sendiri. Ini dikenal sebagai rekursi. Berikut adalah contoh yang menghitung faktorial untuk angka tertentu menggunakan fungsi rekursif:
Live Demo
using System; namespace CalculatorApplication { class NumberManipulator { public int factorial(int num) { /* local variable declaration */ int result; if (num == 1) { return 1; } else { result = factorial(num - 1) * num; return result; } } static void Main(string[] args) { NumberManipulator n = new NumberManipulator(); Console.WriteLine("Factorial of 6 is : {0}", n.factorial(6)); Console.WriteLine("Factorial of 7 is : {0}", n.factorial(7)); Console.WriteLine("Factorial of 8 is : {0}", n.factorial(8)); Console.ReadLine(); } } } Ketika kode di atas dikompilasi dan dieksekusi, hasilnya adalah:
Factorial of 6 is: 720 Factorial of 7 is: 5040 Factorial of 8 is: 40320
Melewatkan Parameter ke Sebuah Metode
Saat metode dengan parameter dipanggil, Anda perlu melewatkan parameter ke metode. Ada tiga cara parameter dapat dilewatkan ke sebuah metode:
| No. | Mekanisme & Deskripsi |
| 1 | Value parameters Metode ini menyalin nilai aktual argumen ke parameter formal dari fungsi. Dalam hal ini, perubahan yang dilakukan pada parameter di dalam fungsi tidak berpengaruh pada argumen. |
| 2 | Reference parameters Metode ini menyalin referensi ke lokasi memori argumen ke parameter formal. Ini berarti perubahan yang dilakukan pada parameter mempengaruhi argumen. |
| 3 | Output parameters Metode ini membantu dalam mengembalikan lebih dari satu nilai. |