FUNGSI
KAMIS 22 November 2018
Fungsi merupakan blok dari kode yang dirancang untuk
melaksanakan tugas.
a.
Untuk mengurangi pengulanga penulisan program
yang sama
b.
Agar program menjadi lebih terstruktur sehinggah
mudah dipahami dan dapat di kembangkan.
A. STRUKTUR FUNGSI.
Bentuk penulisannya :
Nama_fungsi(argument) {
-----pernyataan/perintah
-----pernyataan/
perintah
}
Ø
Nama fungsi, boleh dituliskan secara bebas
dengan ketentuan tidak menggunakan spasi dan nama fungsi mempunyai arti
tersendiri
Ø
Argument, diletakkan pada tanda kurung yang
terletak di belakang nama fungsi. Argumen boleh diisi dengan suatu data atau
dikosongkan.
Ø
Pernyataan atau perintah, diletakkan diantara
tanda kurung “{}”
B. PROTOTIPE FUNGSI
Digunakan untuk mendeklarasikan ke compiler
mengenai :
Ø
Tipe data keluaran dari fungsi
Ø
Jumlah parameter yang digunakan
Ø
Tipe data dari masing – masing parameter yang
digunakan
Keuntungan pemakaian :
Ø
Melakukan konversi antar tipe parameter dalam defenisi dan
parameter fungsi
Ø
Jika jumlah parameter yang digunakan dalam
defenisi fungsi dan pada saat pematnggilan fungsi berbeda atau tidak sama maka
akan menunjukan kesalahan.
C. PARAMETER FUNGSI
Terdapat 2 jenis yaitu :
Ø
Parameter formal yaitu variabel yang terdapat
pada daftar parameter yang berada di dalam defenisi fungsi
Contoh :
Main(){
....
X=total(a,b);
....
}
Ø
Parameter aktual yaitu variabel yang digunakan
pada pemanggilan suatu fungsi
Contoh :
Float total (float a, float b) {
Return (a+b);
}
1.
Pemanggilan dengan nilai
Nilai dari parameter aktual akan dimasukkan
ke parameter formal. Dengan cara ini nilai parameter aktual; tidak akan
berubah, walaupun nilai dari parameter formal berubah
2.
Pemanggilan dengan referensi
Merupakan pemangilan alamat suatu variabel di
dalam fungsi. Cara ini dapat dipakai untuk mengubah suatu variabel yang ada di
luar fungsi, yang dilakukan dengan mengubah nilai suatu variabel yang ada di
dalam fungsi
D. PERNYATAAN RETURN ()
Digunakan untuk mengirim nilai dari suatu
fungsi kepada fungsi lain yang memanggilnya. Pernyataan ini diikuti oleh
argumen yang berupa nilai yang akan dikirim
E. JENIS VARIABEL PADA FUNGSI
Ø
Variabel lokal : variabel yang mendeklerasikam
di dalam fungsi dan hanya dikenal oleh fungsi yang bersangkutan
Ø
Variabel eksternal : variabel yang di
deklerasikan diluar fungsi yang bersifat global yang berarti dapat digunakan
bersama – sama tanpa harus dideklerasikan berulang – ulang
Ø
Variabel statis :
a.
Jika variabel bersifat lokan maka variabekl
hanya dikenal dengan fungsi tempat variabel tersebut dideklerasikan
b.
Jika variabel bersifat eksternal maka variabel
dapat digunakan oleh semua fungsi yang terletak pada file yang sama di tempat
variabel statis dideklerasikan
c.
Jika tidak ada inisialisasi oleh program maka
secara otomatis akan diberikan nilai awal nol.
F. INLINE FUCTION
Digunakan untuk mengurangi lambatnya eksekusi
program dan mempercepat eksekusi program terutama pada program yang sering
menggunakan atau memanggil fungsi yang berlebihan, terutama program yang
menggunakan pernyataan perulangan. Inline fuction dideklerasikan dengan
menambahkan kata kunci inline di depan tipe data.
G. FUNCTION OVERLOADING
Mendefenisikan beberapa fungsi yang
memiloki nama yang sama tetapi parameter berbeda.
CONTOH PROGRAM
1.
#include<conio.h>
#include<iostream.h>
garis(){
cout<<"========================================="<<endl;
}
void main () {
garis();
cout<<"STIKOM TUNAS
BANGSA"<<endl;
garis();
getche();
}
OUTPUTNYA :
=====================
STIKOM TUNAS BANGSA
=====================
2.
//=====================================//
//PEMANGGIL DENGAN NILAI //
//=====================================//
#include<conio.h>
#include<iostream.h>
tambah(int m, int n) {
m+=5;
n+=7;
cout<<"nilai dalam fungsi
tambah()"<<endl;
cout<<"m="<<m<<endl;
cout<<"n="<<n<<endl;
}
void main(){
int a, b;
a=5;
b=9;
cout<<"nilai sebelum fungsi
digunakan"<<endl;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
tambah(a,b);
cout<<"nilai setelah fungsi
digunakan"<<endl;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
getch();
}
OUTPUTNYA :
Nilai sebelum fungsi digunakan
A=5
B=9
Nilai di dalam fungsi tambah ()
M=10
N=16
Nilai setelah fungsi digunakan
A=5
B=9
3.
//=========================================//
//PEMANGGILAN DENGAN REFERENSI //
//=======================================//
#include<conio.h>
#include<iostream.h>
tambah(int *m, int *n) {
*m+=5;
*n+=7;
cout<<"nilai di dalam fungsi
tambah()"<<endl;
cout<<"m="<<*m<<endl;
cout<<"n="<<*n<<endl;
}
void main () {
int a, b;
a=5;
b=9;
cout<<"nilai sebelum fungsi
digunakan"<<endl;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
tambah(&a, &b);
cout<<"nilai setelah fungsi
digunakan"<<endl;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
getch();
}
OUTPUTNYA :
Nilai sebelum fungsi digunakan
A=5
B=9
Nilai di dalam fungsi tambah ()
M=10
N=16
Nilai setelah fungsi digunakan
A=10
B=16
4.
//======================================//
//PENGGUNAAN FUNGSI RETURN //
//=====================================//
#include<conio.h>
#include<iostream.h>
tambah(int *m) {
return(*m+=5);
}
void main () {
int a, b;
b=9;
a= tambah (&b);
cout<<"nilai setelah fungsi
digunakan"<<endl;
cout<<"a="<<a<<endl;
getch();
}
OUTPUTNYA :
Nilai setelah fungsi digunakan
A=14