Assalamualaikum
Saya irvanda akan mengenalkan tentang fungsi
Fungsi adalah sub program yang terpisah dari program utama, dalam fungsi terdapat tiga keyword, yaitu
1.terpisah dari program utama
2.bekerja tergantung tugasnya
3.bekerja secara berulang ulang
Berikut ini contoh dari fungsi
Tugas 651 fungsi kabisat
#include <stdio.h>
int kabisat (int k)
{
if(k%4==0)
return 1;
else
return 0;
}
void main ()
{
int k;
printf(“masukkan tahun= “); scanf(“%d”, &k);
printf(“%d\n”, kabisat(k));
}
Tugas 652 fungsi faktorial
#include <stdio.h>
long int factorial (long int a)
{
int b, jumlah =1;
for(b=1;b<=a;b++)
jumlah=jumlah*b;
return(jumlah);
}
main()
{
long int a;
printf(“Fungsi Factorial”);
printf(“\n\nMasukkan Bilangan =”);
scanf(“%d”, &a);
printf(“Nilai %d! adalah %d\n”, a,factorial(a));
}
Tugas 653 Fungsi permutasi dan kombinasi
#include <stdio.h>
#include <stdlib.h>
int permutasi(int n,int r);
int kombinasi(int n,int r);
int faktorial(int r);
main(){
int n, r;
printf(“masukkan niali n,r=”);
scanf(“%d, %d”, &n, &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));
}
Tugas 654 konversi suhu
#include <stdio.h>
#include <stdlib.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(“masukkan satuan tujuan :”);
fflush(stdin);
scanf(“%c”, &z);
hasil = konversi(x, y, z);
printf(“\n hasil konversi suhu %.2f %c – %.2f %c”, x, y, hasil, z);
return 0;
}
float konversi(float suhu, char asal, char tujuan){
float hasil;
if(asal == ‘c’ || asal == ‘C’){
if(tujuan == ‘r’ || tujuan == ‘R’)
hasil= 0.5 * suhu;
else if(tujuan == ‘f’ || tujuan== ‘F’)
hasil= (1.5*suhu)+32;
else if(tujuan == ‘k’ || tujuan ==’K’)
hasil= suhu + 273;
}
else if (asal == ‘r’ || asal == ‘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’ || asal == ‘F’){
if(tujuan == ‘c’ || tujuan == ‘C’)
hasil= 5/9*(suhu – 32);
else if(tujuan == ‘f’ || tujuan == ‘F’)
hasil= (0.8)*(5/9)*(suhu-32);
else if(tujuan == ‘k’ || tujuan == ‘K’)
hasil= 5/9*(suhu-32)+273;
}
else if (asal == ‘k’ || asal == ‘K’){
if(tujuan == ‘c’ || tujuan == ‘C’)
hasil= suhu-273;
else if(tujuan == ‘f’ || tujuan == ‘F’)
hasil= (1.8*(suhu-273))+32;
else if(tujuan == ‘r’ || tujuan == ‘R’)
hasil= 0.8*(suhu-273);
}
return hasil;
}
Tugas 655 fungsi prima
#include <stdio.h>
#include <time.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 n : “);
scanf(“%d”, &n);
if(prima(n))
printf(“Bilangan prima”);
else
printf(“Bilangan bukan prima”);
}
Tugas 656 perbandingan waktu
#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<=20;z++)
printf(“a”);
}
void integerwaktu()
{
int c;
for(c=1;c<=20;c++)
printf(“a”);
}
sekian dari saya dan terimakasih
Recent Comments