modul 3 (dimas)
TRANSCRIPT
Modul 3 : Fungsi
MODUL 3
FUNGSI
A. Tujuan
a. Mahasiswa mengenal function dalam bahasa C++.
b. Mahasiswa bisa bisa membuat program procedural menggunakan bahasa C++.
B. Dasar Teori
Fungsi
Fungsi merupakan bagian dari kode program yang terpisah dari program
utama. Bagian kode program ini di-execute jika diperlukan untuk melakukan
tindakan khusus dalam program. Fungsi banyak dilibatkan dalam program dengan
tujuan untuk mengurangi duplikasi pengkodean dan untuk mempermudah
pemahaman. Secara sederhana terdapat fungsi yang tidak mengambil satu
parameterpun dan menghasilkan void (data yang tidak memiliki nilai). Namum
pada fungsi yang lain akan mengambil suatu parameter dan mungkin
menghasilkan suatu nilai tertentu.
Parameter merupakan suatu nilai yang di-pass-kan (diseberangkan) pada
fungsi yang berguna untuk mengubah operasinya atau untuk menunjukan operasi
yang lebih luas. Sebelum fungsi digunakan, fungsi harus dideklarasikan dulu.
Deklarasi fungsi (prototype) berguna untuk memberitahukan compiler tentang
bagaimana fungsi diambil dan tipe data yang diambil/dihasilkan. Fungsi dapat
dipanggil oleh fungsi yang lain maupun dirinya sendiri (rekursif).
Deklarasi Fungsi
Dalam bahasa C/C++, fungsi/prosedur merupakan elemen utama dari
program, dimana bahasa C/C++ dibentuk dari sekumpulan fungsi/prosedur.
Terdapat minimal sebuah fungsi/prosedur utama dalam bahasa C/C++ yaitu fungsi
main(), selain itu juga bahasa C/C++ didukung oleh beberapa fungsi-fungsi yang
lain diantaranya fungsi pustaka (library header) dan fungsi/prosedur yang dibuat
oleh pemrogram itu sendiri.
Syntax deklarasi fungsi:
Re_type function_name(parameter);
Praktikum Bahasa Pemrograman III - 1
Modul 3 : Fungsi
Parameter berisi pengenal (argument) dan tipe pengenal (argument) yang
berfungsi sebagai masukkan. Masukkan tersebut akan diproses sehingga
dihasilkan nilai tertentu sesuai tipe datanya (re_type).
Syntax fungsi:Re_type function_name(parameter){statement-statement}
Dalam C++, program merupakan kumpulan dari fungsi-fungsi. C++ mempunyai
fungsi utama yang disebut main. Fungsi merupakan subprogram dan berguna
untuk menjadikan program bersifat modular sehingga dapat digunakan kembali,
baik untuk program itu sendiri maupun untuk program lain yang memiliki proses
yang sama. Fungsi dibedakan menjadi user-define function (didefinisikan sendiri)
dan built-in function (disediakan oleh compiler).
Penggolongan Variabel
1. Variabel lokal :
Variabel lokal merupakan variabel yang dideklarasikan dalam suatu blok
tertentu dan hanya dikenal dalam blok fungsi tersebut. Varibel lokal akan
dihapus dari memori jika proses sudah meninggalkan blok statement letak
variabel lokalnya.
2. Variabel global :
Variabel global merupakan variabel yang dideklarasikan diluar blok fungsi dan
bersifat dapat dikenal oleh semua bagian dari program.
3. Variabel statis :
Variabel statis merupakan variabel yang menahan nilainya sementara
pemanggilan fungsi berlangsung. Variabel ini dapat dideklarasikan di dalam
fungsi tertentu maupun di luar fungsi yang dideklarasikan di luar blok fungsi
dan bersifat dapat dikenal oleh semua bagian dari program.
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 independent artinya tidak tergantung pada fungsi lain. Setiap fungsi hanya
Praktikum Bahasa Pemrograman III - 2
Modul 3 : Fungsi
mengerjakan satu tugas tertentu. Antar fungsi saling berkomunikasi menggunakan
parameter.
Terdapat dua macam bentuk parameter dalam hubungannya dengan penggunaan
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 suatu parameter dalam Bahasa C++ ada dua cara yaitu :
1. Pemanggilan Secara Nilai (Call by Value)
Secara pengertian pemanggilan secara nilai dapat dijabarkan sebagai berikut :
a) Call by value akan menyalin nilai dari parameter aktual ke parameter
formal.
b) Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori
letak dari datanya.
c) Fungsi yang menerima kiriman nilai akan menyimpannya di alamat
terpisah dari nilai aslinya yang digunakan oleh bagian program yang
memanggil fungsi.
d) Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli
di bagian program yang memanggilnya.
e) Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari
bagian program yang memanggil fungsi ke fungsi yang dipanggil.
Praktikum Bahasa Pemrograman III - 3
Modul 3 : Fungsi
f) Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya
untuk sebuah variabel, elemen array atau konstanta saja.
Contoh :#include <iostream.h>int Tambah (int x);void main (){int a,hasil;cout<>a;cout<<"a awal="<<a<<endl;hasil=Tambah(a);cout<<"a akhir="<<a<<endl;cout<<"Hasil:"<<hasil;}int Tambah(int x){cout<<"x awal="<<x<<endl;x=x+2;cout<<"x akhir="<<x<<endl;return x;}
2. Pemanggilan Secara Referensi (Call by Reference)
Untuk variabel di-passed by reference bukan meng-copy nilainya,
melainkan bahkan meng-copy variabelnya sendiri dan modifikasi yang dilakukan
pada variabel lokal memiliki pengaruh.
Passing by reference juag merupakan jalan yang baik untuk mengizinkan fungsi
mengembalikan lebih dari satu nilai.
Secara pengertian pemanggilan secara acuan dapat dijabarkan sebagai berikut :
a) Pemanggilan secara referensi merupakan upaya untuk melewatkan
alamat dari suatu variabel ke dalam fungsi.
b) Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan
nilai datanya.
c) Fungsi yang menerima kiriman alamat ini maka menggunakan alamat
yang sama untuk mendapatkan nilai datanya.
d) Perubahan nilai di fungsi akan merubah nilai asli di bagian program yang
memanggil fungsi.
e) Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu
dari fungsi pemanggil ke fungsi yang dipanggil dan juga sebaliknya.
f) Pengiriman secara acuan tidak dapat dilakukan untuk suatu ungkapan.
Contoh :#include <iostream.h>
Praktikum Bahasa Pemrograman III - 4
Modul 3 : Fungsi
Int Tambah (int &x);//x diberi & untuk referensi //hingga nilai a selalu mengikuti nilai
x //karena a dan x berada dlm satu alamat
memoryvoid main(){int a,hasil;cout<<”Masukkan Bilangan : “;cin>>a;cout<<”nilai a awal= “<<a<<endl;hasil = Tambah(a);cout<<”nilai a akhir= “<<a<<endl;cout<<”Hasil : “<<hasil;}Int Tambah (int &x){cout<<”nilai x awal = “<<x<<endl;x = x+2;cout<<”nilai x akhir = “<<x<<endl;return x;}
Fungsi Tanpa Nilai Balik
C++ tidak mengenal prosedur seperti pada saat menggunakan bahasa
PASCAL. Dalam PASCAL, prosedur didefinisikan sebagai suatu proses yang tidak
mengembalikan nilai. Sebagai gantinya di dalam C++ terdapat fungsi dengan tipe
void, yang berarti tidak memiliki nilai balik (return value). Bentuk umumnya adalah
sebagai berikut:void nama_fungsi (parameter1, parameter2,...){statement_yang_akan dilakukan;...}
Sedangkan bentuk umum pemanggilan sebuah fungsi yang sebelumnya telah
didefinisikan adalah sebagai berikut:nama_fungsi (parameter1, parameter2,...);
Fungsi Dengan Nilai Balik
Berbeda dengan fungsi yang bertipe void, fungsi ini berguna untuk
melakukan suatu proses yang dapat mengembalikan sebuah nilai. Dalam
membuat fungsi ini harus didefinisikan tipe data dari nilai yang akan dikembalikan.
Berikut ini adalah bentuk umumnya:
Praktikum Bahasa Pemrograman III - 5
Modul 3 : Fungsi
tipe_data nama_fungsi (parameter1, parameter2,...){statement_yang_akan_dilakukan;...return nilai_yang_akan_dikembalikan;}
Untuk pemanggilan sama seperti pada fungsi yang tidak mempunyai nilai balik.
C. Permasalahan
Buat kalkulator sederhana untuk melakukan perhitungan penjumlahan,
pengurangan, perkalian, pembagian, perpangkatan, dan pengakaran. Hanya
dengan menggunakan operator + dan - , dan menambahkan untuk menghitung
volume salah satu bangun ruang.
Jawaban Permasalahan:#include <iostream.h>#include <conio.h>
int penjumlahan(int a, int b){
return a+b;}
Praktikum Bahasa Pemrograman III - 6
Modul 3 : Fungsi
int pengurangan(int a, int b){ return a-b;}int perkalian(int a, int b){
int t=0; for (int i=0; i<a; i++) { t=penjumlahan(t,b); } return t;}int pembagian(int a, int b){
int c=0; for(int i=a; i>0; i=pengurangan(i,b)) { c++; } return c;
}int pangkat(int a, int b){
int g=0; for(int i=0; i<b; i++) { g=perkalian(a,a); } return g;}int akar (int a,int x, int hasil){
int h=0,temp; do { temp=perkalian(h,h); h++ ; } while(temp!=a); hasil=h-1; return hasil;}int ruang(int a){ int k=0; int l=0;
k=perkalian(a,a); l=perkalian(a,k); return l;}
void main(){ int a; int b,nilaiakar; int x,hasil;
Praktikum Bahasa Pemrograman III - 7
Modul 3 : Fungsi
cout<<"-----_Kalkulator Sederhana Kelompok 5_-----"<<endl<<endl; cout<<"Masukkan Nilai A : "; cin>>a; cout<<"Masukkan Nilai B : "; cin>>b; cout<<endl<<"____Hasil Akhir____"<<endl; cout<<"Maka penjumlahannya adalah : "<<penjumlahan(a,b)<<endl; cout<<"Maka pengurangannya adalah : "<<pengurangan(a,b)<<endl; cout<<"Maka perkaliannya adalah : "<<perkalian(a,b)<<endl; cout<<"Maka pembagiannya adalah : "<<pembagian(a,b)<<endl; cout<<"Maka pangkatnya adalah : "<<pangkat(a,b)<<endl; cout<<"Maka akarnya adalah : "<<akar(a,x,hasil)<<endl; cout<<"Maka volume bangun ruang (kubus) adalah : "<<ruang(a)<<endl;
getch();}
Hasil setelah dijalankan :
D. Analisa Data
Dari pembuatan program kalkulator sederhana diatas dapat dianalisa sebagai
berikut :
1. File header
#include <iostream.h>#include <conio.h>
Listing program diatas merupakan bagian dari header dari program yang
kami buat, di mana header di atas merupakan library program c++
diantaranya adalah : #include <iostream.h>
Baris ini menginstruksikan kepada kompiler untuk menyisipkan file lain,
saat program dikompilasi dan file iostream.h berisi deklarasi yang
diperlukan oleh cout dan berbagai objek yang berhubungan dengan
Praktikum Bahasa Pemrograman III - 8
Modul 3 : Fungsi
operasi masukan / keluaran ( input / output ) pada stream. Header ini
menerangkan cout, cin dan endl sebagai library-nya agar pada saat di
compile tidak terdapat warning statement missing yang menunjukkan
bahwa library program belum di-include-kan / dimasukkan dalam program
tersebut. #include <conio.h>
Baris ini menginstruksikan untuk menjalankan dan menampilkan
program, bila muncul statement missing getch(); disebabkan karena
conio.h sebagai penerangannya belum dideklarasikan. Sehingga pada
saat di compile program tesebut akan terjadi malrunning (tidak dapat
berjalan) pada program.
2. Fungsi Penjumlahan
int penjumlahan(int a, int b){
return a+b;}
Fungsi diatas adalah fungsi penjumlahan dimana fungsi diatas
menggunakan parameter integer sebagai nilai masukan dan keluarannya.
Dimana nilai pegembaliannya adalah hasil penjumlahan variabel a ditambah
dengan variabel b.
3. Fungsi Pengurangan
int pengurangan(int a, int b){ return a-b;}
Fungsi diatas adalah fungsi pengurangan dimana fungsi diatas
menggunakan parameter integer sebagai nilai masukan dan keluarannya.
Dimana nilai pegembaliannya adalah hasil pengurangan variabel a dikurang
dengan variabel b.
4. Fungsi Perkalian
int perkalian(int a, int b){
int t=0; for (int i=0; i<a; i++) { t=penjumlahan(t,b); } return t;
Praktikum Bahasa Pemrograman III - 9
Modul 3 : Fungsi
}
Fungsi diatas adalah fungsi perkalian dimana fungsi diatas menggunakan
parameter integer sebagai nilai masukan dan keluarannya. Dimisalkan t
bernilai 0 dimana t adalah nilai balik dari fungsi. Untuk nilai perkalian
digunakan perulangan penjumlahan sebanyak kurang dari nilai a. Rumus t
memanggil fungsi penjumlahan dimana yang ditambah adalah nilai b
dijumlahkan sebanyak a.
5. Fungsi Pembagian
int pembagian(int a, int b){
int c=0; for(int i=a; i>0; i=pengurangan(i,b)) { c++; } return c;
}Fungsi diatas adalah fungsi pembagian dimana fungsi diatas menggunakan
parameter integer sebagai nilai masukan dan keluarannya. Dimisalkan c
mula-mula bernilai 0 dimana selanjutnya dilakukan perulangan untuk fungsi
perulangan dimana isi dari fungsi perulangan adalah nilai c++.
6. Fungsi Pangkat
int pangkat(int a, int b){
int g=1; for(int i=0; i<b; i++) { g=perkalian(a,a); } return g;}Fungsi diatas adalah fungsi pangkat dimana fungsi diatas menggunakan
parameter integer sebagai nilai masukan dan keluarannya. Mula-mula
dimisalkan nilai awal g adalah 1, lalu dilakukan perulangan dimana nilai i
kurang dari nilai b dimana isi perulangan itu adalah perkalian antara a
dengan dirinya sendiri karena pangkat dua dalah perkalian antara angka
satu dengan dirinya sendiri . Dan dikembalikan lagi nilainya ke dalam
variabel g.
Praktikum Bahasa Pemrograman III - 10
Modul 3 : Fungsi
7. Fungsi Akar
int akar (int a,int x, int hasil){
int h=0,temp; do { temp=perkalian(h,h); h++ ; } while(temp!=a); hasil=h-1; return hasil;}Fungsi diatas adalah fungsi akar dimana fungsi diatas menggunakan
parameter integer sebagai nilai masukan dan keluarannya. Mula-mula diberi
nilai awal h dengan nilai 0 dan dimasukkan kedalam temp (pemyimpanan
sementara), lalu dilakukan penyeleksian kondisi menggunakan fungsi
perkalian, pada temp=perkalian(h,h); dan nilai dari h akan di-
increment , selama nilai yang ada di temp tidak sama dengan nilai a maka
akan dilanjutkan menghitung dengan nilai h yang lain, jika sudah terpenuhi
maka akan ditampilkan berapa nilai h yang memenuhi a.
8. Fungsi Volume Bangun Ruang
int ruang(int a){ int k=0; int l=0; k=perkalian(a,a); l=perkalian(a,k); return l;}Fungsi diatas adalah fungsi akar dimana fungsi diatas menggunakan
parameter integer sebagai nilai masukan dan keluarannya. Dimana
dideklarasikan dahulu variabel k dan variabel l yang berisi 0. Untuk
perhitungan ini kami menggunakan perhitungan volume untuk bangun ruang
kubus dimana rumus volume kubus adalah s3 dengan menggunakan fungsi
perkalian bertingkat. Mula-mula perkalian variabel k merupakan perkalian
sxs jika dirumuskan menjadi k=s x s , lalu tingkat kedua variabel l adalah
hasil perkalian antara nilai k dengan nilai a jika dirumuskan menjadi l=k x
a. Jadi jika dirumuskan semua menjadi l=a x (a x a).
9. Fungsi Utama
void main()
Praktikum Bahasa Pemrograman III - 11
Modul 3 : Fungsi
{ int a; int b,nilaiakar; int x,hasil;
cout<<"-----_Kalkulator Sederhana Kelompok 5_-----"<<endl<<endl; cout<<"Masukkan Nilai A : "; cin>>a; cout<<"Masukkan Nilai B : "; cin>>b; cout<<endl<<"____Hasil Akhir____"<<endl; cout<<"Maka penjumlahannya adalah : "<<penjumlahan(a,b)<<endl; cout<<"Maka pengurangannya adalah : "<<pengurangan(a,b)<<endl; cout<<"Maka perkaliannya adalah : "<<perkalian(a,b)<<endl; cout<<"Maka pembagiannya adalah : "<<pembagian(a,b)<<endl; cout<<"Maka pangkatnya adalah : "<<pangkat(a,b)<<endl; cout<<"Maka akarnya adalah : "<<akar(a,x,hasil)<<endl; cout<<"Maka volume bangun ruang (kubus) adalah : "<<ruang(a)<<endl;
getch();}Fungsi utama beriisi fungsi tampil dan variabel input-an nilai dari fungsi-
fungsi yang telah dibuat.
E. Kesimpulan
1. Deklarasi fungsi berguna untuk memberitahukan compiler tentang bagaimana
fungsi diambil dan tipe data yang diambil/dihasilkan.
2. Fungsi dapat dipanggil oleh fungsi yang lain maupun dirinya sendiri (rekursif).
3. Penggolongan variabel ada 3 macam yaitu : Variabel Lokal, Variabel Global, dan
Variabel Statis.
4. Parameter adalah sarana komunikasi antar fungsi. Terdapat 2 jenis parameter
terkait penggunaannya sebagai saran komunikasi antar fungsi yaitu Parameter
Formal dan Parameter Aktual.
5. Cara melewatkan parameter dalam C++ ada 2 yaitu : Pemanggilan Secara Nilai
(Call by Value) dan Pemanggilan Secara Acuan (Call by Refference).
6. Ada 2 jenis fungsi :
Fungsi Tanpa Nilai Balik
Fungsi dengan tipe void dan tidak memiliki return value.
Praktikum Bahasa Pemrograman III - 12
Modul 3 : Fungsi
Fungsi Dengan Nilai Balik
Berbeda dengan fungsi yang bertipe void, fungsi ini berguna untuk
melakukan suatu proses yang dapat mengembalikan sebuah nilai. Dalam
membuat fungsi ini harus didefinisikan tipe data dari nilai yang akan
dikembalikan.
F. Tugas Pendahuluan
Buatlah program kalkulator sederhana untuk melakukan operasi penjumlahan,
pengurangan, perkalian, pembagian dan perpangkatan.
Jawaban pertanyaan :
#include <iostream.h>#include <conio.h>#include <math.h>
void main(){
int a,b,c,pilih;
int p,q,r,t; float s; clrscr();
cout<<"Menu kali ini "<<endl; cout<<"1. Penjumlahan "<<endl; cout<<"2. Pengurangan "<<endl; cout<<"3. Perkalian "<<endl;
cout<<"4. Pembagian "<<endl; cout<<"5. Perpangkatan "<<endl<<endl;
cin>>pilih; cout<<endl;
Praktikum Bahasa Pemrograman III - 13
Modul 3 : Fungsi
switch(pilih) { case 1: cout<<"Masukkan Nilai a "; cin>>a; cout<<"Masukkan Nilai b "; cin>>b; p=a+b; cout<<"Maka hasilnya = "<<p<<endl; break;
case 2: cout<<"Masukkan Nilai a "; cin>>a; cout<<"Masukkan Nilai b "; cin>>b; q=a-b; cout<<"Maka hasilnya = "<<q<<endl; break; case 3: cout<<"Masukkan Nilai a "; cin>>a; cout<<"Masukkan Nilai b "; cin>>b; r=a*b; cout<<"Maka hasilnya = "<<r<<endl; break; case 4: cout<<"Masukkan Nilai a "; cin>>a; cout<<"Masukkan Nilai b "; cin>>b; s=a/b; cout<<"Maka hasilnya = "<<s<<endl; break; case 5: cout<<"Masukkan Nilai a "; cin>>a; cout<<"Masukkan Nilai b "; cin>>b; t=pow(a,b); cout<<"Maka hasilnya = "<<s<<endl; break;
default: cout<<"Pilih dunk cuy....."<<endl; }
cout<<endl<<"Press Any Key to Exit......"; getch();}
Hasil running :
1. 2.
Praktikum Bahasa Pemrograman III - 14
Modul 3 : Fungsi
DAFTAR PUSTAKA
Tarjianto . 2010 . Fungsi dan Prosedur pada c++ << belajar . html ,
http://tarjianto.wordpress.com/2010/03/12/fungsi-dan-prosedur-pada-c/ diakses
pada tanggal 9 November 2012
Nono Heryana . 2009 . Makalah on Function C++ . html ,
http://www.scribd.com/doc/24584122/makalah- function-on-C#download diakses
pada tanggal 9 November 2012
Zyzah . 2011 . Parameter dalam bahasa c++ . html .
http://zyzah.wordpress.com/2011/04/23/parameter-dalam-bahasa-c/ diakses pada
tanggal 9 November 2012
Danang Junaedi . 2008 . minggu-11-12.pdf . pdf .
http://danangjunaedi.files.wordpress.com/2008/11/minggu-11-12.pdf diakses pada
tanggal 9 November 2012
Vesiiz . 2009 . Parameter . html .
http://ve511z.wordpress.com/2009/10/10/parameter/ diakses pada tanggal 9
November 2012
Praktikum Bahasa Pemrograman III - 16
Modul 3 : Fungsi
TUGAS 1
VARIABEL
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu
nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya
selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk
memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment
statement), yang mempunyai sintaks sebagai berikut :
variable = ekspresi ;
Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan
sebagai berikut :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus
berupa huruf. Bahasa C ++ bersifat case-sensitive artinya huruf besar dan
kecil dianggap berbeda. Jadi antara nim, NIM dan Nim dianggap berbeda.
Praktikum Bahasa Pemrograman III - 17
Modul 3 : Fungsi
2. Tidak boleh mengandung spasi.
3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (un-derscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &, *, (, ), -, +, = dsb.
4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan variabel yang benar : NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.Contoh penamaan variabel yang salah : %nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting! dsb
Contoh Program :#include <iostream.h>#include <conio.h>void main (){int n;n=66; // sama juga jika ditulis int n=66;cout << n << endl; // n sebagai variabelcout << 'n' << endl; // endl sebagai karaktergetch();}
Hasil running:
ParameterParameter yaitu 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 independent 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 fungsidalam 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.
Contoh Program:
Praktikum Bahasa Pemrograman III - 18
Modul 3 : Fungsi
#include <iostream.h>#include <conio.h>
double hasil(int A, int B) // parameter formal{return (A * B);}
void main(){
int a=2;int b=3;
cout<<"hasil= "<<hasil(a,b);getch();}
Hasil running :
Pemanggilan Parameter Secara Acuan (Call by Reference)
Pemanggilan parameter secara acuan bersifat dua arah (bolak – balik).
Bila nilai parameter formal berubah, maka nilai parameter nyata ikut berubah.
Pemanggilan secara referensi merupaka upaya untuk melewatkan alamat
dari suatu variabel kedalam fungsi tertentu dimana yang dikirim adalah
alamat memori yang berisi variabel tertentu bukan isi variabel-nya.
Perubahan nilai dari fungsi akan merubah nilai asli dari bagian dari program
yang memanggil fungsi, pengiriman parameter berdasasrkan acuan ini adalah
pengiriman dua arah antara fungsi yang dipanggil dan yang memamnggil.
Contoh program :#include <iostream.h>#include <conio.h>int Tambah (int &x);//x diberi & untuk referensi
//hingga nilai a selalu mengikuti nilai x
//karena a dan x berada dlm satu alamat memoryvoid main(){int a,hasil;cout<<"Masukkan Bilangan : ";
Praktikum Bahasa Pemrograman III - 19
Modul 3 : Fungsi
cin>>a;cout<<"nilai a awal= "<<a<<endl;hasil = Tambah(a);cout<<"nilai a akhir= "<<a<<endl;cout<<"Hasil : "<<hasil;getch();}int Tambah (int &x){cout<<"nilai x awal = "<<x<<endl;x = x+2;cout<<"nilai x akhir = "<<x<<endl;return x;}
Hasil running :
Pemanggilan Parameter Secara Nilai (Call by Value)
Pemanggilan parameter secara nilai bersifat searah yaitu dari parameter
nyata ke parameter formal. Bila nilai parameter formal berubah, maka nilai
parameter nyata tidak berubah. Fungsi yang menerima kiriman nilai akan
menyimpannya di alamat terpisah dari nilai aslinya yang digunakan oleh
bagian program yang memanggil fungsi. Pengiriman parameter secara nilai
adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi
ke fungsi yang dipanggil.
Contoh program :#include <iostream.h>#include <conio.h>int Tambah (int x);void main (){int a=1;int hasil;cout<<a;cout<<"a awal="<<a<<endl;hasil=Tambah(a);cout<<"a akhir="<<a<<endl;cout<<"Hasil:"<<hasil;getch();
Praktikum Bahasa Pemrograman III - 20
Modul 3 : Fungsi
}int Tambah(int x){cout<<"x awal="<<x<<endl;x=x+2;cout<<"x akhir="<<x<<endl;return x;}
Hasil running :
Penggolongan variabel C++
Variabel lokal
Variabel lokal merupakan variabel yang dideklarasikan dalam suatu blok
tertentu dan hanya dikenal dalam blok fungsi tersebut. Varibel lokal akan
dihapus dari memori jika proses sudah meninggalkan blok statement letak
variabel lokalnya.
Variabel global
Variabel global merupakan variabel yang dideklarasikan diluar blok
fungsi dan bersifat dapat dikenal oleh semua bagian dari program.
Variabel statis
Variabel statis merupakan variabel yang menahan nilainya sementara
pemanggilan fungsi berlangsung. Variabel ini dapat dideklarasikan di dalam
fungsi tertentu maupun di luar fungsi yang dideklarasikan di luar blok fungsi
dan bersifat dapat dikenal oleh semua bagian dari program.
Contoh Program :#include <iostream.h>#include <conio.h>
int jumlah (int a, int b) //variabel lokal{
return a+b;}
Praktikum Bahasa Pemrograman III - 21
Modul 3 : Fungsi
void main(){int a=2; //variabel statisint b; //variabel global
cout<<"masukkan nilai b : ";cin>>b;cout<<"penjumlahan = "<<jumlah(a,b);getch();}
Hasil running :
Tugas
Buatlah program mengambil nilai “ u “ dari umur anda .
Jawaban pertanyaan :
#include <iostream.h>#include <conio.h>
void setumur (){
int u; cout<<"Masukkan umur : ";
cin>>u; cout<<"nilai u : "<<u;}
void main(){ setumur();
getch();}
Hasil running :
Praktikum Bahasa Pemrograman III - 22