laporan fungsi c++

18
LAPORAN PRAKTIKUM VII PENGENALAN SISTEM OPERASI, IDE VISUAL C+ +, DAN ALGORITMA PEMROGRAMAN Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++ Dibimbing oleh Bpk. Wahyu Sakti G.I Oleh: Tegar Wira Abdillah 120534431477 S1 PTE 12 OFF C

Upload: tegar-wira-abdillah

Post on 20-Jan-2016

218 views

Category:

Documents


10 download

DESCRIPTION

program fungsi

TRANSCRIPT

Page 1: Laporan Fungsi C++

LAPORAN PRAKTIKUM VII

PENGENALAN SISTEM OPERASI, IDE VISUAL C++, DAN ALGORITMA PEMROGRAMAN

Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++Dibimbing oleh Bpk. Wahyu Sakti G.I

Oleh:

Tegar Wira Abdillah

120534431477

S1 PTE 12 OFF C

UNIVERSITAS NEGERI MALANGFAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTROPRODI PENDIDIKAN TEKNIK ELEKTRONIKA

Maret 2014

Page 2: Laporan Fungsi C++

MODUL 7Fungsi

A. Tujuan Mahasiswa mampu memahami fungsi Mahasiswa mampu mendeklarasikan dan mendefinisikan fungsi Mahasiswa mampu menyelesaikan masalah menggunakan fungsi Mahasiswa mampu memahami metode pemanggilan fungsi Mahasiswa mampu membuat fungsi rekursif

B. Petunjuk

C. Alat dan Bahan 1. PC/ laptop yang memenuhi kapasitas untuk pemrograman bahasa C++ 2. Software C++ 3. Modul/handout materi yang akan di praktekkan

D. Dasar Teori

Fungsi merupakan blok dari kode yang dirancang untuk melakukan tugas khusus. Tujuanpembuatan funsi adalah:

Program menjadi terstruktur Dapat mengurangi duplikasi kode 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}

Type Fungsi berfungsi untuk menentukan tipe keluaran fungsi yang dapat berupa salah satutipe data C++ yang berlaku misalnya char atau int. Default tipe yang tidak disebutkan dianggapsebagai int.

PROTOTYPE FUNCTION Sebuah program C++ dapat terdiri dari banyak fungsi. Salah satu fungsi tersebut harusbernama main(). Jika fungsi yang lain di tuliskan setelah fungsi main(), sebelum fungsi main harus

Page 3: Laporan Fungsi C++

ditambahkan prototype function agar fungsi tersebut dapat dikenal. Hal tersebut tidak berlaku jikapenulisannya dilakukan sebelum fungsi main().

Call by Value vs Call by Reference Ada dua cara pemanggilan fungsi yaitu: 1. Call by value2. Call by reference

Call by Value Pemanggilan fungsi dengan melewatkan nilai paramater variabel dalam definisi fungsi.Fungsi tsb akan mengolah nilai yang dikirimkan kepadanyaMisal: float purchase = 4000;float tax = calcSalesTax(purchase);

dapat juga merupakan suatu konstan hitung(2, 3);tulis(„A‟);

Call by Reference Pemanggilan dengan referensi merupakan suatu usaha melewatkan alamat dari suatuvariabel ke dalam fungsi. Dengan pengubahan dilakukan di dalam fungsi untuk mengubah variabeldi luar fungsi.Misal: A bernilai 20 -> X juga bernilai 20B bernilai 30 -> Y juga bernilai 30 Selanjutnya nilai X dan Y diproses tetapi nilai A dan B akan tetap. Metode Call by Reference menggunakan operator pointer „&‟ dan „*‟ untuk mengirimkanalamat variable ke suatu fungsi. Untuk lebih jelasnya, kerjakan contoh script program berikut danjawab pertanyaanya!

Fungsi Rekursif Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri, artinya fungsi tersebutdipanggil di dalam tubuh fungsi itu sendiri. Parameter yang dilewatkan berubah sebanyak fungsi itudipanggil.

E. Latihan

a. Latihan 1

Compiler pada Ms.Visual C++#include <stdio.h>

//deklarasi fungsiint cari(int n1, int n2);void prin (int m);

//main functionvoid main(){

int i=52;int j=69;int k;

k=cari (i,j);prin(k);

}

//fungsi definisiint cari(int a, int b){

if(a>b) return a;else return b;

}

//fungsi definisivoid prin(int m){

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

Page 4: Laporan Fungsi C++

}

Hasil Eksekusi

Algoritma:

1. Mulai Program

2. Menuliskan prototipe agar fungsi dapat dikenali

(int cari (iny n1, int n2) dan void prin (int m).

3. Mendeklarasikan fungsi utama

4. Program mengoperasikan nilai i dan j yaitu mencari

nilai terbesar diantara keduanya menggunakan

kondisi if else.

5. Cetak hasil nilai yang terbesar.

6. Program selesai

Deskripsi Program:

Pogram diatas adalah program untuk mencari bilangan terbesar.

Program di atas menggunakan File Header stdio.h. File header ini merupakan

singkatan dari standar input output. Jadi sudah jelas kalau perintah yang ada

dijadikan sebagai standar input dan output. Contoh: printf, scanf.

b. Latihan 2

Compiler pada Ms.Visual C++

#include <iostream>using namespace std;

//deklarasi fungsiint calcSalesTax(float purchase, float taxRate= 0.1);

//main functionvoid main(){

float purchase;cout<<"Masukan

pembelian:";cin>>purchase;

float tax= calcSalesTax(purchase);

cout<<"Pajak pembelian adalah:"<<tax<<endl;}

//fungsi deklarasiint calcSalesTax(float purchase, float taxRate){

return purchase*taxRate;}

Hasil Eksekusi

Page 5: Laporan Fungsi C++

Algoritma:

1. Mulai program

2. Deklarasi fungsi dan fungsi utama

3. Memasukan jumlah pembelian

4. Melakukan pemanggilan suatu fungsi untuk

proses penghitungan pajak

5. Menampilkan pajak pembelian

6. Program Selesai

Deskripsi Program:

Program di atas adaalah program untuk meghitung pajak dari suatu pembelian.

Program ini menggunakan file header iostream.h yang digunakan untuk

menampilkan cout dan cin. cout untuk output dan cin untuk input.

c. Latihan 3

Compiler pada Ms.Visual C++

#include <iostream>using namespace std;

int faktorial(int x){ if(x==1) return 1; else return x*faktorial(x-1);}

void main(){

int n; cout<<"Masukkan Nilai:"; cin>>n; cout<<"Hasil Faktorial "<<n<<": "<<faktorial(n); cout<<endl;}

Hasil Eksekusi

Algoritma:

1. Mulai program

2. Masukkan nilai

3. Mendeklarasikan fungsi rekursif bertipe interger.

4. Memberikan operasi kondisi

5. Memproses data

6. Menampilkan hasil Faktorial

7. Program Selesai

Deskripsi:

Page 6: Laporan Fungsi C++

Program di atas adalah program aplikasi rekursif pada faktorial. Dimana kita

mencari nilai faktorial bilangan yang diinputkan oleh user.

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. Contoh : return x *

faktorial (x-1).

Program ini menggunakn file header iostream.h digunakan untuk melibatkan

fungsi cout dan cin.

b. Latihan 4

Compiler pada Ms.Visual C++

#include <iostream>using namespace std;

long fibo(long x){ if(x==1 || x==2) return 1; else return fibo(x-1) + fibo(x-2);}

void main(){ int n; cout<<"Mencari nilai fibonacci\n"; cout<<"Masukkan Nilai:"; cin>>n; cout<<"Hasil Fibonacci Ke "<<n<<":"<<fibo(n); cout<<endl;}

Hasil Eksekusi

Algoritma:

1. Mulai program

2. Masukkan nilai

3. Mendeklarasikan fungsi rekursif bertipe interger.

4. Memberikan operasi kondisi

5. Memproses data

6. Menampilkan hasil fibonacci

7. Program Selesai

Deskripsi program :

Program di atas adalah program yang digunakan untuk mencari nilai bilangan

fibonanci dengan bilangan yang telah kita inputkan.

Page 7: Laporan Fungsi C++

Program ini menggunakan file header iostream.h yang digunakan untuk

melibatkan fungsi cout dan cin. Cout digunakan untuk output dan cin untuk

input.

F. Tugas Praktikum

a. Praktikum 1

Compiler pada Ms.Visual C++

Page 8: Laporan Fungsi C++

#include <iostream> using namespace std; float faktorial(int a) {

if(a==1) return 1;else return a*faktorial(a-1);

}

float permutasi(int a, int b) { if (a<b) return 0; else return faktorial(a)/faktorial(a-b); }

//fungsi mainvoid main() { int n, r; //deklarasi variabel cout<<"===================================\n"; cout<<"===========PERMUTASI nPr===========\n"; cout<<"===================================\n"; cout<<"\tIngat!!!\n";

cout<<"Nilai n harus lebih besar dari r\n"; cout<<"-----------------------------------\

n";cout<<"Masukkan n : ";cin>>n;

cout<<"Masukkan r : ";cin>>r;

cout<<"-----------------------------------\n";cout<<"Hasil "<<n<<"P"<<r<<" : ";cout<<permutasi(n,r);

cout<<endl; }

Hasil Eksekusi

Algoritma:

1. Mulai program

2. Deklarasi fungsi dan fungsi utama

3. Proses bilangan dari fungsi utama

4. Melakukan pemanggilan terhadap fungsi

utama ke fungsi cari dan prin

5. Menampilkan hasil proses pemanggilan

fungsi, yaitu bilangan terbesar

6. program selesai

Deskripsi

Program ini adalah program

menu pilihan penghitungan

kombinasi permutasi. Header

iostream untuk penulisan syntax cout

dan cin. Penggunaan tipe data integer

karena berupa bilangan bulat.

Memakai fungsi return untuk

melakukan pengembalian nilai dari

fungsi ke luar fungsi.

Page 9: Laporan Fungsi C++

b. Praktikum 2

Compiler pada Ms.Visual C++

include <iostream>using namespace std;

int faktorial(int x){ if(x==1) return 1; else return x*faktorial(x-1);}long fibo(long x){ if(x==1 || x==2) return 1; else return fibo(x-1) + fibo(x-2);}void main(){

cout<<"========Faktorial & Fibonacci========\n\n";int n;cout<<"Masukkan Nilai:";cin>>n;cout<<endl;cout<<"===============Hasil=================\n";cout<<"\nFaktorial\n";cout<<"Hasil Faktorial "<<n<<":"<<faktorial(n);cout<<endl<<endl;cout<<"Fibonacci\n";cout<<"Hasil Fibonacci Ke "<<n<<":"<<fibo(n);cout<<endl<<endl;

}

Hasil Eksekusi

Algoritma:

1. Mulai Program

2. Deklarasi fungsi faktorial, fibonacci dan main

3. Memasukan nilai

4. Melakukan pemanggilan fungsi faktorial untuk proses penghitungan faktorial

5. Melakukan pemanggilan fungsi fibonacci untuk proses penghitungan fibonacci

6. Menampilkan hasil faktorial dan fibonacci berdasar nilai yang dimasukan

7. Program Selesai

Page 10: Laporan Fungsi C++

Deskripsi

Program ini merupakan program 2 in 1 untuk menampilkan faktorial dan fibonacci melalui nilai yang dimasukan. Cara kerja program ini terlebih dahulu mendeklarasikan fungsi faktorial, fibonacci dan main. Pada fungsi faktorial terdapat rumusan untuk penghitungan faktorial, kemudian pada fungsi fibonacci terdapat rumusan untuk penghitungan fibonacci. Kemudian pada fungsi main, terdapat perintah untuk memasukan nilai. Setelah itu nilai yang dimasukan akan dijalankan menggunakan rumus yang ada dengan pemanggilan fungsi faktorial ke fungsi main untuk menampilkan hasil faktorial kemudian pemanggilan fungsi fibonacci ke fungsi main untuk menampilkan hasil fibonacci. Barulah setelah semua fungsi dijalankan lalu ditampilkan hasil dari faktorial dan fibonacci. Tipe data yang digunakan dalam program ini adalah integer, sedangkan header yang digunakan iostream.

G. Tugas Rumah

a. Tugas 1

Compiler pada Ms.Visual C++

#include <iostream>using namespace std;

long gaji_pokok;long tambahan;long bersih;long total_gaji=0;int n;

long gaji_bersih(){ bersih=gaji_pokok+tambahan; return(bersih);}

long gaji_total(){

cout <<endl;cout<<"Gaji Total Pegawai adalah Sebesar: Rp."<<gaji_bersih();cout <<endl;

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

return 0;}

long bonus(){

cout<<"Masukkan Gaji Pokok :Rp. ";cin>>gaji_pokok;cout<<"Masukkan Bonus :Rp. ";cin>>tambahan;cout<<endl<<endl<<endl;cout<<"Gaji Bersih :Rp. "<<gaji_bersih();cout<<endl;

Page 11: Laporan Fungsi C++

gaji_total();system("pause");return 0;

}void inputdata()

{char nama[20][10];cout<<endl<<endl;cout<<"MASUKKAN JUMLAH KARYAWAN : ";cin>>n;

for(int a=0; a<n; a++) {

cout<<endl;cout

<<"------------------------------------------"<<endl;cout<<"PEGAWAI "<<a+1;cout<<endl<<endl;cout<<"NAMA PEGAWAI "<<a+1<<": ";cin>>nama[10];cout<<endl;bonus();

}}

void main(){ cout<<endl;

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

cout <<" -PROGRAM PENGHITUNGAN GAJI-"<<endl;cout

<<"------------------------------------------"<<endl; inputdata();}

Hasil Eksekusi

Algoritma:

1. Start.

Page 12: Laporan Fungsi C++

2. Mendeklarasikan fungsi rekursif.

i. Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri, artinya

fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri

3. Mendeklarasikan fungsi main

4. Meminta user untuk menginputkan data. Misalnya dalam syntax program di

atas kita menginputkan nama pegawai : setia,

i. gaji pokok = 2000000, bonus= 500000 untuk menghitug gaji bersihnya

ii. Gaji bersih =gaji pokok + bonus

a. = 50000 + 4000

b. = 54000

iii. Sehingga Gaji total pegawai sebesar Rp. 54.000

5. Melakukan perulangan for for(int a=0; a<n; a++) dan cetak hasil

6. Program dapat diulangi lagi atau selesai

Deskripsi

Program di atas adalah program untuk menghitunh sekumpulan beberapa gaji

pegawai

Program ini menggunkan file Header iostream.

b. Tugas 2

Compiler pada Ms.Visual C++#include <iostream>#include <conio.h>using namespace std;

void satu(){

int a, b, c;cout << "\n Operasi Penjumlahan"<<endl;cout << " Masukkan bilangan pertama: ";cin >> a;cout << " Masukkan bilangan kedua: ";cin >> b;c=a+b;cout << " Hasil: ";cout << c <<endl;

}

void dua(){

int a, b, c;cout << "\n Operasi Pengurangan"<<endl;cout << " Masukkan bilangan pertama: ";

Page 13: Laporan Fungsi C++

cin >> a;cout << " Masukkan bilangan kedua: ";cin >> b;c=a-b;cout << " Hasil: ";cout << c <<endl;

}

void tiga(){

int a, b, c;cout << "\n Operasi Perkalian"<<endl;cout << " Masukkan bilangan pertama: ";cin >> a;cout << " Masukkan bilangan kedua: ";cin >> b;c=a*b;cout << " Hasil: ";cout << c <<endl;

}

void empat(){

float a, b, c;cout << "\n Operasi Pembagian"<<endl;cout << " Masukkan bilangan pertama: ";cin >> a;cout << " Masukkan bilangan kedua: ";cin >> b;c=a/b;cout << " Hasil: ";cout << c <<endl;

}

void lima(){

cout << "\n Keluar sana!!!\n";exit(1);

}

void main(){

char p;

char input;do{

cout<<"\n\n1. dijumlah"<< endl; cout<<"2. dikurangi"<< endl; cout<<"3. dikali"<< endl;

cout<<"4. dibagi"<< endl;cout<<"x. keluar"<< endl<< endl;cout << " Masukkan jenis operasi yang akan digunakan: ";

cin >> p;

if (p=='1') {satu();}else if (p=='2') {dua();} else if (p=='3') {tiga();} else if (p=='4') {empat();} else if (p=='x') {lima();} else {cout<<"seng genah bos!!!"<<endl;}

cout<<" Mau Lagi? (y/n): ";cin>> input ;

Page 14: Laporan Fungsi C++

}while(input=='y');

}

Hasil Eksekusi

Algoritma:

1. Mulai program

2. Deklarasi fungsi dan fungsi utama

3. Proses bilangan dari fungsi utama

4. Melakukan pemanggilan terhadap fungsi utama ke fungsi cari dan prin

5. Menampilkan hasil proses pemanggilan fungsi, yaitu bilangan terbesar

6. program selesai

Deskripsi

Program ini merupakan program 4 in 1 dimana terdapat menu utama yang terdiri atas 4 macam operator. Cara kerja program ini terlebih dahulu memasukan pilihan kode. Bila kode pilihan yang dimasukan sesuai, maka akan dilakukan pemanggilan fungsi dan dijalankan operasi yang dipilih. Pada operasi yang dipilih kemudian memasukan angka 1 dan angka 2 lalu akan diproses dan ditampilkan hasil operasi kedua nilai tersebut. Setelah itu terdapat pilihan untuk mengulang operasi tersebut kembali, bila memasukan ya maka operasi diulang, bila tidak maka akan kembali ke menu utama. Jika kode yang dimasukan salah maka akan keluar pernyataan kode invalid dan akan disuruh memasukan pilihan kode kembali. Jika kode yang dimasukan pilihan keluar, maka program akan dihentikan.

Pada program ini terdapat berbagai fungsi yaitu fungsi main, menu,

penjumlahan, pengurangan, perkalian, pembagian, keluar dan error. Semua fungsi

pada program ini dapat memanggil atau dijalankan kembali ke fungsi menu. Tipe data

Page 15: Laporan Fungsi C++

yang digunakan dalam program ini adalah integer dan float, sedangkan header yang

digunakan iostream.

KESIMPULAN

1. Fungsi adalah sebuah blok instruksi yang dieksekusi ketika dipanggil oleh

instruksi lain dalam salah satu baris program di tempat lain.

2. Bentuk umum sebuah fungsi adalah:

TypeFungsi namaFungsi (parameter)

{

//Tubuh fungsi

}

3. Fungsi berguna untuk menyederhanakan program.

Program menjadi terstruktur Dapat mengurangi duplikasi kode Fungsi dapat di panggil dari program atau fungsi yang lain

4. Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri, artinya fungsi

tersebut dipanggil di dalam tubuh fungsi itu sendiri.

5. Pada umumnya fungsi memerlukan masukan yang disebut parameter atau argument.

Hasil akhir fungsi akan berupa nilai(nilai balik fungsi).

6. Manfaat prototype fungsi untuk menjamin tipe argumen yang dilewatkan pada

pemanggilan fungsi benar-benar sesuai.

7. Dalam penulisan progarm untuk perulangan bisa menggunakan statement DO-

WHILE yang masing-masing mempunyai bentuk penulisan yang berbeda.

8. Penulisan syntax pada Ms.Visual C++ termasuk dalam case sensitive yang harus

diperhatikan.