Assalamualaikum Bosskuu

Pada kesempatan kali ini saya akan membahas tentang MENGEMBANGKAN  FUNGSI-FUNGSI SENDIR, tujuan dari pembahasan ini adalah untuk mempelajari pembuatan fungsi-fungsi diluar fungsi-fungsi yang ada, serta mempelajari penggunaan variabel global, local, eksternal, otomatis, statis, dan register.

 

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(), 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 diatas fungsi main(), seperti fungsi-fungsi yang ada dalam #include. Bila fungsi diletakkan diatas fungsi main() maka tidak diperlukan deklarasi fungsi lagi.

 

Setelah kita membahas sedikit seputar fungsi, mari kita langsung praktek untuk membuat programnya dididit :

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(“Jika 1 = tahun kabisat || Jika 0 = bukan tahun kabisat \n “);
printf(“Masukkan tahun : “);
scanf(“%d”, &tahun);

printf(“\ntahun %d termasuk golongan %d “,tahun, kabisat(tahun) );

}

dan ini hasilnya :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

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 :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

3.  Membuat suatu fungsi permutasi() dan kombinasi() untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan

Berikut ini programnya :

#include <stdio.h>
int permutasi(int n,int r);
int kombinasi(int n,int r);
int faktorial(int f);
main(){
int n , r ;
printf(“Masukkan nilai 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));
}

dan ini hasilnya :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

4. Membuat fungsi float suhu (s,d), untuk mengonversikan suhu dari celcius ke fahrenheit, celcius ke reamur, fahrenheit ke reamur, reamur ke celcius dan lain-lain. Dimana s adalah suhu sumber, d adalah suhu konversi, dan suhu() adalah hasil konversi suhu.

Berikut ini programnya :

#include<stdio.h>
float suhu (float temperature , char asal ,char tuju)
{
float hasil;

if ( asal == ‘C’) {
if ( tuju == ‘R’)
hasil = 0.4 * temperature;
else if (tuju == ‘F’)
hasil = (temperature * 2.25) + 32;

}

else if(asal == ‘R’) {
if (tuju == ‘C’)
hasil = temperature * 1.25;
else if (tuju == ‘F’)
hasil = (temperature * 2.25) + 32;
}

if (asal == ‘F’)
else if (tuju == ‘C’)
hasil = (temperature – 32) * 5 / 9;
else if (tuju == ‘R’)
hasil = (temperature – 32) * 4 / 9;
return
0;

}

void main()
{

float a, hasil;
char c, b;
printf(“masukkan SUHU konversi : “, a, c);
scanf(“%d %c”, &a, &c);
printf(“masukkan suhu yang dituju”);
fflush(stdin);
scanf(“%c ” &b);
hasil = suhu (a,b,c);
printf(“hasil = %d %c”, hasil, b);

5. Membuat fungsi prima(), yang memberikan nilai balik 1 bila bilangan yang dimasukkan adalah prima, dan 0 bila bukan bilangan prima.

Berikut ini programnya :

#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”);
}

dan ini hasilnya :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

6. Membuat program menggunakan dua variable, satu bertipe register dan lainnya bertipe integer, kemudian buatlah dua perulangan menggunakan statement for(), untuk membandingkan waktu yang diperlukan untuk masing-masing tipe variable. gunakan fungsi gettime() untuk menghitung waktu yang diperlukan oleh masing-masing perulangan.

Berikut ini programnya :

#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(“K”);
}
void integerwaktu()
{
int c;
for(c=1;c<=2000;c++)
printf(“K”);
}

dan ini hasilnya :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Sekian dari pembahasan saya, apabila ada salah kata atau program mohon dimaafka 😀

Terimakasih.