METHOD
Method
adalah bagian dari tubuh program yang mengimplementasikan suatu action
sehinggga class atau object dapat bekerja. Method diimplementasikan didalam
class dan menyediakan informasi tambahan yang mana class tidak dapat menangani
sendiri. Ada beberapa method yang seirng dipakai oleh para pembuat
aplikasi, diantaranya, prosedur dan
fungsi. Di dalam bahasa pemrograman C#, method dapat didefinisikan sebagai
berikut :
·
Method yang mengembalikan nilai (fungsi)
·
Method yang tidak mengembalikan nilai (prosedur)
·
Method berparameter
·
Metode static dan non static
- jenis jenis method
1.
Method yang tidak mengembalikan data (diberi tipe void).
Ex: static void bernaz();
//method static bernama bernaz yang
tidak mengembalikan nilai.
2.
Method yang bisa mengembalilkan nilai menggunakan statement return dan
tipe data
3.
Ex:
static int bernaz(int b);
return b;
//method bernama bernaz yang
mengembalikan nilai integer
//mempunyai 1 parameter yaitu b dan
bertipe integer
//return adalah keyword untuk
mengembalikan nilai
Struktur
method dapat dijalankan melalui sintax dibawah ini :
method
_header
{
Method_body
}
Ø Method
header memiliki beberapa fungsi diantaranya adalah
·
Access modifier method
·
Tipe pengembalian data
·
Tipe data yang dikirimkan ke method
·
Nama dari method
Contoh:
public
double hitung_luas()
{
………statement…………
}
Pada
method header diatas public double hitung_luas, dapat didefenisikan bahwa acess
modifier method adalah public, jadi method dapat diakses oleh class lain selain
class yang memiliki method hitung luas tersebut. Juga dapat didefenisikan bahwa
tipe pengembalian data dari method adalah double. Jadi method akan mengirimkan
tipe data double ke pemanggil method. Dan dapat juga didefenisikan bahwa nama
method adalah hitung_luas.
- Tipe Pengembalian Data Dari Method
Sebuah
method memiliki kemampuan untuk dideklarasikan dengan sebuah tipe data
kembalian. Tipe data ini terdapat pada method header. Sesuai dengan contoh
diatas public double hitung_luas(), maka tipe data kembalian dari method hitung
luas adalah double. Sehingga pada method body hasil dari perhitungan hitung
luas harus didefenisikan, selanjutnya hasil perhitungan akan dikirimkan lagi ke
si pemanggil method, dalam hal ini akan menggunakan keyword return. Keyword
tersebut akan diikuti dengan variabel yang akan menyimpan hasil perhitungan.
Jika sebuah method tidak memiliki pengembalian nilai, maka pada method body tidak
perlu didefenisikan keyword return, dan pada method header dapat didefenisikan
keyword void. Keyword void mengindentifikasikan bahwa method tidak mengembalikan
nilai kepada pemanggil method.
- Aturan Penamaan Method
Penamaan
method adalah sesuatu yang penting, hal ini berkaitan dengan jumlah baris kode
yang banyak sehingga method pun akan bertambah. Jika tidak mengikuti sebuah
aturan penamaan yang baik, maka programmer akan kesulitan menentukan method
mana yang akan digunakan. Dalam penamaan method tidak ada sebuah aturan yang
baku, namun untuk mempermudah maka gunakanlah nama method sesuai dengan fungsi
dari method tersebut. Misalnya method perhitungan luas, maka method dapat
diberi nama hitung_luas(), atau method perhitungan gaji maka method dapat diberiu
nama hitung_gaji.
Dibawah
ini terdapat sebuah contoh penggunaan method :
public
double hitung_luas()
{
Int alas, int tinggi;
alas=5;
tinggi=4;
return (0,5*alas*tinggi);
}
Pada
contoh diatas maka method akan mengembalikan nilai perhitungan (0.5 * alas *
tinggi) kepada pemanggil method. Dikarenakan method memiliki sebuah tipe
kembalian data dengan tipe data double, maka sebuah variabel dengan tipe data
double harus dideklarasikan untuk menyimpan hasil perhitungan dari method.
Contoh
penggunaan Method pada C#
Program
diatas merupakan contoh menggunakan method void dan method fungsi. Method
kali() merupakan method yang mengembalikan nilai integer dengan ditandai
keyword return, sedangkan method tambah merupakan prosedur atau method void.
Outputnya
:
- Method berparameter
Method
berparameter merupakan fungsi atau prosedur yang meiliki parameter. Ada tiga
parameter yang dikenal di dalam bahasa pemrograman C# antara lain:
1.
Parameter
nilai (by value)
Parameter
nilai merupakan parameter input dengan tujuan hanya nilai data yang ditransfer
ke
dalam
prosedur atau method yang bergunsi sebagai masukkan. Contoh penggunaan
parameter
nilai
dapat dilihat pada contoh program dibawah ini
:
Pada
contoh program diatas kita dapat melihat sebuah method dengan nama tambah.
Method tambah merupakan sebuah method dengan dua tipe masukkan yaitu int a, dan
int b. selanjutnya method ini dipanggil pada program utama yaitu main. Dengan
sintax c=tambah(3,4), angka 3 dan 4 adalah parameter masukkan yang masuk ke method
tambah, lalu selanjunya 3 dan 4 akan masuk kedalam operasi penambahan, lalu
hasilnya dikirim lagi ke pemanggil method dengan tipe data integer. Lalu hasil
disimpan dalam sebuah variabel dengan nama c.
Outputnya:
2.
Parameter
ref
Parameter
ref merupakan parameter yang dapat dijadikan input maupun output. Dengan
parameter ref, nilai yang diproses dalam sebuah metode dapat dikirim keluar
dengan menggunakan parameter ref sebagai output (hasil). Adapun contoh
penggunaan method dengan parameter ref dapat dilihat pada program dibawah ini.
Pada
contoh program diatas kita dapat melihat sebuah method dengan nama tambahsatu
yang menggunakan sebuah parameter reference. tambahsatu (ref int a) parameter a
merupakan parameter ref yang akan menerima masukan dari nilai variabel c. yaitu
5, kemudian ditambahkan satu menjadi 6. Nilai hasil penambahan akan dikirimkan
keluar sebagai hasil proses (output) yang dimasukkan kembali ke dalam variabel
c.
Outputnya
:
3.
Parameter
out
Parameter
out merupakan parameter yang digunakan untuk mentransfer data keluar prosedur atau
method. Parameter out tidak dapat digunakan untuk menerima nilai masukkan.
Dibawah ini kita dapat melihat penggunaan parameter out pada sebuah method.
Dalam
method tambahsatu (int a, out int b), parameter a merupakan parameter nilai
untuk masukkan nilai, kemudian b merupakan parameter keluaran untuk mengirimkan
hasil keluar prosedur / method.
Outputnya:
PASS BY VALUE – PASS BY REFERENCE
Sebuah
variabel dapat di kembalikan ke pemanggil method dengan dua cara by value atau
by reference
1. By
value
- Program membuat copy dari variabel (argument), lalu mengembalikan copy dari variabel tersebut ke pemanggil method.
- Perubahan terhadap copy dari variabel di method tidak akan mempengaruhi variabel original.
2. By
Reference
- Jika menggunakan by reference method dapat mengakses dan menggubah variabel (argument ) secara langsung.
Ø Keyword
·
Keyword ByVal menandakan bahwa variabel
atau parameter dikirim berdasarkan byValue
·
Keyword ByRef menandakan bahwa variabel atau
parameter dikirim berdasarkan reference
Ø Batas
Deklarasi
·
Block scope – sebuah variabel yang
dideklarasikan didalam sebuah blok program misal di blok for, atau if.
·
Method scope- sebuah variabel yang
dideklarasikan didalam sebuah method. Variabel tersebut hanya dikenal di dalam
method.
·
Class scope- sebuah variabel yang
dideklarasikan didalam sebuah blok class. Variabel tersebut di kenal di semua
blok program.
METHOD OVERLOADING
Method
overloading digunakan untuk membuat beberapa fungsi (method) dengan nama yang SAMA
dan mengerjakan tugas yang MIRIP. Tujuannya, agar programmer tidak
kesulitan dalam mengingat sebuah fungsi yang tugasnya mirip. Misalnya untuk
membuat fungsi perkalian. Ada perkalian yang membutuhkan dua argumen dan ada
perkalian yang membutuhkan tiga argumen (tugasnya mirip, yaitu sama-sama
mengalikan argumen, hanya jumlah argumen yang berbeda). Kalau dibuat fungsi
dengan nama yang berbeda, kemungkinan programmer akan repot. Contoh, untuk
fungsi perkalian dengan dua argumen, namanya adalah kali1(bil1, bil2).
Sedangkan untuk perkalian dengan tiga argumen namanya adalah kali2(bil1,
bil2, bil3). Repot kan? Gimana kalo ada sepuluh perkalian? Bandingkan bila
namanya kali(bil1, bil2) dan kali(bil1, bil2, bil3). Kita cuma
perlu mengingat jumlah argumen dari fungsi kali.
Sehingga,
untuk membuat method overloading diperlukan setidaknya satu dari tiga syarat di
bawah ini:
·
mempunyai
jumlah argumen berbeda.
·
mempunyai
tipe data argumen yang berbeda.
·
mempunyai
urutan argumen yang berbeda.
0 komentar:
Posting Komentar