TOC

This article has been localized into Indonesian by the community.

Hal-hal Mendasar:

Fungsi

Sebuah fungsi memungkinkan kamu untuk meringkas sepenggal kode dan memangil kode tersebut dari bagian lain kodemu. Kamu mungkin akan segera menemukan situasi dimana kamu harus mengulang sebuah kode, dari berbagai bagian, dan disinilah peran penting sebuah fungsi. Dalam C#, fungsi dinyatakan sperti berikut ini:

<visibility> <return type> <name>(<parameters>)
{
<function code>
}

Untuk memangil sebuah fungsi, anda tinggal menulis nama fungsinya, diikuti sebuah buka kurung, kemudian parameter, jika ada, dan kemudian tutup kurung, contohnya seperti berikut ini:

DoStuff();

Berikut adalah contoh dari fungsi DoStuff():

public void DoStuff()
{
    Console.WriteLine("I'm doing something...");
}

Bagian pertama adalah tentang, public, mengenai visibilitas, dan bersifat pilihan. Bila tidak didefiniskan, maka fungsi tersebut akan menjadi private. Tentang hal ini akan dibahas lebih lanjut. Selanjutnya adalah tipe "return". Bisa berupa tipe apa saja yang sah (valid) dalam C#, atau sebagaimana telah kita lakukan disini adalah, "void". "Void" berarti fungsi ini tidak mengembalikan suatu hasil. Selain itu, fungsi ini tidak memiliki parameter, sebagaimana dapat dilihat pada tanda kurung yang kosong. Mari kita ubah fungsi tersebut lagi:

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    return result;
}

Kita sudah hampir merubah semuanya. Fungsi ini sekarang mengembalikan hasil berupa integer, yang terdiri dari dua parameter (keduanya integer), dan ujug-ujug (daripada) menampilkan suatu hasil, fungsi ini malah membuat suatu kalkulasi dan mengembalikan (return) hasilnya. Artinya bahwa kita dapat menambahkan dua bilangan/angka dari beberapa tempat di dalam kode kita, cukup dengan memanggil fungsi ini, daripada kita harus menulis kode kalkulasi secara berulang-ulang. Walau tidak terlalu kelihatan menghemat waktu dan tenaga pada contoh kecil ini, Anda akan yakin bahwa semakin sering Anda menggunakan bahasa pemprograman C#, semakin Anda menyukai fungsi (function). Fungsi ini akan dipanggil seperti sintaks berikut:

int result = AddNumbers(10, 5);
Console.WriteLine(result);

Sebagaimana telah disebutkan sebelumnya, sebenarnya fungsi ini mengembalikan suatu hasil, karena kita meminta C# untuk melakukannya. Ketika mendeklarasikan sesuatu selain daripada "void" sebagai tipe pengembalian, sebenarnya kita memaksa diri kita untuk mengembalikan sesuatu. Anda dapat mencoba menghapus baris "return result" dari contoh di atas, dan melihat bagaimana compiler akan mengeluarkan pesan kesalahan:

'AddNumbers(int, int)': not all code paths return a value

Compiler mengingatkan kita bahwa kita memiliki suatu fungsi yang tidak mengembalikan suatu hasil. Dan compiler sangat cerdas untuk mengetahui adanya kesalahan tersebut. Jadi daripada menghapus baris tersebut, cobalah sebagai berikut:

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    if(result > 10)
    {
return result;
    }
}

Kita mengamati adanya kesalahan yang persis sama - tapi mengapa bisa terjadi? Hal ini dikarenakan tidak ada jaminan bahwa penggunaan "if" akan menghasilkan nilai "true" sehingga baris "return" dibawahnya akan dieksekusi. Solusinya adalah dengan membuat pernyataan "return" lagi pada bagian akhir :

public int AddNumbers(int number1, int number2)
{
    int result = number1 + number2;
    if(result > 10)
    {
return result;
    }
    return 0;
}

Ini akan memperbaiki kesalahan yang terjadi, dan menunjukkan juga bahwa kita bisa menuliskan lebih dari satu pernyataan "return" pada fungsi (function). Segera setelah pernyataan "return" dieksekusi, fungsi selesai. Artinya selama hasil yang diperoleh lebih besar dari 10, makan "return 0" tidak akan pernah dieksekusi.

This article has been deprecated!

This article has been re-organized and updated to better match the rest of the tutorial.

We suggest that you read this article instead: Methods (functions)


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!