SEMANGAT PAGI!!
Pagi Pagi Pagi LUAR BIASA!
Hai sobat redaksi yang budiman. saya Ade Kurnia Dewi dengan bimbingan Bapak Firman Arifin, akan memaparkan proses pembuatan fungsi-fungsi diluar fungsi-fungsi yang ada, serta mempelajari penggunaan variabel global, local, eksternal, otomatis, statis, dan register.
sebelum membahas lebih lanjut proses nya, kita harus lebih dahulu mengetahui apa itu fungsi?
Fungsi adalah bagian program yang terpisah dari fungsi program utama main() dan berdiri sendiri untuk melakukan proses tertentu.
Tujuan digunakannya fungsi adalah untuk mencegah penggunaan program secara berulang, dimana program menjadi sangat panjang.
Nhahhh,, setelah mengetahui penjelasan dari fungsi,
sekarang kita mulai mengaplikasikannya untuk membuat program
- Membuat fungsi tahun kabisat
#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,z;char c;
printf(“Menentukan Tahun Kabisat\nMasukan tahun = “);
scanf(“%d”,&tahun);
z=kabisat(tahun);
if(z==0)
{printf(“Tahun %d adalah bukan tahun kabisat”,tahun);}
else {printf(“Tahun %d adalah tahun kabisat”,tahun);}
getch();
}
maka hasil yang akan keluar dilayar sebagai berikut
2. Membuat fungsi faktorial()
#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));
getch();
}
maka hasil yang akan keluar dilayar sebagai berikut
3. Membuat fungsi permutasi() dan kombinasi()
#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();
}
maka hasil yang akan keluar dilayar sebagai berikut
4. Membuat fungsi float dalam mengkonversikan suhu
#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;}
getch();
}
maka hasil yang akan keluar dilayar sebagai berikut
5. Membuat fungsi prima()
#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();
}
maka hasil yang akan keluar dilayar sebagai berikut
6. Membuat program dengan dua variabel,
#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”);
}
maka hasil yang akan keluar dilayar sebagai berikut
Pada program diatas menggunakan variabel bertipe register dan interger yang kemuadian dibuat perulangan dengan fungsi for(). Menggunakan fungsi gettime() untuk menghitung waktu yang diperlukan oleh masing-masing perulangan.
Demikian apa yang dapat saya sampaikan, lebih dan kurang nya mohon dimaafkan dan semoga menjadi manfaat untuk kita semua. AAMIIN
Recent Comments