C# – Methods

Metode itu adalah kumpulan pernyataan yang bekerja sama untuk melakukan tugas tertentu. Setiap program C# minimal punya satu kelas dengan metode bernama Main.

Untuk menggunakan metode, kamu perlu:

  • Mendefinisikan metode tersebut
  • Memanggil metode tersebut

Defining Methods in C#

Ketika kamu mendefinisikan sebuah metode, sebenarnya kamu mendeklarasikan elemen-elemen strukturnya. Berikut ini adalah sintaks untuk mendefinisikan sebuah metode dalam C#

<Access Specifier> <Return Type> <Method Name>(Parameter List) {
   Method Body
}

Berikut ini adalah elemen-elemen yang terdapat dalam sebuah metode:

  • Access Specifier − Ini menentukan visibilitas variabel atau metode dari kelas lain.
  • Return type − Sebuah metode bisa mengembalikan nilai. Return type adalah tipe data dari nilai yang dikembalikan oleh metode. Jika metode tersebut tidak mengembalikan nilai, maka return type-nya adalah void.
  • Method name − Nama metode adalah pengenal unik dan bersifat case sensitive. Nama metode tidak boleh sama dengan pengenal lain yang sudah dideklarasikan dalam kelas.
  • Parameter list − Diapit oleh tanda kurung, parameter-parameter digunakan untuk mengirim dan menerima data dari sebuah metode. Daftar parameter merujuk pada tipe, urutan, dan jumlah parameter dari sebuah metode. Parameter bersifat opsional; artinya, sebuah metode bisa tidak memiliki parameter.
  • Method body − Ini berisi kumpulan instruksi yang diperlukan untuk menyelesaikan aktivitas yang dibutuhkan.

Contoh :

Berikut ini adalah kode yang menunjukkan sebuah fungsi FindMax yang mengambil dua nilai integer dan mengembalikan nilai yang lebih besar di antara keduanya. Fungsi ini memiliki access specifier public, sehingga bisa diakses dari luar kelas menggunakan instance dari 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;
   }
   ...
}

Calling Methods in C#

Berikut ini adalah contoh pemanggilan metode menggunakan nama metodenya:

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();
      }
   }
}

Kalo kode di atas di-compile dan dijalankan, hasilnya bakal seperti ini nih:

Max value is : 200

Kamu juga bisa memanggil public metode dari kelas lain dengan menggunakan instance dari kelas tersebut. Sebagai contoh, jika metode FindMax milik kelas NumberManipulator, kamu bisa memanggilnya dari kelas lain seperti Test.

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();
      }
   }
}

Kalo kode di atas di-compile dan dijalankan, hasilnya bakal seperti ini nih:

Max value is : 200

Recursive Method Call

Sebuah metode bisa memanggil dirinya sendiri. Hal ini disebut sebagai rekursi. Berikut ini adalah contoh yang menghitung faktorial dari sebuah angka menggunakan fungsi rekursif.

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();
         //calling the factorial method {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();
      }
   }
}

Kalo kode di atas di-compile dan dijalankan, hasilnya bakal seperti ini nih:

Factorial of 6 is: 720
Factorial of 7 is: 5040
Factorial of 8 is: 40320

Passing Parameters to a Method

Ketika sebuah metode dengan parameter dipanggil, kamu perlu menyampaikan nilai-nilai parameter ke dalam metode tersebut. Ada tiga cara yang bisa digunakan untuk menyampaikan parameter ke dalam metode:

Sr.No.Mechanism & Description
1Value parameters
Metode ini akan menyalin nilai aktual dari argumen ke dalam parameter formal metode. Dalam hal ini, perubahan yang dilakukan pada parameter di dalam metode tidak berpengaruh pada argumen.
2Reference parameters
Metode ini akan menyalin referensi ke lokasi memori dari argumen ke dalam parameter formal. Ini berarti perubahan yang dilakukan pada parameter akan mempengaruhi argumen.
3Output parameters
Metode ini digunakan untuk mengembalikan lebih dari satu nilai.

Leave a Reply

Your email address will not be published. Required fields are marked *