Fungsi pada Bahasa C merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang memanggilnya. Dalam bahasa C fungsi dapat dibagi menjadi dua, yaitu fungsi pustaka atau fungsi yang telah tersedia dalam Turbo C dan fungsi yang didefinisikan atau dibuat oleh programmer. Beberapa Contoh dari fungsi pustaka adalah stdio.h, stdlib.h, string.h, ctype.h, math.h dan time.h. Pada modul ini akan dipelajari bagaimana membuat fungsi sendiri.
Deklarasi Fungsi Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan dan didefinisikan terlebih dahulu.
tipe_keluaran_fungsi nama_fungsi(parameter_fungsi);
Hal-hal yang perlu diperhatikan dalam penggunaan fungsi :
- Kalau tipe fungsi tidak disebutkan, maka akan dianggap sebagai fungsi dengan nilai keluaran bertipe integer.
- Untuk fungsi yang memiliki keluaran bertipe bukan integer, maka diperlukan pendefinisian penentu tipe fungsi.
- Untuk fungsi yang tidak mempunyai nilai keluaran maka dimasukkan ke dalam tipe void.
- Pernyataan yang diberikan untuk memberikan nilai akhir fungsi berupa pernyataan return.
- Suatu fungsi dapat menghasilkan nilai balik bagi fungsi pemanggilnya
Contoh Program Menggunakan fungsi :
Membuat Fungsi Tambah
#include "stdio.h"
/* prototype fungsi tambah(), ada titik koma */
float tambah(float x, float y);
main(){
float a, b, c;
printf("A = "); scanf("%f", &a);
printf("B = "); scanf("%f", &b);
c = tambah(a, b); /* pemanggilan fungsi tambah() */
printf("A + B = %.2f", c);
}
/* Definisi fungsi , tanpa titik koma */
float tambah(float x, float y){
return (x+y); /* Nilai balik fungsi */
}
/* prototype fungsi tambah(), ada titik koma */
float tambah(float x, float y);
main(){
float a, b, c;
printf("A = "); scanf("%f", &a);
printf("B = "); scanf("%f", &b);
c = tambah(a, b); /* pemanggilan fungsi tambah() */
printf("A + B = %.2f", c);
}
/* Definisi fungsi , tanpa titik koma */
float tambah(float x, float y){
return (x+y); /* Nilai balik fungsi */
}
Penjumlahan 3 Variabel
#include <stdio.h>
int hasilTambah(int x,int y, int z){
int penjumlahan;
penjumlahan = x + y + z;
return penjumlahan;
}
int hasilKurang(int x,int y, int z){
int pengurangan;
pengurangan = x - y - z;
return pengurangan;
}
main(){
int a,b,c,hasil;
a = 1; b = 2; c = 3;
hasil = hasilTambah(a, b, c);
printf("Hasil penjumlahan : %d\n", hasil);
hasil = hasilKurang(a, b, c);
printf("Hasil pengurangan : %d\n", hasil);
}
int hasilTambah(int x,int y, int z){
int penjumlahan;
penjumlahan = x + y + z;
return penjumlahan;
}
int hasilKurang(int x,int y, int z){
int pengurangan;
pengurangan = x - y - z;
return pengurangan;
}
main(){
int a,b,c,hasil;
a = 1; b = 2; c = 3;
hasil = hasilTambah(a, b, c);
printf("Hasil penjumlahan : %d\n", hasil);
hasil = hasilKurang(a, b, c);
printf("Hasil pengurangan : %d\n", hasil);
}
Pengelolaan Array
#include <stdio.h>
int tambah15(int a){
if(a<50){
a=a+15;
}
return a;
}
main(){
int i;
int arrayAwal[10]={60,70,45,35,80,65,45,90,55,30};
printf("Data Awal:\n");
for(i=0;i<10;i++){
printf("%d ",arrayAwal[i]);
}
for(i=0;i<10;i++){
arrayAwal[i]=tambah15(arrayAwal[i]);
}
printf("\n\nData Setelah Diproses:\n");
for(i=0;i<10;i++){
printf("%d ",arrayAwal[i]);
}
printf("\n");
}
int tambah15(int a){
if(a<50){
a=a+15;
}
return a;
}
main(){
int i;
int arrayAwal[10]={60,70,45,35,80,65,45,90,55,30};
printf("Data Awal:\n");
for(i=0;i<10;i++){
printf("%d ",arrayAwal[i]);
}
for(i=0;i<10;i++){
arrayAwal[i]=tambah15(arrayAwal[i]);
}
printf("\n\nData Setelah Diproses:\n");
for(i=0;i<10;i++){
printf("%d ",arrayAwal[i]);
}
printf("\n");
}
Pengecekan Bilangan Ganjil atau Genap
#include <stdio.h>
#include <string.h>
int cekGanjilGenap(int a){
int hasilCek;
if (a%2==0){
hasilCek=0;
}else{
hasilCek=1;
}
return hasilCek;
}
int main(){
int bilangan,cek;
char hasil[10];
printf("Masukan Bilangan = "); scanf("%d", &bilangan);
if(cekGanjilGenap(bilangan)==0){
strcpy(hasil,"Genap");
}else{
strcpy(hasil,"Ganjil");
}
printf("%d termasuk bilangan %s",bilangan,hasil);
}
#include <string.h>
int cekGanjilGenap(int a){
int hasilCek;
if (a%2==0){
hasilCek=0;
}else{
hasilCek=1;
}
return hasilCek;
}
int main(){
int bilangan,cek;
char hasil[10];
printf("Masukan Bilangan = "); scanf("%d", &bilangan);
if(cekGanjilGenap(bilangan)==0){
strcpy(hasil,"Genap");
}else{
strcpy(hasil,"Ganjil");
}
printf("%d termasuk bilangan %s",bilangan,hasil);
}
sekian dulu ya temen-temen, mohon kritik dan sarannya.
semoga bermanfaat. :)
No comments:
Post a Comment