LAPORAN PRAKTIKUM VIIFUNGSI
Disusun untuk Memenuhi Matakuliah “Praktikum Dasar PemrogramanKomputer”
Dibimbing oleh: Bapak Azhar Ahmad S.
Oleh:Abdul Widodo
140533604892
S1 PTI’14 OFF C
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
S1 Pend. Teknik Informatika 2014 OFF C 1
S1 PENDIDIKAN TEKNIK INFORMATIKA
OKTOBER 2014
FUNGSI
TUJUANSetelah mempelajari bab ini diharapkan mahasiswa akan
mampu :
1. Mahasiswa mampu memahami fungsi
2. Mahasiswa mampu mendeklarasikan dan mendefinisikan fungsi
3. Mahasiswa mampu menyelesaikan masalah menggunakan fungsi
4. Mahasiswa mampu memahami metode pemanggil fungsi
5. Mahasiswa mampu membuat fungsi rekursif
DASAR TEORI
Fungsi merupakan blok dari kode yang dirancang untuk
melakukan tugas khusus atau instruksi yang dieksekusi ketika
dipanggil dari bagian lain dalam suatu program. Tujuan pembuatan
fungsi adalah
1. Memudahkan dalam pembuatan program
2. Menghemat ukuran program
3. Program menjadi terstruktur
4. Dapat mengurangi duplikasi kode
5. Fungsi dapat di panggil dari program atau fungsi lainnya.
Keuntungan penggunaan fungsi pada pemrograman antara lain:
S1 Pend. Teknik Informatika 2014 OFF C 2
a. Menguraikan tugas pemrograman rumit menjadi langkah
langkah yang lebih sederhana atau kecil.
b. Mengurangi duplikasi kode (kode yang sama ditulis berulang
ulang) dalam program.
c. Dapat menggunakan kode yang ditulis dalam berbagai program
yang berbeda.
d. Memecah program besar menjadi kecil (menjadi tiap tiap
bagian), sehingga dapat dikerjakan ole programer –
programer atau dipecah menjadi beberapa tahap, sehingga
mempermudah pegerjaan suatu proyek.
e. Menyembunyikan informasi dari user, sehingga mencegah
adanya perbuatan yang tidak diinginkan seperti
memodifikasi atau mengubah program yang telah dibuat.
f. Meningkatkan kemampuan pelacakan kesalahan, jika terjadi
suatu kesalahan, kita hanya mencari fungsi yang
bersangkutan saja, tidak perlu mencari kesalahan tersebut
dalam program.
Pada umumnya, fungsi memerlukan masukan yang disebut
parameter atau argument, hasil akhir fungsi akan berupa nilai
(nilai balik fungsi).
Bentuk umum sebuah fungsi yaitu:
tipe_data nama_fungsi(daftar parameter) {
/*Badan Fungsi*/
return nilai; // untuk tipe data bukan void
}
Contoh dalam bahasa C++.
S1 Pend. Teknik Informatika 2014 OFF C 3
void Ckali (int angka){
int a = angka * angka;
cout << “Hasil Perkalian: ” << a << endl;
}
Contoh dalam bahasa Java.
public void Jkali (int angka){
int a = angka * angka;
system.out.println(“Hasil Perkalian: ”+a);
}
Contoh dalam bahas VB.
public Vkali (ByVal angka As Integer) As Integer{
Dim a = angka * angka;
Console.writeln(“Hasil Perkalian: ”&a);
}
Tipe_data berfungsi untuk menentukan tipe keluaran fungsi yang
dapat berupa salah satu tipe data C++ yang berlaku, misalnya char
atau integer.
Default tipe data atau tipe data yang tidak disebutkan, maka akan
dianggap sebagai integer.
Contoh:
Ckali ( ){
return(0);
}
S1 Pend. Teknik Informatika 2014 OFF C 4
Jenis jenis fungsi pada C++
Ada dua jenis fungsi yaitu :
1.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:
a. Tidak adanya keyword return
b. Tidak adanya tipe data di dalam deklarasi fungsi
c. Menggunakan keyword void
d. Tidak dapat langsung ditampilkan hasilnya
e. Tidak memiliki nilai kembalian fungsi
f. Keyword void juga digunakan jika suatu function tidak
mengandung suatu parameter apapun.
Contohnya:
void menampilkan_jumlah(int a, int b){
int jumlah;
jumlah = a + b;
cout << jumlah;
}
2.NonVoid(Fungsi dengan nilai balik)
S1 Pend. Teknik Informatika 2014 OFF C 5
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:
a. Ada keyword return
b. Ada tipe data yang mengawali fungsi
c. Tidak ada keyword void
d. Memiliki nilai kembalian .
e. Dapat dianalogikan sebagai suatu variabel yang memiliki
tipe data tertentu
f. Sehingga dapat langsung ditampilkan hasilnya
g. Non-void : int jumlah (int a, int b)
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().
Contohnya:#include <stdio.h>
//prototype function
int hitung(int angka, int bilangan);
int tulis(char);
int tampil(int angka[],char huruf);
//fungsi main
int main(){
int array[3]={1,2,3};
char huruf=‟D‟;
//memanggil fungsi
S1 Pend. Teknik Informatika 2014 OFF C 6
hitung(2,3);
tulis(“A‟);
tampil(array,huruf);
}
//inisialisasi fungsi hitung
void hitung(int a, int b){
//Blok fungsi
}
//inisialisasi fungsi tulis
void tulis(char a){
//blok fungsi
}
//inisialisasi fungsi tampil
int tampil(int x[], char a){
//blok fungsi
return(a);
}
Call by Value dan Call by Reference
Ada dua cara pemanggilan fungsi yaitu:
1. Call by value
2. Call by reference
1. Call by value
Pemanggilan fungsi dengan melewatkan nilai parameter variabel
dalam definisi fungsi. Fungsi tersebut akan mengolah nilai
yang dikirmkan kepadanya. Misalnya :float bayar = 5000;
float tax = calcSalesTax (bayar);
dapat juga merupakan suatu konstanta:hitung(2,3);
S1 Pend. Teknik Informatika 2014 OFF C 7
tulis("A");
2. 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. Misalnya :
A bernilai 20, maka X juga bernilai 20
B bernilai 30, maka Y juga bernilai 30
Selanjutnya nilai X dan Y diproses, tetapi nilai A dan B akan
tetap. Metode Cll 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 Praktikum 1Pemrograman C++
Nama Program : Volume Balok
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <iostream.h>
S1 Pend. Teknik Informatika 2014 OFF C 8
#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 :
1. Mulai
2. Deklarasi variable panjang, lebar, tinggiS1 Pend. Teknik Informatika 2014 OFF C 9
3. Masukkan nilai panjang lebar tinggi
4. Call fungsi volume (panjang, lebar, tinggi)
5. Proses hitung volume sesuai dengan rumus volume(p*l*t)
6. Tampilkan hasil perhitungan
7. Selesai
Penjelasan Program :
Program diatas merupakan program 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.
S1 Pend. Teknik Informatika 2014 OFF C 10
Latihan Praktikum 2Pemrograman C++
Nama Program : Menampilkan Teks
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <iostream.h>
//Fungsi yang tidak mengembalikan nilai
void tampilkan ()
{
//menampilkan teks dalam ""
cout<<"HAI PTI..";
}
int main()
{
//memanggil fungsi tampilkan
tampilkan();
}
Output Program :
Algoritma :
1. Mulai
2. Call fungsi tampilkan()
3. Menampilkan kalimat “HAI PTI..”
4. Selesai
Penjelasan Program :
S1 Pend. Teknik Informatika 2014 OFF C 11
Program diatas merupakan program yang digunakan untuk
menampilkan kalimat “HAI PTI..” program diatas diawali dengan
pemanggilan fungsi tampilkan, yang didalam fungsi telah diberi
syntax untuk menampilkan kalimat “HAI PTI..”. Di akhir fungsi ini
akan memberikan nilai balikan berupa tampilan kalimat “HAI PTI..”
jika fungsi ini dipanggil.
S1 Pend. Teknik Informatika 2014 OFF C 12
Latihan Praktikum 3 Pemrograman C++
Nama Program : Penghitung Pajak Sederhana
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 pembeli);
int main()
{
float beli;
cout<<"Masukkan Pebelian : ";
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 :
S1 Pend. Teknik Informatika 2014 OFF C 13
Algoritma :
1. Mulai
2. Deklarasi variabel
3. Setting nilai fungsi (b_pajak=0,1)
4. Deklarasi variable beli dan
5. Masukkan pembelian
6. Call fungsi kalkulasi_pajak(beli)
7. Proses hitung Pajak pembelian (beli*b_pajak)
8. Tampilkan Pajak
9. Selesai
Penjelasan Program :
Program diatas merupakan program yang digunakan untuk
menghitung pajak pembelian suatu barang sederhana dengan rumus
yang telah ditentukan, tentunya dengan fungsi yang telah
ditetapkan rumus sintaxnya. Pertama tama 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 dikali 10%, Selesai
S1 Pend. Teknik Informatika 2014 OFF C 14
Latihan Praktikum 4 Pemrograman C++
Nama Program : Menentukan Bilangan Terbesar Dari Bilangan
Yang Ada
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <stdio.h>
#include <conio.h>
#include <windows.h>
int cari(int n1, int n2);
int prin(int m);
main()
{
system("title Latihan 4");
int i = 5;
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;
}
S1 Pend. Teknik Informatika 2014 OFF C 15
}
int prin(int m)
{
printf("Bilangan terbesar adalah %d \n",m);
}
Output Program :
Algoritma :
1. Mulai
2. Deklarasi variabel i=5, j=7, dan k
3. Menentukan nila k dengan memanggil fungsi cari (i,j)
4. Membandingkan nilai terbesar antara i dan j
5. Jika nilai dari variabel a lebih besar nilai dari variabel
b maka hasilnya adalah nilai dari variabel a
6. Jika kondisi bernilai salah maka hasilnya nilai dari
variabel b
7. Tampilkan hasil output
8. Selesai.
Penjelasan Program :
Program diatas 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 5, 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 berua hasil nilai balikan dari fungsi cari. Kemudian
S1 Pend. Teknik Informatika 2014 OFF C 16
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.
S1 Pend. Teknik Informatika 2014 OFF C 17
Latihan Praktikum 5 Pemrograman C++
Nama Program : Menentukan Nilai
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <iostream.h>
int Rtukar(int *, int *);
int Vtukar(int, int);
int main()
{
int a, b;
a = 99;
b = 11;
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;
a = 99;
b = 11;
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;
}
int Rtukar(int *px, int *py)
{
int temp;
S1 Pend. Teknik Informatika 2014 OFF C 18
temp = *px;
*px = *py;
*py = temp;
cout<<" Nilai pada fungsi dengan Call By Reference :"<<endl;
cout<<"Nilai px = " <<*px<<". Nilai py = "<<*py<<endl<<endl;
}
int 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 :
1. Mulai
2. Membuat fungsi Rtukar dan Vtukar
3. Deklarasi a=99, b=11
S1 Pend. Teknik Informatika 2014 OFF C 19
4. Menampilkan nlai variabel a dan b sebelum proses
pemangilan fungsi
5. Memanggil fungsi Rtukar
6. Menampilkan nilai dari a dan b dalam fungsi Rtukar
7. Menampilkan nilai dari a dan b dalam fungsi Vtukar
8. Selesai
Penjelasan Program :
Program diatas 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 Praktikum 6 Pemrograman C++
Nama Program : Menentukan Nilai Faktorial
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :#include <stdio.h>
#include <conio.h>
#include <windows.h>
int faktorial(int a)
{
if(a == 1)
{
return 1;
}
else
{S1 Pend. Teknik Informatika 2014 OFF C 20
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();
}
S1 Pend. Teknik Informatika 2014 OFF C 21
Output Program :
Algoritma :
1. Mulai
2. Membuat fungsi factorial
3. Jika nilai a = 1 maka = 1
4. Jika tidak maka gunakan rumus a * faktorial(a-1)
5. Masukkan input berupa angka
6. Proses
7. Selesai
Penjelasan Program :
Program diatas 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 factorial 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.
S1 Pend. Teknik Informatika 2014 OFF C 22
Latihan Praktikum 7 Pemrograman C++
Nama Program : Bilangan 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 4");
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 :
S1 Pend. Teknik Informatika 2014 OFF C 23
Algoritma :
1. Mulai
2. Membuat fungsi Fibonacci
3. Masukkan bilangan
4. Jika bilangan masukkan 1 atau 2 maka hasilnya 1
5. Jika tidak maka, rumus Fibonacci dimasukkan fibo(a-
1)+fibo(a-2)
6. Tampilkan Hasil
7. Selesai
Penjelasan Program :
Program diatas 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 9
maka derek ke 9 bilangan Fibonacci adalah 34 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. Selesai
S1 Pend. Teknik Informatika 2014 OFF C 24
Tugas Praktikum 1Pemrograman C++
Nama Program : Menghitung 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<<"Selamat Datang di Penghitungan Permutasi \n";
cout<<"==========================\n";
cout<<"||\t Rumus : nPr \t||\n";
cout<<"==========================\n";
cout<<"Masukkan Nilai n : ";
S1 Pend. Teknik Informatika 2014 OFF C 25
cin>>n;
cout<<"Masukkan Nilai r : ";
cin>>r;
hasil=permutasi(n,n-r);
cout<<"Hasil Permutasi "<<n<<" P "<<r<<" adalah : "<<hasil;
}
Output Program :
Algoritma :
1. Mulai
2. Membuat fungsi Permutasi
3. Deklarasi variabel n, r, hasil
4. Masukkan input nilai n
5. Masukkan input nilai r
6. Memanggil fungsi yang telah dibuat
7. Proses menghitung “hasil=permutasi (n,n-r)”
8. Tampilkan hasil perhitungan
9. Selesai.
Penjelasan Program :
Program diatas 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*factorial(n-1), disini apabila n
S1 Pend. Teknik Informatika 2014 OFF C 26
lebih dari 1 maka akan membentuk sebuah perulangan mundur dengan
hasil nilai akhir sampai 1. Untuk r rumus yang digunakan adalah
factorial (n)/factorial(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 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. Selesai
S1 Pend. Teknik Informatika 2014 OFF C 27
Tugas Praktikum 2Pemrograman C++
Nama Program : Factorial 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("\n Fibonaci %i = %i",x,fibo(x));
printf("\n Faktorial %i! = %i",x,faktorial(x));
getch();
}
S1 Pend. Teknik Informatika 2014 OFF C 28
Output Program :
Algoritma :
1. Mulai
2. Membuat fungsi Fibonaci
3. Membuat fungsi Faktorial
4. Masukkan Input Nilai Berupa Angka
5. Proses
a. Fibonaci Jika bilangan masukkan 1 atau 2 maka hasilnya
1
b. Jika tidak maka, rumus Fibonacci dimasukkan fibo(a-
1)+fibo(a-2)
c. Faktorial Jika nilai a = 1 maka = 1
d. Jika tidak maka digunakan rumus a * faktorial(a-1)
6. Tampilkan hasil
7. Selesai
Penjelasan Program :
Program diatas merupakan program yang digunakan untuk
menghitung Sebuah Bilangan Fibonacci dan Faktorial, pada program
diatas menggunakan 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
S1 Pend. Teknik Informatika 2014 OFF C 30
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 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. Selesai
Tugas Rumah 1 Pemrograman C++
Nama Program : Hitungan 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;
S1 Pend. Teknik Informatika 2014 OFF C 31
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: ";
cin>>pokok;
cout<<"Masukkan Bonus (persen): ";
cin>>bonus;
cout<<"Masukkan Tunjangan Anak : ";
cin>>anak;
cout<<"Masukkan Tunjangan Uang Makan : ";
cin>>makan;
cout<<"Masukkan Tunjangan Kesehatan : ";
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: "<<pokok<<endl;
cout<<"Bonus \t: "<<bon<<endl;
cout<<"Gaji Bersih \t: "<<bersih<<endl;
cout<<"Tunjangan Anak \t: "<<anak<<endl;
cout<<"Tunjangan Uang Makan \t: "<<makan<<endl;
cout<<"Tunjangan Kesehatan \t: "<<kesehatan<<endl;
cout<<"Total Tunjangan \t: "<<tunjangan<<endl;
cout<<"Gaji Total \t: "<<total<<endl;
S1 Pend. Teknik Informatika 2014 OFF C 32
}
Output Program :
Algoritma :
1. Mulai
2. Buat fungsi bonus
3. Buat fungsi gaji bersih
4. Buat fungsi tunjangan
5. Buat fungsi gaji total
6. Deklarasi variabel pokok, bonus, anak, makan, kesehatan
7. Masukkan gaji pokok
8. Masukkan bonus
9. Masukkan tunjangan anak
10. Masukkan tunjangan uang makan
11. Masukkan tunjangan kesehatan
12. Hitung bonus bon=Bonus(pokok,bonus)
13. Hitung gaji bersih bersih=GajiBersih(pokok,bon)
14. Hitung total tunjangan
tunjangan=Tunjangan(anak,makan,kesehatan)
15. Hitung gaji total total=GajiTotal(bersih,tunjangan)
S1 Pend. Teknik Informatika 2014 OFF C 33
16. Tampilkan hasil gaji pokok, bonus, gaji bersih,
tunjangan anak, tunjangan uang makan, tunjangan kesehatan,
total tunjangan , gaji total.
17. Selesai.
Penjelasan Program :
Program diatas merupakan program yang digunakan untuk
menghitung,gaji, pertama-tama user menginputkan Nilai gaji pokok,
besar bonus, tunjangan anak, tunjangan uang makan, 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 , gaji total. Selesai
S1 Pend. Teknik Informatika 2014 OFF C 34
Tugas Rumah 2 Pemrograman C++
Nama Program : Operasi 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;
S1 Pend. Teknik Informatika 2014 OFF C 35
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;
S1 Pend. Teknik Informatika 2014 OFF C 36
}
/*else{
cout<<"Pilihan Tidak ada!\n";
return 0;
}*/
char k;
cout<<"Apakah Anda Ingin Mengulang?";
cin>>k;
if(k=='y' || k=='Y'){
main();
}else{
return 0;
}
}
Output Program :
S1 Pend. Teknik Informatika 2014 OFF C 37
Algoritma :
1. Mulai
2. Buat fungsi Penjumlahan
3. Buat fungsi Pengurangan
4. Buat fungsi Perkalian
5. Buat fungsi Pembagian
6. Deklarasi variabel (a dan b, x)
7. Tampilkan menu
8. Jika pilihan 1 (penjumlahan)maka
a. Masukkan angka pertama
b. Masukkan angka kedua
c. Hitung angka pertama + angka kedua
d. Tampilkan hasil
e. Ulang..?
9. Jika pilihan 2 (pengurangan)maka
a. Masukkan angka pertama
b. Masukkan angka kedua
c. Hitung angka pertama - angka kedua
d. Tampilkan hasil
e. Ulang..?
10. Jika pilihan 3 (perkalian)maka
a. Masukkan angka pertama
b. Masukkan angka kedua
c. Hitung angka pertama * angka kedua
d. Tampilkan hasil
e. Ulang..?
11. Jika pilihan 4 (pembagian)maka
a. Masukkan angka pertama
S1 Pend. Teknik Informatika 2014 OFF C 38
b. Masukkan angka kedua
c. Hitung angka pertama : angka kedua
d. Tampilkan hasil
e. Ulang..?
12. Selesai
Penjelasan Program :
Program diatas digunakan untuk menentukan operasi matematik
ada penjumlahan, pengurangan, perkalian, dan pembagian. Dengan
tampilan yang berbeda dan rumus yang juga beda tentunya. Di
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
Terimakasih” dengan tipe data char, kemudian program meminta
masukkan dari user,
Jika user memlih 1 (Penjumlahan) maka 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 2 (Pengurangan) 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 3 (Perkalian) maka maka program akan
meminta user untuk memasukkan bilangan awal dan bilangan akhir,
S1 Pend. Teknik Informatika 2014 OFF C 39
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 4 (Pembagian) 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.
KesimpulanDari laporan praktikum diatas dapat disimpulkan bahwa 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).
Fungsi Dibedakan Menjadi 2 yaitu :
1.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.
S1 Pend. Teknik Informatika 2014 OFF C 40
Ciri-ciri dari jenis fungsi Void adalah sebagai berikut:
a. Tidak adanya keyword return
b. Tidak adanya tipe data di dalam deklarasi fungsi
c. Menggunakan keyword void
d. Tidak dapat langsung ditampilkan hasilnya
e. Tidak memiliki nilai kembalian fungsi
f. Keyword void juga digunakan jika suatu function tidak
mengandung suatu parameter apapun.
2.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:
a. Ada keyword return
b. Ada tipe data yang mengawali fungsi
c. Tidak ada keyword void
d. Memiliki nilai kembalian .
e. Dapat dianalogikan sebagai suatu variabel yang memiliki
tipe data tertentu Sehingga dapat langsung ditampilkan
hasilnya.
Ada dua cara pemanggilan fungsi yaitu:
1. Call by value
Pemanggilan fungsi dengan melewatkan nilai parameter variabel
dalam definisi fungsi. Fungsi tersebut akan mengolah nilai
yang dikirmkan Kepadanya.
S1 Pend. Teknik Informatika 2014 OFF C 41
2. 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. Misalnya :
A bernilai 20, maka X juga bernilai 20
B bernilai 30, maka Y juga bernilai 30
Selanjutnya nilai X dan Y diproses, tetapi nilai A dan B akan
tetap. Metode Cll 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.
DAFTAR RUJUKAN
1. Tim Asisten Dosen. 2014. Modul 7. Fungsi. Malang :
Universitas Negeri Malang.
2. Tim Asisten Dosen. 2014. Modul 4. Kondisi. Malang : Universitas Negeri Malang.
3. Ananda.2013.
http://www.academia.edu/5229651/laporan_fungsi_dalam_c_
. Diakses : 29 Oktober 2014 pukul 10.47
S1 Pend. Teknik Informatika 2014 OFF C 42
4. Anonymous.2008.
http://tutorialpemrograman.wordpress.com/2008/02/12/fung
si-dalam-bahasa-c/ . Diakses : 29 Oktober 2014 pukul
09.34
5. Hermansyah.kiky.2013.
http://tutorialpemrograman.wordpress.com/2008/02/12/fung
si-dalam-bahasa-c/ . Diakses : 30 Oktober 2014 pukul
05.37
S1 Pend. Teknik Informatika 2014 OFF C 43