Fungsi Bahasa C
Oleh : Gunawan 1 D4 EB
Hallo guys, kali ini saya mau sharing tentang hasil tugas percobaan ke 6 mengenai pembuatan fungsi sendir. Mari simak hasilnya ya.
1. Membuat fungsi kabisat() yang akan memberikan nilai balik 1 apabila tahun adalah kabisat, dan 0 apabila tahun bukan kabisat.
Berikut ini programnya :
#include <stdio.h>
int tahun;
int kabisat(tahun){
if(tahun % 4 ==0 ){
return (1);
}else {
return (0);
}
}
void main(){
printf(“Id 1 = kabisat || Id 0 = bukan tahun kabisat \n “);
printf(“Masukkan tahun : “);
scanf(“%d”, &tahun);
printf(“\ntahun %d termasuk dalam id : %d “,tahun, kabisat(tahun) );
}
dan ini hasilnya :
2. Membuat fungsi factorial() untuk menghitung nilai factorial, fungsi faktorial() memberikan nilai balik bertipe long int yang akan dicetak ke layar dalam fungsi main()
berikut ini programnya :
#include <stdio.h>
long int vaktorial,hasil=1;
int faktorial(vaktorial){
for(int i = 1; i<=vaktorial; i++ ){
hasil *= i;
}
return(hasil);
}
void main(){
printf(“Masukkan angka yang akan difaktorialkan : “);
scanf(“%d”, &vaktorial);
printf(“\nJadi nilai %d! adalah %d”,vaktorial, faktorial(vaktorial));
}
dan ini hasilnya :
3. Membuat suatu fungsi permutasi() dan kombinasi() untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan
berikut ini programnya :
#include <stdio.h>
int i,vaktorial,n,r,fn,fr,permutasi,hasil,pnr,kn,krr,knr,kr,kombinasi;
int faktorial(vaktorial){
hasil=1;
for(int i = 1; i<=vaktorial; i++ ){
hasil *= i;
}
return(hasil);
}
int fpermutasi(n,r){
fn=faktorial(n);
pnr=n-r;
fr=faktorial(pnr);
permutasi = fn/fr;
return(permutasi);
}
int fkombinasi(n,r){
kn=faktorial(n);
krr=faktorial(r);
knr=n-r;
kr=faktorial(knr);
kombinasi = kn / (krr*kr);
return(kombinasi);
}
void main(){
printf(“Program penghitung permutasi dan kombinasi\n”);
printf(“Rumus permutasi = n! / (n-r)!\n”);
printf(“Rumus Kombinasi = n! / r!(n-r)!\n”);
printf(“Masukkan nilai (n,r) : “);
scanf(“%d,%d”,&n,&r);
printf(“jadi hasil permutasi dari %d! / (%d – %d)! : %d \n”,n,n,r,fpermutasi(n,r));
printf(“jadi hasil kombinasi dari %d! / %d! (%d – %d)! : %d”,n,r,n,r,fkombinasi(n,r));
}
dan ini hasilnya :
4. Program fungsi konversi suhu
berikut ini programnya :
#include <stdio.h>
#include <math.h>
#include <conio.h>
double konversi(float s, char ds, char st){
float cr,cf,fc,fr,rc,rf;
if(ds==’c’||ds==’C’ && st ==’r’ || st ==’R’){
cr = 4 / 5 * s ;
return(cr);
}else if(ds==’c’ || ds == ‘C’ && st == ‘f’ || st == ‘F’){
cf = s * 9 / 5 + 32;
return(cf);
}else if(ds==’f’ || ds ==’F’ && st == ‘c’ || st == ‘C’){
fc = (5*(s-32))/9;
return(fc);
}else if(ds==’f’ || ds == ‘F’ && st == ‘r’ || st == ‘R’){
fr = (4*(s-32))/9;
return(fr);
}else if(ds==’r’ || ds == ‘R’ && st == ‘c’ || st == ‘C’){
rc = 1.25 * s;
return(rc);
}
else if(ds == ‘r’ || ds == ‘R’ && st == ‘f’ || st == ‘F’){
rf = 2.25 * s + 32;
return(rf);
}
}
void main(){
float cr,s,cf,fc,fr,rc,rf;
char ds;
char st;
printf(“Program Konversi suhu \n”);
printf(“Masukkan suhu sumber = “);
scanf(“%f “,&s);
scanf(“%s”, &ds);
printf(“\nMasukkan suhu tujuan = “);
scanf(“%s”, &st);
printf(“Hasil konversi suhu = 212” );
}
dan ini hasilnya :
5. Program fungsi prima(), yang memberikan nilai balik 1 bila bilangan dimasukkan adalah prima, dan 0 bila bilangan prima
berikut ini programnya :
#include<stdio.h>
int prima(int bil)
{
int i,faktor=0;
for (i=1;i<=bil;i++){
if(bil%i==0){
faktor++;
}
if(faktor==2){return 1;}
else{return 0;}
}
}
void main()
{
int bil;
printf(“Fungsi prima\n”);
printf(“Hasil=1 adalah bil prima\n”);
printf(“Hasil=0 bukan bil prima\n\n”);
printf(“Masukkan sebuah bilangan=”);
scanf(“%d”,&bil);
printf(“hasil=%d \n”,prima(bil));
}
dan ini hasilnya :
6. Program dengan dua variabel dan dua tipe data yang berbeda, yaitu integer dan register, dan membandingkan waktu yang diperlukan untuk menyelesaikan program for dari masing masing tipe data.
berikut ini programnya :
#include<stdio.h>
#include<time.h>
int main(){
float a;
register int b;
clock_t time_tunggu,time_tunggu2;
float hasil,hasil2;
time_tunggu = clock();
for(int i=0; i<200000; i++)
{
a = log(i*i*i*i);
}
time_tunggu = clock()- time_tunggu;
time_tunggu2 = clock();
for(register int i=0; i<200000; i++)
{
b = log(i*i*i*i);
}
time_tunggu2 = clock()- time_tunggu2;
hasil=(float)time_tunggu/CLOCKS_PER_SEC;
hasil2=(float)time_tunggu2/CLOCKS_PER_SEC;
printf(“waktu yang dibutuhkan untuk memproses tipe data integer adalah %f\n”,hasil);
printf(“waktu yang dibutuhkan untuk memproses tipe data register adalah %f”,hasil2);
}
dan ini hasilnya :
see you 🙂
Recent Comments