Parameter formal adalah variabel yang ada pada daftar parameter dalam Modul 10 FUNGSI II 10.1 Fungsi Dengan Parameter Parameter adalah suatu variabel yang berfungsi untuk menampung nilai yang akan dikirimkan ke dalam fungsi. Parameter itu sendiri terbagi dua macam, yaitu parameter formal dan parameter aktual. 10.1.1 Parameter Formal dan Parameter Aktual Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi. Pada fungsi jumlah( ) program 6-3, x dan y dinamakan sebagai parameter formal. Parameter aktual adalah parameter (tidak selamanya menyatakan variabel) yang digunakan dalam pemanggilan fungsi. Untuk lebih memahaminya, perhatikan contoh pendefinisian fungsi dibawah ini: TambahSatu(int X) { Return ++X; } Pada sintak di atas, variabel X dinamakan sebagai parameter formal. Sekarang perhatikan sintak berikut: main() { int a = 10, hasil; hasil = TambahSatu(a); return 0; } Pada saat pemanggilan fungsi TambahSatu() di atas, variabel a dinamakan dengan parameter aktual 10.2 Cara Melewatkan Parameter Terdapat dua cara untuk melewatkan parameter ke dalam fungsi, yaitu dengan cara: Pemanggilan dengan nilai (call by value). Pemanggilan dengan referensi (call by reference). Pemanggilan dengan nilai merupakan cara yang digunakan pada contoh fungsi program terdahulu. Pada pemanggilan dengan nilai, nilai dari parameter aktual akan 1http://www.mercubuana.ac.id
Dari contoh program di atas terlihat bahwa hasil pemanggilan fungsi tukar( ), variabel a dan b (yang dilewatkan ke fungsi tukar ()) tidak berubah, walaupun pada fungsi tukar ( ) telah terjadi penukaran antara parameter x dan y. Hal ini terjadi karena x hanyalah salinan dari a dan y salinan dari b, serta definisi fungsi tidak mengembalikan nilai (tidak ada instruksi return( ) ). Pemanggilan dengan referensi merupakan upaya untuk melewatkan alamat dari suatu variabel ke dalam fungsi. Cara ini dapat digunakan untuk mengubah isi suatu variabel di luar fungsi dengan pelaksanaan pengubahan dilakukan di dalam fungsi. Adapun perubahan dalam parameter aktual adalah sebagai berikut: Tukar(&a, &b); /* variabel diawali dengan & */ Pendeklarasian parameter: int *px, *py; menyatakan bahwa px dan py adalah suatu variabel pointer, yaitu variabel yang berisi alamat variabel yang lain. /* ---------------------------------------------------------- */ /* File program : Tukar2.cpp */ /* Melihat pengaruh pemanggilan dengan referensi */ /* ---------------------------------------------------------- #include <stdio.h> tukar (int *px, int *py); main() { int a,b; a = 88; b = 77; printf("Nilai sebelum pemanggilan fungsi\n"); printf("a = %d b = %d\n\n",a,b); tukar(&a,&b); /* parameter alamat a dan alamat b */ printf("Nilai sesudah pemanggilan fungsi\n"); } tukar (int *px, int *py) int z; 3http://www.mercubuana.ac.id
5http://www.mercubuana.ac.id 10.3.2 Variabel Eksternal Variabel eksternal merupakan variabel yang dideklarasikan di luar fungsi, dan mempunyai sifat: Dapat diakses oleh semua fungsi. Jika tidak diberi nilai awal, secara otomatis diinisialisasi dengan nilai sama dengan nol Contoh penggunaan variabel eksternal diperlihatkan pada contoh program Eksternal.cpp berikut ini: /* --------------------------------------------- */ /* File program : Eksternal.cpp */ /* Penggunaan variabel eksternal */ /* --------------------------------------------- */ #include <stdio.h> int i = 273; /* variabel eksternal */ tambah (); main() { printf("Nilai awal i = %d\n",i); i += 7; printf("Nilai i kini = %d\n",i); tambah(); printf("Nilai i kini = %d\n",i); tambah(); printf("Nilai i kini = %d\n",i); } tambah () { i++; } Hasil eksekusi: Nilai awal i = 273 Nilai i kini = 280 Nilai i kini = 281 Nilai i kini = 282 5http://www.mercubuana.ac.id