Anda di halaman 1dari 17

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_fungsi nama_fungsi(parameter_formal)
{
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.
Struktur Fungsi (3)
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.
Struktur Prototipe Fungsi
Bentuk umum dari prototipe fungsi adalah sebagai
berikut:
tipe_fungsi nama_fungsi(parameter_formal);

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();
Petunjuk Membuat Fungsi
1. Agar lebih mudah anggap bahwa
membuat fungsi sama dengan
membuat program.
2. Tentukan variable input dan variable
outputnya.
3. Jika jumlah variable output sama
dengan satu maka kita bisa buat
dalam fungsi yang tipenya void
maupun bukan void, selain itu tipe
fungsi harus void.
Jenis Fungsi
Ada dua (2) jenis fungsi yaitu :
1. Fungsi yang tidak mengembalikan nilai
(void)
2. Fungsi yang mengembalikan nilai
(nonvoid)
Fungsi Void
 Fungsi void disebut juga prosedur.
 Parameter formal fungsi ada dua macam:
◦ parameter value, adalah variable inputnya.
◦ Parameter reference/address, adalah variable
outputnya
 Instruksi fungsi = instruksi program dengan
menghilangkan instruksi untuk
menginputkan data pada variable input, dan
instruksi untuk menampilkan hasil dari
variable output.
Fungsi NonVoid
 Fungsi non-void disebut juga function.
 Tipe fungsi sama dengan tipe output
 Parameter formal (parameter value) fungsi adalah
variable inputnya.
 Instruksi fungsi = instruksi program dengan
menghilangkan instruksi untuk menginputkan data
pada variable input, dan instruksi untuk
menampilkan hasil dari variable output.
 Cek kembali apakah masih ada variable yang belum
dideklarasikan. Jika ada, maka deklarasikan sebagai
variable local.
 Diakhiri dengan instruksi : return var_output;
Pemanggilan Fungsi
1. Fungsi yang tipenya void
nama_fungsi(parameter_aktual);

2. Fungsi yang tipenya bukan void


nama_var = nama_fungsi(parameter_aktual);
 nama_var harus dideklarasikan dulu, tipenya
harus sama dengan tipe output fungsi
Fungsi Dengan Nilai Balik/NonVoid
#include <iostream>
using namespace std;
int luas(int p, int l)
{
int ls;
ls = p*l;
return ls;
}
main()
{
int pj,lb,hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
hsl=luas(pj,lb);
cout<<"\nLuasnya = "<<hsl;
cout<<endl;
system("pause");
}
Fungsi Dengan Tanpa Nilai Balik/Void
#include <iostream>
using namespace std;

void luas(int p, int l)


{
int ls;
ls = p*l;
cout<<"\nLuasnya = "<<ls;
}

main()
{
int pj,lb;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
luas(pj,lb);
cout<<endl;
system("pause");
}
Fungsi Dengan Tanpa Nilai Balik/Void
#include <iostream>
using namespace std;

void luas(int &ls, int p, int l)


{
ls = p*l;
}

main()
{
int hsl,pj,lb;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
luas(hsl,pj,lb);
cout<<"\nLuasnya = <<hsl;
cout<<endl;
system("pause");
}
//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;
}