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;
}
}
}