Assalamualaikum Wr. Wb. Halo teman teman redaksi kembali lagi dengan saya Rizky. Kali ini saya akan membahas mengenai “mengembangkan fungsi-fungsi sendiri”. Sebelum menuju pembahasan, agar kita lebih paham saya akan menjelaskan tujuan dari pembelajaran bab ini. 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, langsung saja ke penjelasannya ya teman. 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.

 Oke teman langsung saja kita menuju ke pembahasan ya…..

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

 

Masukkan program:

 

 

 

#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,t;char c;

    printf(“Menentukan Tahun Kabisat\nMasukan tahun = “);

    scanf(“%d”,&tahun);

    t=kabisat(tahun);

    if(t==0)

    {printf(“Tahun %d adalah bukan tahun kabisat”,tahun);}

    else {printf(“Tahun %d adalah tahun kabisat”,tahun);}

    getch();

 

}

 

Build and run dan akan muncul tampilan seperti ini

  • Facebook
  • Twitter
  • Google+
  • Pinterest

·        Membuat suatu fungsi factorial untuk menghitung fungsi factorial.

 

Masukkan program

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

 

}

 

Build and run lalu muncul tampilan

  • Facebook
  • Twitter
  • Google+
  • Pinterest

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

 

Masukkan program:

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

}

 

Setelah di build and run muncul tampilan

 

  • Facebook
  • Twitter
  • Google+
  • Pinterest

·        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.

Masukan Program:

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

 

}

 

Build and run agar muncul tampilan

  • Facebook
  • Twitter
  • Google+
  • Pinterest

·        Program fungsi prima ()

Masukkan program

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

 

}

 

Muncul tampilan seperti ini jika dibuild and run

 

  • Facebook
  • Twitter
  • Google+
  • Pinterest

·        Membuat program menggunakan dua variable. Satu bertipe register satu bertipe interger.

Masukkan program

#include <stdio.h>

#include <time.h>

int main(){

    int x=0;

          clock_t t;

          mulai:

          t = clock();

    if (x==0){integerwaktu();} else{registerwaktu();}

          t = clock() – t;

          double waktuyangdibutuhkan = ((double)t)/CLOCKS_PER_SEC;

           if (x==0){printf(” integer membutuhkan %g detik untuk eksekusi \n”, waktuyangdibutuhkan);}

           else{printf(” register %g detik untuk eksekusi \n”, waktuyangdibutuhkan);}

           if(x==0){x++;goto mulai;}

          getch();

}

void registerwaktu()

{

    register z;

    for(z=1;z<=2000;z++)

        printf(“a”);

}

void integerwaktu()

{

    int c;

    for(c=1;c<=2000;c++)

    printf(“a”);

}

 

Build and run

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Sekian dulu ya teman artikel dari saya, sampai jumpa di lain artikel:*