Pemrograman fungsional merupakan pemrograman berdasarkan teori fungsi matematika, artinya pemrograman ini terdiri atas
fungsi-fungsi seperti fungsi-fungsi yang ada di matematika. Fungsi merupakan pembangun
utama program sehingga fungsi-fungsi ini dapat melewatkan parameter dan mengembalikan
nilai yang sudah di proses.
Pelewatan
Parameter
Ada dua cara
pengiriman parameter di mana memungkinkan kita mengubah nilai yang ada di
parameter actual. Dua cara tersebut adalah call by value dan call by reference.
1. Call by value
- Call by value akan menyalin nilai parameter actual ke parameter formal.
- Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori letak datanya.
- Fungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi.
- Perubahan nilai di fungsi(parameter formal) tidak akan merubah nilai aslinya di bagian program yang memanggilnya.
- Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil.
Contoh penggunan
programnya :
2. Call by reference
- Pemanggilan secara referensi merupakan upaya untuk melewatkan alamat dari suatu variable ke dalam fungsi.
- Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan nilai datanya.
- Fungsi yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya.
- Perubahan nilai di fungsi akan merubah nilai asli di bagian program yang memanggil fungsi.
- Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi pemanggil ke fungsi yang dipanggil dan juga sebaliknya.
Penggolongan variable berdasarkan kelas penyimpanan :
Suatu variable disamping dapat digolongkan berdasarkan jenis/tipe dapat
juga diklarifikasikan berdasarkan kelas penyimpanan berupa :
Ø Variable lokal
Variabel yang dideklarasikan dalam fungsi.
Contoh :
Void fung_x(void)
{
int x;
. . . .
. . . .
}
|
Ø Variable eksternal
Variabel yang dideklarasikan di luar fungsi
Ø Variable statis
Dapat berupa variable internal (didefinisikan di
dalam fungsi) maupun variable eksternal. Contoh
Static
z; /* statis eksternal */
Void
fung_y(void)
{
static
int y; /* statis internal */
. . . .
. . . .
}
|
Ø Variable register
Variabel yang nilainya disimpan dalam register
bukan pada memori RAM. Diterapkan pada variable yang local atau parameter
formal yang bertipe char atau int.
Semoga Bermanfaat..Terima Kasih !!!!!!!!!!!
Tidak ada komentar:
Posting Komentar