Nomo
:
NPM
:
Praktikum
f5
Fungsi Tuiuan lnstruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk:
1. Mengenal dan memahami fungsi dalam Bahasa C. 2. Dapat menggunakan fungsi pada program. 1.
Funtsi
Fungsi adalah sekelompok statemen yang secara bersama bekerja melaksanakan sebuah
tugas. setiap program
c
setidaknya memiliki satu fungsi, yaitu
mainO, dan
pada
kenyataanya program yang sangat sederhana sekalipun dapat menggunakan lebih banyak fungsi.
Kode program yang dituliskan dapat dibagi menjadi fungsi-fungsi terpisah. Secara logika, pembagiannya adalah bedasarkan tugas tertentu yang dilakukan fungsi.
Deklarasi fungsi menginformasikan kepada kompiler mengenai nama fungsi, tipe return, dan parameter-parameternya. Sedangkan cara kerja fungsi didefinisikan pada badan fungsi. Library standar c menyediakan cukup banyak fungsi-fungsi built-in yang dapat dipanggil oleh
program. contoh yang paling umum adalah layar atau
scanfO
printfO
untuk menghasilkan tampilan pada
untuk meminta input dari keyboard.
Fungsidapatjuga disebut sebagai sebuah metode, atau sub-rutin, atau prosedur, dsb.
2.
PendefinisianFungsi
Bentuk umum sebuah fungsidalam bahasa
C
adalah sebagai betikut:
tipe_return nama-fungsi( daftar parameter ) { badan fungsi
) Definisi fungsi dalam bahasa c terdiri atas header fungsi dan badan fungsi. Berikut ini adalah bagian-bagian sebuah fungsi:
Proklikurn Ko.npuler dqn Pemrogromon Pragrem Sludi Ieknik Elekiro Universilos Ee,rgkulLl
t8
.
-
Tipe return
Sebuah fungsi dapat mengembalikan nilai. tipe_return adalah tipe data
dari nilaiyang dikembalikan fungsi. Sebagian fungsi melakukan operasi yang ditugaskan tanpa mengembalikan nilai. Pada kasus ini, tipe_return adalah kata kuncivoid.
.
Nama fungsi
-
sebuah fungsi dapat dijalankan dengan memanggil nama fungsi beserta
daftar parameter-parameter yang dibutuhkan fungsi.
.
parameter
-
Ketika fungsi dijalankan, nilai-nilai yang dibutuhkan oleh fungsi harus
diberikan bersamaan dengan pemanggilan fungsi. Nilai-nilai atau parameter fungsi ini
disebut argument. Daftar parameter bergantung pada jenis, urutan, dan jumlah parameter fungsi. Sebuah fungsi bisa saja membutuhkan satu, dua, atau lebih parameter, atau ada juga fungsiyang tidak membutuhkan parameter.
.
Badan
fungsi-
Badan fungsi mengandung sekumpulan statemen yang menentukan apa
yang dikerjakan oleh fungsi.
3.
Deklarasifungsi
Deklarasi fungsi menginformasikan kepada kompiler nama fungsi dan bagaimana fungsi tersebut dipanggil. Deklarasifungsi mempunyai bagian-bagian sebagai berikut:
tipe_return nama_fungsi ( daftar parameter )j Sebagai contoh, deklarasisebuah fungsi max untuk mencari nilai maksimum:
int max(int angkal, int
angka2)j
nama-nama parametertidak penting dalam deklarasifungsi karena yang penting adalah tipe datanya. Sehingga deklarasi di atas dapat juga dituliskan menjadi:
int max(int, int); Deklarasi fungsi diperlukan ketika sebuah fungsi didefinisikan pada satu file sumber dan akan dipanggil dari sebuah file yang lain,
4.
Memaoggil fungsi
(etika membuat sebuah fungsi, diberikan definisi apa yang harus dikeriakan fungsi. Untuk menggunakannya, fungsi harus dipanggil untuk mengerjakan tugas yang diberikan. Ketika sebuah fungsi dipanggil, kontrol aliran program dialihkan ke fun8si yang dipanggil.
Fungsi kemudian melakukan tugas yang ditentukan dan ketika statemen return-nya diialankan, atau telah sampai ke kurawal tutup terakhir, fungsi mengembalikah kontrol program kepada program utama.
Proktikum Komputer don Pemrogromon Proqrorn Siudi Ieknik E1eklro Universjlos Bengkullr
19
Untuk memanggilsebuah fungsi, cukup dengan menuliskan nama fungsi beserta parameter-
parameter yang dibutuhkan fungsi tersebut. Contohnya:
hasil = max(2, 5); jika algoritma fungsi benar, fungsi akan mengembalikan nilai 5 kepada variabel hasil.
5.
Aryumen lungsi
Jika sebuah fungsi memerlukan arugumen, variabelyang dapat menampung nilai argument
harus didefinisjkan. Variabel seperti ini disebut parameter formal dari fungsi. Parameter-
parameterformal berlaku seperti variabel lokal lainnya di dalam fungsi. Ketika memanggil fungsi, ada dua cara memberikan argument kepada fungsi:
a.
call by value Metode ini menyalin nilai argument kepada parameter formal fungsi. Dengan cara ini, perubahan yang dibuat terhadap parameter
di
dalam fungsi tidak mempengaruhi
arSumen.
b.
call by reterence Metode ini menyalin alamat argumen kepada parameter formal. Di dalam fungsi, alamat ini digunakan untuk mengakses argumen yang digunakan dalam pemanggilan. lni berarti perubahan yang dibuat terhadap parameter mempengaruhi argumennya,
Secara default, C menggunakan call by value untuk memberikan argumen. Secara umum, ini
berarti kode di dalam fungsi tidak dapat mempertukarkan argumen yang digunakan untuk memanggil fungsi,
6.
contoh Program
1,
Sinus dalam derajat (tanpa membuat fungsi)
#incfude <stdio.h> #include
int maino
{
float hasiI, derajat, nadian;
printf("Besar sudut (derajat) : "); scanf ("Xf ", &derajat); radian = derajat * (fl_PI / 180), hasil = sin(radi.an); printf("sin(Xg) = %f\n", derajat, hasil); return O.;
] Proklikum Kompuler don
Pemrogromon
Progrom Siudi Ieknik E/eklro Universilos Eengkulu
20
2,
Sinus dalam deraiat (membuat tungsi srad)
*i.nc1ude <stdio.h>
#include <math.h>
float sind(float); main( )
{
float hasil,
derajat.;
printf("Besar sudut (derajat)
: ");
scanf("%f", &derajat); hasil = sind(denajat);
printf("sin(Xg) = lff\n", derajat, hasil);
)
/*
Fungsl sihus daLon derojat
*/
float sind(fIoat sudut) //deklarasi { float radian, hasil; radian = sudut * (li1_PI hasil = sin(radian);
/
fungsi
18o);
return (hasil)j )
3.
Menghitunt Permutasi dan Xombinasi
#include <stdio.h>
/ fi,lekbuat f u ngsi f ahto r ia L double fact(int a) { double
hasil=li int i;
fo. (i=1; i<=a; hasil *= ii
i++)
return hasi.l; ] maino
{
lnt n, k,
permutasi, kombinasi; puts("\n PersoaLan Peluang (Permutasi dan Kombinasi)"); puts(" ----------- ----- -- --- --"); printf(" lumlah elemen : "); scanf("2|d", &n): printf(" lumlah yang dipiLih : "); scanf("Xd", &k); permutasl = fact(n)/fact(n - k); kombinasi = fact(n)/(fact(n - k) * fact(k)); printf("\n Permutasi:\n P(%d, %d) = %d\n", n, k, permutasi); printf("\n Kombinasi:\n c(%d, %d) = %d\n", n, k, konbinasi);
]
Prqkikum Kompuler don Pemrogronron Frcgrqm SiLdi leknik Elekiro Universilcs Bengkulu
21
7.
Latihan Buatlah fungsi untuk mengubah nilai sudut dari derajat menjadi radian dan dari radian
menjadiderajat. Gunakan nama fungsideg2rad dan rad2deg.
8.
Tugas:
Buatlah program untuk mengkonversi bilangan kompleks dari bentuk redangular ke bentuk polar dan sebaliknya. Anda dapat memberi nama fungsi rec2pol dan
pol2rec.
Misal:
X=A+jB=RZe" Dimana:
a=rr"'[4)
\A)
dan kebalikannya, A = R cns9"
B = X sin
9'
Proktikum Kompuler dqn Pemrogromon Proqrom Siudi leknik Elekiro Universilos Bengkulu
22