Halo teman-teman bertemu lagi dengan aku Oktavia Nur Rizky Angelina dari kelas D3 Elektronika B. Kali ini aku akan membahas mengenai bagaimana cara mengembangkan sebuah fungsi sendiri. Untuk membuat suatu program terkadang kita perlu untuk membuat sebuah fungsi yang masih belum dibuat pada aplikasi sebelumnya.

Suatu fungsi tidak akan terpisah dari fungsi program utamanya dan tidak akan pernah bisa berdiri sendiri dalam mengerjakan suatu program. Fungsi itu digunakan sebagai fungsi itu sendiri karena agar tidak terjadi penggunaan program secara berulang-ulang, sehingga program menjadi sangat panjang. Pada percobaan kali ini kita akan mencoba hal baru dengan menggunakan fungsi (Turbo C) untuk membuat fungsi baru. Secara aturan fungsi baru dibuat setelah fungsi main() dibuat. Sehingga peletakkan fungsi baru setelah fungsi main(). Akan tetapi, terkadang fungsi baru diletakkan diatas fungsi main() seperti fung-fungsi yang terdapat pada #include. Apabila fungsi baru diletakkan diatas fungsi main() maka tidak diperlukan deklarasi fungsi lagi.

Nah buat kalian yang sudah penasaran dengan pembahasan materi ini, simak uraian berikut.

  • Membuat Fungsi Kabisat

Berikut merupakan salah satu contoh bentuk program untuk menentukan fungsi kabisat.

/*Membuat Fungsi Kabisat*/
#include <stdio.h>
#include <conio.h>
int tahun;
int kabisat(tahun){
if((tahun%100==0 && tahun%400==0)||(tahun%100!=0 && tahun%4==0))
return 1;
else
return 0;

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

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

Setelah mengetik program diatas dalam Code Block maka langkah selanjutnya yakni tekan icon Build and Run kemudian akan muncul tampilan seperti gambar dibawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Dari percobaan tersebut didapatkan bahwa apabila kita memasukkan sembarang tahun kedalam program tersebut maka program akan mengartikan dengan nilai 1 atau 0 artinya nilai 1 berarti tahun tersebut termasuk tahun kabisat, sedangkan nilai 0 berarti tahun tersebut bukan tahun kabisat. Seperti contoh diatas yahun 2000 diartikan program bernilai 1 karena tahun 2000 bukan merupakan tahun kabisat.

  • Menghitung Nilai Faktorial

Berikut merupakan salah satu contoh bentuk program untuk menghitung nilai faktorial.

/*Menghitung Nilai Faktorial*/
#include <stdio.h>
#include <conio.h>
factorial(long int x)
{
int n, jumlah=1;
for (n=1;n<=x;n++)
jumlah=jumlah*n;
return (jumlah);
}

void main()
{
long int x;
printf(“Fungsi faktorial\n”);
printf(“Masukkan bilangan faktorial=”); scanf(“%d”,&x);
printf(“Nilai %d! adalah %d\n”, x, factorial(x));
getch();
}

Setelah mengetik program diatas dalam Code Block maka langkah selanjutnya yakni tekan icon Build and Run kemudian akan muncul tampilan seperti gambar dibawah ini.

 

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Berdasarkan program diatas ditunjukkan bahwa untuk menghitung nilai faktorial dapat dilakukan dengan menggunakan prinsip dari looping seperti pada pembahasan sebelumnya. Dengan menggunakan operator n++ maka dapat menghitung nilai faktorial.

  • Membuat Fungsi Permutasi Dan Kombinasi

Berikut merupakan salah satu contoh bentuk program untuk membuat fungsi permutasi dan kombinasi.

/*Membuat Fungsi Permutasi Dan Kombinasi*/
#include <stdio.h>
#include <conio.h>
permutasi(int n,int r)
{
int i,j,jumlah1=1, jumlah2=1,hasil;
for(i=1;i<=n;i++)
jumlah1*=i;
for(j=1;j<=(n-r);j++)
jumlah2*=j;
hasil= jumlah1/jumlah2;
return (hasil);
}

kombinasi (int n,int r)
{
int k,jumlah3=1,hasil;
for(k=1;k<=r;k++)
jumlah3*=k;
hasil= permutasi(n,r)/jumlah3;
return (hasil);
}
void main()
{
int n,r;
printf(“Fungsi permutasi dan kombinasi\n”);
printf(“Masukkan n=”); scanf(“%d”,&n);
printf(“Masukkan r=”); scanf(“%d”,&r);

printf(“\nNilai permutasi P(%d,%d) adalah %d”,n,r,permutasi(n,r));
printf(“\nNilai kombinasi C(%d,%d) adalah %d\n”,n,r,kombinasi(n,r));
getch();
}

Setelah mengetik program diatas dalam Code Block maka langkah selanjutnya yakni tekan icon Build and Run kemudian akan muncul tampilan seperti gambar dibawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Dari percobaan diatas dapat diketahui nilai program sama dengan nilai apabila dihitung secara manual. Karena dalam program tersebut menggunakan prinsip looping seperti pada pembahasan sebelumnya. Pada program diatas fungsi utama dipanggil pada akhir sehingga fungsi pemanggilnya diletakkan diatas sebelum fungsi utama.

  • Mengkonversikan Suhu Dengan Fungsi Float

Berikut merupakan salah satu contoh bentuk program untuk mengkonversikan suhu dengan fungsi float.

/*Mengkonversikan Suhu Dengan Fungsi Float*/
#include <stdio.h>
#include <conio.h>
double suhu(float a,char b,char c)
{
float d;
if(b==’c’&& c==’f’) goto cf;
if(b==’c’&& c==’r’) goto cr;
if(b==’f’&& c==’c’) goto fc;
if(b==’f’&& c==’r’) goto fr;
if(b==’r’&& c==’c’) goto rc;
if(b==’r’&& c==’f’) goto rf;

cf: d=a*9/5+32; return (d);
cr: d=a*4/5; return (d);
fc: d=(a-32)*5/9; return (d);
fr: d=(a-32)*4/9; return (d);
rc: d=a*5/4; return (d);
rf: d=a*9/4+32; return (d);
getch();
}

main()
{
float a; char b,c,e;
menu1:
printf(“Konversi suhu\n”);
printf(“Masukkan suhu=”); scanf(“%g”,&a);
printf(“Masukkan suhu sumber dan tujuan tanpa spasi<contoh cf>=”); scanf(“%c%c%c”,&b,&b,&c);

if (b==c)
{
printf(“Format suhu salah, silahkan coba lagi”);
getch(); system(“cls”);goto menu1;
}

if ((b==’c’||b==’f’||b==’r’)&&(c==’c’||c==’f’||c==’r’))
{
printf(“Hasil konversi=%g\n”, suhu(a,b,c));
printf(“Tekan <y> untuk mengulang\n”);
e=getche();
while(e==’y’)
{
system(“cls”); goto menu1;
}
}
getch();
}

Setelah mengetik program diatas dalam Code Block maka langkah selanjutnya yakni tekan icon Build and Run kemudian akan muncul tampilan seperti gambar dibawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Dalam program diatas kita dapat mengkonversikan berbagai macam sistem konversi suhu dalam satu program. Sehingga dalam mengkonversikan suhu dapat dilakukan hanya menggunakan program diatas. Dengan menggunakan prinsip looping yakni while maka dapat mengganti berbagai sistem konversi suhu.

  • Membuat Fungsi Bilangan Prima

Berikut merupakan salah satu contoh bentuk program untuk membuat fungsi bilangan prima.

/*Membuat Fungsi Bilangan Prima*/
#include <stdio.h>
#include <conio.h>
prima(int bil)
{
int i,faktor=0;
for (i=1;i<=bil;i++)
if(bil%i==0)
faktor++;

if(faktor==2)
return 1;
else
return 0;
}

void main()
{
int bil;
printf(“Fungsi prima\n”);
printf(“Hasil=1 adalah bil prima\n”);
printf(“Hasil=0 bukan bil prima\n\n”);
printf(“Masukkan sebuah bilangan=”); scanf(“%d”,&bil);
printf(“hasil=%d \n”,prima(bil));
getch();
}

Setelah mengetik program diatas dalam Code Block maka langkah selanjutnya yakni tekan icon Build and Run kemudian akan muncul tampilan seperti gambar dibawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Pada program diatas hampir mirip sama dengan program pada percobaan pertama. Dalam percobaan ini apabila bilangan yang dimasukkan bernilai benar maka akan muncul hasil 1. Sedangkan apabila bilangan yang dimasukkan tidak memenuhi syarat bilangan prima maka akan muncul nilai 0.

Kesimpulan 

Dari semua percobaan dalam pembahasan kali ini dapat disimpulkan bahwa fungsi utama dipanggil pada akhir setelah fungsi yang akan digunakan untuk memanggil fungsi utama. Pada dasarnya peletakkan fungsi utama tidak mempengaruhi jalannya program asalkan program yang diinputkan bernilai benar.