Fungsi adalah sekumpulan perintah operasi
program yang dapat menerima argumen input dan dapat memberikan hasil output
yang dapat berupa nilai ataupun sebuah hasil operasi. Hasil akhir fungsi akan
berupa sebuah nilai balik (return) Nama fungsi yang didefinisikan sendiri oleh
pemrogram tidak boleh sama dengan nama build-in function pada compiler C++.
Fungsi digunakan agar pemrogram dapat
menghindari penulisan bagian program (kode) berulang-ulang, dapat menyusun kode
program agar terlihat lebih rapi dan kemudahan dalam debugging program.
Parameter adalah nama-nama peubah yang dideklarsikan pada bagian header fungsi.
Pemrogram dapat membuat fungsi yang didefinisikan sendiri olehnya.
Bentuk umumnya :
Deklarasi parameter
{
Isi fungsi
}
PROTITE FUNGSI
Sebuah fungsi tidak dapat dipanggil kecuali
sudah dideklaraikan, deklarasi fungsi dikenal dengan sebutan prototipe fungsi.
Prototipe fungsi berupa :
1. Nama Fungsi
2. Tipe nilai fungsi
3. Jumlah dan tipe argumen
Dan diakhiri dengan titik koma,
sebagaimana pada pendeklarasian variabel. Sebagai
contoh:
1.
long kuadrat (long l) ;
Pada
contoh pertama, fungsi kuadrat ( ) mempunyai argumen bertipe long dan nilai
balik bertipe long.
2.
void garis ( );
Pada contoh kedua, fungsi garis ( ) tidakmemiliki argumen dan
nilai baliknya tidak ada (void).
3.
double maks (double x, double y)
Pada contoh ketiga, fungsi maks( ) mempunyai dua buah argumen,
dengan masingmasing argumen bertipe double.
contoh
Penjelasan :
// Fungsi Perkalian
// tipe_return nama_fungsi (tipe_argument
argumen)
Fungsi yang didefinisikan oleh pemrogram
terdiri atas dua bagian, yaitu judul (header) dan isi (body).
Judul dari sebuah fungsi terdiri dari tipe return (double), nama fungsi
(hasil) dan list parameter ( int A, int B).
Jadi, judul untuk fungsi hasil adalah :
double hasil (int A, int
B)
Isi dari sebuah fungsi adalah blok kode
yang mengikuti judulnya. Berisi kode yang menjalankan aksi dari fungsi,
termasuk pernyataan return yang memuat nilai fungsi yang akan
dikembalikan ke yang memanggilnya, Isi dari fungsi hasil ( ) adalah
{
return A * B;
}
Biasanya isi dari fungsi cukup besar.
Meskipun demikian, judulnya tetap hanya berada dalam satu baris. Isi dari
sebuah fungsi dapat memanggil fungsi itu sendiri (disebut rekursif) atau
memanggil fungsi lainnya.
Pernyataan return dari sebuah
fungsi mempunyai dua manfaat, yaitu akan mengakhiri
fungsi dan mengembalikan nilainya ke
program pemanggil.
Bentuk umum pernyataan return adalah
:
return ekspresi;
Dengan ekspresi adalah sebuah
ekspresi yang nilainya dinyatakan untuk sebuah variable yang tipenya sama
seperti tipe return. Terdapat juga fungsi yang tidak memberikan
nilai balik atau tipe returnnya void.
Contoh :
VARIABEL LOKAL DAN
VARIABEL EKSTERNAL
Variabel lokal adalah variabel yang
didefinisikan dalam suatu fungsi tertentu, sehingga hanya dikenal dalam fungsi
tersebut. Dalam hal ini artinya suatu fungsi tidak
akan mengenal variabel lokal dan fungsi
lain. Suatu fungsi hanya akan mengenal variabel yang didefinisikan dalam fungsi
yang bersangkutan.
Variabel eksternal adalah variabel yang
bersifat global yang dapat dikenali oleh seluruh fungsi yang terdapat dalam
program tersebut. Seluruh fungsi akan mengenal variabel yang bersifat eksternal
ini. Variabel eksternal dideklarasikan diluar fungsi dan
sejajar dengan prototipe fungsi serta
pengarah kompiler.
contoh:
Outputnya :
Penjelasan :
Dalam pemograman tersebut terdapat
variabel lokal dan variabel eksternal yang namanya sama yaitu data. Dalam
fungsi main ( ) dan fungsi_satu ( ) terdapat variabel lokal dengan nama sama
tetapi sebetulnya lokasi penyimpanannya dalam memori berbeda, sehingga dua
variabel itu berbeda dan tidak saling mengenal. Fungsi_satu ( ) sebetulnya
mengenal variabel eksternal data yang nilainya 100, tetapi karena dalam fungsi
tedapat variabel lokal data yang bernilai 300, maka diprioritaskan untuk
diproses dalam fungsi tersebut adalah variabel lokalnya. Jika dalam fungsi
terdapat variabel lokal dan variabel eksternal yang sama, maka diprioritaskan
untuk diproses variabel lokal.
Dalam fungsi_dua( ) tidak terdapat
variabel lokal sehingga yang diproses pada fungsi tersebut adalah variabel
eksternalnya.
PARAMETER
Parameter adalah sarana komunikasi antar
fungsi. Pengertian antar fungsi adalah antara fungsi dengan fungsi lain
termasuk antara fungsi dengan fungsi utama. Dalam pemograman yang melibatkan
fungsi, diusahakan agar fumgsi bersifat independen artinya tidak tergantung
pada fungsi lain. Setiap fungsi hanya mengerjakan satu tugas tertentu. Antar
fungsi saling berkomunikasi menggunakan parameter.
Terdapat dua macam bentuk parameter dalam
hubungannya dengan penggunan fungsi
dalam program yaitu :
-
Parameter Formal : parameter yang diberi nilai. Parameter formal
merupakan parameter yang terdapat dalam daftar parameter fungsi.
-
Parameter Aktual : parameter yang memberi nilai. Parameter fungsi
dan digunakan
untuk memberi nilai pada
parameter formal.
Dalam contoh program perkalian di atas
parameter formal terdapat pada pendefinisan fungsi :
double hasil(int A, int B) // parameter formal
{
return (A * B);
}
Sedangkan parameter aktual terdapat pada
pemanggilan fungsi :
void main()
{ ……………
…………..
z = hasil(x,y); // parameter aktual
……
}
Cara Melewatkan Parameter
Cara melewatkan suatu parameter dalam
Bahasa C++ ada dua cara yaitu :
1.
Pemanggilan Secara Nilai (Call by Value)
a a) Call by value akan menyalin nilai dari parameter aktual ke
parameter formal.
b b) Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat
memori letak
c c) dari datanya.
d d) Fungsi yang menerima
kiriman nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang
digunakan oleh bagian program yang memanggil fungsi.
e e) Perubahan nilai di fungsi (parameter formal) tidak akan merubah
nilai asli di bagian program yang memanggilnya.
f f) Pengiriman parameter secara nilai adalah pengiriman searah, yaitu
dari bagian program yang memanggil fungsi ke fungsi yang dipanggil.
g g) Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak
hanya untuk sebuah variabel, elemen array atau konstanta saja.
Contoh :
Outputnya :
1. Pemanggilan Secara
Referensi (Call by Reference)
a)
Pemanggilan secara Referensi merupakan upaya untuk melewatkan
alamat dari suatu variabel ke dalam fungsi.
b b)Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya,
bukan nilai datanya.
c c)Fungsi yang menerima kiriman alamat ini maka menggunakan alamat
yang sama untuk mendapatkan nilai datanya.
d d)Perubahan nilai di fungsi
akan merubah nilai asli di bagian program yang memanggil fungsi.
e e)Pengiriman parameter secara referensi adalah pengiriman dua arah,
yaitu dari fungsi pemanggil ke fungsi yang dipanggil dan juga sebaliknya.
f f) Pengiriman secara acuan tidak dapat bdilakukan untuk suatu
ungkapan.
Contoh:
outputnya:
c
0 comments:
Post a Comment