Fungsi dalam Bahasa C
Fungsi dalam bahasa c adalah sub-program atau perancangan tugas yang diberikan agar program menjadi lebih terstruktur dan dapat mengurangi penulisan ulang program. Fungsi ada dua, yaitu fungsi bawaan seperti printf, scanf, dan lain-lain, sedangkan lainnya adalah fungsi buatan, fungsi yang dibuat oleh kita / programmer. Ada 3 tahapan dalam membuat fungsi yaitu :
1. Membuat Prototipe
Prototipe dibuat diluar (atas) fungsi main dan ditujukan untuk menjelaskan kepada compiler tentang tipe data, tipe keluaran dan jumlah parameter. Contoh nya : void full (char);
2. Membuat Fungsi
Fungsi dibuat dengan melakukan inisialisasi dan penugasan. Fungsi ini juga dibuat di luar main, contohnya :
Pemanggilan fungsi cukup sederhana, pemanggilan fungsi tetap ada didalam main. contohnya full(biaya);
Jika masih belom jelas ini merupakan contoh program kasus kost-kostan :
1. Membuat Prototipe
Prototipe dibuat diluar (atas) fungsi main dan ditujukan untuk menjelaskan kepada compiler tentang tipe data, tipe keluaran dan jumlah parameter. Contoh nya : void full (char);
2. Membuat Fungsi
Fungsi dibuat dengan melakukan inisialisasi dan penugasan. Fungsi ini juga dibuat di luar main, contohnya :
void full(char biaya)3. Membuat Pemanggilan Fungsi
{
int paket;
paket = 600000;
printf("\nTotal Biaya Paket Rp. %d", paket, biaya);
}
Pemanggilan fungsi cukup sederhana, pemanggilan fungsi tetap ada didalam main. contohnya full(biaya);
Jika masih belom jelas ini merupakan contoh program kasus kost-kostan :
#include <stdio.h>
#include <conio.h>
#include <string.h>
void full(char);
void full2(char);
void nonfull(char);
void full(char biaya)
{
int paket;
paket = 600000;
printf("\nTotal Biaya Paket Rp. %d", paket, biaya);
}
void full2(char biaya2)
{
int paket, sarapan, srp;
printf("\nBerapa jumlah sarapan pagi yang ingin di pesan ?\t:\t");scanf("%d", &srp);
sarapan = 150000;
paket = (srp*10000)+(600000-150000);
printf("\nTotal Biaya Paket Rp. %d", paket, biaya2);
}
void nonfull(char biaya3)
{
int paket, kamar, ac, internet, cuci, srp;
char sarapan;
printf("\nBerapa kamar yang ingin di pesan ?\t\t\t:\t");scanf("%d", &kamar);
printf("Berapa AC yang ingin di pesan ?\t\t\t\t:\t");scanf("%d", &ac);
printf("Berapa paket internet yang ingin di pesan ?\t\t:\t");scanf("%d", &internet);
printf("Apakah anda ingin menggunakan layanan cuci pakaian ?\t:\t");scanf("%d", &cuci);
printf("Paket sarapan yang anda ingin pesan ?[H/B]\t\t:\t"); scanf("%s", &sarapan);
if(sarapan == 'H' || sarapan == 'h')
{
printf("Berapa jumlah sarapan pagi yang ingin di pesan ?\t:\t");scanf("%d", &srp);
srp = srp*10000;
}
else if(sarapan == 'B' || sarapan == 'b')
{
srp = 150000;
}
paket = (kamar*250000) + (ac*150000) + (internet*150000) + (cuci*100000) + (srp);
printf("\n\nTotal Biaya adalah %d", paket);
}
main()
{
int pilih;
menu:
printf("\t\tDaftar Fasilitas\t\t\n");
printf("\n1. Kamar\t\t:Rp. 250.000,-\n2. AC\t\t\t:Rp. 150.000,-\n3. Internet\t\t:Rp. 150.000,-");
printf("\n4. Cuci Pakaian\t\t:Rp. 100.000,-\n5. Sarapan Pagi/bulan\t:Rp. 150.000,-\n6. Sarapan Pagi Harian\t:Rp. 10.000,-\n\n");
printf("\t\t Daftar Paket\t\t\n");
printf("\n1. Paket Full\n2. Paket Non-Full\n");
printf("\nMasukkan Pilihan\t:\t");scanf("%d", &pilih);
switch(pilih)
{
case 1:
{
char bf, biaya, biaya2;
printf("Apakah anda ingin mengambil paket sarapan/bulan ?[Y/N]\t:\t");
scanf("%s", &bf);
if(bf == 'y' || bf == 'Y')
{
full(biaya);
getch();
return 0;
}
else if(bf == 'n' || bf == 'N')
{
full2(biaya2);
getch();
return 0;
}
}
case 2:
{
char biaya3;
nonfull(biaya3);
getch();
return 0;
}
default:
printf("Tidak Ada Dalam Pilihan !!!"); getch();
system("cls"); goto menu;
}
}
