Assalamualaikum wr wb,
“There are two ways to write error-free programs; only the third one works.”
Kata bijak ini bertujuan untuk memberikan semangat kepada programmer yang mungkin frustrasi pada saat menemukan error pada program yang dikembangkannya. Arti yang terkandung dari kalimat tersebut adalah bahwa sebuah program yang dikembangkan tidak akan luput dari error, sehebat apapun programmernya.
Oleh karena itu programmer harus belajar untuk menekan ego dan dapat segera merilis program yang memang sudah sesuai dengan standar dan ketentuan.
Salam redaksiana!!!
Masih bersama saya bagus dari elka’19. Nah, pada kesempatan kali ini saya ingin menjelaskan tentang…
“MENGEMBANGKAN FUNGSI-FUNGSI SENDIRI” dan kita langsung saja masuk ke materi fungsi… skuyy!!!
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 untuk mencegah penggunaan program secara berulang-ulang, sehingga program menjadi sangat panjang. Pada percobaan perobaan di atas telah digunakan fungsi-fungsi dari C, seperti printf(), clrscr(), scanf(), getch(), puts(), for() dan sebagainya, maka disini dicoba untuk membuat fungsi baru dimana tidak ada dalam pustaka bahasa C (Turbo C). Secara aturan fungsi baru dibuat setelah fungsi main() dibuat.
Sehingga penempatan fungsi adalah dibawah fungsi main(), tetapi ada kalanya dapat diletakkan di atas fungsi main(). Seperti fungsi-fungsi yang ada dalam #include. Bila fungsi diletakkan di atas fungsimain()maka tidak diperlukan deklarasi fungsi lagi
okay sobat mari kita langsung ke prakteknya……..
- TUGAS 6.5.1
Membuat fungsi kabisat yang akan memberikan nilai balik 1 bila tahun adalah kabisat dan 0 bila bukan tahun kabisat :
Rumus :
#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();
}
Hasilnya :
- TUGAS 6.5.2
Membuat fungsi factorial() untuk menghitung nilai factorial. Fungsi factorial() membeikan nilai balik bertipe long int
yang akan dicetak ke layar dalam fungsi main .
Rumusnya :
#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();
}
Hasil pemrogramannya :
- TUGAS 6.5.3
Membuat suatu fungsi permutasi() dan kompinasi () untuk menghitung pemutasi dan kombinasi dari suatu pasangan bilangan yang di nyatakan dengan formula :
Permutasi =
Kombinasi =
Rumusnya :
#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();
}
Hasilnya :
- TUGAS 6.5.4
Membuat fungsi float suhu ( s, d ) , untuk mengkonversikan suhu dari Celcius ke Fahrenheit , Celcius ke Reamur, Fahrenheit ke Celcius , Fahrenheit ke Reamur, Reamur ke Celcius dan Reamur ke Fahrenheit. Diman s adalah suhu konversi dan suhu adalah konversi suhu
Contoh tampilan :
Masukkan suhu sumber = 100C
Masukkan suhu tujuan = R
Hasil konversi suhu = 80 R
Rumusnya :
#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();
}
Hasilnya :
- TUGAS 6.5.5
Membuat fungsi bilangan prima (). yang memberikan nilai balik 1 bila bilangan yang dimasukkan adalah prima dan 0 bila bukan bilangan prima
Rumusnya :
#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();
}
Hasilnya program :
- TUGAS 6.5.6
Membuat program menggunakan dua variabel , satu bertipe register dan lainnya bertipe integer. kemudain membuat dua perulangan menggunakan statement for() . untuk membandingkan waktu yang diperlukan untuk masing-masing tipe variable . Gunakan fungsi gettime() untuk menghitung waktu yang diperlukan oleh masung – masing perulangan.
Rumusnya :
#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”);
}
Hasilnya :
Jebretttzz.. nah mungkin itu saja yang bisa saya bahas di artikel .tujuan dari artikel yang saya buat ini untuk mempelajari pembuatan fungsi – fungsi yang ada serta mempelajari penggunaan variable global, local, eksternal, otomatis, statis dan register. Nahh gaesss jangan pernah bosan belajar pemrograman karena sebenarnya asikkk banget!!!
Wassalamualaikum wr wb
Recent Comments