Assalamualaikum Wr. Wb. Hai sobat sobat ambyar kembali lagi dengan saya Nando. 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.

Tugas:

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

#include<stdio.h>
#include<conio.h>

kabisat ( int x )
{
if((x%4==0))
return 1;
else;
return 0;

}
void main()
{
int x;
printf(“Fungsi Kabisat\n”);
printf(“1 = Tahun kabisat\n”);
printf(“0 = Bukan tahun kabisat\n\n”);
start:
printf(“Masukkan tahun = “);
scanf(“%d”, &x);
printf(“%d\n\n”,kabisat(x));
goto start;

}

Hasil Program

  • Facebook
  • Twitter
  • Google+
  • Pinterest

2. Program fungsi factorial() untuk menghitung nilai factorial

#include<stdio.h>
#include<conio.h>

float nilai;
float factorial(nilai)
{
register int i;
float fact=1;
for(i=1;i<=nilai;i++)
fact*=i;
return(fact);
}

main()
{
int i, nilai;
double fact;
printf(“Program Pemfaktorial”);
start:
printf(“\n\nMasukkan bilangan bulat positif yang difaktorkan = “);
scanf(“%d”, &nilai);
printf(“Hasil Pemfaktoran dari %d = %40.0f”, nilai, factorial(nilai));
goto start;
getch();
}

Hasil Program

 

  • Facebook
  • Twitter
  • Google+
  • Pinterest

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

#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();
}

Hasil Program

  • Facebook
  • Twitter
  • Google+
  • Pinterest

4.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<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();
}

Hasil Program

  • Facebook
  • Twitter
  • Google+
  • Pinterest

5.Program fungsi prima ()

#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();

}

Hasil Program

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

Sekian pembahasan kali semoga sobat ambyar dapat mengerti mengenai materi ini.

Semangat wahai sobat ku.

Waalaikumsalam Wr.Wb