Modul III - Fungsi
Modul III - Fungsi
MODUL 3
FUNGSI
A. Tujuan
1. Mahasiswa mengenal function dalam bahasa C / C++.
2. Mahasiswa bisa membuat program procedural dengan bahasa C / C++.
B. Dasar Teori
Fungsi
Pada pemrograman C++ selalu terdapat sebuah fungsi utama atau sub-
Fungsi a()
Fungsi b()
Fungsi c()
Fungsi c1()
Fungsi c2()
Modul III - 1
Modul 3 Fungsi
Setiap fungsi yang dipanggil di dalam program harus didefinisikan. Letaknya bisa dimana
saja. Khusus untuk fungsi yang disediakan di system, definisinya sebenarnya ada dalam
pustaka, yang akan digabungkan dengan program sewaktu proses linking.
Deklarasi Fungsi
Deklarasi fungsi atau sering disebut dengan prototype fungsi dimaksudkan untuk
mendeklarasikan fungsi agar dapat dipanggil. Deklarasi fungsi berupa :
1) Tipe nilai balik.
2) Nama fungsi.
3) Jumlah dan tipe argument.
Dan diakhiri dengan titik koma, sebagaimana pendeklarasian variabel.
Sebagai contoh :
long kuadrat(long);
Pada contoh ini fungsi kuadrat() mempunyai argument bertipe long dan nilai
balik bertipe long.
int maks(int a,intb);
Pada contoh ini fungsi maks() mempunyai dua argument bertipe integer
dan nilai balik bertipe integer juga.
void garis();
Pada contoh ini fungsi garis() tidak memiliki argument dan nilai baliknya
tidak ada (void).
Penggolongan Variabel
Variabel lokal atau Local variable adalah sebuah variabel sederhana yang
dideklarasikan di dalam sebuah blok program. Ini bisa diakses hanya dari dalam blok
itu sendiri. Karena bagian dari fungsi itu sendiri adalah blok, variabel dideklarasikan
ke dalam sebuah fungsi yang local di fungsi itu. Mereka ada hanya ketika fungsi itu
sedang dieksekusi. Sebuah formal parameter (argument) dari fungsi akan menjadi
lokal di fungsi itu. Variabel global memiliki ruang lingkup sepanjang semua program
dijalankan maka variabel global akan tetap dikenali dimanapun bagian atau blok
dalam bagian kode program dijalankan.
Contoh :
Praktikum algoritma dan pemrograman 2016
Modul III - 2
Modul 3 Fungsi
int f, n;
int factorial()
{
if (n < 0) return 0;
f = 1;
while (n > 1)
f *= n--;
return f;
Parameter
Parameter fungsi digunakan untuk mengirimkan parameter (nilai) ke suatu fungsi.
, sedangkan argumen
merupakan masukan pada sebuah fungsi ketika fungsi tersebut dipanggil pada sebuah
fungsi main. Parameter fungsi harus bertipe data tertentu. [1] Terdapat 2 jenis parameter,
yaitu:
1. Parameter formal: Parameter yang ditulis pada deklarasi fungsi.
2. Parameter aktual: Parameter yang dimasukkan dalam program pemanggil fungsi
tersebut, sering disebut dengan argumen.
Pengiriman parameter ke suatu fungsi dapat dilakukan dengan dua cara, yaitu
pengiriman secara nilai (by value) dan pengiriman secara acuan (by reference).
1. Pengiriman Parameter Secara Nilai (By Value)
Pengiriman parameter secara nilai mempunyai karakteristik sebagai berikut:
Nilai parameter yang dikirim ke fungsi tidak mempengaruhi nilai parameter pada
Modul III - 3
Modul 3 Fungsi
a) Nilai parameter yang dikirim ke fungsi tidak mempengaruhi nilai parameter pada
bagian program yang memanggil fungsi tersebut.
b) Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian
program yang memanggil fungsi ke fungsi yang dipanggil.
c) Pengiriman parameter secara nilai dapat dilakukan untuk suatu ungkapan, variabel,
elemen array atau konstanta.
suatu keterangan saja. Penggunaan fungsi tanpa nilai balik salah satunya
menggunakan void.
Modul III - 4
Modul 3 Fungsi
int z;
z = addition (5,3);
cout << "The result is " << z;
getch();
C. Permasalahan
Buatlah dengan metode fungsi yaitu
1.
2.
3.
4.
Luas Segitiga
Volume balok
Luas Persegi
Luas Layang-layang
Modul III - 5
Modul 3 Fungsi
Flowchart :
Source Code :
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
int al, ti, lp, pa, le,vb, lse, si, ll, d1,d2;
void segitiga()
{
cout<<"============================\n";
cout<<"\tLuas Segitiga\n\n";
cout<<"Masukkan nilai alas : ";
cin>>al;
cout<<"Masukkan nilai tinggi : ";
cin>>ti;
lse=al*ti/2;
cout<<"Luas segitiga : "<<lse;
cout<<endl;
cout<<"============================\n";
cout<<endl;
}
void balok()
{
cout<<"\tVolume Balok\n";
cout<<"Masukkan nilai panjang : ";
cin>>pa;
cout<<"Masukkan nilai lebar : ";
cin>>le;
cout<<"Masukkan nilai tinggi : ";
cin>>ti;
vb=pa*le*ti;
cout<<"Volume Balok : "<<vb;
cout<<endl;
cout<<"============================\n";
cout<<endl;
}
void persegi()
{
cout<<"\tLuas Persegi\n";
cout<<"Masukkan nilai sisi : ";
cin>>si;
lp=si*si;
cout<<"Luas Persegi : "<<lp;
cout<<endl;
cout<<"============================\n";
cout<<endl;
}
Modul III - 6
Modul 3 Fungsi
void layang()
{
cout<<"\tLuas Layang-layang\n";
cout<<"Masukkan nilai diagonal 1 : ";
cin>>d1;
cout<<"Masukkan nilai diagonal 2 : ";
cin>>d2;
ll=d1*d2/2;
cout<<"Luas Layang-layang : "<<ll;
cout<<endl;
cout<<"============================\n";
cout<<endl;
}
void main()
{
char pilih;
char y;
char n;
do
{
clrscr();
cout<<"=========================\n";
cout<<"\tMenu Pilihan\n\n";
cout<<"1. Luas Segitiga\n";
cout<<"2. Volume balok\n";
cout<<"3. Luas Persegi\n";
cout<<"4. Luas Layang-layang\n\n";
cout<<"=========================\n";
cin>>pilih;
clrscr();
cout<<"============================\n";
cout<<"\|\tPilihan Anda
|\n";
cout<<"============================\n";
switch(pilih)
{
case'1':
segitiga();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'2':
balok();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'3':
persegi();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'4':
layang();
Modul III - 7
Modul 3 Fungsi
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
default:
cout<<"Pilihan tidak ada\n";
cout<<"Anda ingin Mengulang![y/n]";
cin>>y;
cin>>n>>"silahkan exit program";
clrscr();
}
}
while(y=='y'||y=='Y'||n=='n'||n=='N');
cout<<"Silahkan exit program !!!\n\n";
system("pause");
}
getch();
Modul III - 8
Modul 3 Fungsi
Hasil Compile :
Modul III - 9
Modul 3 Fungsi
Modul III - 10
Modul 3 Fungsi
D. Analisa Data
1.
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
Modul III - 11
Modul 3 Fungsi
Script program diatas merupakan bagian header yakin berperan sebagai library dari
statement yang ada di dalam program, supaya statement yang digunakan pada program
dapat di kenal.
#include
<iostream.h>
2
.
void
void
void
void
void
segitiga()
balok()
persegi()
layang()
main()
void main()
void segitiga()
void balok()
Modul III - 12
Modul 3 Fungsi
Merupakan script pendeklarasian sebuah fungsi yang bernama
fungsi persegi. Cara penulisan dan cara kerja fungsi ini sama dengan
fungsi utama di atas.
void layang()
int al, ti, lp, pa, le,vb, lse, si, ll, d1,d2;
char pilih;
char y;
char n;
switch(pilih){
case'1':segitiga();break;
case'2':balok();break;
case'3':persegi();break;
case'4':layang();break;
default:cout<<"Pilihan tidak ada\n";}
Do
{
}
while(y=='y'||y=='Y'||n=='n'||n=='N');
Modul III - 13
Modul 3 Fungsi
6
.
cout<<"\tMenu Pilihan\n\n";
cout<<"1. Luas Segitiga\n";
cout<<"2. Volume balok\n";
cout<<"3. Luas Persegi\n";
cout<<"4. Luas Layang-layang\n\n";
cin>>pilih;
Perintah cout di atas merupakan
system("pause");
getch();
E. Kesimpulan
1. Fungsi adalah suatu blok kode yang melakukan tugas tertentu atau suatu blok
instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program.
2. Fungsi dapat memisahkan langkah-langkah dari satu atau lebih fungsi, maka
fungsi utama menjadi lebih pendek, jelas dan mudah dimengerti. Fungsi harus
Praktikum algoritma dan pemrograman 2016
Modul III - 14
Modul 3 Fungsi
memiliki nama dan parameter sebagai pembeda antara fungsi yang satu dengan
fungsi yang lain.
3. Program procedural merupakan program yang terstruktur dengan rapi. Terdapat
dua cara dalam penulisan fungsi, yang pertama kita menuliskan fungsi di atas
fungsi utama(main). Yang kedua kita menuliskan fungsi dibawah fungsi
utama(main), namun harus dikenalkan dulu di awal program menggunakan
prototype atau menggunakan deklarasi global dari fungsi tersebut agar fungsi
tersebut dapat dikenali oleh fungsi utama (main) dan bahkan dapat dikenali
setiap fungsi.
4. Dalam fungsi utama dapat digunakan proses perulangan maupun control untuk
mengenali fungsi dinamis yang banyak.
5. Dalam pembuatan fungsi dinamis harus jelas masukan dan keluarannya sehingga
ketika di panggil pada fungsi utama dapat dijalankan.
Tugas Pendahuluan
1. Buatlah sebuah program biodata mahasiswa dgn menggunakan "fungsi" dan ketentuan
inputannya sbb:
A. Nama
B. Ttl
Modul III - 15
Modul 3 Fungsi
C. Alamat
D. Universitas
E. Fakultas/prodi
F. Semester
Source code
#include <iostream.h>
#include <conio.h>
void nama ()
{
cout<<"Halbat Akmaral Aziad"<<endl; }
void ttl ()
{
cout<<"Sakra, 30 Agustus 1996"<<endl; }
void univ ()
{
cout<<"Universitas Mataram"<<endl; }
void fpro ()
{
cout<<"Teknik/Teknik Elektro"<<endl; }
void smt ()
{
cout<<"2"<<endl; }
int main ()
{
cout<<"Nama
: ";nama ();
cout<<"Tempat, tanggal lahir : ";ttl ();
cout<<"Universitas
: ";univ ();
cout<<"Fakultas/Prodi
: ";fpro ();
cout<<"Semester
: ";smt ();
getch ();
}
Hasil compile :
Tugas
Buatlah program function untuk menampilkan macam-macam pekerjaan.
Source code :
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
Modul III - 16
Modul 3 Fungsi
void polisi()
{
cout<<"1. Memelihara keamanan dan ketertiban masyarakat\n";
cout<<"2. Menegakkan hukum\n";
cout<<"3. Memberikan perlindunga, pengayoman, dan pelayanan
kepada masyarakat\n";
cout<<endl;
}
void pedagang()
{
cout<<"Menjual barang / kebutuhan masyarakat";
cout<<endl;
}
void nelayan()
{
cout<<"Menangkap dan menjual ikan";
cout<<endl;
}
void dokter()
{
cout<<"1. Memeriksa Pasien\n";
cout<<"2. Memberi resep obat\n";
cout<<endl;
}
void pilot()
{
cout<<"1. Menerbangkan pesawat\n";
cout<<"2. Menjaga keselamatan para penumpang\n";
cout<<endl;
}
void pramugari()
{
cout<<"1. Memberi pengarahan kepada penumpang\n";
cout<<"2. Melayani para penumpang\n";
cout<<endl;
}
void peragawan()
{
cout<<"Memamerkan baju hasil rancangan desainer di atas
panggung";
cout<<endl;
}
void sekretaris()
{
cout<<"1. Membantu pemimpin perusahaan dalam melaksanakan
tugas\n";
cout<<"2. Mengatur jadwal pertemuan\n";
cout<<"3. Memberikan ide-ide\n";
cout<<"dan lain-lain\n";
cout<<endl;
Modul III - 17
Modul 3 Fungsi
}
void eva()
{
cout<<"Membuat es krim";
cout<<endl;
}
void albat()
{
cout<<"Ketua kelompok";
cout<<endl;
}
void akbar()
{
cout<<"anggota kelompok";
cout<<endl;
}
void main()
{
char pilih;
char y;
char n;
do
{
clrscr();
cout<<"=========================\n";
cout<<"\tMenu Pekerjaan\n\n";
cout<<"1. Polisi\n";
cout<<"2. Pedagang\n";
cout<<"3. Nelayan\n";
cout<<"4. Dokter\n";
cout<<"5. Pilot\n";
cout<<"6. Pramugari\n";
cout<<"7. Peragawan\n";
cout<<"8. Sektretaris\n";
cout<<"9. Eva\n";
cout<<"10. Albat\n";
cout<<"11. Akbar\n";
cout<<"=========================\n";
cin>>pilih;
clrscr();
cout<<"========================================\n";
cout<<"\|\t\tPilihan Anda
|\n";
cout<<"========================================\n";
switch(pilih)
{
case'1':
polisi();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'2':
Modul III - 18
Modul 3 Fungsi
pedagang();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'3':
nelayan();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'4':
dokter();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'5':
pilot();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'6':
pramugari();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'7':
peragawan();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'8':
sekretaris();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'9':
eva();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'10':
albat();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
case'11':
akbar();
cout<<"Anda ingin Mengulang![y/n] ";
cin>>y;
break;
default:
cout<<"Pilihan tidak ada\n";
cout<<"Anda ingin Mengulang![y/n]";
cin>>y;
cin>>n>>"silahkan exit program";
clrscr();
}
}
Modul III - 19
Modul 3 Fungsi
while(y=='y'||y=='Y'||n=='n'||n=='N');
cout<<"Silahkan exit program !!!\n\n";
system("pause");
}
getch();
Hasil Compile :
DAFTAR PUSTAKA
[1]Anonim.2016.Modul Praktikum Algoritma dan Pemrograman.Laboratorium Informatika
Fakultas Teknik Jurusan Teknik Elektro UNIVERSITAS MATARAM
Praktikum algoritma dan pemrograman 2016
20
Modul III -
Modul 3 Fungsi
[2]Senja.Awan.PENGENALAN BAHASA C++.13 mei 2016
http://penesenja.blogspot.co.id/2014/05/pengenalan-bahasa-c.html
[3]Senja.Awan.Fungsi dalam C++.13 mei 2016
http://penesenja.blogspot.co.id/2014/05/pengenalan-bahasa-c.html
[4]Rifansyah, Gandi.FUNGSI/FUNCTION.13 mei 2016.
http://gandirifansyah.blogspot.co.id/2013/05/fungsi-function.html
Modul III - 21