FUNGSI
TUJUAN
Setelah
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
DEFINISI
FUNGSI
Fungsi pada bahasa C pada dasarnya didefinisikan diatas
blok atau fungsi pemanggilnya (main () atau fungsi lainnya). Namun adakalanya definisi
fungsi diletakkan setelah blok pemanggil. Pada kondisi tersebut perlu digunakan
prototipe fungsi yang dideklarasikan sebelum fungsi pemanggilnya.
Fungsi
merupakan blok dari kode yang dirancang untuk melakukan tugas khusus atau
inruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program.
Tujuan pembuatan fungsi :
a.
Memudahkan dalam pembuatan program
b.
Menghemat ukuran program
c.
Membuat program menjadi lebih terstruktur
d.
Mengurangi duplikasi kode
e.
Fungsi dapat dipanggil dari program atau fungsi
lainnya
Keuntungan
penggunaan fungsi pada pemrograman antara lain:
a.
Menguraikan duplikasi kode (kode yang sama
ditulis berulang-ulang) dalam program
b.
Mengurangi duplikasi kode (kode yang sama ditulis
berulang-ulang) dalam program
c.
Dapat mengunakan kode yang ditulis dalam berbagai
program yang berbeda
d.
Memecahkan program besar menjadi kecil (menjadi
tiap bagian-bagian), sehingga dapat dikerjakan oleh programmer-programer atau
dipecah menjadi beberapa tahap, sehingga mempermudah pengerjaan suatu projek
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
terjasi suatu keslahan, kita ahanya mencari fungsi yang bersangkutan saja,
tidak perlu mencari kesalahan tersebut di seluruh program.
Pada
umumnya, fungsi memerlukan masukan yang disebut parameter atau argument. Hasil
akhir fungsi akan berupa nilai (niali balik fungsi)
Tipe_data
berfungsi untuk menentukan tipe keluaran fungsi yang dapat berupa salah satu
tipe data C++ yang berlaku, missal char atau integer.
Default
tipe data atau tipe data yang tidak disebutkan, maka akan dianggap sebagai
integer.
Jenis-jenis
fungsi pada C++
Ada
dua jenis fungsi pada C++, yaitu:
1.
Void (fungsi tanpa nilai balik)
Fungsi
yang void sering juga prosedur. Disebut void karena fungsi tersebut tidak
mengembalikan suatu nilai keluaran yang didapat dari hasil proses funsi
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 keywoard void
d.
Tidak dapat langsung ditampilkan hasilnya
e.
Tidak memiliki nilai kembalian fungsi
f.
Keywoard void juga digunakan jika suatu function
tidak mengandung suatu parameter apapun
2.
Non-Void (fungsi dengan nilai balikan)
Fungsi
non-void disebut juga dengan function. Disebut non-void karena mengemabalikan
nilai kembalian yang berasal dari keluaran hasil proses function tersebut.
Ciri-ciri
dari jenis fungsi non-void adalah:
a.
Adanya keywoard return
b.
Ada tipe data yang mengawali fungsi
c.
Tidak adanya 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)
Protype
Function
Sebuah
program C++ dapat terdiri dari banyak fungsi. Salah satunya 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()
Call
by Value dan Call by Refrence
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. Misalnya :
float bayar = 5000;
float tax = calcSalesTax (bayar);
dapat
juga merupakan suatu konstanta:
hitung(2,3);
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
Tugas Praktikum 1
Pemrograman C++
Nama Program : Menampilkan Permutasi
Bahasa Pemrograman : C++
Compiler : MinGW Developer
Studio
Script Program :
#include
<iostream.h>
#include
<conio.h>
int
faktorial (int x);
int
main()
{
int n, r, permutasi;
cout<<"Syaiful
Ulum\n";
cout<<"140534603100\n";
cout<<"S1 PTE
C\n\n";
cout<<"Program Menghitung
Permutasi (nPr)\n";
cout<<endl;
cout<<"Maukkan nilai n:
";
cin>>n;
cout<<"Masukan nilai r:
";
cin>>r;
permutasi=faktorial(n)/faktorial(n-r);
cout<<"Permutasinya
adalah: "<<permutasi;
getch();
}
int
faktorial (int n)
{
int fak;
if (n<=1)
{
fak=1;
}
else
{
fak=n*faktorial(n-1);
}
return(fak);
}
Output
Program :
Algoritma
:
1. Mulai
2. Membuat fungsi factorial
3. Mendeklarasikan variabel n, r dan permutasi
4. Masukkan nilai n dan disimpan di variabel n
5. Masukkan nilai r dan disimpan di variabel r
6. Memanggil fungsi permutasi
7. Menghitung nilai permutasi
a. Memanggil fungsi permutasi
b. Mendeklarasikan variabel fak
c. Jika nilai dari variabel n bernilai 1 maka hasilnya fak adalah 1
d. Jika tidak maka akan memanggil dirinya sendiri dengan rumus
factorial(n)/factorial(n-r)
8. Menampilkan output atau hasil permutasi
9. Selesai
Penjelasan
Program :
Program di atas
digunakan untuk menghitung permutasi. Program ini menggunakan file header
iostream dan conio. Mengapa menggunakan header iostream karena manggunakan cout
dan cin. Cout sebagai output atau keluaran dan cin digunakan untuk masukan atau
input. Untuk header conio karena pada program ini menggunakan getch. Program
ini menggunakan fungsi yang mendeklarasikan factorial dan x yang bertipe data
integer. Lalu mendeklarasikan n, r dan permutasi. Setelah itu user menginputkan
nilai n yang kemdian disimpan di variabel n, user menginputkan nilai r yang
disimpan di variabel r dan memasukkan rumus permutasi yaitu
permutasi=factorial(n)/factorial(n-r). lalu program akan menampilkan nilai
permutasinya yang akan disimpan di variabel permutasi yang dideklaraskan
sebelumnya. Kemudian program ini menggunakan fungsi factorial yang bertipe data
integer. Setelah itu di dalam fungsi program mendeklarasikan variabel fak yang
bertipe data integer. Menggunakan pengkondisian if, jika nilai variabel n
kurang dari sama dengan 1 maka hasil variabel fak akan satu dan kondisi
tersebut salah maka nilai dari variabel fak adalah n*factorial(n-) dan program
akan kembali ke variabel fak lalu program akan menampilkan output.
KESIMPULAN
Dapat kita simpulkan bahwa
fungsi digunakan untuk mengurangi script program sehingga programmer tidak
banyak-banyak menuliskan script. Memecah masalah menjadi kecil agar
penyelesainnya lebuh mudah dan sederhana dan memiliki karakter khusus. Fungsi
juga mempunya banyak keuntungan, yaitu:
a.
Dapat dikerjakan oleh beberapa orang agar lebih mudah
koordinasinya
b.
Memudahkan dokumentasi
c.
Lebih mudah mencari kesalahan
d.
Memodifikasi dapat dilakukan tanpa menganggu jalannya program
lain
Fungsi bersifat sensitive,
jadi apabila ingin menuliaskan script harus lebih teliti. Argumennya harus sama
dengan yang dideklarasikan.
Kata void digunakan sebagai tipe-kembali untuk
menunjukkan bahwa fungsi tidak mengembalikan suatu nilai apapun. Suatu fungsi
yang tidak menuliskan tipe-kembali dianggap oleh kompilator mempunyai
tipe-kembali int. Daftar parameter merupakan suatu daftar deklarasi dari
parameter yang diterima oleh fungsi pada saat dipanggil, yang masing-masing
dipisahkan oleh tanda koma (,). Jika fungsi tidak menerima suatu nilai apapun,
maka daftar-parameter diisi void. Deklarasi dan pernyataan di dalam fungsi
ditulis di antara tanda kurung kurawal { … } yang semuanya disebut dengan tubuh
fungsi (function body). Di dalam tubuh fungsi terdapat pernyataan yang
menunjukkan nilai yang dihasilkan oleh fungsi, yaitu:
return ekspresi. Jenis-jenis fungsi :
1. Void (fungsi tanpa nilai balik).
Disebut void karena fungsi tersebut tidak mengembalikan
suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.
2. Non-Void (fungsi dengan nilai
balik). Disebut non-void karena mengembalikan nilai kembalian yang berasal dari
keluaran hasil proses function tersebut .
DAFTAR RUJUKAN
Tidak ada komentar:
Posting Komentar