[Java] Perbedaan antara Parameter Formal dan Parameter Aktual

-[Java] Perbedaan antara Parameter Formal dan Parameter Aktual

ini merupakan lanjutan dari postingan :

ALGORITMA DAN PEMROGRAMAN

MODUL 1 SUB PROGRAM (Procedure & Function).

 

Berikut ini adalah praktikum method (fungsi dan prosedur) yang menggunakan parameter. Ada 2 buah parameter yang dikenal, yaitu:
1. Parameter formal adalah parameter yang tertulis dalam definisi method
2. Parameter aktual adalah parameter yang berada pada inputan langsung pada saat penggunaan method tersebut.

1. public class FungsiParameter
2. {
3. public static int jumlah(int a)
4. {
5. return a;
6. }
7.
8. public static void main(String args[])
9. {
10. System.out.println("Hasil pemanggilan methode ");
11. System.out.println(jumlah(5));
12. }
13. }
Untuk program tanpa menggunaan nomer.

Hasil Output :

Hasil pemanggilan method jumlah
5

Penjelasan :

Parameter pada baris ke-3 disebut sebagai parameter formal, dan pada baris ke-11 disebut parameter aktual.
Parameter bisa lebih dari satu dengan dipisahkan tanda koma, Yang perlu diperhatikan pada saat pemanggilan method adalah jumlah, urutan dan tipe parameter aktual harus sesuai dengan jumlah urutan dan tipe parameter formal. Pemberian Variabel dalam Method ada dua cara (dua tipe data variable passing pada method), yaitu pass-by-value dan pass-by-reference.

Pass-by-value memiliki hasil sebuah method yang membuat sebuah salinan dari nilai variable yang dikirimkan ke mthod. Walaupun demikian method tidak dapat secara langsung memodifikasi nilai variable pengirimnya meskipun parameter salinannya sudah dimodifikasi nilainya di dalam method.

Contoh Pass-by-value :

public class TestPassByValue
{
public static void main(String [] args )
{
int i =10;
System.out.println(i);
test(i);
System.out.println(i);
}
public static void test(int j)
{
j=33;
}
}

Hasil Output :

10
10

Penjelasan :

Pada program diatas kita memanggil method tes dan melewatkan nilai variable i sebagai parameter. Nilai pada i disalinkan ke variable j pada method. Pada kondisi ini variable j adalah merupakan variable pengganti pada method test, jika nilai j berubah maka nilai pada variable i yang terletak pada main tidak akan ikut berubah walaupun awalnya variable j merupakan salinan dari variable i.

Pass-by-reference memiliki hasil method dimana alamat memori dari nilai pada sebuah variable dilewatkan pada saat pemanggilan method. Ini tidak seperti pada pass-by-value, method dapat memodifikasi variable asli dengan menggunakan alamat memori tersebut, meskipun berbeda nama variable yang digunakan dalam method dengan variable aslinya, kedua variable ini menunjukkan lokasi dari data yang sama.

Contoh Pass-by-reference :

class TestPassByReference
{
public static void main( String [] args)
{
//membuat array integer
int [] ages ={10,11,12};
//mencetak nilai array
for (int i=0; i<ages.length; i++)
{
System.out.println(ages[i]);
}
test(ages);
for (int i=0; i<ages.length; i++)
{
System.out.println(ages[i]);
}
}
public static void test(int[] arr)
{
//merubah nilai array
for (int i=0; i<arr.length; i++)
{
arr[i] = i+50;
}
}
}
Hasil output :

10
11
12
50
51
52


Demikian contoh  Pratikum (Procedure dan Function). semoga bermanfaat.

Share this

Related Posts

Previous
Next Post »

Berkomentar lah dengan yang sopan yang tidak mengandung unsur SARA, PORNOGRAFI, Dan TIDAK diperkenankan untuk PROMOSI selain Persetujuan dari ADMIN. Jika di lakukan, Maaf komentar akan DI HAPUS.

Untuk menggunakan Emoticon Komentar, Klik Emoticon yang akan di pasang. Akan muncul kode emoticonnya. Masukkan itu pada saat berkomentar. Terima Kasih
EmoticonEmoticon