Assalamualaikum wr. wb.

haloo sahabat redaksi , kembali lagi bersama saya Aini dari PENS 2019.
Salam sejahtera bagi kita semua semoga selalu dalam lindungan-Nya. Nah kali ini saya akan sedikit memberi trailer tentang bagaimana fungsi dalam bahasa C dapat dikembangkan sendiri. Pada kepo kan?? yukk mari simak sedikit pembahasan nya .

Adapun tujuan dari fungsi yang dapat dikembangkan sendiri adalah untuk mempelajari fungsi-fungsi filuar fungsi-fungsi yang ada. Serta mempelajari penggunaan variabel global, local, ekstrenal, otomatis, statis dan register.
Nah jika kita masuk lebih dalam ternyata ada teori nya loh . 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 adalah untuk mencegah penggunaan program secara berulang-ulang, sehinga program menjadi sangat panjang. Pada percobaan-percobaan diatas telah digunakan fungsi-fungsi dari c, seperti printf(), clrscr(), scanf(), getch(), puts(), for() dsb. maka disini divoba untuk membuat fungsi baru dimana tidak ada dalam pustaka bahasa C ( Turbo C). Secara aturan fungsi baru dibuat setelah fungsi main() dibuat, sehinggapenempatan fungsi adalah dibawah fungsi main(), tetapi ada kalanya dapat diletakkan diatas fungsi main(). seperti fungsi-fungsi yang ada dalam #include. bila fungsi dietakkan diatas fungsi main() maka tidak diperlukan deklarasi fungsi lagi.

gimana nih temen temen masih pada bingung?? kalo masih bingung cuss langsung aja liat contoh dibawah ini yaa

CONTOH:
TUGAS 1 membuat fungsi kabisat() yang akan memberikan nilai balik 1 bila tahun adalah kabisat, dan 0 bila tahun bukan kabisat.

int 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 menunjukkan tahun kabisat\n”);
printf (“Nilai 0 menunjukkan bukan tahun kabisat\n\n”);

printf (“Masukkan tahun : “);
scanf (“%d”, &x);
printf (“Nilai= %d\n”,kabisat(x));

getch();
}

  • Facebook
  • Twitter
  • Google+
  • Pinterest

nah coba kalian jalankan program dengan rumus diatas, maka akan muncul hasil apabila tahun kabisat nilai baliknya sama 1 dan apabila bukan tahun kabisat maka nilai baliknya 0 .

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

#include<stdio.h>

int nilai;

long int faktorial(nilai) {
register int i;

int faktorial=1;

for(i=1;i<=nilai;i++)
faktorial*=i;

return(faktorial);
}

main()
{
char c;

printf(“Masukan nilai x yang difaktorialkan = “);
scanf(“%d”,&nilai);

printf(“Faktorial dari %d = %d\n”,nilai,faktorial(nilai));
getch();
}

  • Facebook
  • Twitter
  • Google+
  • Pinterest

coba jalankan program dengan menggunakan rumus di atas, maka hasil nilai yang difactorialkan akan muncul seperti gambar yang ada di atas.

TUGAS 3 membuat suatu fungsi permutasi () dan kombinasi() untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan .

#include<stdio.h>

int permiutasi(int n, int r);
int kombinasi(int n, int r);
int faktorial(int f);
main(){
int n, r;
printf(“Masukkan nilai n: “);
scanf(“%d, %d”, &n);
printf(“Masukkan nilai r: “);
scanf(“%d”, &r);
if (n<r){
printf(“invalid input n < r”);
exit(0);
}
printf(“Permutasi (%d, %d):%d “, n,r,permutasi(n,r));
printf(“\nKombinasi (%d, %d):%d”, n,r,kombinasi(n,r));
}
int faktorial(int f){
if(f==0)
return 1;
return f*faktorial(f-1);
}
int permutasi(int n, int r){
return faktorial(n)/faktorial(n-r);
}
int kombinasi(int n, int r){
return faktorial(n)/faktorial (r);faktorial(n-r);
getch();
}

  • Facebook
  • Twitter
  • Google+
  • Pinterest

TUGAS 4 membuat fungsi float suhu (s, d) untuk mengkonversikan suhu dari Celcius ke Fahrenheit. Celcius ke Reamur, Fahrenheit ke Celcius. Dimana s adalah suhu sumber, d adalah suhu konversi, dan suhu () adalah hasil konversi suhu.

#include<stdio.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;
}
}
}

  • Facebook
  • Twitter
  • Google+
  • Pinterest

jika kalian mencoba menjalankan program dengan rumus di atas, maka akan diketahui hasil dari konversi suhu seperti pada gambar di atas.

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

#include<stdio.h>

int prima(int x);
int prima(int x){
int i, faktor;
for(i = 1; i <= x; i++){
if(x%i==0)
faktor++;
}
if(faktor == 2)
return 1;
else
return 0;
}
main(){
int n;
printf(“Masukkan bilangan : “);
scanf(“%d”, &n);
if(prima(n))
printf(“Bilangan %d termasuk bilangan prima”, n);
else
printf(“Bilangan %d bukan termasuk bilangan prima”, n);
getch();
}

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Dari contoh tugas diatas dapat disimpulkan bahwa fungsi dalam bahasa C dapat dikembangkan sendiri sesuai keinginan kalian.
nahh cukup sekian pembahasan kita pada artikel kali ini , saya aini pamit undur diri sekian dan terimakasih

wassalamualaikum wr. wb.