Laporan Dasar Pemrograman Komputer Modul 7 Fungsi Universitas Negeri Malang

43
LAPORAN PRAKTIKUM VII FUNGSI Disusun untuk Memenuhi Matakuliah “Praktikum Dasar Pemrograman Komputer” 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

Transcript of Laporan Dasar Pemrograman Komputer Modul 7 Fungsi Universitas Negeri Malang

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

S1 Pend. Teknik Informatika 2014 OFF C 29

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