Assalamualaikum temen – temen….
Kembali lagi bersama saya Khasib dari PENS2K19 , di artikel saya kali ini, saya akan membahas masih tentang materi pemrograman bahasa C, yang kali ini berjudul MENGEMBANGKAN FUNGSI – FUNGSI SENDIRI. Semoga artikel yang saya buat ini bermanfaat buat kalian dan jangan lupa komen di bawah, berikan kritik dan saran buat saya tentang artikel ini agar artikel yang saya selanjutnya bisa lebih baik lagi dan lebih menarik lagi.
Langsung saja, kira – kira kenapa sih kita perlu belajar untuk mengembangkan fungsi – funsi sendiri dalam pemrogaman bahasa C?
Tentunya agar kita bisa membuat fungsi – fungsi diluar fungsi yang ada atau yang sering kita gunakan sebelumnya, serta kita bisa mengetahui ilmu – ilmu baru dalam pemrograman seperti penggunaan variable global, local, eksternal, otomatis, statis dan register.
Karena kita akan mengembangkan fungsi tentu kita harus tau apa yang dimaksud dengan fungsi dalam bahasa C.
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 adalah untuk mencegah penggunaan program secara berulang-ulang, sehingga program menjadi sangat panjang. Pada percobaan – percobaan sehelumnya telah digunakan fungsi-fungsi dari C seperti printf(),clrscr(),scanf() dan sebagainya. Maka disini dicoba untuk membuat fungsi baru di mana tidak ada dalam pustaka bahasa C.
Secara aturan fungsi baru dibuat setelah fungsi main() dibuat, sehingga penempatan fungsi adalah di bawah fungsi main(). Tetapi ada kalanya dapat diletakkan diatas fungsi main seperti fungsi-fungsi yang ada dalam #include. Bila fungsi diletakkan diatas fungsi main() maka tidak diperlukan deklarasi fungsi lagi.
Agar kita bisa lebih mengerti tentang cara mengembangkan fungsi, ayo kita coba beberapa percobaan
- Membuat fungsi kabisat() yang akan memberikan nilai balik 1 bila tahun adalah kabisat, dan 0 bila tahun bukan kabisat.
#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();
}
Hasil tampilan
- Membuat fungsi faktorial() untuk menghitung nilai faktorial. Fungsi faktorial() memberikan nilai balik bertipe long int yang akan dicetak ke layar dalam fungsi main().
#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();
}
Hasil tampilan
- 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)!
#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 tampilan
- 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.
#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 tampilan
- Membuat fungsi prima() yang memberikan nilai Balik 1 bila bilangan dimasukkan dalam prima dan 0 bila bukan bilangan 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 tampilan
Sekian artikel yang saya tulis, terimakasih sudah membaca, semoga bermanfaat. Jangan lupa utuk memberikan kritik dan komentar tentang artikel ini agar artikel yang saya buat selanjutnya bisa lebih baik lagi dan lebih menarik lagi
Wassalamualaikum Wr Wb…
Recent Comments