PERTEMUAN V
FUNCTION
TUGAS PENDAHULUAN
1. 1. Apa yang dimaksud dengan fungsi!
2. 2. Jelaskan yang dimaksud dengan pemanggilan secara
nilai (call by value) dan pemanggilan secara referensi (call by Reference)!
3. 3. Jelaskan yang dimaksud dengan variabel lokal,
variabel eksternal atau global, dan variabel statis!
4. 4. Buatlah contoh program sederhana menggunakan fungsi!
Jawaban
1. 1. Fungsi adalah sekumpulan perintah operasi program
yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat
berupa nilai ataupun sebuah hasil operasi. Nama fungsi yang didefinisikan
sendiri oleh pemrogram tidak boleh sama dengan nama build-in function pada
compiler c++.
2. 2. a. Pemanggil secara nilai (call by value).
- Call by value
akan menyalin nilai dari parameter aktual ke parameter formal.
- Yang dikirimkan
ke fungsi adalah nilai dari datanya, bukan alamat memori letak dari datanya.
-
Fungsi yang
menerima kiriman nilai akan menyimpannya dialamat terpisah dari nilai aslinya
yang digunakan oleh bagian program yang memanggil fungsi
- Perubahan nilai
di fungsi (parameter formal) tidak akan merubah nilai asli dibagian program
yang memanggilnya.
- Pengiriman
parameter secara nilai adalah pengiriman searah, yaitu dari bagian program yang
memanggil fungsi ke fungsi yang dipanggil.
- Pengiriman suatu
nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel,
elemen array atau konstanta saja.
b. Pemanggil secara Referensi (call by Reference)
b. Pemanggil secara Referensi (call by Reference)
- Pemanggilan
secara referensi merupakan upaya untuk melewatkan alamat dari suatu variabel
kedalam fungsi.
- Yang dikirimkan
ke fungsi adalah alamat letak dari nilai datanya, bukan nilai datanya.
- Fungsi yang
menerima kiriman alamat ini maka menggunakan alamat yang sama untuk mendapatkan
nilai datanya.
- Perubahan nilai
di fungsi akan merubah nilai asli dibagian program yang memanggil fungsi.
- Pengiriman
parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi
pemanggil ke fungsi yang dipanggil dan juga sebaliknya.
- Pengiriman
secara acuan tidak dapat dilakukan untuk suatu ungkapan.
3. 3. a. Variabel Lokal (Variabel Otomatis)
Variabel yang
didefinisikan didalam suatu fungsi dan berlaku sebagai variabel lokal bagi
fungsi variabel hanya dikenal didalam fungsi dimana variabel itu didefinisikan
dan tidak dikenal oleh fungsi lain.
Sifat variabel otomatis
:
-
hanya diciptakan
saat fungsi dipanggil.
-
saat fungsi
berakhir, variabel otomatis akan dihapus.
-
hanya dapat
diakses didalam fungsi yang mendefinisikannya.
b. Variabel Eksternal (Variabel Global)
- Variabel yang didefinisikan
diluar fungsi manapun sehingga dikenal oleh semua fungsi.
- Variabel eksternal mempunyai
lifetime selama program dieksekusi.
- Variabel eksternal sebaiknya
digunakan sesedikit mungkin atau bahkan tidak digunakan sama sekali.
c. Variabel Statis
Variabel Statis memiliki beberapa sifat sebagai
berikut :
- Variabel hanya dapat diakses pada
fungsi yang didefinisikannya
- Variabel tidak hilang setelah di
eksekusi berakhir.
Nilai nya akan
tetap dipertahankan sehingga akan dikenali pada pemanggilan fungsi untuk tahap
selanjutnya.
-
Inisialisasi oleh pemrogram hanya
dilakukan sekali saja selama program dijalankan. Jika tidak ada inisialisasi
secara eksplisit, maka variabel di isi dengan nilai nol.
4. 4. Program
sederhana menggunakan fungsi.
//Penggunaan
Fungsi Rekursif:
//Program
mengecek sebuah bilangan integer atau bukan
#include<iostream>
#include<conio.h>
#include<stdio.h>
using
namespace std;
void
cekInt(double);
void
main ()
{
double angka;
cout<<”Masukkan Sebuah Angka
:”;
cin>>angka;
}
void
cekInt(double n)
{
if(n>1) cekInt(n-1);
else if(n<1) cekInt(-n-1);
else
{
if(n>0&&n<1)
cout<<n<<”\tBukan
Bilangan Bulat \n”;
else
cout<<n<<”\t
Bilangan Bulat \n”;
}
}
Hasil Outputnya :
Masukkan Sebuah Angka : 57
Bilangan Bulat
Masukkan Sebuah Angka : 0.57
Bukan Bilangan Bulat
Masukkan Sebuah Angka : -24
Bilangan Bulat
0 komentar:
Posting Komentar