Anda di halaman 1dari 35

LAPORAN PRAKTIKUM VII

Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++


Dibimbing oleh Bpk. Ahmad Musyidun Nidhom

Oleh:

Nanda Riski Septania


140533606173
S1 PTI’14 OFF F

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI PENDIDIKAN TEKNIK INFORMATIKA
OKTOBER 2014
FUNGSI

A. TUJUAN
Mahasiswa mampu memahami fungsi:
1. Mahasiswa mampu memahami fungsi
2. Mahasiswa mampu mendeklarasikan dan mendefinisikan fungsi
3. Mahasiswa mampu menyelesaikan masalah menggunakan fungsi
4. Mahasiswa mampu memahami metode pemanggilan fungsi
5. Mahasiswa mampu membuat fungsi rekursif.

B. DASAR TEORI
B.1 Pengertian Fungsi
Fungsi merupakan blok dari kode yang dirancang untuk melakukan tugas khusus atau
intruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program.
Tujuan pembuatan fungsi adalah:
a. Memudahkan dalam pembatan program
b. Menghemat ukuran program
c. Membuat program menjadi terstruktur
d. Mengurangi duplikasi kode
e. Fungsi dapat dipanggil dari program atau fungsi lainnya.
B.2 Keuntungan Fungsi
Keuntungan ungsi pada pemrograman antara lain:
a. Menguraikan tugas pemrograman yang rumit menjadi langkah-langkah yang
lebih kecil dan sederhana.
b. Mengurangi duplikasi kode (kode yang sama ditulis berkali-kali pada modul)
pada program.
c. Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda.
d. Memcah program besar menjadi lebih kecil, sehingga dapat dikerjakan oleh
programer-progamer sehingga mempermudah pengerjaan suatu proyek.
e. Menyembunyikan informasi dari user, sehingga mencegah perbuatan yang tidak
baik.
f. Meningkatkan kemampuan pelacakan kesalahan, jika ada kesalahan, kita hanya
mencari fungsi yang bersanggkutan saja.
Pada umumnya fungsi memerlukan masukan yang disebut parameter atau argument.
Hasil akhir fungsi akan berupa nilai(nilaibalikfungsi).
Bentuk umum sebuah fungsi adalah:

Dalam bahasa c++ :

Dalam bahasa java:

Dalam bahasa VB :

Type Fungsi 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. Contohnya:
B.3 Jenis-Jenis Dungsi pada C++
Ada dua jenis fungsi pada C++, yaitu:
1. Void (Fungsi tanpa nilai balik)
Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi
tersebut tidak mengembalikan suatu nilaikeluaran 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 kembalian fungsi.
f. Keyword void juga digunakan jika suatu function tidak mengandung suatu
parameter apapun. Contohnya :

2. Non Void (Fungsi dengan nilai balikan)


Fungsi non-void disebut juga dengan function. Disebut non-void karena
mengembalikan nilai kembalian yang berasal dari keluaran hasil proses
function tersebut. Ciri-ciri dari jenis fungsi non-void adalah:
a. Adanya keyword return.
b. Ada tipe data yang mengawali fungsi.
c. Tidak adanya keyword void.
d. Memiliki nilai kembalian
e. Dapat dianalogikan sebagai suatu variabel yang memilikitipe data tertentu
f. Hasil langsung dapat ditampilkan.
g. Non-void : int jumlah (int a, int b)
B.4 Prototype Function
Sebuah program C++ dapat terdiri dari banyak fungsi. Salah satu fungsi tersebut harus
bernama main(). Jika fungsi yang lain dituliskan setelah fungsi main(), sebelum fungsi
main, harus ditambahkan prototype function agar fungsi tersebut dapat dikenali. Hal
tersebut tidak berlaku jika penulisannya dilakukan sebelum fungsi main(). Contohnya:
B.5 Call by Value and Call by Reference
Ada duacarapemanggilanfungsiyaitu: 1. Call by value 2. Call by reference.
1. Call by Value
Pemanggilan fungsi dengan melewatkan nilai parameter variable dalam definisi fungsi.
Fungsi tsb akan mengolah nilai yang dikirimkan kepadanya
Misal:
float bayar = 4000;
float tax = calcSalesTax(purchase);
dapat juga merupakan suatu konstan:
hitung(2, 3);
tulis(„A‟);

2. Call by Reference
Pemanggilan dengan referensi merupakan suatu usaha melewatkan alamat dari suatu
variable ke dalam fungsi. Dengan pengubahan dilakukan di dalam fungsi untuk
mengubah variabel di luar fungsi.
Misal:
A bernilai 20 -> X jugabernilai 20
B bernilai 30 -> Y jugabernilai 30
Selanjutnya nilai X dan Y diproseste tapi nilai A dan B akan tetap. Metode Call by
Reference menggunakan operator pointer „&‟ dan „*‟ untuk mengirimkan alamat variabel
kesuatu fungsi.

B.6 Fungsi Rekursif


Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Artinya, fungsi
tersebut dipanggil di dalam tubuh fungsi sendiri. Parameter yang dilewatkan berubah
sebanyak fungsi itu dipanggil.
LATIHAN PRAKTIKUM I
PEMROGRAMAN C++

Nama Program : Program untuk mengetahui volume balok


Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h>// header file
#include <conio.h> // header file
int volume(int p, int l,int t) // deklarasi variabel
{
int volume; // deklarasi variabel
volume = p*l*t; // proses perhitungan volume
return volume;
}
int main (){
int panjang,lebar,tinggi,hasil; // deklarasi variabel
cout <<"panjang ="; //tampil pada layar
cin>>panjang; // meminta input user
cout<<"lebar =";// tampil pada layar
cin>>lebar;// meminta input dari user
cout<<"tinggi =";// tampil pada layar
cin>>tinggi; // memita input dari user
hasil = volume(panjang , lebar,tinggi); // proses perhitungan
cout <<"\nVolume ="<< hasil; // output
getch();
}
Output Program :

Algoritma:
1. Start 2. Deklarasi fungsi volume dengan isi
variabel p,l,t.
3. Deklarasi variabel volume 9. Layar menampilkan kata lebar =
4. Rumus cara menghitung volume 10. Program meminta input dari user
serta perhitungannya volume = untuk nilai lebar (input = 5)
p*l*t ~ volume =3*5*6 = 90. 11. Layar menampilkan kata tinggi =
5. Pendeklarasian fungsi main utama 12. Program meminta input dari user
6. Deklarasi variabel panjang, tinggi, untuk nilai tinggi (input = 6)
lebar, hasil. 13. Proses pemangggilan hasil dari
7. Layar menampilkan kata panjang = perhitungan volume .
8. Program meminta input dari user 14. Output program
untuk nilai panjang (input = 3) 15. End.

Deskripsi Program :
Program ini diawali dengan penulisan dua buah header file yaitu iostream dan conio.
Walaupun penulisan syntax dalam program ini mendahulukan bukan fungsi utama main,
tetapi dalam eksekusi program ini fungsi main didahulukan. Jadi jalannya program ini
diawali dengan pendeklarasian variabel panjang, lebar, tinggi. Program akan meminta input
nilai panjang, lebar, tinggi. Sebagai contoh, panjang=3, lebar=5, tinggi=6. Kemudian
program akan menghitung atau memprosesnya. Untuk menghitung dikenakan rumus p*l*t
sehingga 3*5*6=90. Outpt akan keluar pada tampilan kata volume. Sedangkan variabel hasil
hanya digunakan sebagai pemanggil variabel volume pada pendeklarasian fungsi volume.
Perhitungannya untuk mendapatkan output dilakukan di dalam pendklarasian fungsi volume,
namun akan tampil pada pendeklarasian fungsi utama main dengan kata volume , karena
variabel hasil memanggil hasil output volume.

LATIHAN PRAKTIKUM II
PEMROGRAMAN C++

Nama Program : Program untuk menampilkan kalimat “Hai PTI  ”


Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include<iostream.h> // header file
void tampilkan() // deklarasi fungsi
{
cout<<"Hai PTI .. :)"; // tampil pada layar kalimat
}
int main () // deklarasi fungsi main
{
tampilkan(); //
}

Output Program :

Algoritma :
1. Start
2. Deklarasi fungsi tampilkan
3. Tampil pada layar kalimat “Hai PTI . . ”
4. Deklarasi fungsi utama main
5. Output program
6. End

Deskripsi Program :
Program ini diawali dengan penulisan header file iostream karena syntax
menggunakan cin dan cout. Kemudian dilanjutkan dengan mendeklarasikan fungsi tampilan
(void tampilkan()). Walaupun penulisan syntax deklarasi fungsi tampilan didahulukan
(void tampilkan()) namun pengeksekusian yang dilakukan program adalah pada
pendeklarasian fungsi main utama (int main ()) . di dalam pendeklarasian fungsi utama
terdapat syntax tampilan () yang dapat memanggil isi fungsi tampilan (void tampilkan())
yaitu kalimat “Hai PTI . . ” dan keluar sebagai ouput.
LATIHAN PRAKTIKUM III
PEMROGRAMAN C++

Nama Program : Program untuk mengetahui pajak pembelian


Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

#include<iostream.h> // header file


float b_pajak =0.1; // deklarasi variabel b_pajak
float kalkulasi_pajak(float pembelian); // deklarasi variabel
int main () // deklarasi fungsi main
{
float beli; // deklarasi variabel beli
cout<<"masukkan pembelian :"; // tampil pada layar
cin>>beli; // meminta user menginput
float pajak = kalkulasi_pajak(beli); // proses
cout<<"Pajak Pembelian Adalah:"<<pajak<<endl;// output program
return 0;
}
float kalkulasi_pajak(float pembelian)// deklarasi variabel
{
return pembelian*b_pajak;
}
Output Program :

Algoritma :
1. Start
2. Deklarasi variabel b_pajak=0,1
3. Deklarasi fungsi kalkulasi_pajak (float pembelian)
4. Deklarasi fungsi main utama
5. Deklarasi variabel beli
6. Layar menampilkan kalimat masukkan pembelian :
7. Program meminta input dari user untuk nilai beli (input 10)
8. Deklarasi fungsi pajak=kalkulasi_pajak (beli)
9. Proses perhitungan pajak pembelian dengan rumus pembelian*pajak
10. Output program
11. End.

Deskripsi Program :
Program ini diawali dengan penulisan header file iostream karena menggunakan cin
dan cout. Jalannya program ini dimulai dengan pendeklarasian variabel beri oleh tipe data
float di dalam fungsi utama main. Kemudian program akan meminta inputan dari user untuk
memberikan nilai pada variabel beri, misalnya 10. Kemudian nilai 10 akan diproses oleh
rumus pembelian*b_pajak sehingga dihasilkan 10*0,1(karena b_pajak sudah di tentukan
nilainya) =1. Hasil dari program ini tidak langsung muncul begitu saja. Untuk menghtung
pajak, program dalam deklarasi fungsi main harus memanggil dari fungsi kalkulasi_paak
karena di dalamnya terdapat rumusnya (return pembelian*b_pajak) setelah itu output
akan muncul pada syntax didalam fungsi main utama yaitu pada kalimat pajak pembelian
adalah 1.

LATIHAN PRAKTIKUM IV
PEMROGRAMAN C++

Nama Program : Program untuk mengetahui nilai terbesar


Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdio.h> // header file
#include <conio.h> // header file
#include <windows.h> // header file
int cari (int n1, int n2); // deklarasi variabel
int prin (int m); // deklarasi variabel
main ()
{
system ("title Latihan4"); // memberi judul pada program
int i = 5; // konstanta
int j = 7; // konstanta
int k; // deklarasi variabel k
k=cari (i, j);
prin (k);
getch();
return 0;
}
int cari (int a, int b) // deklarasi variabel
{
if (a>b) // operasi kondisi if
{
return a;
}else // selain
{
return b;
}
}
int prin (int m) // deklarasi variabel
{
printf("Bilangan terbesar adalah %d \n", m); // tampil pada layar
}

Output Program :

Algoritma :
1. Start 10. Deklarasi fungsi cari (int a, int b)
2. Deklarasi fungsi cari (int n1, int 11. Operasi kondisi jika a lebih besar
n2) dari pada b maka nilainya.kembali
3. Delarasi fungsi prin (int m) ke a
4. Deklarasi fungsi main utama 12. Selain dari kondisi diatas, yang
5. Memberi judul pada program saat tidak terpenuhi maka nilainya
di excute kembali ke b
6. Deklarasi variabel i=5 13. Deklarasi fungsi prin (int m)
7. Deklaasi variabel j=7 14. Output program bilangan terbesar
8. Deklarasi variabel k adalah.
9. Proses bahwa k = cari 15. End

Deskripsi Program :
Program ini diawali dengan penulisan 3 header file., yaitu stdio.h karena syntax
menggunakan printf. Conio.h karena terdapat syntax getch () dan juga terdapat windows.h.
Program ini berguna untuk menampilkan niai terbesar dari nilai variabel yang ada pada
syntax. Pertama jalannya program dimulai dari pendeklarasian nilai i dan j yaitu i=5 dan j=7
kemudian pendeklarasian variabel k, dimana variabel k = cari (i, j) yang berarti variabel k
sama dengan niali variabel cari. Setelah itu, pendeklarasian variabel prin dimana prin adalah
k. Juga terdapat pendeklarasian fungsi cari yang didalamnya terdapat pendeklarasian
varaiabel a dan b. Fungsi cari sama dengan variabel k, sedangkan k sama dengan variabel cari
(i,j). Jadi output yang akan tampil nanti adalah nilai k yaitu 5 dan 7. Namun terdapat operasi
kondisi di program ini, yaitu if (a>b) dimana a=i, j=b sehingga bila 5 lebih besar dari 7
outputnya adalah 5. Apabila 5>7 itu bernilai salah maka outputnya adalah 7.

LATIHAN PRAKTIKUM V
PEMROGRAMAN C++

Nama Program : Program untuk mengetahui penerapan call by reference dan


call by value
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h> // header file
void Rtukar(int *, int *);// deklarasi variabel
void Vtukar(int, int); // deklarasi variabel
int main() // deklarasi fungsi main
{
int a,b; // deklarasi variabel
a= 99;// konstanta
b= 11; // konstanta
//call by reference
cout<<" Nilai sebelum pemanggilan fungsi : "<<endl; // tampil pada
layar
cout<< "Nilai a = " << a << " . Nilai b = " << b << // output program
endl<<endl;
Rtukar(&a,&b); // deklarasi variabel
cout<<"Nilai setangah 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; // tampil pada
layar
cout<<"Nilai a = " << a <<". Nilai b = " <<b<<endl<<endl; // output
program
Vtukar(a,b); // deklarasi variabel
cout<<"Nilai setelah pemanggilan fungsi Vtukar : "<<endl;
cout<<"Nilai a= "<<a<<". Nilai b= "<<b<<endl<<endl; // output program
return 0;
}
void Rtukar (int *px, int *py) // deklarasi variabel
{
int temp; // deklarasi variabel temp
temp= *px;
*px= *py;
*py= temp;
cout<< "Nilai pada fungsi dengan call by reference : " // tampil pada
layar
<<endl;
cout<<"Nilai px= " <<*px<<".Nilai py= "<<*py
<<endl<<endl;
}
void Vtukar(int px, int py) // deklarasi variabel
{
int temp; // deklarasi variabel 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. Start 5. Layar menampilkan kalimat nilai
2. Deklarasi variabel dengan pointer sebelum pemanggilan fungsi
3. Deklarasi fungsi main 6. Output nilai a dan nilai b
4. Deklarasi variabel a, b 7. Deklarasi variabel rtukar (&a,&b)
8. Layar menampilkan kalimat nilai 16. Deklarasi variabel temp
setengah pemanggilan fungsi Rtukar 17. Proses pemindahan nilai *px = *py
9. Output mengembalikan nilai a dan 18. Tampil kalimat nilai pada fungsi
nilai b ke semula dengan call by reference
10. Tampil pada layar kalimat sebelum 19. Output nilai *px dan *py
pemanggilan fungsi 20. Deklarasi fungsi Vtukar dengan
11. Output nilai a dan nilai b variabel px dan py
12. Deklarasi variabel Vtukar a, b 21. Deklarasi variabel temp
13. Tampil pada layar kalimat setelah 22. Proses pemindahan nilai px=py
pemanggilan fungsi vtukar 23. Tampil kalimat Nilai pada fungsi
14. Output nilai a dan nilai b yang dengan call by value
nilainya sudah tertukar 24. Output nilai px dan py
15. Deklarasi fungsi Rtukar yang berisi 25. End.
variabel *px *py

Deskripsi progam :
Program ini diawali dengan penggunaan header file iostream dengan penggunaan
beberapa fungsi. Delarasi fungsi void Rtukar dengan pointer * yang berfungsi untuk
memanggil nilai. Setelah pendeklarasian fungsi, program ini mendeklarasikan variabel a dan b
dengan nilai a = 99 dan b = 11. Untuk operasi fungsi call by reference program akan membaca
nilai a menjadi px dengan nilai 11 dan b sebagai py dengan nilai 99. Hal ini terjadi dikarenakan
variabel a dan b telah dpanggil dengan pointer sehingga mengganti variabel px dan py,
sedangakn untuk nilai yang seharusnya menjadi nilai py berubah menjadi nilai px karena
terdapat fungsi Rtukar sehingga nilai akan tertukar. Output call by reference akan tampil pada
kalimat nilai setengah pemanggilan Rtukar.
Untuk Call by value, kali pertama yang keluar adalah variabel yang sama dengan call by
reference yaitu px dan py. Kenapa muncul begitu alasannya pun sama. Namu yang membuat
berebeda, call by value membuat nilai dari masing-masing variabel akan tertukar. Nilai yang
tertukar akibat dari fungsi Vtukar yang bejalan sehingga nilainya pun tertukar. Output dari call
by value adalah nilai yang tertukar lagi setelah tertukar.
Kegunaan temp adalah sebagai pemindah sementara nilai, karena kita tidak bisa
mnyamadengankan variabel yang mempunyai nilai berbeda, sehingga kita membutuhkan temp.
LATIHAN PRAKTIKUM VI
PEMROGRAMAN C++

Nama Program : Program untuk mengetahui penerapan perhitungan faktor pada


MinGW.
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdio.h> // header file
#include <conio.h> // header file
#include <windows.h> // header file
int faktorial(int a) // deklarasi faktorial
{
if(a == 1){ // pernyataa operasi kondisi
return (1); // jika benar akan bernilai 1
}else{ // jika salah atau selain
return a * faktorial(a-1); // output ketika salah
}
}
int main() // deklarasi fungsi main
{
system("title latihan 6"); // judul program saat di excute
int x; // deklarasi variabel x
printf("Mencari nilai Faktorial \n"); // tampil pada layar
printf("Masukkan nilai n = "); // tampil pada layar
scanf("%d", &x); // meminta user untuk menginput
printf("\n Faktorial %i != %i", x, faktorial(x)); // output program
getch();
}

Output Program :

Algoritma :
1. Start
2. Deklarasi fungsi faktor’ dimana terdapat variabel 2 di dlam fungdi.
3. Oprasi kondisi jika a sama dengan1 maka akan kembali pada nilai yang ke pertama.
4. Selain nilai dari ondisi yang pertama, akan kembali ke nilai a dengan syarat (a-1)
5. Pendeklarasian fungsi main
6. Memberikan judul atau nama pada program yang akan di excute.
7. Mendeklarasikan variabel x
8. Tampil pada layar kalimat mencari nilai faktorial.
9. Tampil pada layar memasukkan nilai n
10. Meminta user untuk menginput nilai a dan b.

Deskripsi Program :
Program yang ini diawali dengan penulisan 3 buah header file dengan kegunaan
masing-masing.Jalannya program ini diawali dengan pendeklarasian fungsi main utama yang
dijalankan. Pertama yaitu kalimat akan tampil pada layar dan kita akan diminta mneginput nilai
pada program. Misalnya nilai n yang diinput adalah 6. Kemudian sebelum diproses untuk
menjadi nilai 720 adalah menggunakan rumus faktorial biasa, pada umumnya. Sedangkan
kegunaan dari pendeklarasian fungsi faktorial adalah untuk tempat meggunakan operasi kondisi
sehinnga jika benar akan mengghasilkan nilai (1) yang berartio benar, sebaliknya jika tidak
lolos akan diproses pada operasi kondisi yang else yang akan menghasilkan nilai a*faktorial
(a-1), setelah mendsapat hasil, hasil akan dikembalikan lagi di tempat sbebelumnya. Ini adalah
fungsi rekursif, dimana rekursif adalah fungsi yang memanggil dirinya sendiri.

LATIHAN PRAKTIKUM VII


PEMROGRAMAN C++

Nama Program : Program untuk mengetahui penerapan perhitungan fibonanci


Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <stdio.h> // header file
#include <conio.h> // header file
#include <windows.h> // header file
int fibo(long a) // deklarasi variabel
{
if(a == 1 || a == 2) // operasi kondisi
{
return (1); // jika bernilai benar maka jawabannya 1
}else{ // selain
return fibo(a-1) + fibo(a-2); // jika tidak memenuhi kondisi
pertama
}
}
int main() // deklarasi fungsi
{
system("title latihan 7"); // memberi judul pada sistem
int x; // deklarasi variabel
printf("Mencari nilai Fibonacci \n"); // tampil pada layar
printf("Masukkan nilai n = ");// tampil pada layar
scanf("%i", &x); // meminta input dri user
printf("\n Fibonacci %i = %i", x, fibo(x));
getch();
}

Output Program :

Algoritma :
1. Start 6. Pemberian nama pada pogram ketika
2. Deklarasi fungsi fibo dengan variabel di excute
di dalamnya. 7. Tampil pada layar kalimat mencari
3. Oprasi kondisi dimana jika a sama nilai fibonanci
dengan 1 atau a sama dengan 2 maka 8. Tampil pada layat kaimat masukkan
jawabannya return 1 nilai n
4. Selain kondisi yang tidak terpenuhi 9. Program akan meminta user untuk
maka akan dihitung dengan memasukkan nilai n
menggunakan return fibo(a-1) + 10. Output program fibonacci.
fibo(a-2); 11. End.
5. Pendeklarasian fungsi utama main

Deskripsi Program :
Program ini diawali dengan penulisan tiga buah header file dengan kegunaan masing-
masing. Prgram ini diawali dengan pembacaan program yang dimulai dari pendeklarasian
fungsi utama yaitu fungsi main. Kemudian pada layar akan tampil kalimat mencari nilai
fibonancci dan setelah itu akan tampil kalimat masukkan nilai n, dan program akan meminta
user untuk menginput nilai (misalnya 6) maka secara otomatis hasil input-an tadi akan segera
diproses oleh operasi kondisi, jika kita menginput 6 maka itu berarti tidak memenuhi kondisi
yang pertama, secara otomatis akan pindah ke kondisi yang kedua. Dengan rumus return
fibo(a-1) + fibo(a-2); maka diperoleh nilaifibonacci dari 6 adalah 8. Output program
akan dipanggil dengan syntax sehingga akan ada di bawah. Tepat disebelah kalimat yang
berbunyi fibonacci 8.

TUGAS PRAKTIKUM I
PEMROGRAMAN C++

Nama Program : Program untuk mengetahui penerapan perhitungan permutasi


pada MinGw
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h> // header file
#include <conio.h> // header file

int faktorial (int x); // pendeklarasian faktorial


int main() // pendeklarasian fungsi main

{
int n, r, permutasi; // pendeklarasian variabel
cout<<"Program Menghitung Permutasi (nPr)\n";// tampil pada layar
cout<<"-------------------------------------\n"; // tampil pada layar
cout<<"Masukkan Nilai n: "; // tampil pada layar
cin>>n; // meminta input dari user
cout<<"Masukkan Nilai r: "; // tampil pada layar
cin>>r; // meminta input dari user
permutasi=faktorial(n)/faktorial(n-r); // proses perhitungan
cout<<"Permutasinya adalah: "<<permutasi; // output program
getch();
}

int faktorial (int n) // deklarasi faktorial


{
int fak; // pendeklarasian variabel
if (n<=1) // operasi kondisi
{
fak=1; // nilai bila kondisi pertama terpenuhi
}
else // selain
{
fak=n*faktorial(n-1); // rumus perhitungan bila kondisipertama
tidak terpenuhi
}
return (fak);
}

Output Program :

Algoritma :
1. Start 10. Proses perhitungan permutasi
2. Deklarasi fungsi faktorial dengan 11. Output hasil permutasi.
variabel x di dalam pendeklarasian 12. Deklarasi fungsi faktorial dengan
fungsi variabel n dideklarasi
3. Deklarasi fungsi main utama 13. Deklarasi variabel fak
4. Deklarasi variabel n, r, permutasi 14. Operasi kondisi jika n kurang dari
5. Tampil pada layar kalimat program sama dengan 1 maka hasilnya adalah
menghitung permutasi (nPr) fak sama dengan 1
6. Tampil pada layar Masukkan Nilai n 15. Operasi kondisi else, selain kondisi
7. Program meminta user menginput diatas maka hasilnya adalah
nilai n (input 6) fak=n*faktorial(n-1)

8. Tampil pada layar Masukkan Nilai r 16. Kembali pada menu fak

9. Program meminta user menginput 17. Output program.

nilai r (input 8) 18. End.

Deskripsi Program :
Program ini diawali dengan penulisan dua buah header file dengan fungsi yang masing-
masing. Program ini diawali dengan memasukkan nilai n ke dalam program dan nilai r kedalam
program. Kemudian akan diproses menggunakan rumus
permutasi=faktorial(n)/faktorial(n-r);yang berarti 6/(8-6) yang berarti 6/2 dan
menhasilkan jawaban 1. Sedangkan untuk deklarasi fungsi faktorial berguna ketika pada
program deklarasi yang fungsi main rumus menggunakan ungsi pemanggilan, sehingga tidak
memperumit syntax yang sedang dikerjakan.

TUGAS PRAKTIKUM II
PEMROGRAMAN C++

Nama Program : Program untuk mengetahui penerapan perhitungan faktorial


dan fibonanci
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h> // Header File
#include <conio.h> // header file

long int faktorial (int B); // pendeklarasian faktorial


long fibo (long a); // pendeklarasian variabel
int main() // deklarasi fungsi utama

{
int r, hasil; // deklarasi variabel r dan hasil

cout<<"Masukkan Nilai: ";// tampil pada layar


cin>>r;// meminta user menginput data
hasil=faktorial(r); // proses perhitungan
cout<<"Hasil "<<r<<" Faktorial adalah "<<hasil<<endl; // otput program
cout<<"Fibonacci "<<r<<" = "<<fibo(r) // output program
getch();
}

long int faktorial (int B) // pendeklarasian faktorial


{
if (B==1) // operasi kondisi
return(B); // output bila memenuhi kondisi pertama
else // selain
return (B*faktorial(B-1)); // hasil bila memenuhi kondisi yang
kedua
}

long int fibo (long a) // deklarasi fibo


{
if (a==1||a==2) // operasi kondisi
return 1; // output bila memenuhi operasi kondisi perta
else
return (fibo(a-1)+fibo(a-2));
}
Output Program :

Algoritma :
1. Start 8. Proses perhitungan
2. Pendeklarasian fungsi faktorial 9. Output program dengan hasil
dengan variabel int B 10. Deklarasi fungsi int faktorial dengan
3. Pendeklarasian fungsi fbo dengan variabel int B
variabel long a 11. Operasi kondisi jika B nilainya sama
4. Deklarasi fungsi utama dengan kembali ke nilai b
5. Deklarasi variabel r dan hasil 12. Selain kondisi diatas yang dapat
6. Tmampil pada layar kalimat memenuhi skondisi yang kedua yaitu
masukkan nilai rumusnya adalah return
7. Program meminta user meminta nilai (B*faktorial(B-1));

r()input kos e kita 13. End.

Deskripsi Program :
Program ini didahului dengan penuliasan dua buah hedaer file yang mempunyai fungsi
sebagai pemanggil syntax. Pertama yang dilakukan oleh program ini adalah membaca program
atau bagian synatx yang terdapat pada pendeklarasian fungsi main utama setelah menginput
niulai n dan r, program akan mulai memeriksa setiap pekerjaan yang akan melewati operasi
kodisi. Bia dapat memenuhi kondsi yang awal maka baik faktorial atau fibo akan berhenti,
namun bila belum cocok maka harus melewati kondisi yang kedua. Sehingga pada saat data
yang saya inputkan di proses akan menghasilkan angkan 8. Dan tidak masuk kedalam kondisi
yang pertama, maka otomatis pindah ke operator kedua. Dari inputan tadi maka hasil akhirnya
adalah 40320 bila perkalian, sedangkan fibonanci adalah 8.
TUGAS RUMAH I
PEMROGRAMAN C++

Nama Program : Program untuk mengetahui penerapan gaji pokok dan gaji
total
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include <iostream.h> // header file
#include <stdlib.h> // header file
#include <conio.h> // header file
#include <string.h> // header file
#include <iomanip.h> // header file
#define array 50 // header array
long gaji_pokok; // deklarasi variabel
long tambahan; // deklarasi variabel
long bersih; // deklarasi variabel
long total_gaji=0; // deklarasi variabel
long t_makan; // deklarasi variabel
int n; //deklarasi variabel
int gajibersih() // deklarasi fungsi
{
bersih = gaji_pokok + tambahan; // proses perhitungan
return (bersih); }
long gajitotal() // deklarasi fungsi
{ cout<<" Gaji total pegawai adalah Sebesar : Rp.
"<<gajibersih();
cout<<endl; // proses dan output
return 0; }
long bonus() // deklarasi fungsi
{ cout<<" Input Gaji Pokok : Rp. "; // tampil pada layar
cin>>gaji_pokok; // elektro harus dilakikam
cout<<" Input Bonus : Rp. "; // tampil pada layar
cin>>tambahan; // meminta input dari user
cout<<endl;
cout<<" -------------------------------------+"<<endl<<endl;
cout<<" Gaji Bersih : Rp. "<<gajibersih(); // output gaji bersih
cout<<endl;
gajitotal(); // deklarasi variabel gaji total
system("pause");
return 0;
}

int inputdata() // deklarasi fungsi input data


{ char nama[array][20]; // char nama
char nip[array][12]; // char nama nip
cout<<endl<<endl;
cout<<"Masukan jumlah karyawan : "; // tampil pada layar
cin>>n; // memintai in put dari
for(int i=0; i<n; i++)
{
system("cls");
cout<<endl<<endl;
cout<<setw(40)<<"PEGAWAI "<<i+1;
cout<<endl<<endl;
cout<<" Nama Pegawai "<<i+1<<" : ";
cin>>nama[20];
cout<<" NIP "<<i+1<<" : ";
cin>>nip[12];
cout<<endl;
bonus();
} }
int main()
{ cout<<endl;
cout<<"^^^^^^^^^^^^^^^^^^^^^^^^^"<<endl; // tampil pada layar
cout<<" NANDA RISKI SEPTANIA "<<endl;
cout<<" 140533606173 "<<endl;
cout<<" S1 PTI OFF F 2014 "<<endl;
cout <<" PERHITUNGAN GAJI "<<endl;
cout<<"^^^^^^^^^^^^^^^^^^^^^^^^^"<<endl;
inputdata();
}
Output Program :

Algoritma :
1. Start 9. Proses perhitungan mencari gaji
2. Deklarasi variabel gaji_pokok bersih
3. Deklarasi variabel tambahan 10. Deklarasi fungsi gaji total
4. Deklarasi vaiabel bersih 11. Tampil pada layar jumlah gaji total
5. Deklarasi variabel total_gaji=0 pegawai dari rumus gaji bersih
6. Deklarasi variabel t_makan 12. Deklarasi fungsi bonus
7. Deklarasi variabel n 13. Tampil pada layar input gaji pokok
8. Deklarasi fungsi gaji bersih
14. Program meminta user untuk 22. Tampil pada layar masukkan jumlah
memasukkan nilai gaji_pokok karyawam
15. Tampil pada layar input bonus 23. Statement perulangan looping yang
16. Program memninta user untuk akan mengulang kata pegawai hingga
menginput tambaha sesuai batas.
17. Tampil pada layar gaji bersih beserta 24. Tampil pada layar kata pegawai
output gaji bersih 25. Tampil pada layar nama pegawai
18. Deklarasi variabel gaji total 26. Tampil pada layar
19. Deklarasi fungsi input data 27. Tampil pada layar jumlaj bonus
20. Deklarasi variabel nama dengan 28. Tanpil pada layar identitas
menggunakan array 2 dimensi 29. Output program
21. Deklarasi variabel nip dengan 30. End.
menggunakan array dua dinensi
N
o

Y
Deskropsi program :
Program ini diawali dengan penulisan header file yang sangat banyak sampai ebih dari
dua yang semuanya ada tugas masing-masing. Setelah endeklarasikan seluruh variabel yang
dipakai adalah yang terbaru. Kali pertama dalah mendeklarasikan fungsi gaji bersih dengan
diperoleh rumus bersih = gaji_pokok + tambahan lalu selanjutnya adalah pendeklarasian
fungsi gaji total, kemudian disusul oleh pendeklarasian fungsi bonus sehingga diperoleh gaji
pkok, bonus dan gaji bersih. Stelah itu baru mendeklarasikan fungsi input data. Di dalam fungsi
input data pendeklarasian variabelnya menggunakan char dua dimensi dengan menggunakan
sistem perulangan looping untuk mengulang kata pegawai hingga mencapai batas pokok yang
diinputkan dalam jumlah karyawan. Di fungsi input data kita akan diminta menginput nama
pegawai dan NIP (Nomor Induk Pegawai). Di fungsi input data terdapat kata stew. Kat stew
adalah pasangan dari header file iomanip.h, stew sendiri berfungsi untuk mengatur lebar
tampilan layar dari nilai suatu variabel. Dibagian terakhir adalah identitas dari si pembuat
script. Sebagai contoh input-an sayamneginput jumlah karyawan = 10, maka kata pegawai akan
mengulang hingga 10 kali. Kemudian saat seleai mengetik 10, tekan enter dan clsr akan
membersihkan layar. Setelah itu, program akan meminta user menginput nama pegawai juga
NIP. Gaji pokok say amasukkan Rp. 8000000 dengan bonus saya input Rp. 5000, kemudian
program akan menghitung jumlah gaji bersih dan gaji total dan didapat Rp. 8005000.

TUGAS RUMAH II
PEMROGRAMAN C++

Nama Program : Program untuk membuat menu utama dengan isi operasi
aritmatika
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :

//header file
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <windows.h>
int main(int argc, char *argv[]) // deklarasi fungsi
{
awal:
char x; // deklarasi variabel x
float A, B; // deklarasi variabel A,B
double penambahan,pengurangan,perkalian,pembagian; // Deklarasi
menu
while (true)
{
// tampil pada layar
cout<<"^^^^^^^^^^^^^^^^^^^^PROGRAM
ARITMATIKA^^^^^^^^^^^^^^^^^^"<<endl;
cout<<"----------------------MENU UTAMA------------------------
"<<endl;
cout<<"------------Nanda Riski Septania 140533606173-----------
"<<endl;
cout<<"----------------------PTI'14 OFF F----------------------
"<<endl;
cout<<"^^^^^^^^^^^^^^^^^^^PROGRAM
ARITMATIKA^^^^^^^^^^^^^^^^^^^"<<endl;
cout<<"1. Operasi Penjumlahan"<<endl;
cout<<"2. Operasi Pengurangan"<<endl;
cout<<"3. Operasi Perkalian"<<endl;
cout<<"4. Operasi Pembagian"<<endl;
cout<<"X. Keluar"<<endl;
cout<<"Pilihan Operasi (1-2-3-4-X): "<<endl;
cin>>x;
switch(x)
{
case '1' : cout<<"^^Penjumlahan^^"<<endl;
cout<<"Masukan A= "<<endl;
cin>>A; // meminta user menginput nilai A
cout<<"Masukan B = "<<endl; // tampil pada layar
cin>>B; // meminta user menginput B
penambahan= A+B; // proses
cout<<"Hasil = "<<penambahan<<endl; // output
break;
case '2': cout<<"^^Pengurangan^^"<<endl;
cout<<"Masukan A : "<<endl; // tampil pada layar
cin>>A; // meminta user menginput nilai A
cout<<"Masukan B : "<<endl; // tampil pada layar
cin>>B; // meminta user menginput B
pengurangan= A-B; // proses pengurangan
cout<<"Hasil = "<<pengurangan<<endl;// output program
break;
case '3' : cout<<"^^Perkalian^^"<<endl;
cout<<"Masukan A : "<<endl; // tampil pada layar
cin>>A; // meminta user memasukkan nilai A
cout<<"Masukan B : "<<endl; // tampil pada layar
cin>>B; // meminta user memasukkan nilai B
perkalian= A*B; // proses perkalian
cout<<"Hasil = "<<perkalian<<endl; // output program
break;
case '4' : cout<<"^^Pembagian^^"<<endl;
cout<<"Masukan A : "<<endl; // tampil pada layar
cin>>A; // memasukkan nilai A
cout<<"Masukan B : "<<endl; // tampil pada layar
cin>>B; // meminta user memasukkan nilai B
pembagian= A/B;// proses pembagian
cout<<"Hasil = "<<pembagian<<endl; // output program
break;
case 'x':
cout<<"THANK YOU"<<endl; // tampil pada layar
exit(0);
break;
default :
//tampil pada layar
cout<<"KODE YANG ANDA INPUTKAN TIDAK SESUAI"<<endl;
cout<<"TERIMA KASIH"<<endl;
}
char q; // deklarasi q
cout<<"APAKAH ANDA INGIN MENGULANG : (Y/N) ?" ; // tampil pada layar
cin>>q;// meminta user menginput nilai q
if(q=='Y'||q=='y') // operasi kondisi
goto awal;
else
if(q=='N'||q=='n') // operasi kondisi
goto akhir;
akhir :
//tampil pada layar
cout<<"--------------------------"<<endl;
cout<<" THANK YOU "<<endl;
cout<<" 140533606173 "<<endl;
cout<<"--------------------------"<<endl;
getch();
return 0;
}
}
Output program :
Algoritma :
1. Start
2. Deklarasi fungsi main utama yang berisi variabel argc, char, argv []
3. Pendeklarasian variabel x dengan tipe data char
4. Pendeklarasian variabel A dan B dengan tipe data float
5. Tampil di layar identitas diri dan menu utama program yaitu,
1. Operasi Penjumlahan,
2. Operasi Pengurangan
3. Operasi Perkalian
4. Operasi Pembagian
X. Keluar
Pilihan operasi (1-2-3-4-x)
6. Jika yang diinput angka 1 maka yang tampil akan case 1 yaitu:
Operasi Penjumlahan
Hasil penambahan antara A dan B, misal 4+4=8.
7. Jika yang diinput angka 2 yang tampil akan case 2 yaitu:
Operasi Penguragan
Hasil pengurangan antara A dan B, misal 6-9=-3.
8. Jika yang diinput angka 3 yang tampil akan case 3
Operasi Perkalian
Hasil perkalian antara A dan B, misal 8*9=72
9. Jika yang diinput angka 4 yang tampil akan case 4 yaitu:
Operasi Pembagian
Hasi pembagian dari A dan B, misal 6/3=2
10. Jika yang diinput x, maka yang akan tampil adalah case ‘x’
Akan tampil pada layar kata THANK YOU.
11. Jika yang diinput adalah nomor 5, maka yang akan tampil adalah
Kalimat KODE YANGANDA INPUTKAN TIDAK SESUAI dan TERIMA KASIH.
12. Deklarasi variabel q
13. Tampil pada layar kalimat Apakah Anda ingin mengulang?
14. Meminta user menginput y/n
15. Operasi kondisi, jika q=y maka akan menuju ke menu awal
16. Operasi kondisi jika q=n maka program akan berakhir
17. Tampil pada layar NIM mahasiswa
18. End.
Y

N
Y

N
Y

N
Y

N
Y

Y
Deskripsi Program :
Program ini adalah penggabungan dari operasi ondisi, switf case dan fungsi. Kali
pertama yang harus digunakan untuk membuat program ini adalah header file yang banyak,
yang masing-masing mempunya ciri khas yang berbeda-beda. Kemudian yang dilakukan
adalah menuliskan kalimat serta pendeklarasian variabel yang digunakan pada menu utama
seperti pernambahan, perkalian, pengurangn, pembagian juga variabel A dan B serta kalimat
kalimat pelengkap setelah itu program akan meminta kita menginput kan case yang kita pilih
dengan range 1 sampai 4 dan huruf x. Jika kita memilih case 1 operasi penjumlahan akan
muncul, jika case 2 adalah operasi pengurangan, case 3 adalah operasi perkalian, case 4 adalah
pembagian dan x adalah ucapan terima kasih. Sedangkan bila kita menginput nilai selain 1-4
maka akan keluar kalimat “Maaf Kode yang anda inpitkan salah”. Program ini juga mempunyai
kalimat perulangan dimana jika kita ingin mengulang program, kita ketikkan y dan jika tidak n
(y=yes, n= no) dengan menggunakan operasi kondisi bukan looping. Sehingga lebih sederhana.
KESIMPULAN

1. Sebelum mengerjakan latihan tugas praktikum, tugas rumah terlebih dahulu harus
mengerti tentang algoritma, flowchart dan program yang akan dijalanka termasuk
macam-macam tipe data.
2. Fungsi merupakan blok dari kode yang dirancang untuk melakukan tugas khusus
atau intruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program.
3. TypeFungsi berfungsi untuk menentukan tipe keluaran fungsi yang dapat berupa
satu tipe data c++ yang berlaku misalnya int dan char. Default tipe yang digunakan
fungsi adalah int.
4. Ada dua jenis fungsi yaitu void dan nonvoid.
Void: Fungsi Prosedur, tidak adanya return, tidak adanya tipe data di deklarasi
fungsi dsb.
Nonvoid: adanya keword return dan ada tipe data yang mengawali fungsi.
5. Ada dua buah cara pemanggilan Fungsi
a. Call by Value : pemanggilan fungsi yang melewatkan nilai parameter variabel
dalam definisi fungsi.
b. Call byReference: Pemanggilan dengan referensi merupakan suatu usaha
meelwatan alamat dari satu variabel ke dalam fungsi.
6. Di dalam suatu program fungsi terdapat banyak fungsi (prototype function) namun
dalam program yang dieksekusi terlebih dahulu adalah fungsi yang utama atau
main.
7. Nilai balik fungsi adalah hasil terakhir dari fungsi
8. Metode call by reference menggunakan pointer & dan * untuk mengirimkan alamat
/ memanggil variabel ke duatu fungsi.
9. Jika fungsi yang lain di tuliskan setelah fungsi main(), sebelum fungsi main harus
ditambahkan prototype function agar fungsi tersebut dapat dikenal.
10. 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.
11. Setw adalah suatu fungsi manipulator yang digunakan untuk mengatur lebar
tampilan dilayar dari nilai suatu variabel. Menggunakan header file iomanip.h.
Bentuk penulisannya adalah setw (int n) dimana n adalah nilai lebar tampilan data
integer.
DAFTAR RUJUKAN
Tim Asisten Dosen. 2013. Modul 7.FUNGSI. Malang: Universitas Negeri Malang.
Saputra, Damba. 2012 . c++setw (Online). http://damba-
saputra.blogspot.com/2012/11/csetw.html?m=1 (diakses 15 Oktober 2014)

Anda mungkin juga menyukai