Assalamu’alaikum Wr. Wb.

Halo sobat redaksi, bagaimana kabar kalian? Semoga kalian selalu berada dalam lindungan-Nya. Kali ini saya akan membahas tentang materi selanjutnya dalam bahasa C yaitu pengembangan fungsi – fungsi sendiri.

Fungsi adalah bagian program yang terpisah dari fungsi program utamanya, main ( ), dan berdiri sendiri untuk mengerjakan suatu proses tertentu. Tujuan dari digunakannya fungsi adalah untuk mencegah penggunaan program secara berulang – ulang, sehingga program menjadi sangat panjang.

Secara aturan fungsi baru dibuat setelah fungsi main() dibuat sehingga penempatan fungsi adalah di bawah fungsi main(). Tetapi adakalanya dapat diletakkan di atas fungsi main() seperti fungsi-fungsi yang ada dalam #include. Bila fungsi diletakkan diatas fungsi main() maka tidak diperlukan deklarasi fungsi lagi.

Berikut ini adalah contoh programnya.

1. Membuat fungsi kabisat dengan memasukkan tahun dari keyboard dan menghasilkan nilai 1 apabila yang dimasukkan merupakan tahun kabisat dan bernilai 0 jika yang dimasukkan adalah bukan tahun kabisat. Kode program untuk membuat fungsi kabisat seperti di bawah ini.

#include <stdio.h>

Kabisat ( int x)

{

if ( (x % 100 == 0 && x % 400 == 0) || (x % 100 != 0 && x % 4 == 0) )

return 1;

else

return 0;

}

main()

{

int x;

printf(“Tahun Kabisat\n”);

printf(“Jika Bernilai : 1 adalah Tahun Kabisat\n”);

printf(“Jika Bernilai : 0 adalah Bukan Tahun Kabisat\n”);

printf(“\nMasukkan Tahun : “);

scanf(“%d”, &x);

printf(“Nilai = %d\n”, Kabisat(x));

}

Ketika program dijalankan maka akan keluar hasil seperti di bawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

2. Membuat fungsi faktorial untuk menghitung nilai faktorial. Fungsi faktorial memberikan nilai balik bertipe long int yang akan dicetak ke layar dalam fungsi main().

Kode program untuk membuat fungsi faktorial seperti di bawah ini

#include <stdio.h>

factorial (int x)

{

int y, jumlah = 1;

for(y=1;y<=x;y++)

jumlah = jumlah * y;

return (jumlah);

}

main()

{

int x;

printf(“Fungsi Faktorial\n”);

printf(“\nMasukkan Bilangan Faktorial : “);

scanf(“%d”,&z);

printf(“Nilai %d! adalah %d\n”, x,factorial(x));

}

Ketika program dijalankan maka akan keluar hasil seperti di bawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

3. Membuat suatu fungsi permutasi() dan kombinasi() untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan, yang dinyatakan dengan formula:

Permutasi : P(n,r) = n!/(n-r)!

Kombinasi : C(n,r) = n!/r!(n-r)!

Kode programnya seperti di bawah ini :

#include <stdio.h>

Permutasi (int y, int z)

{

int v, w, jumlah1 = 1, jumlah2 = 1, hasil;

for (v = 1; v <= y; v++)

jumlah1 *= v;

for (w = 1; w <= (y-z); w++)

jumlah2 *= w;

hasil = jumlah1 / jumlah2;

return(hasil);

}

Kombinasi (int y, int z)

{

int t, jumlah3 = 1, hasil;

for (t = 1; t <= z; t++)

jumlah3 *= t;

hasil = Permutasi(y,z) / jumlah3;

return (hasil);

}

int y, z;

main()

{

printf(“Fungsi permutasi dan kombinasi\n”);

printf(“Masukkan nilai y = “);

scanf(“%d”, &y);

printf(“Masukkan nilai z = “);

scanf(“%d”, &z);

printf(“\nNilai dari Permutasi (%d,%d) adalah %d”, y, z, Permutasi(y,z));

printf(“\nNilai dari Kombinasi (%d,%d) adalah %d”, y, z, Kombinasi(y,z));

}

Ketika programnya dijalankan akan seperti di bawah ini

  • Facebook
  • Twitter
  • Google+
  • Pinterest

4. Membuat fungsi float suhu (s, d) untuk mengkonversikan suhu dari Celcius ke Fahrenheit, Celcius ke Reamur, Fahrenheit ke Celcius, Fahrenheit ke Reamur, Reamur ke Celcius, dan Reamur ke Fahrenheit. Dimana s adalah suhu sumber, d adalah suhu konversi dan suhu () adalah hasil konversi suhu. Kode programnya seperti di bawah ini

#include<stdio.h>

#include<math.h>

float input, sumber,x,hasil,z=1.0;

char c,d,p;

/*fungsi awal*/

float awal(float input,char c){

if (c==’r’||c==’R’){(sumber=input/4);}

else if (c==’k’||c==’K’){(sumber=(input-273)/5);}

else if (c==’f’||c==’F’){(sumber=(input-32)/9);}

else if (c==’c’||c==’C’){(sumber=input/5);}

else {z=0.0;}

printf(“%g”,sumber);

return (sumber) ;}

/*fungsi akhir*/

float akhir(float input,char d){

if (d==’r’||d==’R’) {hasil= awal(input,c)*4;}

else if (d==’k’||d==’K’){hasil= awal(input,c)*5+273;}

else if (d==’f’||d==’F’){hasil= awal(input,c)*9+32;}

else if (d==’c’||d==’C’){hasil= awal(input,c)*5;}

else {z=0.0;}

return (hasil);}

float main(){

mulai:

printf(“Masukkan Suhu Sumber = “);

scanf(“%f %c”,&input,&c);

printf(“Masukkan Suhu Tujuan = “);

getchar(); scanf(“%c”,&d);

x = akhir(input,d);

if(z==1){printf(“Hasil Konversi Suhu = %g”,x);}

else {printf(“Operator salah”);}

getchar();scanf(“%c”,&p);

if (p==’y’||p==’Y’){goto mulai;}

getch();

}

Ketika program dijalankan akan keluar hasil seperti dibawah ini

  • Facebook
  • Twitter
  • Google+
  • Pinterest

5. Membuat fungsi prima() yang memberikan nilai balik 1 bila bilangan yang dimasukkan adalah prima dan 0 bila bukan bilangan prima.

Kode programnya seperti di bawah ini:

#include <stdio.h>

prima (int bil)

{

int z, faktor = 0;

for (z=1;z<=bil;z++)

if (bil%z==0)

faktor++;

if (faktor==2)

return 1;

else

return 0;

}

main()

{

int bil;

printf(“Fungsi Prima\n”);

printf(“Hasil=1 adalah Bilangan prima\n”);

printf(“Hasil=0 adalah Bukan Bilangan Prima\n\n”);

printf(“Masukkan Bilangan : “);

scanf(“%d”,&bil);

printf(“Hasil = %d\n”,prima(bil));

}

Ketika program dijalankan akan keluar hasil seperti di bawah ini:

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Sekian dari pembahasan kali ini ya sobat redaksi. Wassalamu’alaikum Wr. Wb. 🙂