hai rek,ketemu lagi dengan Eggy.Kali ini aku akan membagikan sedikit ilmu tentang Mengembangkan fungsi sendiri.fungsinya adalah untuk kita dapat membuat fungsi dengan fungsi yang ada dan dapat mempelajari penggunaan variable local,global,eksternal,statis dan register

Teorinya adalah Suatu fungsi merupakan bagian program yang terpisah dari fungsi program utamnya main() dan berdiri sendiri mengerjakan suatu proses tertentu.Seperti istilah yang digunakan pada pemrograman basic atau pascal fungsinya mencegah penggunaan program secara berulang yang menyebabkan program sangat panjang.contoh penggunaan fungsi fungsi dari C yaitu printf(),scanf(),dll.Maka demikian kita akan membuat fungsi yang tidak ada didalam pustaka bahasa C.Secara aturan fungsi baru digunakan setelah main().

1.Membuat fungsi kabisat yang memberikan nilai balik 1 bila tahun adalah kabisat, dan 0 bila tahun bukan kabisat

#include <stdlib.h>
#include <stdio.h>
int main()
{
int tahhun;
puts(” Tahun Kabisat\n”);
printf(“\n Tahun =”);
scanf(%d , &tahun);

if(tahun%4==0)
printf(“\n Tahun Kabisat”);
else
printf(“\n Bukan Tahun Kabisat”);
return 0;
}

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

int x;
long int faktorial(x){
register int i;
int faktori=1;
for(i=1;i<=x;i++) faktori *=1;
return(faktori);
}
void main()
{
printf(“masukan nilai=”);
scanf(“%d”, &x);
printf(“Faktorial dari %d!= %d\n”, x, faktorial(x));
getch;
}

3.membuat program permutasi dan kombinasi

#include <stdio.h>

int i,n,r,P,C,hasil1=1,hasil2=1,hasil3=1;

main()

{

printf(“PERMUTASI DAN KOMBINASI”);

printf(“\n\nRumus yang digunakan :”);

printf(“\n*PERMUTASI => P(n,r) = n!”);

printf(“\n\t\t ——–“);

printf(“\n\t\t (n-r)!\n”);

printf(“\n*KOMBINASI => P(n,r) = n!”);

printf(“\n\t\t ———-“);

printf(“\n\t\t R!(n-r)!\n”);

printf(“\nMasukkan nilai n dan r :”);

printf(“\nn = “); scanf(“%d”,&n);

printf(“\nr = “); scanf(“%d”,&r);

for(i = 1; i<=n; i++){

hasil1 = hasil1 * i;

}

for(i=1; i<=r; i++){

hasil2 = hasil2 * i;}

for(i=1; i<=(n-r); i++){

hasil3 = hasil3 * i;}

permutasi();

kombinasi();

printf(“\n\nHasil Permutasi P(%d,%d) = %d”, n,r,P);

printf(“\nHasil Kombinasi C(%d,%d) = %d\n”, n,r,C);

}

permutasi(){

P = hasil1/hasil3;

}

kombinasi(){

C = hasil1/(hasil3*hasil2);

}

4.Membuat program konversi suhu dari celsius ke farenhait,Cellcius ke reamur, Frenhait ke celcius , farenhait ke reamur, Reamur ke celcius dan reamur ke farenhait

#include <stdio.h>

float konversi (float suhu, char asal, char tujuan);

 

int main()

{

float x, hasil;

char y, z;

 

printf(“Masukkan suhu sumber : “);

scanf(“%f %c”, &x,&y);

printf(“\n\nMasukkan suhu tujuan : “);

fflush(stdin);

scanf(“%c”, &z);

hasil = konversi (x,y,z);

printf(“\n\nHasil konversi suhu %.2f %c = %.2f %c”, x, y, hasil, z);

}

float konversi (float suhu, char asal, char tujuan){

float hasil;

if (asal == ‘c’ || tujuan == ‘C’){

if (tujuan == ‘r’ || tujuan == ‘R’)

hasil = 0.8 * suhu;

else if (tujuan == ‘f’ || tujuan == ‘F’)

hasil = (1.8 * suhu) + 32;

else if (tujuan == ‘k’ || tujuan == ‘K’)

hasil = suhu + 273;

}

else if (asal == ‘r’ || tujuan == ‘R’){

if (tujuan == ‘c’ || tujuan == ‘C’)

hasil = 1.25 * suhu;

else if (tujuan == ‘f’ || tujuan == ‘F’)

hasil = (2.25 * suhu) + 32;

else if (tujuan == ‘k’ || tujuan == ‘K’)

hasil = (1.25 * suhu) + 273;

}

else if (asal == ‘f’ || tujuan == ‘F’){

if (tujuan == ‘r’ || tujuan == ‘R’)

hasil = (0.8) * (5/9) * (suhu – 32);

else if (tujuan == ‘c’ || tujuan == ‘C’)

hasil = (5/9) * (suhu – 3);

else if (tujuan == ‘k’ || tujuan == ‘K’)

hasil = (5/9) * (suhu – 3) + 273;

}

else if (asal == ‘k’ || tujuan == ‘K’){

if (tujuan == ‘r’ || tujuan == ‘R’)

hasil = (0.8) * (5/9) * (suhu – 32);

else if (tujuan == ‘f’ || tujuan == ‘F’)

hasil = (5/9) * (suhu – 3);

else if (tujuan == ‘c’ || tujuan == ‘C’)

hasil = (5/9) * (suhu – 3) + 273;

}

return hasil;

}

5.Membuat fungsi prima yang memberikan nilai 1 pada bilangan prima

#include <stdio.h>

int prima (int bil)

{

int a, faktor=1;

for (a=1;a<=bil;a++)

if (bil%a==0)

faktor++;

if(faktor==3)

return 1;

else

return 0;

}

main()

{

int bil;

printf(“\tFungsi prima\n”);

printf(“\n\nKeterangan :”);

printf(“\nJika hasil = 1 bilangan prima\n”);

printf(“Jika hasil = 0 bukan bilangan prima\n\n”);

printf(“Masukkan sebuah bilangan = “);

scanf(“%d”,&bil);

printf(“\nHasil = %d\n”,prima(bil));

getch();

}

6.Menghitung waktu yang diperlukan oleh masing masing perulangan

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

}

sekian ilmu yang dapat saya bagikan semoga bermanfaat bagi kita semua aamiin.