Modul III - Function
Modul III - Function
MODUL 3
FUNGSI
A. Tujuan
a. Mahasiswa mengenal function dalam bahasa C++.
B. Dasar Teori
a) Fungsi
Fungsi merupakan bagian dari kode program yang terpisah dari program
utama. Bagian kode program ini dieksekusi jika diperlukan untuk melakukan
tindakan khusus dalam program. Fungsi banyak dilibatkan dalam program dengan
tujuan untuk mengurangi duplikasi pengkodean dan untuk mempermudah
pemahaman. Secara sederhana terdapat fungsi yang tidak mengambil satu
parameterpun dan menghasilkan void (data yang tidak memiliki nilai). Namum
pada fungsi yang lain akan mengambil suatu parameter dan mungkin
menghasilkan suatu nilai tertentu.
Parameter merupakan suatu nilai yang di-pass-kan (diseberangkan) pada
fungsi yang berguna untuk mengubah operasinya atau untuk menunjukan operasi
yang lebih luas. Sebelum fungsi digunakan, fungsi harus dideklarasikan dulu.
Deklarasi fungsi (prototype) berguna untuk memberitahukan compiler tentang
bagaimana fungsi diambil dan tipe data yang diambil/dihasilkan. Fungsi dapat
dipanggil oleh fungsi yang lain maupun dirinya sendiri (rekursif).
b) Deklarasi Fungsi
Dalam bahasa C/C++, fungsi/prosedur merupakan elemen utama dari
program, dimana bahasa C/C++ dibentuk dari sekumpulan fungsi/prosedur.
Terdapat minimal sebuah fungsi/prosedur utama dalam bahasa C/C++ yaitu fungsi
main(), selain itu juga bahasa C/C++ didukung oleh beberapa fungsi-fungsi yang
Re_typefunction_name(parameter);
Re_typefunction_name(parameter)
{statement-statement}
Cara melewatkan suatu parameter dalam Bahasa C++ ada dua cara yaitu :
1. Pemanggilan Secara Nilai (Call by Value)
Secara pengertian pemanggilan secara nilai dapat dijabarkan sebagai berikut :
a) Call by value akan menyalin nilai dari parameter aktual ke parameter formal.
b) Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori
letak dari datanya.
c) Nilai parameter yang dikirim ke fungsi tidak mempengaruhi nilai parameter
pada bagian program yang memanggil fungsi tersebut.
d) Fungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah
dari nilai aslinya yang digunakan oleh bagian program yang memanggil
fungsi.
e) Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli di
bagian program yang memanggilnya.
f) Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari
bagian program yang memanggil fungsi ke fungsi yang dipanggil.
#include<iostream.h>
int Tambah (int x);
void main ()
{
int a,hasil;
cout<<a;
cout<<"a awal="<<a<<endl;
hasil=Tambah(a);
cout<<"a akhir="<<a<<endl;
cout<<"Hasil:"<<hasil;
getch();
}
int Tambah(int x)
{
cout<<"x awal="<<x<<endl;
x=x+2;
cout<<"x akhir="<<x<<endl;
return x;
}
#include<iostream.h>
Int Tambah (int&x); //x diberi & untuk referensi
//hingga nilai a selalu mengikuti nilai x
//karena a dan x berada dlm satu alamat memory
void main()
{
int a,hasil;
cout<<”Masukkan Bilangan : “;cin>>a;
cout<<”nilai a awal= “<<a<<endl;
hasil = Tambah(a);
cout<<”nilai a akhir= “<<a<<endl;
cout<<”Hasil : “<<hasil;
getch();
}
int Tambah (int&x)
{
cout<<”nilai x awal = “<<x<<endl;
x = x+2;
cout<<”nilai x akhir = “<<x<<endl;
return x;
}
Untuk pemanggilan sama seperti pada fungsi yang tidak mempunyai nilai balik.
Flowchart:
int pin,menu,pilihan,awal;
double transfer,tarik, setor;
string rekening;
char a;
int saldo=1000000;
void CekSaldo(){
system("cls");
cout<<"==========Simulasi Mesin ATM=========\n\n";
cout<<"Jumlah saldo Anda sebesar:\nRp."<<saldo;
}
void Setor(){
system("cls");
cout<<"==========Simulasi Mesin ATM=========\n\n";
cout<<"Masukkan jumlah uang yang ingin disetor:\n";
cin>>setor;
cout<<"\nAnda melakukan penyetoran sebesar: Rp. " <<
setor;
cout<<"\nJumlah saldo anda sebelumnya sebesar: Rp. "<<
saldo;
saldo=saldo+setor;
cout<<"\nJumlah Saldo Anda menjadi: Rp. " << saldo;
}
void TarikTunai(){
system("cls");
cout<<"==========Simulasi Mesin ATM=========\n\n";
cout<<"Masukkan jumlah uang yang ingin ditarik:\n";
cin>>tarik;
cout<<"\nAnda melakukan penarikan sebesar: Rp. " <<
tarik;
cout<<"\nJumlah saldo anda sebelumnya sebesar: Rp. "<<
saldo;
saldo=saldo-tarik;
cout<<"\nSisa Saldo Anda sebesar: Rp. " <<saldo;
}
void Transfer(){
system("cls");
cout<<"==========Simulasi Mesin ATM==========\n\n";
cout<<"Masukkan jumlah uang yang ingin ditransfer:\n";
cin>>transfer;
cout<<"\nMasukkan nomor rekening penerima:\n ";
cin>>rekening;
cout<<"\nTransfer ke nomor rekening ( "<<rekening<< " )\
n";
cout<<"dengan jumlah sebesar Rp. "<< transfer;
cout<<"\ntelah berhasil dilakukan.\n\n";
saldo=saldo-transfer;
cout<< "Sisa Saldo Anda sebesar: Rp. "<<saldo;
main(){
system("cls");
awal:
cout<<"==========Simulasi Mesin ATM==========\n\n";
cout<<"masukkan pin Anda : ";
cin>>pin;
system("cls");
if (pin==160015){
system("cls");
menu:
cout<<"==========Simulasi Mesin ATM==========\n\n";
cout<<"Selamat Datang\nSilahkan masukkan pilihan:";
cout<<"\n\n1. Cek Saldo\n2. Setoran\n3. Tarik
tunai\n4. Transfer";
cout<<"\n\nmasukkan pilihan Anda : ";
cin>>menu;
switch(menu){
case 1:
CekSaldo();
break;
case 2:
Setor();
break;
case 3:
TarikTunai();
break;
case 4:
Transfer();
break;
}
cout<<"\n\nApakah Anda ingin melanjutkan transaksi?
(y/n)"<<endl;
cin>>a;
if(a=='y'||a=='Y'){
system("cls");
goto menu;
}
else if (a=='n'||a=='N'){
system("cls");
cout<<"\nTerima kasih telah menggunakan
ATM kami";
}
}
else{
cout<<"PIN Anda Salah, coba lagi!\n\n";
goto awal;
}
}
4. Apabila kita memilih pilihan 1 (cek saldo), program berjalan seperti di bawah ini:
5. Apabila kita memilih pilihan 2 (setor), program berjalan seperti di bawah ini:
6. Apabila kita memilih pilihan 3 (tarik tunai), program berjalan seperti di bawah ini:
7. Apabila kita memilih pilihan 4 (tansfer), program berjalan seperti di bawah ini:
8. Apabila kita tidak melanjutkan transaksi (memilih plihan n), maka akan muncul
tampilan:
D. Analisa Data
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <string>
#include <iostream> berfungsi untuk menjalankan perintah dari cout,cin
dan endl. #include <stdlib.h> berfungsi untuk operasi matematika dan
beberapa fungsi rutin umum (konversidan lain-lain). #include <conio.h>
berfungsi untuk menjalankan getch, jadi getch tidak akan berfungsi apabila tidak
menggunakan header conio. #include <string> berfungsi untuk operasi
string,fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang
prototype-nya berada di file judul string. h.
using namespace std;
Tujuan penulisan kode ini adalah untuk melakukan penulisan kode langsung
tanpa penulisan scope std ::.Hal ini dikarenakan, pada iostreaam C++ melakukan
pembungkusan semua input-output dalam namespace std (akan dijelaskan
kemudian pada topik “namespace”). Jika tidak dilakukan, maka program baris 8
harus dituliskan :
std::cout<<”kalimat yang diinginkan”<<std::endl;
int pin,menu,pilihan,awal;
double transfer,tarik, setor;
string rekening;
char a;
int saldo=1000000;
Script ini merupakan bagian deklarasi. Pada bagan ini tipe data dan variable
diatur. Pada script diatas int, double, string, dan char sebagai tipe
datanya dan menu, pilihan, awal, transfer, tarik, setor,
double : sebagai tipe data bilangan pecahan, hanya saja berbeda dengan
tipe, data float, double memiliki size 8 bytes. Dengan double precisions
floating point.
string : tipe ini digunakan untuk mempresentasikan data yang berupa
teks (kumpulan karakter). Biasa disebut array of character.
char: merupakan tipe data yang hanya mampu menyimpan 1 digit karakter,
ukurannya sebesar 1 byte.
void CekSaldo(){
system("cls");
cout<<"==========Simulasi Mesin ATM=========\n\n";
cout<<"Jumlah saldo Anda sebesar:\nRp."<<saldo;
}
Script ini berisi tentang fungsi void, fungsi void yaitu fungsi tanpa nilai balik (tidak
mengembalikan suatu nilai keluaran yag didapat dari hasil proses fungsi tersebut.
Sealin itu juga script ini berisi system (“cls”), fungsi dari system (“cls”) di
C++ adalah untukmembersihkan layar pada program yang akan dijalankan sehingga
pemrogram dapat menentukan saat untuk menghapus data yang telah dijalankan
tanpa harus menutup program tersebut dan membukanya kembali. Script ini
digunakan untuk mengecek jumlah saldo.
void Setor(){
system("cls");
cout<<"==========Simulasi Mesin ATM=========\n\n";
cout<<"Masukkan jumlah uang yang ingin disetor:\n";
cin>>setor;
cout<<"\nAnda melakukan penyetoran sebesar: Rp. " <<
setor;
cout<<"\nJumlah saldo anda sebelumnya sebesar: Rp. "<<
saldo;
saldo=saldo+setor;
cout<<"\nJumlah Saldo Anda menjadi: Rp. " << saldo;
Script ini berisi tenatang fungsi void yang kedua yaitu untuk menampilkan
perintah setor. Yang dimana sebelum menyetor nasabah disuruh untuk masukkan
jumlah uang yang akan disetor :
cout<<"Masukkan jumlah uang yang ingin disetor:\n";
cin>>setor;
cout<<"\nAnda melakukan penyetoran sebesar: Rp. " << setor;
void TarikTunai(){
system("cls");
cout<<"==========Simulasi Mesin ATM=========\n\n";
cout<<"Masukkan jumlah uang yang ingin ditarik:\n";
cin>>tarik;
cout<<"\nAnda melakukan penarikan sebesar: Rp. " <<
tarik;
cout<<"\nJumlah saldo anda sebelumnya sebesar: Rp. "<<
saldo;
saldo=saldo-tarik;
cout<<"\nSisa Saldo Anda sebesar: Rp. " <<saldo;
}
Script ini berisi tentang fungsi void ketiga yaitu untuk menampilkan perintah
tarik tunai :
cout<<"Masukkan jumlah uang yang ingin ditarik:\n";
cin>>tarik;
cout<<"\nAnda melakukan penarikan sebesar: Rp. " << tarik;
void Transfer(){
system("cls");
cout<<"==========Simulasi Mesin ATM==========\n\n";
cout<<"Masukkan jumlah uang yang ingin ditransfer:\
n";
cin>>transfer;
cout<<"\nMasukkan nomor rekening penerima:\n ";
cin>>rekening;
cout<<"\nTransfer ke nomor rekening ( "<<rekening<< "
)\n";
cout<<"dengan jumlah sebesar Rp. "<< transfer;
cout<<"\ntelah berhasil dilakukan.\n\n";
saldo=saldo-transfer;
cout<< "Sisa Saldo Anda sebesar: Rp. "<<saldo;
}
Script ini berisi tentang fungsi void yang ketiga yaitu untuk melakukan
transfer. Sebelum nasabah melakukan transfer nasabah diperintahkan untuk
memasukkan jumlah saldo yang ingin di transfer :
cout<<"Masukkan jumlah uang yang ingin ditransfer:\n";
cin>>transfer;
else{
cout<<"PIN Anda Salah, coba lagi!\n\n";
goto awal;
}
}
Script ini berisi tentang fungsi utama, fungsi utama yaitu fungsi yang memberi
arahan kepada program untuk bagaimana suatu program akan berjalan. Seperti yang
terlihat pada tabel di atas, fungsi utama ditandai dengan main(). Program untuk
fungsi main()ini dibatasi dengan kurung kurawal “{ }”, sehingga semua program
yang terdapat dalam kurung kurawal adalah proram dari fungsi main().
E. Kesimpulan
1. Fungsi merupakan bagian dari kode program yang terpisah dari program utama.
Bagian kode program ini dieksekusi jika diperlukan untuk melakukan tindakan
khusus dalam program Deklarasi fungsi berguna untuk memberitahukan compiler
tentang bagaimana fungsi diambil dan tipe data yang diambil / dihasilkan.
2. Fungsi dapat dipanggil oleh fungsi yang lain maupun dirinya sendiri (rekursif).
3. Penggolongan variabel ada 3 macam yaitu :
a) Variabel local, merupakan variabel yang dideklarasikan dalam suatu blok
tertentu dan hanya dikenal dalam blok fungsi tersebut.
b) Variabel global, merupakan variabel yang dideklarasikan diluar blok fungsi
dan bersifat dapat dikenal oleh semua bagian dari program.
c) Variabel statis, merupakan variabel yang menahan nilainya sementara
pemanggilan fungsi berlangsung.
4. Parameter adalah sarana komunikasi antar fungsi. Pengertian antar fungsi adalah
antara fungsi dengan fungsi lain termasuk antara fungsi dengan fungsi utama.
Terdapat 2 jenis parameter terkait penggunaannya sebagai saran komunikasi
antar fungsi yaitu Parameter Formal dan Parameter Aktual.
DAFTAR PUSTAKA
Al Faata, Hanif. 2006. Dasar pemerograman C++. Yoyakarta : CV Andi offset.
Yuana, Rosihan Ari. 2005. Pemrograman C++ . Solo: Unversitas Negeri Solo.