Merasa kebingungan? wajar!
begini kesimpulannya setelah di rangkum oleh penulis:
Fungsi, atau dalam beberapa literatur ada yang mengistilahkan subrutin, subprogram maupun prosedur, adalah salah satu teknik pemrograman untuk meningkatkan modularitas program yang akan dibuat.
Semakin besar tingkat modularitasnya, maka kecenderungannya adalah program itu akan relatif semakin baik. Mengapa? Karena program yang size-nya besar, banyak baris kode, akan dipecah menjadi modul-modul yang ukurannya lebih kecil. Beberapa keuntungannya adalah dalam hal efisiensi dan kemudahan dalam debugging. Dikatakan efisien karena konsep fungsi akan merangkum bagian tugas-tugas yang sama cukup dengan menuliskan kode program satu kali saja tetapi bisa dipanggil/ dijalankan berulang kali sepanjang program. Di sisi lain, jumlah baris kode program yang semakin sedikit akan memudahkan dalam menelusuri kesalahan yang ditemukan. Penggunaan konsep fungsi juga akan mengakibatkan isi dari void main() akan menjadi semakin ringkas.Hampir sama dengan konsep fungsi dalam bahasa pemrograman lain, fungsi dalam bahasa C++ juga terdiri dari komponen yang disebut dengan HEADER fungsi dan BADAN fungsi. Header fungsi berisi informasi tentang TIPE NILAI KELUARAN (return value), NAMA FUNGSI, dan PARAMETER/ ARGUMEN FUNGSI. Return value akan berisi informasi tentang tipe data hasil keluaran dari fungsi (misal: void, int, char, float, dsb). Nama fungsi merupakan identifier untuk digunakan sebagai pemanggil fungsi (misal: hitung, proses, dsb). Sedangkan parameter, umumnya digunakan sebagai variabel untuk “jalan” masuknya input ke dalam fungsi (misal: int alas, float jari_jari, dsb). Untuk badan (BODY) fungsi akan berisikan baris-baris kode program yang akan dikerjakan jika fungsi tersebut dijalankan/ dipanggil. Sebagai tambahan, void main() yang biasa kita tulis pada saat membuat program itu juga termasuk dalam keluarga besar fungsi. Yang khusus, fungsi main() adalah fungsi utama, artinya fungsi tersebut HARUS ada setiap kali kita membuat program dalam bahasa C++. Fungsi main() hanya boleh diketikkan satu kali saja di sepanjang source code program yang kita buat.
Contoh Aplikasinya begini: pusing itu tandanya belajar :)
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
int main(){
char cHuruf;
int o,p,q,r,s,t,Menu;
float x,y,z,a,jumlah,kurang,kali,bagi,lpersegi,kpersegi,llingkaran,klingkaran,lsegitiga,ksegitiga;
float phi;
phi=3.14;
Menu:
printf("Hanya Contoh\n");
printf("bla bla\n");
printf("D4 Teknik Informatika\n\n\n");
printf("\t\t-----------------------------------------\n");
printf("\t\tSistem Perhitungan
Cepat\n");
printf("\t\t-----------------------------------------\n\n\n");
getch();
printf("Pilihan Perhitungan\n");
printf("1.Perhitungan Biasa\n");
printf("2.Perhitungan Cepat\n");
printf("Silahkan Menentukan
Pilihan..\n");
scanf("%d",&o);
system("cls");
if (o>2){
printf("\nSilahkan Anda Pilih
Kembali");}
else if(o==0)
{
system("notepad c:\hitung.txt");
}
else if(o==1){
r:
printf("\t\t\t>>> Perhitungan
Biasa <<<\n\n\n");
printf("0.menu
Utama\n1.Penjumlahan\n2.Pengurangan\n3.Perkalian\n4.Pembagian\n");
printf("\nPilihan : \7");
scanf("%d",&p);
system("cls");
if(p>4){
printf("\7");
goto Menu;
}
else if(p==1){
printf("\t\t\t>>>> <<<<\n\n");
printf("\t\t\tPenjumlahan\n");
printf("\t\t\t-------------------------\n\n\n");
printf("Rumus Penjumlahan =
a+b+c\n");
printf("Nilai a = \7");
scanf("%f",&x);
printf("Nilai b = \7");
scanf("%f",&y);
printf("Nilai c = \7");
scanf("%f",&z);
jumlah=x+y+z;
printf("Hasil Penjumlahan
jumlah=%.2f",jumlah);
getch();
system("cls");
goto Menu;
}
else if(p==2){
printf("\t\t\t>>>>
Pengurangan <<<<\n\n");
printf("\t\t\tMenghitung
Pengurangan\n");
printf("\t\t\t---------------------\n\n\n");
printf("Rumus Pengurangan =
a-b-c\n");
printf("Nilai a = \7");
scanf("%f",&x);
printf("Nilai b = \7");
scanf("%f",&y);
printf("Nilai c = \7");
scanf("%f",&z);
kurang=x-y-z;
printf("Hasil Pengurangan
kurang=%.2f",kurang);
getch();
system("cls");
goto Menu;
}
else if(p==3){
printf("\t\t\t>>> Perkalian
<<<\n\n");
printf("\t\t\tMenghitung
Perkalian\n");
printf("\t\t\t-----------------------------------\n\n\n");
printf("Rumus Perkalian =
a*b*c\n");
printf("Nilai a = ");
scanf("%f",&x);
printf("Nilai b = ");
scanf("%f",&y);
printf("Nilai c = ");
scanf("%f",&z);
kali=x*y*z;
printf("Hasil Perkalian
kali=%.2f",kali);
getch();
system("cls");
goto Menu;
}
else if(p==4){
printf("\t\t\t>>> Pembagian
<<<\n\n");
printf("\t\t\tMenghitung
Pembagian\n");
printf("\t\t\t-------------------------------\n\n\n");
printf("Rumus Pembagian =
a/b/c\n");
printf("Nilai a = ");
scanf("%f",&x);
printf("Nilai b = ");
scanf("%f",&y);
printf("Nilai c = ");
scanf("%f",&z);
bagi=x/y/z;
printf("Hasil Pembagian
bagi=%.2f",bagi);
getch();
system("cls");
goto Menu;
}
else if(o==2){
s:
printf("\t\t\t>>> Perhitungan
Cepat <<<\n\n\n");
printf("0.menu Utama\n1.Luas
Persegi\n2.Keliling Persegi\n3.Keliling Lingkaran\n4.Luas Lingkaran\n5.Keliling
Segitiga\n6. Luas Segitiga\n");
printf("\nPilihan : \7");
scanf("%d",&p);
system("cls");
if(p>6){
printf("\7");
goto Menu;
}
else if(p==1)
{
printf("\t\t\t>>>> <<<<\n\n");
printf("\t\t\tPerhitungan Luas
Persegi\n");
printf("\t\t\t-------------------------\n\n\n");
printf("Rumus Luas Persegi =
s1*s2\n");
printf("Nilai s1 = \7");
scanf("%f",&x);
printf("Nilai s2 = \7");
scanf("%f",&y);
lpersegi =x*y;
printf("Hasil Perhitungan Luas Persegi
lpersegi=%.2f",lpersegi);
getch();
system("cls");
goto Menu;
}
else if(p==2)
{
printf("\t\t\t>>>> <<<<\n\n");
printf("\t\t\tPerhitungan Keliling
Persegi\n");
printf("\t\t\t-------------------------\n\n\n");
printf("Rumus Keliling Persegi =
2*(s1+s2)\n");
printf("Nilai s1 = \7");
scanf("%f",&x);
printf("Nilai s2 = \7");
scanf("%f",&y);
kpersegi=2*(x+y);
printf("Hasil Perhitungan Keliling
Persegi kpersegi=%.2f",kpersegi);
getch();
system("cls");
goto Menu;
}
else if(p==3)
{
printf("\t\t\t>>>> <<<<\n\n");
printf("\t\t\tPrhitungan Luas
Lingkarang\n");
printf("\t\t\t-------------------------\n\n\n");
printf("Rumus Luas Lingkaran =
phi*r*r\n");
printf("Nilai r = \7");
scanf("%f",&x);
llingkaran=phi*x*x;
printf("Hasil Perhitungan Luas
Lingkaran llingkaran=%.2f",llingkaran);
getch();
system("cls");
goto Menu;
}
else if(p==4)
{
printf("\t\t\t>>>> <<<<\n\n");
printf("\t\t\tPrhitungan Keliling Lingkarang\n");
printf("\t\t\t-------------------------\n\n\n");
printf("Rumus Luas Lingkaran =
2*phi*r\n");
printf("Nilai r = \7");
scanf("%f",&x);
klingkaran=phi*x*x;
printf("Hasil Perhitungan Keliling
Lingkaran klingkaran=%.2f",klingkaran);
getch();
system("cls");
goto Menu;
}
else if(p==5)
{
printf("\t\t\t>>>> <<<<\n\n");
printf("\t\t\tPrhitungan Luas
Segitiga\n");
printf("\t\t\t-------------------------\n\n\n");
printf("Rumus Luas Segitiga =
(a*t)/2\n");
printf("Nilai a = \7");
scanf("%f",&x);
printf("Nilai t = \7");
scanf("%f",&y);
lsegitiga=(a*t)/2;
printf("Hasil Perhitungan Luas
Segitiga lsegitiga=%.2f",lsegitiga);
getch();
system("cls");
goto Menu;
}
else if(p==6)
{
printf("\t\t\t>>>> <<<<\n\n");
printf("\t\t\tPerhitungan Keliling
Segitiga\n");
printf("\t\t\t-------------------------\n\n\n");
printf("Rumus Keliling Segitiga =
(a*t)/2\n");
printf("Nilai s1 = \7");
scanf("%f",&x);
printf("Nilai s2 = \7");
scanf("%f",&y);
printf("Nilai s3 = \7");
scanf("%f",&z);
ksegitiga=x+y+z;
printf("Hasil Perhitungan Keliling
Segitiga ksegitiga=%.2f",ksegitiga);
getch();
system("cls");
goto Menu;
}
else{
printf("\7");
getch();
goto Menu;
}
}
}