Assalamualaikum wr. wb, Saya Dendy Meireza dari kelas 1 D3 ELKA A akan menjelaskan apa itu pengembangan fungsi-fungsi sendiri.
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 adalah untuk mencegah penggunaan program secara berulang-ulang, sehingga program menjadi sangat panjang. Pada percobaan-percobaan diatas telah digunakan fungsi-fungsi dari C, seperti printf (). clrscr (), scanf (), getch (), dan lain-lain. Maka disini dicoba untuk membuat fungsi baru dimana tidak ada dalam pustaka Bahasa C.
Secara aturan fungsi baru dibuat setelah fungsi main () dibuat. Sehingga penempatan fungsi adalah dibawah fungsi main(). tetapi ada kalanya dapat diletakkan diatas fungsi main (). seperti fungsi-fungsi yang ada dalam #include. Bila fungsi diletakkan diatas fungsi main () maka tidak diperlukan deklarasi fungsi lagi.
Mari kita mengaplikasikannya
*Tugas 6.5.1*
Membuat fungsi tahun kabisat
#include<stdio.h>
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\nMasukkan 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);
}
}
maka hasilnya akan menjadi seperti ini
*Tugas 6.5.2*
Membuat fungsi faktorial
#include<stdio.h>
int nilai;
long int faktorial(nilai){
register int i;
int faktorial = 1;
for(i=1;i<=nilai;i++)
faktorial*=i;
return(faktorial);
}
main()
{
char c;
printf(“Masukkan nilai x yang difaktorialkan = “);
scanf(“%d”, &nilai);
printf(“Faktorial dari %d = %d\n”, nilai, faktorial(nilai));
}
maka hasilnya akan menjadi seperti ini
*Tugas 6.5.3*
Membuat suatu fungsi permutasi dan kombinasi
#include <stdio.h>
Permutasi (int y, int z)
{
int v, w, jumlah1 = 1, jumlah2 = 1, hasil;
for (v = 1; v <= y; v++)
jumlah1 *= v;
for (w = 1; w <= (y-z); w++)
jumlah2 *= w;
hasil = jumlah1 / jumlah2;
return(hasil);
}
Kombinasi (int y, int z)
{
int t, jumlah3 = 1, hasil;
for (t = 1; t <= z; t++)
jumlah3 *= t;
hasil = Permutasi(y,z) / jumlah3;
return (hasil);
}
int y, z;
main()
{
printf(“Fungsi permutasi dan kombinasi\n”);
printf(“Masukkan nilai y = “);
scanf(“%d”, &y);
printf(“Masukkan nilai z = “);
scanf(“%d”, &z);
printf(“\nNilai dari Permutasi (%d,%d) adalah %d”, y, z, Permutasi(y,z));
printf(“\nNilai dari Kombinasi (%d,%d) adalah %d”, y, z, Kombinasi(y,z));
}
maka hasilnya akan menjadi seperti ini
*Tugas 6.5.4*
Membuat fungsi float suhu(s, d)
#include<stdio.h>
#include<math.h>
float input, sumber,x,hasil,z=1.0;
char c,d,p;
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;}
}
maka hasilnya akan menjadi seperti ini
*Tugas 6.5.5*
Membuat fungsi prima
#include <stdio.h>
prima (int bil)
{
int z, faktor = 0;
for (z=1;z<=bil;z++)
if (bil%z==0)
faktor++;
if (faktor==2)
return 1;
else
return 0;
}
main()
{
int bil;
printf(“Fungsi Prima\n”);
printf(“Hasil=1 adalah Bilangan prima\n”);
printf(“Hasil=0 adalah Bukan Bilangan Prima\n\n”);
printf(“Masukkan Bilangan : “);
scanf(“%d”,&bil);
printf(“Hasil = %d\n”,prima(bil));
}
maka hasilnya akan menjadi seperti ini
*Tugas 6.5.6*
Membuat program variabel
#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 kurang lebihnya mohon maaf. Wassalamualaikum wr.wb
Recent Comments