modul 3 (dimas)

33
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 Praktikum Bahasa Pemrograman III - 1

Upload: zulkarnaenadis

Post on 26-Oct-2015

82 views

Category:

Documents


1 download

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

3. 4.

5.

Praktikum Bahasa Pemrograman III - 15

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