Anda di halaman 1dari 31

LAPORAN PRAKTIKUM VI

FUNGSI

Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++


Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto

Oleh:
Deri Firmansyah
160533611467
S1 PTI’16 OFF A

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
November 2016
FUNGSI
A. TUJUAN

Setelah mempelajari bab ini diharapkan mahasiswa akan mampu :


1. Memahami fungsi.
2. Mendeklarasikan dan mendefinisikan fungsi.
3. Menyelesaikan masalah menggunakan fungsi.
4. Memahami metode pemanggilan fungsi.
5. Membuat fungsi rekursif.

B. DASAR TEORI

Dalam pembuatan program diatas terdapat suatu rumusan permutasi. Agar program lebih
efisien dipisahkan antara rumus dengan program utama, sehingga dalam program utama
hanya ada perintah pemanggilan rumus untuk memproses suatu variabel. Hal ini dalam
pemrograman disebut sebagai fungsi. Fungsi merupakan blok dari kode yang dirancang untuk
melakukan tugas khusus. Tujuan pembuatan fungsi adalah :
1. Program menjadi terstruktur.
2. Dapat mengurangi duplikasi kode.
3. Fungsi dapat di panggil dari program atau fungsi yang lain.

Pada umumnya fungsi memerlukan masukan yang disebut parameter atau argument. Hasil
akhir fungsi akan berupa nilai (nilai balik fungsi). Bentuk umum sebuah fungsi adalah :

TypeFungsi namaFungsi(parameter)
{
//tubuh fungsi
}

Contoh dalam bahasa C++


void Ckali(int angka)
{
int a = angka*angka;
cout << “Hasil perkalian = ” << a << endl;
}

TypeFungsi berfungsi untuk menentukan tipe keluaran fungsi yang dapat berupa salah satu
tipe data C++ yang berlaku misalnya char atau int. Default tipe yang tidak disebutkan
dianggap sebagai int.
Contoh :
Ckali()
{
Return (0);
}

PROTOTIPE 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(), maka sebelum fungsi
main harus ditambahkan prototype function agar fungsi tersebut dapat dikenal. Hal tersebut
tidak berlaku jika penulisannya dilakukan sebelum fungsi main(). Misal :

#include <stdio.h>
//prototipe function
void hitung (int angka, int bilangan);
void tulis (char);
int tampil (int angka[], char huruf);
//fungsi main
int main()
{
int array[3]={1,2,3};
char huruf='D';
//memanggil fungsi
hitung (2,3);
tulis('A');
tampil(array,huruf);
}

void hitung(int a, int b)


{
//blok fungsi
printf("Angka adalah : %d\n",a);
printf("Angka adalah : %d\n",b);
}

//inisialisasi fungsi tulis


void tulis(char a)
{
//blok fungsi
printf("Huruf adalah : %c\n",a);
}
//inisialisasi fungsi tampil
int tampil(int x[], char a)
{
//blok fungsi
return (a);
}
Call by Value vs 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 dikirimkan kepadanya. Misal :
float bayar = 5000;
float tax = calcsalestax(bayar);
Dapat juga merupakan suatu konstanta:
hitung (2,3);
tulis (“a”);
Nilai yang di hasilkan oleh fungsi tidak akan mempengaruhi nilai yang terdapat pada
program (di luar fungsi tersebut). Hal ini karena pada saat pemanggilan fungsi, compiler
hanya akan membuat salinan (copy) dari nilai yang terdapat pada parameter aktual ke
parameter formal. Dengan kata lain, yang akan berubah adalah nilai yang ada di dalam fungsi
tersebut.

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 diluar fungsi. Misal :
A bernilai 20 [] X juga bernilai 20
B bernilai 30 [] Y juga bernilai 30

Selanjutnya nilai X dan Y diproses dan nilai A dan B akan berubah mengikuti nilai X dan Y.
Metode Call by Reference menggunakan operator pointer “&” dan “*” untuk mengirimkan
alamat variabel ke suatu fungsi.
Melewatkan parameter dengan cara ini akan menyebabkan nilai yang terdapat di dalam
fungsi akan sama persis dengan nilai yang terdapat pada program (diluar fungsi). Hal ini
terjadi dikarenakan alamat dari variabel yang berperan sebagai parameter formal sama
dengan alamat dari variabel yang berperan sebagai parameter aktual.

REKURSIF FUNCTION

Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri, artinya fungsi tersebut
dipanggil di dalam tubuh fungsi itu sendiri. Parameter yang dilewatkan berubah sebanyak
fungsi itu dipanggil. Misal :

#include <iostream.h>
int faktorial (int a)
{
if (a==1)
return 1;
else
return a*faktorial(a-1);
}
int main ()
{
int x;
cout << "Mencari Nilai Faktorial\n";
cout << "Masukkan nilai n= ";
cin >> x;
cout << "Faktorial " << x << "!= " << faktorial(x)<<endl;
}
Program diatas merupakan program mencari nilai faktorial yang menggunakan fungsi
rekursif. Output program diatas bisa di lihat di Latihan Praktikum IV.
Latihan Praktikum VI
Fungsi
1. Latihan Praktikum 1
Nama Program : Program Fungsi Call By Reference Dan Call By Value.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

#include <iostream.h>

void Rtukar(int*, int*);

void Vtukar(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;

Rtukar (&a,&b);

cout << "Nilai setelah pemanggilan fungsi Rtukar: " << endl;

cout << "Nilai a= " << a << " Nilai b= " << b << endl << endl << endl;

//kembalikan ke nilai semula

a=99;

b=11;

//cal by value

cout << "\nNilai sebelum pemanggilan fungsi : " << endl;

cout << "Nilai a= " << a << " Nilai b= " << b << endl;

Vtukar (a,b);

cout << "Nilai setelah pemanggilan fungsi Vtukar: " << endl;

cout << "Nilai a= " << a << " Nilai b= " << b << endl;

return 0;

void Rtukar (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 << 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 << endl;

Output program :
Penjelasan Program :

Program yang telah dibuat diatas adalah program yang berfungsi untuk belajar fungsi
dan juga cara membedakan antara fungsi yang dipanggil dengan call bi value dengan fungsi
yang dipanggil dengan call by reference. Dalam program diatas header yang digunakan
antara lain adalah iostream.h yang digunakan untuk menjalankan perintah cin dan cout.
Proses berjalannya program diatas diawali dengan pendeklarasian fungsi yaitu fungsi Rtukar,
Vtukar dan main(), kemudian deklarasi variabel a dan b lalu proses pemberian nilai variabel a
dan b setelah itu variabel a dan b ditampilkan kemudian fungsi Rtukar di panggil dan variabel
a dan b di tampilkan kembali. Setelah itu terdapat proses untuk mengembalikan nilai a dan b
seperti semula dan variabel a dan b di tampilkan kembali kemudian di lanjutkan dengan
pemanggilan fungsi Vtukar dan variabel a dan b di tampilkan kembali.Dari hasil outputan
program diatas terdapat perbedaan atara nilai variabel a dan b setelah pemanggilan fungsi
dengan cara call by value dan call by reference.

Latihan Praktikum VI
Fungsi
2. Latihan Praktikum 2
Nama Program : Program Mencari Data Terbesar Menggunakan Fungsi.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

//fungsi

#include <stdio.h>

//deklarasi fungsi

int cari (int n1, int n2);

void prin (int m);

//main fungsion

main()

int i=5;

int j=7;
int k;

k=cari (i,j);

prin (k);

return 0;

//== fungtion definition here

int cari (int a, int b)

if (a>b) return a;

else return b;

void prin (int m)

printf ("Bilangan terbesar adalah: %i\n",m);

Output program :
Penjelasan Program :
Program yang telah dibuat diatas adalah program yang berfungsi untuk mencari dan
menampilkan bilangan terbesra dari2 variable dengan menggunakan fungsi.dalam program
diatar hedaer yang diguakan antara lain header stdio.h yang digunakan untuk menjalankan
perintah scanf dan printf. Proses berjalannya program diatas dimulai dengan deklarasi fungsi
yang akan digunakan yaitu fungsi cari, tampil dan main(), kemudian pendeklarasian variabel
yang bertipe data integer, yaitu variabel i yang bernilai 5, variabel j yang bernilai 7 dan
variabel k, kemudian dilanjutkan dengan pemanggilan fungsi cari() yang dimana nilai balikan
dari fungsi tersebut kemudian disimpan di variabel k, setelah itu pemanggilan fungsi tampil
untuk menampilkan nilai dari variabel k. Dalam fungsi cari ini terdapat proses untuk mencari
bilangann erbesar dengfan mengguinakan if else, jika a>b bebas maka fungsi akan
menggembalikan nilai dari a dan jika salah maka fungsi akan menampilkan atau menggembalikan
niai b.

Latihan Praktikum VI
Fungsi
3. Latihan Praktikum 3
Nama Program : Program Untuk Menentukan Pajak Pembelian.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

#include <iostream.h>

//deklarasi fungsi

int caloSalesTax(float purchase, float taxRate=0.1);

//main fungtion

main ()

float purchase;

cout<<"masukkan pembelian : ";

cin>>purchase;
float tax=caloSalesTax(purchase);

cout<<"pajak pembelian adalah: "<<tax<<endl;

return 0;

int caloSalesTax(float purchase, float taxRate)

return purchase * taxRate;

Output program :

Penjelasan Program :
Program yang telah dibuat diatas merupakan program sederhana yang dugunakan
untuk mencari nilai pajak dari user yang telah menginputkan sebuah bilangna yang otomatis
akan menampilkan jumlah pajak yang dianggung leh user. Dalam program diatas ada
beberapa header yang digunakan antara lain header iostream.h yang digunakan untuk
menjalankan perintah cin dan cout. Proses berjalannya program diatas diawali dengan
deklarasi fungsi calSalesTax dan fungsi main(), kemudian dilanjutkan dengan deklarasi
variabel purchase dengan type data int, setelah itu terdapat proses input data yang di simpan
di variabel purchase, lalu terdapat deklarasi variabel tax dnegan type data int yang dimana
nilai dari variabel tax merupakan nilai balikan dari fungsi calSalesTax, setelah itu variabel tax
di tampilkan.
Latihan Praktikum VI
Fungsi
4. Latihan Praktikum 4
Nama Program : Program Mencari Faktorial Dengan Fungsi Rekursif.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

/*aplikasi rekrusif faktorial*/

#include <iostream.h>

int faktorial (int a)

if(a==1)

return 1;

else

return a*faktorial(a-1);

int main()

int x;

cout<<"Mencari Nilai Faktorial\n";

cout<<"Masukan nilai n=";

cin>>x;

cout<<"Faktorial "<<x<<"!="<<faktorial(x)<<endl;

}
Output program :

Penjelasan Program :
Program yang telah dibuat diatas merupakan sebuah program yang difungsikan untuk
mencari nilai faktorial sebuah bilangan dengan menggunakan fungsi rekursif. Dalam program
diatas header yang digunakan adalah header iostream yang beguna untuk menjalankan
perintah cin dan cout. Proses berjalannya program diatas diawali dengan pendeklarasian
fungsi faktorial yang berisi syntax untuk mencari nilai faktorial dan juga pendeklarasian
fungsi main(), setelah itu deklarasi variabel x dengan type dat int dan proses input data oleh
user yang nantinya akan di simpan di dalam variabel x, kemudian fungsi faktorial tadi di
panggil dengan parameter variabel x setelah itu ditampilkan nilai balikannya. Di dalam fungsi
faktorial ini terdapat proses untuk menghitung nilai faktorial dari parameter yang ada, dimana
da;am fungs ini menggunakan fungsi rekrisif yaitu sebuah fungsi yang akanmenmanggol
dirinya sendiri ketika proses berlangsung.
Latihan Praktikum VI
Fungsi
5. Latihan Praktikum 5
Nama Program : Program Mencari Nilai Fibonacci Dengan Fungsi Rekursif.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

/*aplikasi rekrusif pada fibonancci*/

#include <iostream.h>

long fibo(long a)

if(a==1 || a==2)

return 1;

else

return fibo(a-1) + fibo(a-2);

int main()

int x;

cout<<"Mencari Nilai Fiboacci\n";

cout<<"Masukkan nilai n=";

cin>>x;

cout<<"Fibonancci "<<x<<"="<<fibo(x)<<endl;

}
Output program :

Penjelasan Program :
Program diatas adalah program yang digunakan untuk mencari bilangan fibonacci
urutan ke-n dengan menggunakan fungsi rekrusif. Dalam program diatas ada beberapa header
yang digunakanantara lain header iostream.h shingga bisa menggunakan perintah cin dan
cout. Proses berjalannya program diatas di awali dengan deklarasi fungsi fibo yang di dalam
fungsi tersebut ada syntax untuk mencari bilangan fibonacci secara rekursif. Kemudian
deklarasi variabel x dengan type data int dan di lanutkan dengan input data oleh user yang
kemudian disimpan di variabel x, dimana variabel x ini berguna sebagai patokan bilangan
fibonacci keberapa yang akan di hitung, kemudian fungsi fibo di panggil dengan parameter
variabel x dan di tampilkan. Cara kerja dari syntax untuk mencari nilai rekrusif bilangan
fibonacci,pertaman adalah semisal kita akan mencari bilang fibonacci suku ke-3 maka
program akan secara otomatis mengecek kondisi masuk pada angka berapakah suki ke-3 dari
fibonacci tersebut.
Tugas Praktikum VI
Fungsi
6. Tugas Praktikum 1
Nama Program : Program Mencari Nilai Kombinasi Dengan Fungsi Rekursif.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

#include <iostream.h>

int main()

int n,r,x[20],y,kombinasi;

int combn (int n);

int combr (int r);

int faktrl (int x);

cout<<"---------------------------------------"<<endl;

cout<<" MODUL FUNCTION "<<endl;

cout<<"---------------------------------------"<<endl;

cout<<" PROGRAM COMBINASI "<<endl;

cout<<"---------------------------------------"<<endl;

cout<<" Masukkan Nilai n : ";

cin>>n;

cout<<" Masukkan Nilai r : ";

cin>>r;

cout<<endl;

y=n-r;

x[n]=faktrl(y);

kombinasi=combn(n)/(combr(r)*faktrl(y));

cout<<" hasil kombinasi "<<n<<"C"<<r<<" adalah "<<kombinasi;

}
int combn(int n)

if(n==0)

return 1;

else

return n*combn(n-1);

int combr (int r)

if(r==0)

return 1;

else

return r*combr(r-1);

int faktrl(int x)

if(x==0)

return 1;

else

return x*faktrl(x-1);

Output program :
Penjelasan Program :
Program yang telah dibuat diatas adalah program sederhan yang digunakan untuk
mencari nilai kombinasi dari 2 bilangan dengan menggunakan fungsi rekursif.dalam program
diatas ada beberapa header yang digunakan antara lain header iostream.h sehingga perintah
cin dan cout dapat digunakan. Proses berjalannya program ini di awali dengan deklarasi
fungsi faktorial,kombinasi, tampil dan main(), diamana di dalam fungsi faktorial terdapat
proses untuk menghitung faktorial dari suatu bilangan, di dalam fungsi kombinasi terdapat
proses untuk menghitung kombinasi 2 bilangan dengan cara memanggil fungsi faktorial
dengan parameter bilangan 1 dan bilangan 2, kemudian fungsi tampil yang terdapat deklarasi
variabel x dan y dengan type data int kemudian input data untuk variabel x dan y dan juga
pemanggilan fungsi kombinasi yang kemudian di tampilkan, fungsi terakhir yaitu fungsi main
() yang berisi perintah untuk memanggil fungsi tampil.

Tugas Praktikum VI
Fungsi
7. Tugas Praktikum 2
Nama Program : Program Mencari Nilai Volume, Luas Selimut, Dan Luas
Permukaan Tabung .
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

#include <iostream.h>

float luasmuka(float p,float q);


float luasselimut(float r,float s);
float volume(float t,float u);
float phi=3.14;

int main()
{
float jari, tinggi, lmuka, lselimut, vol;
cout<<"-----------------------------------------------"<<endl;
cout<<" MODUL FUNCTION "<<endl;
cout<<"-----------------------------------------------"<<endl;
cout<<" PROGRAM COMBINASI "<<endl;
cout<<" PROGRAM TABUNG "<<endl;
cout<<"-----------------------------------------------"<<endl;
cout<<" Masukan nilai jari-jari tabung =";
cin>>jari;
cout<<endl;
cout<<" Masukan nilai tinggi tabung =";
cin>>tinggi;
cout<<endl;

lmuka=luasmuka(jari,tinggi);
lselimut=luasselimut(jari,tinggi);
vol=volume(jari,tinggi);

cout<<"-----------------------------------------------"<<endl;
cout<<"Nilai Luas Tabung ="<<lmuka<<endl;
cout<<"Nilai Luas Selimut Tabung ="<<lselimut<<endl;
cout<<"Nilai Volume Tabung ="<<vol<<endl;
cout<<"-----------------------------------------------"<<endl;
return 0;
}
float luasmuka(float p,float q)
{
return((2*(phi*p*p))+((2*phi*p)*q));
}

float luasselimut(float r,float s)


{
return(phi*2*r*s);
}
float volume(float t,float u)
{
return(phi*t*t*u);
}

Output program :

Penjelasan Program :
Program yang telah dibuat diatas adalah program sederhana yang digunakan untuk
mencari luas dari permukaan, luas selimut dan volume dari sebuah tabung.dalam program
diatas ada beberapa header yang digunakan antara lain header stdio.h yang berguna jika kita
menggunakan perintah scanf dan printf. Proses berjalannya program ini yaitu deklarasi
fuungsi selimut, fungsi luas, fungsi volume dan fungsi main(). Fungsi selimut yang berisikan
syntax untuk mencari luas selimut tabung dengan call by value menggunakan 2 parameter,
fungsi luas berisi sytax untuk mencari nilai luas permukaan tabung dengan cara
memanggilnya menggunakan call by value dengan 2 parameter, fungsi volume berisikan
syntax yang digunakan untuk meghitung nilai volume sebuah tabung dengan pemanggilan
call by vae dan 2 parameter, dan yang terakhir fungsi main () diawali dengan deklarasi
variable jari dan tinggi dengan type data int yang dimana 2 variabel ini nantinya akan
digunakan untuk memanggil fungsi yang sudah di deklarasikan tadi, kemudian dilanjutkan
dengan proses input data untuk variabel jari dan tinggi, dan kemudian fungsi luas, selimut
dan volume di panggil satu per satu dengan parameter jari dan tinggi, setelah itu tampilkan
hasilya.proses yang terjadi di dalam fungsi yaitu proses perhitungan luas permukaan,volume
dan selimut tabung yang telah sesuai dengan rumus yang sekarang digunakan.
Tugas Rumah VI
Fungsi
8. Tugas Rumah 1
Nama Program : Program Mencari Nilai Terbesar Dan Terkecil Suatu Data.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

#include <iostream.h>

int terbesar (int x[],int a)

int b;

for (int i=0; i <= a-1; i++)

if (x[i] > b)

b = x[i];

return (b);

int terkecil (int x[],int a)

int b=x[0];

for (int i=0; i <= a-1; i++)

if (x[i] < b)

b = x[i];

return (b);

int main ()

int data[100];

int i=0;

char lanjut;
cout << "-----------------------------------------------------------------";

cout << "\n\t\t\tMODUL FUNCTION";

cout << "\n-----------------------------------------------------------------";

cout << "\n\t\t MENENTUKAN BATAS";

cout << "\n-----------------------------------------------------------------


"<<endl;

do

cout << "Masukkan Data : ";

cin >> data[i];

cout << "Masukkan Data Lagi? (y/n) : ";

cin >> lanjut;

i++;

}while (lanjut == 'y' || lanjut == 'Y');

cout << "Data Terbesar Adalah : " << terbesar(data,i) << endl;

cout << "Data Terkecil Adalah : " << terkecil(data,i) << endl;

return 0;

Output program :
Penjelasan Program :
Program yang telah dibuat diatas adalah sebuah program sederhana yang berfungsi
untuk mencari data terbesar dan terkecil dari kumpulan beberapa data yanng telah din
inputkan oleh user menggunakan fungsi.dalam program diatas ada beberapa header yang
digunakan oleh user antara lain header iostream.h yang digunakan unuk menjalankan
perintah cin dan cout. Proses berjalannya program diatas diawali dengan deklarasi fungsi
terbesar, terkecil dan main. Di dalam fungsi terbesar terdapat syntax perulangan untuk
menghitung data terbesar dari kumpulan data yang ada, kemudian di dalam fungsi terkecil
kebalikan dari terbesar yaitu untuk menghitung data terkecil dari kumpulan data, di fungsi
main di awali dengan deklarasi variabel data dan i dengan type data int dan variabel lanjut
dengan type data char. Variabel data merupakan variabel array yang dapat menampung data
sebanyak 100. Kemudian proses input data oleh user yang nantinya akan di simpan di
variabel data indeks ke-n berdasarkan variael i, kemudian proses selanjutnya yaitu input
pilihan dari user untuk meneruskan proses input data atau tidak dengan memberikan inputan
(y/n), jika y || Y maka program akan melakukan looping untuk input data lagi dan variabel i
di tambahkan 1, sedangkan kalau input != y || !=Y maka proses input data akan berhenti,
setelah itu kedua fungsi tadi di panggil dengan parameter data dan i kemudian di tampilkan.

Tugas Rumah VI
Fungsi
9. Tugas Rumah 2
Nama Program : Program Standar Deviasi.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

#include <iostream>

#include <math.h>

using namespace std;

float rata(int x[], int i)

float total=0;

for (int a=0; a<i; a++)

{
total=total+x[a];

return total/i;

float simbak (int x[], int i)

float total=0;

for (int a=0; a<i; a++)

total = total + ((rata(x,i)-x[a])*(rata(x,i)-x[a]));

return sqrt(total/(i-1));

int main ()

int data[100],i=0;

char lanjut;

cout << "-----------------------------------------------------------------";

cout << "\n\t\t\tMODUL FUNCTION";

cout << "\n-----------------------------------------------------------------";

cout << "\n\t\t PROGRAM STANDAR DEVIASI";

cout << "\n-----------------------------------------------------------------


"<<endl;

do

cout << "Masukkan Data : ";

cin >> data[i];

cout << "Masukkan Data Lagi? (y/n) : ";

cin >> lanjut;

i++;

}while (lanjut == 'y' || lanjut == 'Y');

cout << "\nNilai Rata - Rata : " << rata(data,i)<<endl;

cout << "\nNilai Simpangan Baku : " << simbak(data,i)<<endl;

}
Output program :

Penjelasan Program :
Program diatas adalah sebuah program sederhana yang berfungsi sebagai program
standar deviasi.dalam program yang telah dibuat di atas ada beberapa header yang digunakan
antara lain header iostream.h yang digunakan untuk menjalankan perintah cin dan cout.
Proses dari program diatas adalah di awali dengan deklarasi fungsi yaitu fungsi rata, simbak
dan main. Fungsi rata digunakan untuk mencari nilai rata – rata dari kumpulan data yang ada,
dan fungsi simbak digunakan untuk mencari simpangan baku dari kumpulan data yang ada.
Setelah deklarasi fungsi berlanjut ke deklarasi variabel yaitu variabel data dan i dengan type
data int dan lanjut dengan type data char, kemudian terdapat proses input data oleh user yang
disimpan di variabel data indeks ke-i dan setiap perulangan terjadi variabel i ditambahkan
dengan 1, setelah input data user akan disuruh untuk memiih apakah ingin melakukan input
data lagi atau tidak, jika input == y || == Y maka kondisi benar dan program akan melakukan
looping jika != y || !=Y maka proses input data akan selesai dan di lanjutkan dengan
pemanggilan fungsi rata dan simbak dengan parameter data dan i kemudian di tampilkan.
Tugas Rumah VI
Fungsi
10. Tugas Rumah 3
Nama Program : Program Untuk Menampilkan Data Yang Sering Diinputkan.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

#include <iostream.h>

void modus (int x[],int i)

int total[100];

int mod[100];

int k = 1;

int z = 0;

int j = 0;

// mengurutkan secara ascending

for (int a=0; a < i; a++)

for (int b=(a+1); b< i; b++)

if (x[a] > x[b])

int temp;

temp = x[a];

x[a] = x[b];

x[b] = temp;

//menghitung berapa kali muncul tiap angka

for (int a=0; a<i; a++)

total[a]=0;
for (int b=0; b<i; b++)

if (x[a]== x[b])

total[a]++;

//menentukan nilai yang paling sering muncul

for (int a=0; a<i; a++)

if (total[a]>k)

k = total[a];

//jika modus lebih dari satu

for (int a=0; a<i; a++)

if (j==0)

mod[j]=0;

else

mod[j]=mod[j-1];

if (total[a] == k)

if(x[a] != mod[j])

mod [j] = x[a];

j++;

//jika semua angka muncul sama banyak

for (int a=0; a<i; a++)

if (total[a]==k)
z++;

if (z==i)

j=0;

//output

if (j==0)

cout << "\n\nTidak Ada Modus!" ;

else

cout << "\n\nData Yang Sering Diinputkan Adalah : ";

for (int a=0; a< j ;a++)

cout << mod[a] << " ";

int main ()

int data [100],i=0;

char lanjut;

cout << "-----------------------------------------------------------------";

cout << "\n\t\t\tMODUL FUNCTION";

cout << "\n-----------------------------------------------------------------";

cout << "\n\t MENETUKAN DATA YANG SERING DIINPUTKAN";

cout << "\n-----------------------------------------------------------------


"<<endl;

do {

cout << "Masukkan Data : ";

cin >> data[i];

cout << "Masukkan Data Lagi ? (y/n) : ";

cin >> lanjut;


i++;
}while (lanjut == 'Y' || lanjut == 'y');
modus (data,i);
}
Output program :

Penjelasan Program :
program yang telah dibuat diatas merupakn sebuah program sederhana yang berfungsi
untuk mencari data yang sering diinputkan oleh seorang user.dalam program program diatas
mengguakan sebuah header yaitu header iostream.h sehingga perintah cin dan cout bisa
digunakan. Proses berjalannya program diawali dengan deklarasi fungsi modus dan main,
kemudian dilanjutkan dengan deklarasi variabel data dan i dengan type data int dan variabel
lanjut dengan type data char, setelah itu terdapat proses input data yang disimpan di variabel
data indeks ke- i yang dimana setiap perulangan terjadi maka variabel i +1, stelah itu terdapat
pilihan antara melanjutkan input data atau keluar dari perulangan jika inputan user == y || ==
Y maka looping akan berlanjut jika !==y || !==Y maka program keluar dan memanggil fungsi
modus dengan parameter data dan i. Di dalam modus ini terdapat proses untuk mencari data
modus yamg telah di inputkan oleh user.pertam adalah pengurutan data,kemudian
menghitung berapa kali angka yang sama dininputkan oleh user,kemudian dilakukan
perhitungan modus dengan cara mencari indeks dari angka yang sering muncul dan menyalin
data dari variable data indeks ke-i ke variable modus. Setelah itu ada kondisi untuk mengecek
apakah setiap data muncul sama banyaknya jika iya maka tidak ada modus yang di dapat, jika
tidak maka variabel modus akan di tampilkan.
C. KESIMPULAN
Setelah melakukan praktikum ini dan mengerjakan berbagai latihan dan tugas diatas
dapat disimpulkan bahwa fungsu dalam bahasa pemrogaman C++ sangat berguna
sehingga program yang dibuat menggunakan fungsi lebih terstruktur karena kita dapat
memisahkan antara rumus dengan program utaman sehingga ketika kita sedang membuat
program yang didalamnya terdapat perhitungan data atau rumus, dengan fungsi kita hanya
perlu memanggilnya dengfan memberikan parameter uyang seusai dengan fungsi tersebut
sehingga kita tidak perlu susah untuk menuliskan kembali scrip program sehingga
penulisan program menjadi lebih singkat dan efisien.

Dalam sebuah fungsi cara penulisanya dimulai dengan TypeFungsi kemudian


NamaFungsi dan (parameter) lalu tubuh fungsi fungsi akan menghasilkan nilai balikan
sesuai dengan type fungsi yang digunakan, jika kita menggunakan integer maka nilai
balikan akan bernilai integer begitu juga dengan type data char. Sedangkan ketika kita
menggunakan type data void maka tidak akan menghasilkan nilai balikan. Dalam fungsi
ada 2 cara untuk memangil fungsi yaitu denbgan cara call by value dan call by reference.
Call by value yaitu dengan cara memanggil fungsi dengan cara menyertakan parameter
sesuai dengan fungsi yang dipanggil dan variable yang ada di luar funsi ini tidak akan
berubah karena fungsi yang dipanggoil dan variable yang ada di luar fungsi tidak akan
berubah karena fungsi hanya menyalin data sehingga yang berubah hanya nilai yang ada di
dalam fungsi itu sendiri.
D. DAFTAR RUJUKAN
1. Tim Asisten Dosen. 2016. Modul 6 Fungsi. Malang : Universitas Negeri Malang.

Anda mungkin juga menyukai