Professional Documents
Culture Documents
NIM : 16063001
DOSEN PEMBIMBING:
2
c) Self-contained tinggi. Artinya, kemampuan untuk memenuhi
kebutuhannnya sendiri
3
Deklarasi fungsi harus ditulis di atas sebelum void main() dan tidak berisi
kode sama sekali,hanya berupa judul fungsi.
Contoh:
# i n c l u d e < s t d i o . h >
# i n c l u d e < c o n i o . h >
i n t m a i n ( )
{
f l o a t N i l a i ;
N i l a i = - 5 4 3 . 2 1 ;
pri nt f (" %7 .2f n i l ai m u t l aknya adal a h
% 7 . 2 f \ n " , N i l a i , A b s o l u t ( N i l a i ) ) ;
g e t c h ( ) ;
}
/ *-----Fungsi untuk memutlakkan nilai negatif-----* /
double Absolut(double X) / * definisi fungsi * /
{
if (X,0) X = -X;
return (X);
}
pada contoh program ini terlihat bahwa bagian program yang menggunakan
fungsi absolute () adalah sebagai berikut:
Contoh:
Pada contoh ini fungsi absolut () didefinisikan terlebih dahulu sebelum fungsi
ini digunakan, sehingga deklarasi dari fungsi tidak diperlukan lagi.
# i n c l u d e < s t d i o . h >
# i n c l u d e < c o n i o . h >
4
return (X);
i n t m a i n ( )
{
float Nilai ;
Nilai = -543.21 ;
printf ("%7.2f nilai mutlaknya adalah% 7. 2f \n",
N i l a i , A b s o l u t ( N i l a i ) ) ;
getch ();
}
Walaupun untuk contoh seperti ini deklarasi fungsi tidak diperlukan, namun
untuk praktik pembuatan program yang baik sebaiknya tetap dituliskan.
[statement_1;]
[statement_2;]
...
[statement_3;]
[return (variabel)];
}
1. Tubuh fungsi dapat berisi segala perintah yang dikenal oleh bahasa C.
Pada dasarnya pendefinisian tubuh fungsi adalah sama dengan membuat
program seperti biasa.
2. Return adalah keyword pengembalian nilai dari fungsi ke luar fungsi.
Return adalah wajib jika fungsi tersebutmengembalikan nilai berupa tipe data
tertentu, tetapi tidak wajib jika fungsi tersebut bersifat void.
5
D. FUNGSI DAN PROSEDUR
Dalam Pascal dikenal istiiah procedure dan function, dalam Basic dikenal sub
dan fungcion sedangkan dalam C, C#, PHP dan keturunan C lainnya hanya di kenal
istilah function . Prosedur/sub dalam Pascal/Basic adalah suatu kumpulan program
yang mengerjakan suatu tugas tertentu yang tidak mengembalikan nilai kembalian
prosedur tersebut. Fungsi dalam C adalah kumpulan program yang mengerjakan suatu
tugas tertentu yang bisa mengembalikan nilai atau tidak mengembalikan nilai (sama
dengan prosedur pada Pascal/sub di Basic). Di dalam C, ada 2 jenls fungsr, yaitu:
1. Fungsi yang tidak mengembalikan nilai (void) Ciri-ciri fungsi yang tidak
mengembalikan nilai adalah:
a) Fungsi yang void sering disebut juga prosedur.
b) Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai
keluaran yang didapat dari hasil proses fungsi tersebut.
c) Ciri: tidak adanya keyword return.
d) Ciri: tidak adanya tipe data di dalam deklarasi fungsi.
e) Ciri: menggunakan keyword void.
f) Tidak dapat Iangsung ditampilkan hasilnya.
g) Tidak memiliki nilai kembalian fungsi.
int jml;
jml = a + b;
printf(“ud“%d”, jml);
keyword void Juga dlgunakan jika suatu fungsi tidak mengandung parameter apa
pun. Contoh penggunaan parameter vold adala berikut:
void print-error(void){
6
2. Fungsl yang mengembahkan nilai (non-void)
E. FUNGSI MAIN
Fungsi main merupakan fungsi yang spesial pada bahasa C. Setiap program
bahasa C pasti memiliki fungsi main. Sebuah program yang paling sederhana dalam
C, agar dapat dieksekusi (run) harus minimal harus memiliki 1 buab fungsi, yaitu
fungsi main(). Tanpa fungsi main, program C dapat dikompilasi tetapi tidak dapat
dieksekusi (harus dengan flag parameter -c, iika di UNIX). Pada saat program C
dijalankan, kompiler C akan mencari fungsi main() dan melaksanakan instruksi-
lnstruksi yang ada di sana.
fungsi main() sering dideklarasikan dalam 2 bentuk, yaitu:
1 int main{)
2 void main()
a. int main()
int main() berarti di dalam fungsi main tersebut harus terdapat keyword return
di bagian akhir dan mengembalikan nilai bertipe data int. Mengapa hasil return juga
harus bertipe int? Jawabnya, karena tipe data yang mendahului fungsi mainl) di atas
dideklarasikan dengan int. Jika sebuah program C dieksekusi maka status eksekusi
programnya akan dikembalikan. lika terminated successfully maka akan
dikembaiikan status 0. Sedangkan jika terminated unsuccessfully maka akan
7
dikembalikan nilai status tidak 0. Fungsi tersebut biasa digunakan pada lingkungan
UNIX.
b. void main()
void main{) berarti fungsi yang void dan tidak mengembalikan nilai status
program sehingga nilai status program tidak dapat diketahui. Biasanya dipakai pada
program C di lingkungan sistem operasi Windows.
F. FUNGSI REKURSIF
Fungsi rekursif adalah fungsi yang berisi dirinya sendiri atau fungsi yang
mendefinisikan dirinya sendiri, kadang kala sering disebut sebagai fungsi yang
memanggil dirinya sendiri. Fungsi rekursif merupakan fungsi matematis yang
berulang dan memiliki pola yang terstruktur, namun biasanya fungsi ini perlu
diperhatikan agar fungsi ini dapat berhenti dan tidak menghabiskan memori. Fungsi
rekursif merupakan fungsi yang harus digunakan secara hati-hati karena fungsi ini
dapat bersifat unlimited loop sehingga menyebabkan program hang up.
Beberapa ciri khas fungsi rekursif adalah sebagai berikut:
1 Kode program lebih singkat dan ada beberapa kasus yang memang lebih
mudah bila menggunakan fungsi rekursif.
2 Memakan memori yang lebih besar karena setiap kali bagian dirinya dipanggil
maka dibutuhkan sejumlah ruang memori tambahan.
3 Mengorbankan efisiensi dan kecepatan.
return_data_type function_name(parameter_list) {
. . .
f u n c t i o n _ n a m e ( . . . )
. . .
}
8
Faktorial
5 ! = 5 x 4 x 3 x 2 x 1
4 ! = 4 x 3 x 2 x 1
B e r a r t i 5 ! = 5 x 4 !
Salah satu cara untuk menghitung adalah dengan menggunakan loop, yang
mengalikan masing-masing bilangan dengan hasil yang diperoleh sebelumnya.
Penyelesaian dengan cara ini dinamakan iteratif, yang mana secara umum dapat di
definisikan sebagai
berikut
n! = (n)(n-1)(n-2) ... (1)
# i n c l u d e < s t d i o . h >
I n t f a c t _ i t ( i n t n )
{
I n t i , f a k ;
/*********************************************************** * Menghitung sebu
************************************************************
t e m p = 1 ;
f o r ( i = 1 ; i < = n ; i + + )
f a k = f a k * i ;
r e t u r n ( f a k ) ;
}
I n t m a i n ( )
I n t f a c ;
Printf ( “masukan berapa faktorial : “ ) ;
s c a n f ( “ % d ” , & f a c ) ;
print f ( “Hasil faktorial dari adalah : %d \n”,
f a c t _ i t ( f a c ) ;
}
9
Penyelesaian dengan metode rekursif:
n! = 1 jika n = 0 dan 1
n! = n*(n-1)!
0! =1
1! =1*(1-1)!
=1*0!
= 1 * 1
= 1
2! = 2*(2-1)!
= 2 * 1
= 2
3! = 3*(3-1)!
= 3 * 2 !
= 6
DAFTAR PUSTAKA
10