Assalamu’alaikum Wr. Wb

Kembali lagi bersama saya Vannya.

Nah, kali ini kita akan membahas tentang pengembangan fungsi-fungsi dalam bahasa c. Tapi sebelumnya, kita harus tau dasar teorinya terlebih dahulu. 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 dasar teorinya, mari kita mencoba membuat suatu program.

  1. Membuat program untuk menentukan tahun kabisat

Ketik program dibawah ini pada Codeblocks.

#include<stdio.h>
/*Fungsi kabisat*/
int kabisat(int tahun)
{int x;
x=tahun%4;
if(x!=0){return(0);}
else {return(1);}

}
void main()
{int tahun,z;char c;
printf(“Menentukan Tahun Kabisat\nMasukan tahun = “);
scanf(“%d”,&tahun);
z=kabisat(tahun);
if(z==0)
{printf(“Tahun %d adalah bukan tahun kabisat”,tahun);}
else {printf(“Tahun %d adalah tahun kabisat”,tahun);}

getch();

}

Build and Run program, hasil outputnya akan seperti ini,

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

  • Membuat fungsi factorial () untuk menghitung nilai factorial.

Ketik program dibawah ini pada Codeblocks.

#include<stdio.h>
/*Fungsi faktorial*/
int nilai;
long int faktorial(nilai)
{register int i;
int fak=1;
for(i=1;i<=nilai;i++)
fak*=i;
return(fak);
}
main()
{char c;
printf(“Masukan nilai x yang difaktorialkan = “);
scanf(“%d”,&nilai);
printf(“Faktorial dari %d = %d\n”,nilai,faktorial(nilai));
getch();
}

Build and Run program, hasil outputnya akan seperti ini,

  • Facebook
  • Twitter
  • Google+
  • Pinterest

  • Membuat fungsi permutasi () dan kombinasi () untuk menghitung permutasi dan kombinasi suatu pasangan bilangan

Ketik program dibawah ini pada Codeblocks.

#include<stdio.h>
#include<math.h>

float fak,p;
/*Fungsi faktorial*/
float faktorial(float z)
{
register int i;
float fak=1.0;
for(i=1;i<=z;i++)
fak*=i;
return(fak);
}
/*fungsi permutasi*/
float permutasi(float n,float r)
{
p=(faktorial(n)/faktorial(n-r));
return(p);
}
/*fungsi kombinasi*/
float kombinasi(float n,float r)
{
p= (faktorial(n)/(faktorial(n-r)*faktorial(r)));
return(p);
}
float main()
{float n,r;
char c;
printf(“Menyelesaikan permutasi dan kombinasi (n,r)”);
printf(“\nMasukan Nilai n = “);scanf(“%f”,&n);
printf(“\nMasukan nilai r = “);scanf(“%f”,&r);
if(n<r){printf(“Gagal karena nilai n<r”);goto gagal;}
printf(“Ketik k untuk kombinasi dan p untuk permutasi = “);
getchar();
scanf(“%c”,&c);
if(c==’k’||c==’K’) {
printf(“\nMaka nilai kombinasi dari %g dan %g adalah %g”,n,r,kombinasi(n,r));}
else if(c==’p’||c==’p’){ printf(“\nMaka nilai permutasi dari %g dan %g adalah %g”,n,r,permutasi(n,r));}
else{printf(“operator salah”);}
gagal:
getch();
}

Build and Run program, hasil outputnya akan seperti ini,

  • Facebook
  • Twitter
  • Google+
  • Pinterest

  • Membuat konversi suhu

Ketik program dibawah ini pada Codeblocks.

#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(“Masukan suhu sumber = “);
scanf(“%f %c”,&input,&c);
printf(“Masukan suhu tujuan = “);
getchar(); scanf(“%c”,&d);
x=akhir(input,d);
if(z==1){printf (“Hasil konversi suhu = %g”,x);}
else {printf(“Operator salah”);}
printf(“\nulangi ??? (y/n)\n”);
getchar();scanf(“%c”,&p);
if (p==’y’||p==’Y’){goto mulai;}
getch();
}

Build and Run program, hasil outputnya akan seperti ini,

  • Facebook
  • Twitter
  • Google+
  • Pinterest

  • Membuat program yang bisa menentukan bilangan prima

Ketik program dibawah ini pada Codeblocks.

#include<stdio.h>
#include<math.h>
int input,x,z=2,hasil=1;
int prima(int input)
{while(hasil!=0&&z<input)
{hasil=input%z;z++;}
if (hasil==0){return(0);}
else return(1);}

int main()
{char c;
printf(“Masukan bilangan bulat = “);
scanf(“%d”,&input);
x=prima(input);
if(x==1) {printf(“bilangan %d termasuk bilangan prima”,input);}
else {printf(“bilangan %d termasuk bukan bilangan prima”,input);}
getch();

}

Build and Run program, hasil outputnya akan seperti ini,

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Sekian dari saya,

Wassalamu’alaikum wr. wb