Anda di halaman 1dari 26

Fungsi (Part 1)

Santi Prayudani, M.Kom


Pengertian
Fungsi adalah bagian dari program yang
memiliki nama tertentu yang unik,
digunakan untuk mengerjakan suatu
pekerjaan tertentu, dan letaknya terpisah
dari bagian program yang
menggunakan/memanggil fungsi tersebut.
Keuntungan Menggunakan Fungsi
 Program yang besar dapat dipecah-pecah menjadi
program-program kecil yang dapat dikerjakan oleh
beberapa orang.
 Kemudahan dalam mencari kesalahan program
karena alur logika lebih jelas, dan kesalahan dapat
dilokalisasir dalam suatu modul tertentu.
 Modifikasi dapat dilakukan pada suatu modul tertentu
saja tanpa mengganggu program keseluruhan.
 Mempermudah dokumentasi.
 Reusability: suatu fungsi dapat digunakan kembali
atau dipanggil secara berulang-ulang oleh program
atau fungsi lain.
Kategori Fungsi
1.Standard Library Function
Fungsi-fungsi yang telah disediakan oleh C dalam file
header atau library-nya.
Contoh: setw(), getch(), dll.

2. Programmer Defined Function


Fungsi-fungsi yang dibuat oleh programmer sendiri.
Fungsi ini memiliki nama tertentu yang unik dalam
program, yang terpisah dari program utama dan bisa
dijadikan satu ke dalam suatu library buatan
programmer itu sendiri yang kemudian juga di-
includekan untuk penggunaannya.
Struktur Fungsi (1)
Suatu fungsi secara umum terdiri dari dua
buah komponen utama, yaitu:
Defenisi Fungsi, yaitu berisi dengan tipe
dari fungsi, nama dari fungsi dan argumen-
argumennya jika digunakan.
Tubuh Fungsi, yaitu berisi dengan
statemen-statemen yang akan melakukan
tugas yang diberikan kepada fungsi
bersangkutan yang ditulis di dalam tanda
kurung kurawal buka ‘ { ‘ dan tutup ‘ } ‘
Struktur Fungsi (2)
Bentuk penulisan fungsi sebagai berikut:
tipe nama_fungsi(tipe argumen1,tipe argumen2,...)
{
statemen1;
statemen2;
}
Aturan-aturan penulisan fungsi sbb:
1. Defenisi fungsi ditulis sebelum tubuh fungsi tanpa diakhiri dengan titik koma.
2. Tipe di defenisi fungsi menunjukkan tipe dari fungsi. Tipe dari fungsi tergantung dari
tipe data nilai yang dikembalikan oleh fungsi (hasil balik yang akan yang diberikan
oleh fungsi). Jika hasil nilai yang dikembalikan fungsi misalnya berupa nilai
numerik pecahan, maka tipe dari fungsi dapat dibuat float atau double atau long
double tergantung dari ketepatan yang diinginkan. Jika fungsi tidak memberikan
hasil balik (nilai yang dikembalikan) maka tipenya adalah void.
3. Nama dari fungsi merupakan nama yang dibentuk sendiri oleh pembuat program.
4. Sebuah fungsi dapat mempunyai satu atau lebih argumen-argumen atau parameter-
parameter atau masukan-masukan yang ditulis dengan dipisahkan oleh koma atau
suatu fungsi dapat tidak mempunyai argumen sama sekali. Jika argumen tidak
digunakan, kurung buka dan kurung tutup setelah nama fungsi tetap dituliskan.
Argumen atau parameter dimaksudkan sebagai alat komunikasi untuk data yang
dikirimkan dari bagian program yang menggunakan fungsi ke fungsi yang bersangkutan.
Cara menuliskan paramater atau argumen yaitu dengan menuliskan tipe datanya
terlebih dahulu kemudian diikuti nama parameternya.
Definisi Fungsi (1)
Setiapfungsi yang dipanggil di dalam
program harus didefinisikan.
long kuadrat(long l)
{
long hasil;
hasil = l * l;
return(hasil);
}
Definisi Fungsi (2)
Apabila fungsi tidak memiliki nilai
balik, maka tipe nilai baliknya adalah
void.
Fungsi tanpa nilai balik tidak
memerlukan pernyataan return pada
definisinya.
Parameter dan Nilai Balik
Umumnya fungsi menerima masukan
yang disebut argumen atau parameter.
Masukan/argumen/parameter diolah
oleh fungsi dan menghasilkan sebuah
nilai balik (return value).
Prototipe Fungsi
 Deklarasi fungsi dikenal dengan sebutan
prototipe fungsi.
 Prototipe ini berupa :
◦ Nama fungsi
◦ Tipe nilai balik fungsi
◦ Jumlah dan tipe argumen
 Dan diakhiri dengan tanda titik koma (;)
sebagaimana pada pendeklarasian variabel.
 Manfaat prototipe fungsi adalah untuk
menjamin tipe argumen yang dilewatkan pada
pemanggilan fungsi benar-benar sesuai.
Struktur Prototipe Fungsi
Bentuk umum dari prototipe fungsi adalah sebagai
berikut:
tipe nama_fungsi(tipe argumen1, tipe argumen2, ...);

Contoh penulisan deklarasi fungsi yang benar: 


 char Ke_Besar();
 void Tampil_N();
 void Hapus_Layar();
 double Maksimum();
 long kuadrat(long l);
 int maksimal(int a, int b, int c);
 double terbesar(double x, double y);
 void garis();
Pemanggilan Fungsi
 Pada pemanggilan sebuah fungsi, cukup dengan
menuliskan nama fungsinya dan parameter-
parameternya jika ada.
 Bentuk penulisan pemanggilan fungsi ketika ingin
digunakan adalah sebagai berikut:
nama_fungsi(argumen1,argumen2,...);

Contoh pemanggilan fungsi yang benar: 


 Ke_Besar(C);
 Tampil_N(N);
 Hapus_Layar();
 Maksimum(X,Y);
//program56.cpp
#include<iostream.h>
#include<conio.h>
void garis(); //prototipe/deklarasi fungsi
main()
{
garis();
cout<<"Program Percobaan Fungsi";
cout<<endl;
garis();
cout<<"Fungsi digunakan untuk menghemat program";
cout<<endl;
cout<<"Fungsi dapat dipanggil berkali-kali dalam program";
cout<<endl;
garis();
getch();
}
void garis() //definisi fungsi
{
for(int i=1;i<=50;i++)
{
cout<<"-";
}
cout<<endl;
}
//program57.cpp
#include<iostream.h>
#include<conio.h>

int CETAK();

main()
{
CETAK();
getch();
}

int CETAK()
{
int a,b,c;
a=5; b=2;
c=a+b;

cout<<c<<endl<<endl;
}
//program58.cpp
#include<iostream>
using namespace std;

int kali(int a,int b, int c) //definisi fungsi


{
 int x;
 x = a * b * c;
 return(x);
}
main() //di bawah ini adalah program utama
{
 int a,b,c;
 cout<<"Masukkan angka 1 : ";cin>>a;
 cout<<"Masukkan angka 2 : ";cin>>b;
 cout<<"Masukkan angka 3 : ";cin>>c;
 cout<<"Hasil perkalian adalah "<<kali(a,b,c);
 cout<<endl;
system("pause");
return(0);
}
Jenis Fungsi
Ada dua (2) jenis fungsi yaitu :
1. Fungsi yang tidak mengembalikan nilai
(void)
2. Fungsi yang mengembalikan nilai
(nonvoid)
Fungsi Void
 Fungsi yang void sering disebut juga prosedur.
 Disebut void karena fungsi tersebut tidak
mengembalikan suatu nilai keluaran yang didapat
dari hasil proses fungsi tersebut.
 Ciri-cirinya :

◦ Tidak adanya keyword return.


◦ Tidak adanya tipe data di dalam deklarasi
fungsi.
◦ Menggunakan keyword void.
 Tidak dapat langsung ditampilkan hasilnya.
 Tidak memiliki nilai kembalian fungsi.
Fungsi NonVoid
Fungsi non-void disebut juga function.
Disebut non-void karena mengembalikannilai
kembalian yang berasal dari keluaran hasil
proses function tersebut.
 Ciri-cirinya :
◦ Ada keyword return
◦ Ada tipe data yang mengawali deklarasi
fungsi
◦ Tidak ada keyword void
Memiliki nilai kembalian
Dapat dianalogikan sebagai suatu variabel
yang memiliki tipe data tertentu sehingga
dapat langsung ditampilkan hasilnya.
Contoh Void & NonVoid
Void :
void jml(int a,int b)
{
int jml;
jml = a + b;
cout<<jml;
}

Non-void :
int jumlah(int a,int b)
{
int jml;
jml = a + b;
return(jml);
}
Fungsi Dengan Nilai Balik/NonVoid
//program59.cpp
#include <iostream.h>
#include <conio.h>

int maks(int a, int b, int c);

main()
{
int a, b, c, minim;
cout<<"Masukkan A : ";cin>>a;
cout<<"Masukkan B : ";cin>>b;
cout<<"Masukkan C : ";cin>>c;
minim = maks(a, b, c);
cout<<"Bilangan terkecil = "<<minim<<endl<<endl;

getch();
}

int maks(int a, int b, int c)


{
int kecil;

if (a<b)
kecil = a;
else
kecil = b;
if (c<kecil)
kecil = c;
return(kecil);
}
Fungsi Tanpa Nilai Balik/Void
//program60.cpp
#include <iostream.h>
#include <conio.h>

void maks(int a, int b, int c);

main()
{
int a, b, c, minim;
cout<<"Masukkan A : ";cin>>a;
cout<<"Masukkan B : ";cin>>b;
cout<<"Masukkan C : ";cin>>c;
maks(a, b, c);

getch();
}

void maks(int a, int b, int c)


{
int kecil;

if (a<b)
kecil = a;
else
kecil = b;
if (c<kecil)
kecil = c;

cout<<"Bilangan terkecil = "<<kecil<<endl<<endl;


}
Nilai Bawaan Argumen Fungsi
Pada C++ argumen fungsi dapat
memiliki nilai bawaan (nilai default).
Contoh
//program61.cpp
#include <iostream.h>
#include <conio.h>

void tulis(int jml = 1);

main()
{
tulis();
getch();
}

void tulis(int jml)


{
for(int i=0; i<jml; i++)
{
cout<<"C++"<<endl;
}
}
TUGAS
1. Ketiklah program di bawah ini:
//program62.cpp
#include <iostream.h>
#include <conio.h>

void cetak(char karakter = '-', int jml = 10);

void main()
{
cetak('*', 5);
cetak('+');
cetak();
getch();
}

void cetak(char karakter, int jml)


{
for(int i=0; i<jml; i++)
{
cout<<karakter;
}
cout<<endl;
}
Mengapa output program sebelumnya adalah sebagai berikut? Jelaskan!
*****
++++++++++
----------

2. Buatlah program menghitung luas dan keliling persegi


panjang dengan menggunakan fungsi void. (beri nama
program: program63.cpp).

3. Buatlah program menghitung luas bujur sangkar dan luas


kubus dengan menggunakan fungsi nonvoid. (beri nama
program: program64.cpp).
4. Perhatikan program berikut!
//program65.cpp
#include <iostream>
using namespace std;
void luasLingkaran(double radius)
{
double luas;
luas=radius*radius*3.14159;
cout<<"Luas Lingkaran dengan jari-jari "<<radius<<" adalah "<<luas<<endl;
}
 
main()
{
double r;
cout<<"MENGHITUNG LUAS LINGKARAN"<<endl;
cout<<"masukkan jari-jari : "; cin>>r;
luasLingkaran(r);

system("pause");
return 0;
}

Ubahlah program di atas menjadi program fungsi nonvoid dan


berikan prototipe fungsi. (beri nama program: program66.cpp).

Anda mungkin juga menyukai