Assalamualaikum Wr. Wb. Hai sobat redaksi kembali lagi dengan saya Yusfidah. Kali ini saya akan membahas mengenai “mengembangkan fungsi-fungsi sendiri”. Sebelum menuju pada pembahasan, ada baiknya jika kita agar mengetahui tujuannya terlebih dahulu. Tujuan dari mempelajari bab ini yaitu untuk mempelajari pembuatan fungsi-fungsi diluar fungsi-fungsi yang ada, serta mempelajari penggunaan variable global, local, eksternal, otomatis, statis dan register.

Setelah mengetahui tujuannya, mari kita menuju penjelasannya. Jadi, suatu fungsi adalah bagian program yang terpisah dari fungsi program utamanya main() dan berdiri sendiri untuk mengerjakan suatu proses tertentu. Suatu fungsi dapat digunakan sebagai fungsi itu sendiri, subrutin dan prosedur seperti istilah yang digunakan pada bahasa pemrograman BASIC atau PASCAL. Tujuan digunakannya fungsi untuk mencegah penggunaan program secara berulang-ulang, sehingga program menjadi sangat panjang. Pada percobaan perobaan di atas telah digunakan fungsi-fungsi dari C, seperti printf(), clrscr(), scanf(), getch(), puts(), for() dan sebagainya, maka disini dicoba untuk membuat fungsi baru dimana tidak ada dalam pustaka bahasa C (Turbo C). Secara aturan fungsi baru dibuat setelah fungsi main() dibuat. Sehingga penempatan fungsi adalah dibawah fungsi main(), tetapi ada kalanya dapat diletakkan di atas fungsi main(). Seperti fungsi-fungsi yang ada dalam #include. Bila fungsi diletakkan di atas fungsi main() maka tidak diperlukan deklarasi fungsi lagi.

Setelah mengetahui tujuan dan penjelasannya, mari kita mencoba untuk membuat suatu program.

  1. Program fungsi kabisat() yang akan memberikan nilai balik 1 bila tahun adalah kabisat, dan 0 bila tahun bukan kabisat

#include<stdio.h>

kabisat(int x)

{

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

return 1;

 

else ;

return 0;

}

 

void main()

{

int x;

printf (“Fungsi kabisat\n”);

printf (“nilai=1 adalah tahun kabisat\n”);

printf (“nilai=0 bukan tahun kabisat\n\n”);

 

printf (“Masukkan tahun=”);

scanf (“%d”, &x);

printf (“nilai=%d\n”,kabisat(x));

}

 

Setelah di-run akan muncul tampilan dibawah ini

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

  1. Program fungsi factorial() untuk menghitung nilai factorial

#include<stdio.h>

factorial(long int x)

{

int n, jumlah=1;

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

jumlah=jumlah*n;

return (jumlah);

}

 

void main()

{

long int x;

printf(“Fungsi faktorial\n”);

printf(“Masukkan bilangan faktorial=”);

scanf(“%d”,&x);

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

}

 

Setelah di-run akan muncul tampilan di bawah ini:

 

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

  1. Program suatu fungsi permutasi () dan kompinasi () untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan

#include<stdio.h>

permutasi(int n,int r)

{

int i,j,jumlah1=1, jumlah2=1,hasil;

for(i=1;i<=n;i++)

jumlah1*=i;

for(j=1;j<=(n-r);j++)

jumlah2*=j;

hasil= jumlah1/jumlah2;

return (hasil);

}

 

kombinasi (int n,int r)

{

int k,jumlah3=1,hasil;

for(k=1;k<=r;k++)

jumlah3*=k;

hasil= permutasi(n,r)/jumlah3;

return (hasil);

}

void main()

{

int n,r;

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

printf(“Masukkan n=”);

scanf(“%d”,&n);

printf(“Masukkan r=”);

scanf(“%d”,&r);

 

printf(“\nNilai permutasi P(%d,%d) adalah %d”,n,r,permutasi(n,r));

printf(“\nNilai kombinasi C(%d,%d) adalah %d\n”,n,r,kombinasi(n,r));

}

 

Setelah di-run akan muncul tampilan di bawah ini:

  • Facebook
  • Twitter
  • Google+
  • Pinterest
 

 

  1. Program 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

#include<stdio.h>

#include<conio.h>

double suhu(float a,char b,char c)

{

float d;

if(b==’c’&&c==’f’) goto cf;

if(b==’c’&&c==’r’) goto cr;

if(b==’f’&&c==’c’) goto fc;

if(b==’f’&&c==’r’) goto fr;

if(b==’r’&&c==’c’) goto rc;

if(b==’r’&&c==’f’) goto rf;

 

cf: d=a*9/5+32; return (d);

cr: d=a*4/5; return (d);

fc: d=(a-32)*5/9; return (d);

fr: d=(a-32)*4/9; return (d);

rc: d=a*5/4; return (d);

rf: d=a*9/4+32; return (d);

}

 

main()

{

float a; char b,c,e;

menu1:

printf(“Konversi suhu\n”);

printf(“Masukkan suhu=”);

scanf(“%g”,&a);

printf(“Masukkan suhu sumber dan tujuan tanpa spasi<contoh cf>=”);

scanf(“%c%c%c”,&b,&b,&c);

 

if (b==c)

{

printf(“Format suhu salah, silahkan coba lagi”);

getch(); system(“cls”);goto menu1;

}

 

if ((b==’c’||b==’f’||b==’r’)&&(c==’c’||c==’f’||c==’r’))

{

printf(“Hasil konversi=%g\n”, suhu(a,b,c));

printf(“Tekan <y> untuk mengulang\n”);

e=getche();

while(e==’y’)

{

system(“cls”); goto menu1;

}

}

}

 

Setelah di-run akan muncul tampilan di bawah ini:

  • Facebook
  • Twitter
  • Google+
  • Pinterest
 

 

  1. Program fungsi prima ()

#include<stdio.h>

prima(int bil)

{

int i,faktor=0;

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

if(bil%i==0)

faktor++;

 

if(faktor==2)

return 1;

else

return 0;

}

 

void main()

{

int bil;

printf(“Fungsi prima\n”);

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

printf(“Hasil=0 bukan bil prima\n\n”);

printf(“Masukkan sebuah bilangan=”);

scanf(“%d”,&bil);

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

}

 

Setelah di-run akan muncul tampilan di bawah ini:

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

Nah, kita sudah mengetahui tujuannya, penjelasan materinya, hingga membuat suatu program. Dari praktikum kali ini dapat ditarik kesimpulan bahwa pemrograman Bahasa C sangat mudah dengan adanya variable global, local, eksternal, otomatis, statis, dan register.

Cukup sekian artikel saya kali ini, sampai berjumpa kembali di artikel saya selanjutnya.