Alooo… Kawan

Kembali bertemu lagi bersama saya Septa Aji di dalam blog pembelajaran Sinau Bareng bahasa C di kampus PENS, Pada kali ini kita akan mempelajari suatu bab yang membahas mengenai “Pengembangan Fungsi dalam Bahasa C”.

Fungsi adalah subprogram yang menerima data masukan, melakukan beberapa perhitungan dari data tersebut, kemudian mengembalikan output berupa sebuah data baru. Dengan kata lain, sebuah fungsi memetakan sebuah nilai (dalam domain) menjadi nilai lain (dalam range) dengan operasi/ proses tertentu.

Pendeklarasian fungsi merupakan salah satu cara memecah persoalan ke dalam beberapa sub persoalan yang lebih mudah diselesaikan.
Dalam pembuatan sebuah fungsi, pemrogram harus mendefinisikan:

  1. nama fungsi
  2. Tipe data yang dibuat/ dihasilkan oleh fungsi
  3. Daftar parameter yang menyatakan data yang diperlukan oleh fungsi
  4. Satu atau lebih instruksi yang melakukan perhitungan

Selanjutnya, fungsi yang sudah didefinisikan dapat digunakan dalam program utama maupun dalam fungsi lainnya dengan cara memanggil nama fungsi dan memberikan parameter yang diperlukan oleh fungsi tersebut.
Fungsi bekerja menurut mekanisme pemanggilan-pengembalian (call-return mechanism).

Tahapan dalam mekanisme tersebut adalah:

A. Fungsi dipanggil dari program utama maupun fungsi lainnya

B. Sekumpulan operasi dalam fungsi dieksekusi

C. Hasil eksekusi dikembalikan ke program utama atau fungsi lain yang memanggilnya.

Mungkin kalian akan lebih paham mengenai materi apabila kalian mencoba percobaan dibawah ini

Percobaan 1

Pada percobaan pertama ini kita disuruh untuk membuat program fungsi kabisat yang akan memberikan nilai balik 1 bila tahun kabisat dan akan memberikan nilai 0 bila tahun bukan kabisat. Berikut ini cara penyelesaiannya.

Ketik statement berikut pada aplikasi code block anda

#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();

}

Kemudian klik tombol build and run hingga keluar seperti gambar dibawah ini

Kemudian masukan tahun yang anda inginkan, Setelah itu tekan enter hingga keluar gambar seperti dibawah ini

Percobaan 2

Pada percobaan kedua ini kita disuruh untuk membuat program fungsi factorial () untuk menghitung nilai factorial. Berikut ini cara penyelesaiannya.

Ketik statement berikut pada aplikasi code block anda

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

Kemudian klik tombol build and run hingga keluar seperti gambar dibawah ini

 

Kemudian masukan nilai x yang anda inginkan, Setelah itu tekan enter hingga keluar gambar seperti dibawah ini

Percobaan 3

Pada percobaan ketiga ini kita disuruh untuk membuat program fungsi permutasi () dan kombinasi () untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan. Berikut ini cara penyelesaiannya.

Ketik statement berikut pada aplikasi code block anda

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

Kemudian klik tombol build and run hingga keluar seperti gambar dibawah ini

Kemudian masukan nilai n (untuk permutasi) dan r (untuk kombinasi) yang anda inginkan, Lalu ketik p (permutasi) atau k (kombinasi) sesuai yang anda inginkan. Setelah itu tekan enter hingga keluar gambar seperti dibawah ini

Percobaan 4

Pada percobaan keempat ini kita disuruh untuk membuat program fungsi float suhu (s, d), unntuk mengkonversikan suhu. Berikut ini cara penyelesaiannya.

Ketik statement berikut pada aplikasi code block anda

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

Kemudian klik tombol build and run hingga keluar seperti gambar dibawah ini

Kemudian masukan nilai suhu sumber yang anda inginkan dan suhu tujuan yang anda tentukan. Setelah itu tekan enter hingga keluar gambar seperti dibawah ini

Bila anda ingin mengulangi untuk mengonversikan suhu dengan program diatas maka anda ketik y dan n bila anda tidak ingin mengulangi

Percobaan 5

Pada percobaan kelima ini kita disuruh untuk membuat program fungsi prima () yang memberikan nilai 1 bila bilangan tersebut termasuk bilangan prima dan memberikan nilai 0 bila bilangan tersebut termasuk bilangan bukan prima. Berikut ini cara penyelesaiannya.

Ketik statement berikut pada aplikasi code block anda

#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();

}

Kemudian klik tombol build and run hingga keluar seperti gambar dibawah ini

Kemudian masukan nilai bilangan bulat yang anda inginkan. Setelah itu tekan enter hingga keluar gambar seperti dibawah ini

Demikianlah rangkaian percobaan yang saya paparkan diatas dpat bermanfat bagi kawan-kawan semua

Pada intinya fungsi berguna untuk :
a. Mengurangi pengulangan penulisan program yang berulangan atau sama.
b. Program menjadi terstruktur, sehingga mudah dipahami dan dikembangkan.
Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main(), yang bersifat mutlak, karena fungsi ini program akan dimulai, sebagai contoh yang lainnya fungsi printf() yang mempunyai tugas untuk menampilkan informasi atau data kelayar dan masih banyak lainnya.

Struktur Fungsi
Sebuah fungsi sederhana mempunyai bentuk penulisan
sebagai berikut :
 Nama fungsi, boleh dituliskan secara bebas dengan ketentuan,
tidak menggunakan spasi dan nama-nama fungsi yang
mempunyai arti sendiri.
 Argumen, diletakan diantara tanda kurung “( )” yang terletak
dibelakang nama fungsi. Argumen boleh diisi dengan suatu data
atau dibiarkan kosong.
 Pernyataan / perintah, diletakan diantara tanda kurung “{ }‟.

Sebagai umat manusia kita harus senantiasa mentadabburi apa yang diciptakan oleh sang Khaliq. Bukan hanya ilmu akhirat saja melainkan ilmu dunia juga. Agar kita senantiasa menjadi umat yang dalam hari kedepannya menjadi umat yang beruntung.

Naaahhhhh….. Gimana? Makin pahamkan? Semoga blog yang saya tulis dalam kurun waktu semalaman ini membuat kawan kawanku tercinta ini semakin paham dan semakin cinta dengan bahasa C

Mungkin cukup sekian dari saya selaku penulis blog paling family friendly dan ramah seramah ramahnya ini. Selaku perwakilan dari keluarga Halilintar saya mengucapkan terima kasih dan mohon maaf bila ada salah kata dalam penulisan blog ini.

Santen duduhe klopo

Kupat janur wes tuwo

Semanten cekap Artikel kulo

Menawi lepat nyuwun ngapuro

Sampai bertemu pada blog selanjutnya bersama saya Septa Aji anak Elka 2k19

Daaaa…….. Sampai ketemu lagi kawan.