A. Sidiq Purnomo
Program Studi Teknik Informatika
Universitas Mercu Buana Yogyakarta
P12
Fungsi
2
Tujuan
• Mahasiswa mampu mengetahui dan
memahami :
– Fungsi
– Penerapan suatu fungsi.
3
Pembahasan
• Deklarasi Fungsi
• Parameter Formal dan Parameter Aktual
• Variable Global dan Variable Lokal
• Melewatkan Parameter
• Pengembalian Nilai dari Fungsi
Definisi Fungsi
5
Fungsi
• Dalam suatu program seringkali lebih mudah
jika dipecah-pecah menjadi beberapa bagian
program untuk mengerjakan persoalan tertentu.
–
Program-program kecil inilah yang disebut suatu
fungsi.
• Dengan adanya fungsi,
– User dapat menggunakan program tersebut tanpa
menuliskan kembali program yang ada.
– User cukup hanya memanggil nama fungsi yang telah
dibuat hanya dengan memasukkan suatu parameter.
6
Sifat-sifat fungsi
• Setiap fungsi mempunyai nama.
– Penamaan fungsi sama dengan penamaan
suatu variable.
• Tubuh fungsi
– Diawali dengan tanda “{“ dan diakhiri dengan
tanda “}”.
7
Deklarasi Fungsi
Penentu_Tipe_Data_Fungsi (Parameter)
Deklarasi_Parameter
{
Tubuh_Fungsi
}
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]Ilustrasi Fungsi
9
Contoh Program 1
10
Contoh Program 2
11
Keterangan Contoh Program 2 :
• Program di atas “ContohFungsi2.c”, belum menerapkan fungsi.
• Banyak persoalan yang dapat terjadi, akibat dari penulisan program tersebut, misalnya seperti :
– Penulisan yang diulan-ulang. y=pow(x,2)+6*x+8;
printf(" y = %d \n",y);
– Jika pada penulisan tersebut ada satu yang salah, misalnya yg ketiga menjadi : y=pow(x,2)+11*x-7;
printf(" y = %d \n",y);
– Jika pada penulisan tersebut salah semua, misalnya yang benar adalah : y=pow(x,2)+19*x+87;
printf(" y = %d \n",y);
– maka otomatis harus mengganti semuanya (ketiganya).
12
Contoh Program 3
13
Keterangan Contoh Program 2 dan 3:
• Program di atas “ContohFungsi3.c” sebenarnya
sama dengan program sebelumnya
“ContohFungsi2.c”.
• Perbedaannya jika “ContohFungsi2.c ” belum
menggunakan fungsi, sedangkan
“ContohFungsi3.c” sudah menggunakan fungsi.
• Dengan menggunakan fungsi pada
“ContohFungsi3.c”, persoalan pada kasus
program “ContohFungsi2.c” dapat teratasi,
sehingga jika terjadi kesalahan yang perlu
diubah hanya pada bagian tubuh fungsi.
14
Contoh Program 4
Parameter Formal & Aktual
16
Parameter Formal
• Parameter formal adalah variable yang terdapat di dalam daftar
parameter dalam pendefinisian fungsi.
• Contoh :
void garis(char
karakter
, int
jumlah
)
{
int x;
for(x=0;x<jumlah;x++){
printf("%c",karakter);
printf("\n");
}
}
• Keterangan :
– Parameter formal →
karakter
dan
jumlah
.
17
Parameter Aktual
• Parameter Aktual adalah parameter yang
digunakan untuk memanggil fungsi.
• Contoh :
garis(
karakter
,
jumlah
);
Variable Lokal & Global
19
Variable Lokal & Global
• Variable global dapat dilihat dan diubah
oleh semua fungsi dalam program.
• Variable global dikenal disemua tubuh
program.
• Sedangkan variable lokal hanya dikenal
dibagian di mana variable tersebut
didefinisikan.
20
Contoh Program 5
Variable Local
21
Contoh Program 6
22
Keterangan Contoh Program 6:
• Pada program “ContohFungsi6.c” jika
dijalankan akan terjadi kesalahan.
• Penyebab :
– variable b tidak didefinisikan,
– variable b hanya didefinisikan pada program
utama (variable b bersifat lokal / tidak dikenali
oleh bagian program yang lain).
23
Contoh Program 7
24
Contoh Program 8
Variable Global
25
Keterangan Contoh Program 8:
• Nilai awal dari variable b = 5
• Selanjutnya program memanggil fungsi
persamaan.
• Di dalam fungsi persamaan, variable b
kemudian diubah menjadi 10.
• Perubahan tersebut akan berpengaruh terhadap
variable lain yang berada ditempat lain,
sehingga begitu ditampilkan isi di program
utamanya hasilnya != 5 tetapi berubah menjadi
=10.
26
Contoh Program 9
27
Contoh Program 10
Variable Static
Keterangan :
• Variable y di program utama bersifat lokal.
Pengembalian Nilai dari Fungsi
29
Pengembalian Nilai Fungsi
• Pada beberapa contoh
program pada pembahasan
sebelumnya (di atas), dalam
pemanggilan fungsi tidak ada
nilai yang dikembalikan (dalam
pemanggilan fungsi tidak ada
suatu nilai yang di berikan oleh
fungsi).
• Pada pemrograman yang
komplek, suatu pengembalian
nilai sangat penting. Seperti
fungsi-fungsi bawaan yang
terdapat di dalam bahasa #C,
misalnya fungsi pow.
• Contoh :
A = pow (B,C); → A = pow(11,2)
• Keterangan :
– Fungsi pow meminta dua buah
nilai.
– A → Menyimpan nilai
pengembalian fungsi pow.
– B → Nilai yang akan
dikuadratkan.
– C → Nilai yang menjadi kunci
kuadrat berapa.
30
Contoh Program 11
31
Contoh Program 12
Melewatkan Parameter
33
• Melewatkan parameter adalah bagaimana suatu nilai data dari
program utama dilewatkan ke bagian yang menjadi fungsi.
Melewatkan Parameter
• Contoh :
hasil=hitung_kuadrat(n); → memanggil fungsi dari program utama
. n = nilai yang akan dilewatkan ke fungsi.
. .
float hitung_kuadrat(float kuadrat) {
return kuadrat*kuadrat; }
34
• Cara melewatkan parameter :
– Pemanggilan dengan nilai
– Nilai dari parameter aktual akan disalin ke
parameter formal.
• Dengan begitu nilai parameter aktual tidak akan
berubah meskipun nilai parameter formal berubah.
– Pemanggilan dengan referensi
– Nilai yang akan dilewatkan dari parameter
aktual ke parameter formal akan mengalami
perubahan.
35
Contoh Program 13
Pemanggilan dengan Nilai
Keterangan :
•
Isi dari variable n tidak berubah walaupun nilai n dilewatkan ke fungsi n = 5;
36
Contoh Program 14
Pemanggilan dengan Referensi
37
39
SQ - http://sidiq.mercubuana-yogya.ac.id - [email protected]
Kemarin adalah sepenggal kisah masa lalu,
Esok adalah sebuah bayangan,
Hari ini adalah fakta
yang dapat menjadikan mimpi indah untuk kemarin,
Dan esok menjadi sebuah harapan.
40
Time to celebrate the year that was,
and
look forward to the adventures that
will be !
Thanks for a great 2013 and
wishing you a happy start to 2014.
From all of us at FTI UMBY.
41