kembali lagi membahas Bahasa C…

kali ini kita akan  bahas materi mengenai Mengembangkan Fungsi-Fungsi Sendiri. Sebelumnya ada informasi umum sebagai pendahuluan. Berikut penjelasannya.

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 dan  PASCAL. Tujuan diadakannya fungsi tersebut adalah untuk mencegah penggunaan program secara berulang-ulang sehingga program menjadi sangat panjang. Pada percobaan di atas telah digunakan fungsi fungsi dari C, sepert printf(), clrscr(), scanf(), getch(), puts(), for() dan sebagainya, maka di sini dicoba untuk membuat fungsi baru di mana tidak ada dalam pustaka bahasa C.

Secara aturan fungsi baru dibuat setelah fungsi main() dibuat sehingga penempatan fungsi adalah di bawah fungsi main(). tetapi ada kalanya dapat diletakkan di atas fungsi main(). seperti fungsi-fungsi yang ada dalam #include. Bila fungsi diletakkan diatas fungsi main() maka tidak diperlukan deklarasi fungsi lagi.

Setelah memahami dasar teorinya, berikut ini adalah contoh penerapannya:

1. Program fungsi kabisat() yang akan memberikan nilai balik 1 bila tahun adalah kabisat, dan 0 bila tahun bukan kabisat. Silahkan ketik program dibawah ini.

#include<stdio.h>
kabisat(int x)
{
if ((x%100==0 && x%400==0)||(x%100!=0 && x%4==0))
return 1;

else ;
return 0;
}

void main()
{
int x;
printf (“Fungsi kabisat\n”);
printf (“nilai=1 adalah tahun kabisat\n”);
printf (“nilai=0 bukan tahun kabisat\n\n”);

printf (“Masukkan tahun=”);
scanf (“%d”, &x);
printf (“nilai=%d\n”,kabisat(x));
}

Coba build and run, berikut adalah hasilnya:

  • Facebook
  • Twitter
  • Google+
  • Pinterest

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

2. Membuat program fungsi factorial() untuk menghitung nilai factorial. Silahkan ketik program dibawah ini.

#include<stdio.h>
int input;
int faktorial(int input){
int i, hasil = 1;
for(i=1; i<=input; i++){
printf(“%d”, i);
if(i != input)
printf(” x “);
hasil *= i;}
return (hasil);

}

void main()
{

printf(“Masukkan angka : “);
scanf(“%d”, &input);

printf(“\n %d! = “, input);
printf(“= %d “, faktorial(input));
}

Coba build and run, berikut adalah hasilnya:

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

3. Membuat program suatu fungsi permutasi () dan kompinasi () untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan. Silahkan ketik program dibawah ini.

#include<stdio.h>77
#include<stdlib.h>

int permiutasi(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);
}

Coba build and run, berikut adalah hasilnya:

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

4. Membuat Program 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. Silahkan ketik program dibawah ini.

#include<stdio.h>
#include<stdlib.h>

float konversi(float suhu, char awal, char akhir);

int main(){
float x, hasil;
char y,z;

printf(“Masukkan suhu sumber : “);
scanf(“%f %c”, &x, &y);
printf(“Masukkan satuan akhir : “);
fflush(stdin);
scanf(“%c”, &z);
hasil = konversi(x, y, z);
printf(“\nHasil konversi suhu %.2f %c = %.2f %c”, x, y, hasil, z);
return 0;
}
float konversi(float suhu, char awal, char akhir){
float hasil;
if (awal == ‘c’ || awal == ‘C’ ){
if (akhir == ‘r’ || akhir == ‘R’ )
hasil = 0.8*suhu;
if (akhir == ‘f’ || akhir == ‘F’ )
hasil = (1.5*suhu) + 32;
else if (akhir == ‘k’ || akhir == ‘K’ )
hasil = suhu + 272;
}
else if (awal == ‘r’ || awal == ‘R’ ){
if (akhir == ‘c’ || akhir == ‘C’ )
hasil = 1.25*suhu;
else if (akhir == ‘f’ || akhir == ‘F’ )
hasil = (2.25*suhu) + 32;
else if (akhir == ‘k’ || akhir == ‘K’ )
hasil = (1.25*suhu)+273;
}
else if (awal == ‘f’ || awal == ‘F’ ){
if (akhir == ‘r’ || akhir == ‘R’ )
hasil = 0.8*(5/9)*(suhu-32);
else if (akhir == ‘c’ || akhir == ‘C’ )
hasil = 5/9*(suhu-32);
else if (akhir == ‘k’ || akhir == ‘K’ )
hasil = 5/9*(suhu-32)+273;
}
if (awal == ‘k’ || awal == ‘K’ ){
if (akhir == ‘r’ || akhir == ‘R’ )
hasil = 0.8 * (suhu-273);
else if (akhir == ‘f’ || akhir == ‘F’ )
hasil = (1.8*(suhu-273)) + 32;
else if (akhir == ‘c’ || akhir == ‘C’ )
hasil = suhu-273;
}
return hasil;
}

Coba build and run, berikut adalah hasilnya:

 

 

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

5. Membuat program fungsi prima ().  Silahkan ketik program dibawah ini.

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

Coba build and run, berikut adalah hasilnya:

  • Facebook
  • Twitter
  • Google+
  • Pinterest
  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

Nah ..itulah beberapa contoh penerapan dalam menggunakan fungsi-fungsi untuk menyelesaikan suatu problem. Demikian pembahasan kali ini, sekian dari sayaa sampai jumpa di artikel selanjutnya.