Saturday, April 19, 2014

Fungsi dalam bahasa pemograman C#

Fungsi Berikut ini adalah cara mendeklarasikan fungsi di dalam bahasa C# :

Static tipe namaFungsi(parameter) 
{
        Statement … 
}

Tipe adalah tipe data dari nilai yang akan di kembalikan oleh fungsi. NamaFungsi adalah nama dari fungsi yang di buat. Parameter adalah nama dan tipe variable yang akan digunakan untuk menyimpan nilai yang di butuhkan oleh fungsi tersebut. Jika terdapat lebih dari satu parameter, maka parameter di tulis dengan dipisahkan tanda koma. Berikut ini adalah contoh program yang menggunakan fungsi penjumlahan dan perkalian :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ProgramMatematika
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 45, y = 70, hasilPenjumlahan, hasilPerkalian;

            hasilPenjumlahan = Penjumlahan(x, y);
            hasilPerkalian = Perkalian(x, y);
            Console.WriteLine("Hasil Penjumlahan = {0}\nHasil Perkalian = {1}", hasilPenjumlahan, hasilPerkalian);
        }

        static int Penjumlahan(int a, int b)
        {
            return (a + b);
        }

        static int Perkalian(int a, int b)
        {
            return (a * b);
        }
    }
}


Tipe void
Sebuah fungsi tidak harus selalu mengembalikan nilai. Tipe dari fungsi yang tidak mengembalikan nilai adalah void. Berikut ini adalah contoh fungsi yang tidak mengembalikan nilai, yaitu fungsi untuk menapilkan kata “Helo” ke layar sebanyak n kali.
static void FungsiHello(int n)
        {
            for (int i = 0; i < n; i++)
            {
                Console.WriteLine("Hello");
            }
        }
Fungsi Rekursif
Adalah fungsi yang memanggil dirinya sendiri. Jika kita dapat menggunakan fungsi rekursif dengan baik, ada beberapa kasus perulangan yang rumit dapat dilakukan dengan mudah. Berikut ini adalah contoh program perpangkatan dua yang menggunakan fungsi rekursif.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FungsiRekursif
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("{0}", DuaPangkat(3));
        }

        /// 
        /// Menghitung perpangkatan dua
        /// 
        /// Nilai pangkat
        /// Hasil perpangkatan
        static int DuaPangkat(int n)
        {
            if (n == 0)
                return 1;
            else
                return 2 * DuaPangkat(n-1);
        }
    }
}