LAPORAN PRAKTIKUM VII
FUNGSI
Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++
Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto
Oleh:
Septian Adi Pratama
150533604474
S1 PTI’15 OFF D
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
Nopember 2015
FUNGSI
Tujuan
Setelah mempelajari bab ini diharapkan mahasiswa akan mampu :
Mahasiswa mampu memahami fungsi
Mahasiswa mampu mendeklarasikan dan mendefinisikan fungsi
Mahasiswa mampu menyelesaikan masalah menggunakan fungsi
Mahasiswa mampu memahami metode pemanggil fungsi
Mahasiswa mampu membuat fungsi rekursif
DASAR TEORI
PROTOTYPE FUNCTION
Sebuah program C++ dapat terdiri dari banyak fungsi. Salah satu fungsi tersebut harus
bernama main(). Jika fungsi yang lain di tuliskan setelah fungsi main(), sebelum fungsi main harus ditambahkan prototype function agar fungsi tersebut dapat dikenal. Hal tersebut tidak berlaku jika penulisannya dilakukan sebelum fungsi main().
Call by Value dan Call by Reference
Ada dua cara pemanggilan fungsi yaitu:
1. Call by value
2. Call by reference
Call by value
Pemanggilan fungsi dengan melewatkan nilai parameter variabel dalam definisi fungsi. Fungsi tersebut akan mengolah nilai yang dikirmkan kepadanya.
Call by reference
Pemanggilan dengan referensi merupakan suatu usaha melewatkan alamat dari suatu variabel ke dalam fungsi. Dengan pengubahan dilakukan di dalam fungsi untuk mengubah variabel di luar fungsi. Metode Call by Refrence menggunakan operator pointer ‘&’ dan ‘*’ untuk mengirimkan alamat variabel ke suatu fungsi.
Fungsi Rekursif
Fungsi rekursif adalah fungsi yang memangil dirinya sendiri. Artinya, fungsi tersebut dipanggil di dalam tubuh funsi itu sendiri. Parameter yang dilewatkan berubah sebanyak fungsi itu dipanggil. Untuk lebih jelasnya, paham latihannya. Sintaks berikut masih banyak kesalahan, terutama pada script eror dan logic eror.
Latihan 1
Pemrograman C++
Nama Program : Penghitung Volume
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
#include <conio.h>
int volume(int p, int l, int t)
{
int volume;
volume = p*l*t;
return volume;
}
int main()
{
int panjang, lebar, tinggi, hasil;
cout<<"Panjang = ";
cin>>panjang;
cout<<"Lebar = ";
cin>>lebar;
cout<<"Tinggi = ";
cin>>tinggi;
hasil=volume(panjang, lebar, tinggi);
cout<<"\nVolume = "<<hasil;
getch();
}
Output Program :
Algoritma :
Mulai
Deklarasi variable panjang, lebar, dan tinggi
Masukkan nilai panjang lebar, dan tinggi
Call fungsi volume (panjang, lebar, dan tinggi)
Proses hitung volume sesuai dengan rumus volume (p*l*t)
Tampilkan hasil perhitungan volume
Selesai
Penjelasan Program :
Program ini merupakan program sederhana yang digunakan untuk menghitung volume sebuah balok dengan menggunakan fungsi pemanggil program diatas menggunakan fungsi panggil “volume”. Pada program diatas kita pertama tama akan diminta masukan input dari user berupa panjang, lebar, tinggi dengan tipe data integer. Kemudian program akan memanggil fungsi “volume” dengan ketentuan panjang sebagai “p” lebar sebagai “l” dan tinggi sebagai “t”. kemudian baru volume memasukan inputan dari user dengan rumus yang sudah ditentukan yaitu Volume=p*l*t . Di akhir fungsi ini akan memberikan nilai balikan berupa nilai volume ( hasil penghitungan ) jika fungsi ini dipanggil.
Latihan 2
Pemrograman C++
Nama Program : Penampil Teks
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
//Fungsi yang tidak membalikkan nilai
void tampilkan()
{
//Menampilkan teks dalam " "
cout << "Hai PTI..";
}
int main()
{
//Memanggil fungsi tampilkan
tampilkan();
}
Output Program :
Algoritma :
Mulai
Call fungsi tampilkan()
Menampilkan kalimat “HAI PTI Off D..”
Selesai
Penjelasan Program :
Program sederhana ini merupakan program yang digunakan untuk menampilkan kalimat “HAI PTI Off D..” program diatas diawali dengan pemanggilan fungsi tampilkan, yang didalam fungsi telah diberi syntax untuk menampilkan kalimat “HAI PTI Off D..”. Di akhir fungsi ini akan memberikan nilai balikan berupa tampilan kalimat “HAI PTI Off D..” jika fungsi ini dipanggil.
Latihan 3
Pemrograman C++
Nama Program : Penghitung Pajak
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
//Variabel global
float b_pajak = 0.1;
//Prototype fungsi (pengenalan fungsi)
float kalkulasi_pajak(float pembelian);
int main()
{
float beli;
cout<<"Masukkan Pembelian : ";
cin>>beli;
//Pemanggilan fungsi kalkulasi pajak
float pajak = kalkulasi_pajak(beli);
cout<<"Pajak pembelian adalah : "<<pajak<<endl;
return 0;
}
//Fungsi kalkulasi_pajak
float kalkulasi_pajak(float pembelian)
{
return pembelian*b_pajak;
}
Output Program :
Algoritma :
Mulai
Deklarasi variabel
Setting nilai fungsi (b_pajak=0,1)
Deklarasi variable beli
Masukkan pembelian
Call fungsi kalkulasi_pajak(beli)
Proses hitung Pajak pembelian (beli*b_pajak)
Tampilkan jumlah Pajak
Selesai
Penjelasan Program :
Program ini merupakan program yang digunakan untuk menghitung pajak pembelian dengan rumus yang telah ditentukan, tentunya dengan fungsi yang telah ditetapkan rumus sintaxnya. Pertama user memasukkan inputan berupa nilai nominal pembelian barang kemudian program akan memproses nominal hasil masukkan tersebut dengan fungsi kalkulasi_pajak yaitu dengan cara mamasukkan value yang telah ditapkan pada awal pendeklarsian value tersebut yaitu “kalkulasi_pajak” dengan ketentuan pembayaran pajak 10% dari Pembelian barang. Kemudian tampilkan keluaran berupa hasil dari perhitungan pembelian 10%.
Latihan 4
Pemrograman C++
Nama Program : Bilangan yang terbesar
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int cari(int n1, int n2);
void prin(int m);
main()
{
system("title Latihan 4");
int i = 1;
int j = 7;
int k;
k = cari(i, j);
prin(k);
getch();
return 0;
}
int cari(int a, int b)
{
if (a > b)
{
return a;
}
else
{
return b;
}
}
void prin(int m)
{
printf("Bilangan terbesar adalah %d \n", m);
}
Output Program :
Algoritma :
Mulai
Deklarasi variabel i=1, j=7, dan k
Menentukan nila k dengan memanggil fungsi cari (i,j)
Membandingkan nilai terbesar antara i dan j
Jika nilai dari variabel a lebih besar nilai dari variabel b maka hasilnya adalah nilai dari variabel a
Jika kondisi bernilai salah maka hasilnya nilai dari variabel b
Tampilkan hasil output
Selesai.
Penjelasan Program :
Program sederhana ini merupakan program yang digunakan untuk membandingkan dan mengetahui mana bilangan terbesar antara bilangan-bilangan yang ada. Program diatas dimulai dengan mendeklarasikan variabel i dengan nilai 1, variabel j dengan nilai 7, dan k. nilai k ditentukan dengan fungsi cari dengan parameter i dan j. Kemudian program memanggil fungsi prin dengan hasil dari k berupa hasil dari nilai balikan dari fungsi cari. Kemudian bandingkan jika nilai a lebih besar dari b, maka nilai balikan adalah a, sebaliknya jika nilai b lebih besar dari a maka nilai balikan adalah b. kemudian cetak hasilnya dengan ketentuan fungsi prin tampilkan m dimana m sendri diperoleh dari nilai k yang merupakan nilai balikan dari fungsi cari.
Latihan 5
Pemrograman C++
Nama Program : Nilai
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
void Rtukar(int *, int *);
void Vtukar(int, int);
int main()
{
int a, b;
a = 99;
b = 11;
//Call by Reference
cout<<"Nilai sebelum pemanggilan fungsi : "<<endl;
cout<<"Nilai a = "<<a<<". Nilai b = "<<b<<endl<<endl;
Rtukar(&a, &b);
cout<<"Nilai setelah pemanggilan fungsi Rtukar : "<<endl;
cout<<"Nilai a = "<<a<<". Nilai b = "<<b<<endl<<endl;
//Mengembalikan nilai kesemula
a = 99;
b = 11;
//call by Value
cout<<"Nilai sebelum pemanggilan fungsi : "<<endl;
cout<<"Nilai a = "<<a<<". Nilai b = "<<b<<endl<<endl;
Vtukar(a, b);
cout<<"Nilai setelah pemanggilan fungsi Vtukar : "<<endl;
cout<<"Nilai a = "<<a<<". Nilai b = "<<b<<endl<<endl;
return 0;
}
void Rtukar(int *px, int *py)
{
int temp;
temp = *px;
*px = *py;
*py = temp;
cout<<"Nilai pada fungsi dengan Call by Reference : "<<endl;
cout<<"Nilai px = "<<*px<<". Nilai py = "<<*py<<endl<<endl;
}
void Vtukar(int px, int py)
{
int temp;
temp = px;
px = py;
py = temp;
cout<<"Nilai pada fungsi dengan Call by Value : "<<endl;
cout<<"Nilai px = "<<px<<". Nilai py = "<<py<<endl<<endl;
}
Output Program :
Algoritma :
Mulai
Membuat fungsi Rtukar dan Vtukar
Deklarasi a=99, b=11
Menampilkan nlai variabel a dan b sebelum proses pemangilan fungsi
Memanggil fungsi Rtukar
Menampilkan nilai dari a dan b dalam fungsi Rtukar
Menampilkan nilai dari a dan b dalam fungsi Vtukar
Selesai
Penjelasan Program :
Program ini merupakan program yang digunakan untuk membuat fungsi Rtukar dan Vtukar. Pertama deklarasi a dan b, dimana nilai a=99 dan b=11 yang sudah ditentukan. Kemudian program menampilkan hasil pertama yaitu Nilai sebelum pemanggilan fungsi, dan yang kedua nilai memanggil fungsi Rtukar dan Vtukar.
Latihan 6
Pemrograman C++
Nama Program : Faktorial
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
/*
Aplikasi rekursif pada fakorial
*/
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int faktorial(int a)
{
if(a==1)
{
return 1;
}
else
{
return a*faktorial(a-1);
}
}
int main()
{
system("title Latihan 6");
int x;
printf("Mencari Nilai Faktorial \n");
printf("Masukkan nilai n = ");
scanf("%i", &x);
printf("\nFaktorial %i != %i", x, faktorial(x));
getch();
}
Output Program :
Algoritma :
Mulai
Membuat fungsi faktorial
Jika nilai a = 4 maka = 24
Jika tidak maka gunakan rumus a * faktorial(a-1)
Masukkan input berupa angka
Proses penghitungan
Tampil faktorial
Selesai
Penjelasan Program :
Program sederhana ini merupakan program yang digunakan untuk menghitung bilangan Faktorial, program diatas menggunak vaiabel x dengan tipe data integer. Pertama program akan meminta input masukan user nilai berupa angka yang akan dijadikan sebagai bahan perhitungan. Fungsi faktorial pada program diatas menggunakan variabel a. program diatas menggunakan parameter, jika input user 1 maka parameter akan menampilkan 1, jika tidak maka parameter akan meneruskn kedalam rumus yang telah ditetapkan oleh factorial dengan rumus a*factorial(a-1). Dari penjelasan diatas fungsi rekursif digunakan pada program ini karena jika nilai a lebih dari satu maka a akan diulang sampai nilai a sama dengan 1.
Latihan 7
Pemrograman C++
Nama Program : Bil. Fibonacci
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int fibo(long a)
{
if (a==1 || a==2)
{
return 1;
}
else
{
return fibo(a-1) + fibo (a-2);
}
}
int main()
{
system("title Latihan 7");
int x;
printf("Mrncari Nilai Fibonanci \n");
printf("Masukkan Nilai n = ");
scanf("%i", &x);
printf("\n Fibonanci %i = %i", x, fibo(x));
getch();
}
Output Program :
Algoritma :
Mulai
Membuat fungsi Fibonacci
Masukkan bilangan
Jika bilangan masukkan 1 atau 2 maka hasilnya 1
Jika tidak maka, rumus Fibonacci dimasukkan fibo(a-1)+fibo(a-2)
Tampilkan Hasil
Selesai
Penjelasan Program :
Program ini merupakan program yang digunakan untuk menghitung bilangan Fibonacci. Pertama-tama user harus mamasukkan nilai berupa angka untuk dijadikan deret ke-n dari suatu bilangan deret fibonaci. Deret fibonaci sendiri mempunyai rumus seperti yang sudah dijelaskan diatas, kemudian setelah didapatkan deret fibonacinya dari deret ke n, maka misalnya kita masukkan input 8 maka derek ke 8 bilangan Fibonacci adalah 21 karena menggunakan rumus fibo(a-1)+fibo(a-2). Di program ini menggunakan menggunaka fungsi rekursif karena dalam fungsi ini apabila bilangan yang dimasukka lebih dari sama dengan 1 dan 2 maka program akan otomatis mengulang sampai program sama dengan 1 atau 2 dengan menggunakan parameter sebagai pertimbangan.
Praktikum 1
Pemrograman C++
Nama Program : Permutasi
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
int faktorial_n(int n){
if(n!=1){
return n*faktorial_n(n-1);
}else{
return 1;
}
}
int faktorial_r(int r){
if(r!=1){
return r*faktorial_r(r-1);
}else{
return 1;
}
}
int permutasi(int n,int r){
return faktorial_n(n)/faktorial_r(r);
}
int main(){
int n,r,hasil;
cout<<"-------------------------------------\n";
cout<<" Penghitungan Permutasi \n";
cout<<" Rumus : nPr";
cout<<"\n-------------------------------------\n";
cout<<" Masukkan Nilai n : ";
cin>>n;
cout<<" Masukkan Nilai r : ";
cin>>r;
hasil=permutasi(n,n-r);
cout<<"-------------------------------------\n";
cout<<" Hasil Permutasi ("<<n<<" P "<<r<<") adalah : "<<hasil;
}
Output Program :
Algoritma :
Mulai
Membuat fungsi Permutasi
Deklarasi variabel n, r, hasil
Masukkan input nilai n
Masukkan input nilai r
Memanggil fungsi yang telah dibuat
Proses menghitung “hasil=permutasi (n,n-r)”
Tampilkan hasil perhitungan
Selesai.
Penjelasan Program :
Program ini merupakan program yang digunakan untuk menghitung Permutasi sebuah bilangan. Pertama-tama buat fungsi permutasi kemudian masukkan input berupa 2 angka barulah akan diproses oleh program dengan dibandingkan terlebih dahulu. Untuk n rumus yang digunakan adalah n*faktorial(n-1), disini apabila n lebih dari 1 maka akan membentuk sebuah perulangan mundur dengan hasil nilai akhir sampai 1. Untuk r rumus yang digunakan adalah faktorial(n)/faktorial(r). kemudian barulah dimasukkan rumus utama yaitu hasil=permutasi(n,n-r). Di program ini menggunakan menggunaka fungsi rekursif karena dalam fungsi ini apabila bilangan yang dimasukkan lebih dari sama dengan 1 dan 2 maka program akan otomatis mengulang sampai program sama dengan 1 atau 2 dengan menggunakan parameter sebagai pertimbangan.
Praktikum 2
Pemrograman C++
Nama Program : Bilangan Faktorial dan Fibonacci
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdio.h>
#include <conio.h>
#include <windows.h>
int fibo(long a){
if(a==1 || a==2){
return 1;
}else{
return fibo(a-1)+fibo(a-2);
}
}
int faktorial(int a){
if(a==1){
return 1;
}else{
return a*faktorial(a-1);
}
}
int main(){
system("title Tugas Rumah 2");
int x;
printf("Masukkan nilai n = ");
scanf("%i",&x);
printf("\nFibonaci %i = %i",x,fibo(x));
printf("\nFaktorial %i! = %i",x,faktorial(x));
getch();
}
Output Program :
Algoritma :
Mulai
Membuat fungsi Fibonaci
Membuat fungsi Faktorial
Masukkan Input Nilai Berupa Angka
Proses
Fibonaci Jika bilangan masukkan 1 atau 2 maka hasilnya 1
Jika tidak maka, rumus Fibonacci dimasukkan fibo(a-1)+fibo(a-2)
Faktorial Jika nilai a = 1 maka = 1
Jika tidak maka digunakan rumus a * faktorial(a-1)
Tampilkan hasil
Selesai
Penjelasan Program :
Program ini merupakan program yang digunakan untuk menghitung Sebuah Bilangan Fibonacci dan Faktorial, pada program diatas menggunakan dua buah fungsi. Pertama fungsi fibonaci dengan rumus (a-1)+fibo(a-2) tidak semua bilangan menggunakan rumus tersebut yaitu bilangan 1 dan 2 hal itu karena 1 dan 2 apabila di fibonaci hasilnya adalah bilangan itu sendiri. Untuk fibonaci menggunakan variable a yang gunanya untuk membandingkan apakah bilangan lebih dari 2 atau tidak karena jika tidak maka akan langsung ditruskan ke rumus, fungsi lain yang digunakan adalah fungsi factorial yaitu a*factorial(a-1) sama dengan bilangan fibonaci tidak semua bilangan dapat di faktorialkan karena hasilnya akan tetap sama, bilangan itu ialah 1 dan 2. Hal ini karena apabila bilangan 1 dan 2 jika dikalikan dengan bilangan sebelumnya hasilnya pasti akan tetap bilangan itu sendiri. Untuk fungsi faktorial menggunakan variable a yang gunanya untuk membandingkan apakah bilangan lebih dari 2 atau tidak karena jika tidak maka akan langsung ditruskan ke rumus. Apabila semua telah di cek maka akan langsung menampilkan tampilan bilangan bilangan fibonaci dan factorial.
Tugas Rumah 1
Pemrograman C++
Nama Program : Penghitung Gaji
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
#include <conio.h>
double Bonus(double pokok,double bonus){
double bon=pokok*(bonus/100);
return bon;
}
double GajiBersih(double pokok, double bonus){
double bersih=pokok+bonus;
return bersih;
}
double Tunjangan(double anak,double makan,double kesehatan){
double tunjangan=anak+makan+kesehatan;
return tunjangan;
}
double GajiTotal(double bersih,double tunjangan){
double total=bersih+tunjangan;
return total;
}
int main(){
double pokok=0,bonus=0,anak=0,makan=0,kesehatan=0;
cout<<"Masukkan Gaji Pokok: Rp.";
cin>>pokok;
cout<<"Masukkan Bonus (%): ";
cin>>bonus;
cout<<"Masukkan Tunjangan Anak : Rp.";
cin>>anak;
cout<<"Masukkan Tunjangan Uang Makan : Rp.";
cin>>makan;
cout<<"Masukkan Tunjangan Kesehatan : Rp.";
cin>>kesehatan;
cout<<endl;
double bon=Bonus(pokok,bonus);
double bersih=GajiBersih(pokok,bon);
double tunjangan=Tunjangan(anak,makan,kesehatan);
double total=GajiTotal(bersih,tunjangan);
cout<<"Gaji Pokok \t: Rp."<<pokok<<endl;
cout<<"Bonus \t: Rp."<<bon<<endl;
cout<<"Gaji Bersih \t: Rp."<<bersih<<endl;
cout<<"Tunjangan Anak \t: Rp."<<anak<<endl;
cout<<"Tunjangan Uang Makan \t: Rp."<<makan<<endl;
cout<<"Tunjangan Kesehatan \t: Rp."<<kesehatan<<endl;
cout<<"Total Tunjangan \t: Rp."<<tunjangan<<endl;
cout<<"Gaji Total \t: Rp."<<total<<endl;
}
Output Program :
Algoritma :
Mulai
Buat fungsi bonus
Buat fungsi gaji bersih
Buat fungsi tunjangan
Buat fungsi gaji total
Deklarasi variabel pokok, bonus, anak, makan, kesehatan
Masukkan gaji pokok
Masukkan bonus
Masukkan tunjangan anak
Masukkan tunjangan uang makan
Masukkan tunjangan kesehatan
Hitung bonus bon=Bonus(pokok,bonus)
Hitung gaji bersih bersih=GajiBersih(pokok,bon)
Hitung total tunjangan tunjangan=Tunjangan(anak,makan,kesehatan)
Hitung gaji total total=GajiTotal(bersih,tunjangan)
Tampilkan hasil gaji pokok, bonus, gaji bersih, tunjangan anak, tunjangan uang makan, tunjangan kesehatan, total tunjangan , gaji total.
Selesai.
Penjelasan Program :
Program ini merupakan program yang digunakan untuk menghitung gaji. Pertama-tama user menginputkan Nilai gaji pokok, besar bonus, tunjangan anak, tunjangan uang makan, dan tunjangan kesehatan. Kemudian hitung bonus dengan memanggil fungsi bon=Bonus(pokok,bonus) dan rumus bon=pokok*(bonus/100), kemudian hitung gaji bersih dengan dengan memanggil fungsi bersih=GajiBersih(pokok,bon) dan rumus bersih=pokok+bonus. Kemudian hitung total tunjangan dengan dengan memanggil fungsi tunjangan=Tunjangan(anak,makan,kesehatan) dan rumus tunjangan=anak+makan+kesehatan. Kemudian hitung gaji total dengan dengan memanggil fungsi total=GajiTotal(bersih,tunjangan) dan rumus total=bersih+tunjangan. Kemudian tampilkan hasil gaji pokok, bonus, gaji bersih, tunjangan anak, tunjangan uang makan, tunjangan kesehatan, total tunjangan, dan gaji total.
Tugas Rumah 2
Pemrograman C++
Nama Program : Rumus Matematika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>
float Penjumlahan(float a,float b){
return a+b;
}
float Pengurangan(float a,float b){
return a-b;
}
float Perkalian(float a,float b){
return a*b;
}
float Pembagian(float a,float b){
return a/b;
}
int main(){
float a,b;
char x;
cout<<"+++++++++++++++++++++++++\n";
cout<<"+\t MENU UTAMA \t\+\n";
cout<<"+++++++++++++++++++++++++\n";
cout<<"1. Operasi Penjumlahan\n";
cout<<"2. Operasi Pengurangan\n";
cout<<"3. Operasi Perkalian\n";
cout<<"4. Operasi Pembagian\n";
cout<<"x EXIT\n\n";
cout<<"Masukkan Pilihan : ";
cin>>x;
cout<<"------------------------------------------------------\n";
if(x=='1'){
cout<<"Masukkan Angka Pertama : ";
cin>>a;
cout<<"Masukkan Angka Kedua : ";
cin>>b;
cout<<"Hasil : "<<Penjumlahan(a,b)<<endl;
}
else if(x=='2'){
cout<<"Masukkan Angka Pertama : ";
cin>>a;
cout<<"Masukkan Angka Kedua : ";
cin>>b;
cout<<"Hasil : "<<Pengurangan(a,b)<<endl;
}
else if(x=='3'){
cout<<"Masukkan Angka Pertama : ";
cin>>a;
cout<<"Masukkan Angka Kedua : ";
cin>>b;
cout<<"Hasil : "<<Perkalian(a,b)<<endl;
}
else if(x=='4'){
cout<<"Masukkan Angka Pertama : ";
cin>>a;
cout<<"Masukkan Angka Kedua : ";
cin>>b;
cout<<"Hasil : "<<Pembagian(a,b)<<endl;
}
else if(x=='x'){
cout<<"Terima Kasih :)";
return 0;
}
/*else{
cout<<"Maaf, Pilihan Tidak ada. Anda Kurang Tamvan!\n";
return 0;
}*/
char k;
cout<<"Apakah Anda Ingin Mengulang?";
cin>>k;
if(k=='y' || k=='Y'){
main();
}else{
return 0;
}
}
Output Program :
Algoritma :
Mulai
Buat fungsi Penjumlahan
Buat fungsi Pengurangan
Buat fungsi Perkalian
Buat fungsi Pembagian
Deklarasi variabel (a dan b, x)
Tampilkan menu
Jika pilihan 1 (penjumlahan) maka :
Masukkan angka pertama
Masukkan angka kedua
Hitung angka pertama (+) angka kedua
Tampilkan hasil
Ulang..?
Jika pilihan 2 (pengurangan) maka :
Masukkan angka pertama
Masukkan angka kedua
Hitung angka pertama (-) angka kedua
Tampilkan hasil
Ulang..?
Jika pilihan 3 (perkalian) maka :
Masukkan angka pertama
Masukkan angka kedua
Hitung angka pertama (*) angka kedua
Tampilkan hasil
Ulang..?
Jika pilihan 4 (pembagian) maka :
Masukkan angka pertama
Masukkan angka kedua
Hitung angka pertama (:) angka kedua
Tampilkan hasil
Ulang..?
Selesai
Penjelasan Program :
Program diatas digunakan untuk menentukan operasi matematik ada penjumlahan, pengurangan, perkalian, dan pembagian. Pada program menggunakan variabel a dan b yang digunakan untuk input berupa angka dengan tipe data float, juga mengunakan variabel x yang digunakan untuk menampilkan “Maaf, Pilihan Tidak ada. Anda Kurang Tamvan!” dengan tipe data char, kemudian program meminta masukkan dari user,
Jika user memlih opsi 1 maka program akan meminta user untuk memasukkan bilangan awal dan bilangan akhir, untuk selanjutnya program akan memanggil fungsi penjumlahan, dengan rumus yaitu bilangan awal ditambah bilangan akhir, selanjutnya program akan menampilkan hasil dan menanggapi apakah ingin mengulang program apa tidak.
Jika user memlih opsi 2 maka maka program akan meminta user untuk memasukkan bilangan awal dan bilangan akhir, untuk selanjutnya program akan memanggil fungsi pengurangan, dengan rumus yaitu bilangan awal dikurangi bilangan akhir, selanjutnya program akan menampilkan hasil dan kemudian menanggapi apakah ingin mengulang program apa tidak.
Jika user memlih opsi 3 maka maka program akan meminta user untuk memasukkan bilangan awal dan bilangan akhir, untuk selanjutnya program akan memanggil fungsi perkalian, dengan rumus yaitu bilangan awal dikali bilangan akhir, selanjutnya program akan menampilkan hasil dan kemudian menanggapi apakah ingin mengulang program apa tidak.
Jika user memlih opsi 4 maka maka program akan meminta user untuk memasukkan bilangan awal dan bilangan akhir, untuk selanjutnya program akan memanggil fungsi pembagian, dengan rumus yaitu bilangan awal dibagi bilangan akhir, selanjutnya program akan menampilkan hasil dan kemudian menanggapi apakah ingin mengulang program apa tidak.
Selesai...
KESIMPULAN
Fungsi merupakan blok dari kode yang dirancang untuk melakukan tugas khusus atau instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program. Tipe_data berfungsi untuk menentukan tipe keluaran fungsi yang dapat berupa salah satu tipe data C++ yang berlaku, misalnya char atau integer. Pada umumnya, fungsi memerlukan masukan yang disebut parameter atau argument, hasil akhir fungsi akan berupa nilai (nilai balik fungsi).
Void (Fungsi tanpa nilai balik)
Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.
Ciri-ciri dari jenis fungsi Void adalah sebagai berikut:
Tidak adanya keyword return
Tidak adanya tipe data di dalam deklarasi fungsi
Menggunakan keyword void
Tidak dapat langsung ditampilkan hasilnya
Tidak memiliki nilai kembalian fungsi
Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun.
NonVoid (Fungsi dengan nilai balik)
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut .
Ciri-ciri dari jenis fungsi non void adalah sebagai berikut:
Ada keyword return
Ada tipe data yang mengawali fungsi
Tidak ada keyword void
Memiliki nilai kembalian .
Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu Sehingga dapat langsung ditampilkan hasilnya.
Dua cara pemanggilan fungsi yaitu:
Call by value
Pemanggilan fungsi dengan melewatkan nilai parameter variabel dalam definisi fungsi. Fungsi tersebut akan mengolah nilai yang dikirmkan Kepadanya.
Call by reference
Pemanggilan dengan referensi merupakan suatu usaha melewatkan alamat dari suatu variabel ke dalam fungsi. Dengan pengubahan dilakukan di dalam fungsi untuk mengubah variabel di luar fungsi.
Fungsi Rekursif
Fungsi rekursif adalah fungsi yang memangil dirinya sendiri. Artinya, fungsi tersebut dipanggil di dalam tubuh funsi itu sendiri. Parameter yang dilewatkan berubah sebanyak fungsi itu dipanggil. Untuk lebih jelasnya, paham latihannya. Sintaks berikut masih banyak kesalahan, terutama pada script eror dan logic eror.
DAFTAR RUJUKAN
Tim Asisten Dosen. 2015. Modul 7. Fungsi . Malang: Universitas Negeri Malang.
Tim Asisten Dosen. 2013. Modul 7. Fungsi . Malang: Universitas Negeri Malang. (Modul dari P.Wahyu)
Suprapto. 2008. Bahasa Pemrograman Untuk SMK. Jakarta: Penerbit Departemen Pendidikan Nasional
Kadir, Abdul. 2003. Pemrograman C++. Yogyakarta: Penerbit ANDI.
id.wikipedia.org
https://ilmukamu.wordpress.com/2011/11/28/fungsi-function-pada-c/
http://arsipbertuah.blogspot.co.id/2013/06/pengertian-fungsi-dalam-pemograman-c.html