Prosedur dan Fungsi dalam Bahasa C++
Fungsi/prosedur adalah suatu bagian
dari program yang digunakan untuk menjalankan suatu tugas tertentu dan letaknya
terpisah dari bagian program yang menggunakannya. Suatu fungsi/prosedur
dipanggil/digunakan dengan tujuan khusus, yaitu untuk mengerjakan suatu tugas
tertentu, dimana tugas-tugas tersebut dapat berupa tugas input (menyimpan hasil
ke dalam suatu array atau file) dan/atau output (menampilkan hasil di layar
monitor) ataupun melakukan penyeleksian dan perhitungan. Suatu Fungsi/prosedur
dapat memberikan suatu hasil balik ke program yang memanggilnya atau tidak
meberikan hasil balik sama sekali. Hasil balik ini biasanya berupa suatu nilai
yang dibutuhkan oleh bagian program yang memanggilnya.
Perbedaan utama fungsi dan prosedur
Ø Fungsi hanya akan mengembalikan
sebuah nilai ke bagian yang memanggilnya atau dengan kata lain sebuah fungsi
hanya mengerjakan satu tugas saja,
Ø sedangkan prosedur akan
mengembalikan satu atau lebih nilai atau bahkan tidak mengembalikan nilai sama
sekali ke bagian yang memanggilnya, atau
dengan kata lain sebuah prosedur
dapat mengerjakan lebih dari satu tugas
Kelebihan program yang menggunakan
fungsi tambahan selain fungsi utamanya diantaranya
1. Program menjadi lebih mudah dimengerti
Hal ini disebabkan karena proses
penyelesaian untuk suatu masalah dipecah menjadi beberapa sub masalah/
pemecahan masalah tersebut ke dalam bentuk fungsi yang lebih sederhana akan
membuat program menjadi lebih mudah dimengerti dibandingkan jika semuanya
dilakukan dalam fungsi utama saja.
2. Pengaruh antar bagian menjadi lebih kecil (Program menjadi lebih
independen)
Karena suatu sub masalah
diselesaikan dalam fungsi/prosedur yang terpisah maka (seharusnya) hal tersebut
tidak akan mempengaruhi perintah yang ada pada fungsi/prosedur yang lain. Tidak
seperti jika dikerjakan dalam fungsi utama atau bagian utama, sebuah perintah
tertentu pada suatu baris program memungkinkan akan memberi pengaruh yang tidak
dikehendaki ke perintah pada baris program yang lain. Dalam pembuatan sebuah fungsi/prosedur
yang baik, perintah-perintah yang ada dalam suatu fungsi/prosedur seharusnya
tidak mempengaruhi perintah-perintah yang ada di fungsi/prosedur yang lain
(independen)
3. Dapat
dipakai kembali
Fungsi/prosedur yang pernah dibuat
dapat dipakai kembali di program yang lain untuk menyelesaikan masalah yang
berbeda, sehingga pada pembuatan program berikutnya akan menjadi semakin mudah
karena kita sudah mempunyai beberapa fungsi/prosedur tambahan yang dapat
dimanfaatkan (contohnya Library header dalam bahasa C/C++). Hal ini akan
membantu seorang programmer untuk menyelesaiakan suatu program dengan waktu
yang lebih singkat.
4. Lebih
efisien dan ukuran program menjadi lebih kecil
Dengan adanya fungsi/prosedur
penulisan kumpulan baris program yang sama di tempat yang berbeda dapat
dikurangi atau dapat ditulis satu kali saja dalam fungsi/prosedur, jika bagian
program membutuhkan perintah tersebut tinggal memanggil fungsi/prosedur
tersebut. Sehingga program yang dibuat menjadi lebih efisien dan ukurannyapun
menjadi lebih kecil.
5. Lebih
konsisten
Penulisan kumpulan baris program
yang sama secara berulang-ulang ditempat yang berbeda akan mengakibatkan
program menjadi tidak konsisten, karena jika terdapat kesalahan dalam kumpulan
baris program tersebut maka programmer harus mengingat kembali posisi kumpulan
baris program tersebut. Sebaliknya jika kumpulan baris program yang sama dibuat
dalam bentuk fungsi/prosedur maka jika ada kesalahan perintah, programmer
tinggal memperbaikinya pada fungsi/prosedur tersebut
1.Function / Fungsi.
Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang dikelompokkan menjadi satu, letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu. Dalam bahasa pemrograman lain fungsi dapat disebut sebagai subrutin (basic, VB) atau procedure (pascal, Delphi)
Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang dikelompokkan menjadi satu, letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu. Dalam bahasa pemrograman lain fungsi dapat disebut sebagai subrutin (basic, VB) atau procedure (pascal, Delphi)
Keuntungan Fungsi
1. Dapat melakukan pendekatan top-down dan divide-and-conquer:
2. Top-down: penelusuran program mudah
3. Divide-and-conquer: program besar dapat dipisah menjadi program-program kecil.
4. Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami
5. Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai dengan koordinasi yang mudah.
6. Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan sederhana Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
7. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan
8. Fungsi – fungsi menjadikan program mempunyai struktur yang jelas.
9. Dengan memisahkan langkah – langkah detail ke satu atau lebih fungsi – fungsi, maka fungsi utama (main) akan menjadi lebih pendek, jelas dan mudah dimengerti.
10. Fungsi -fungsi digunakan untuk menghindari penulisan program yang sama yang ditulis secara berulang – ulang. Langkah – langkah tersebut dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi. Selanjutnya bagian program yang membutuhkan langkah – langkah ini tidak perlu selalu menuliskannya, tidak cukup memanggil fungsi tersebut.
11. Mempermudah dokumentasi.
12. Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain
1. Dapat melakukan pendekatan top-down dan divide-and-conquer:
2. Top-down: penelusuran program mudah
3. Divide-and-conquer: program besar dapat dipisah menjadi program-program kecil.
4. Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami
5. Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai dengan koordinasi yang mudah.
6. Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan sederhana Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
7. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan
8. Fungsi – fungsi menjadikan program mempunyai struktur yang jelas.
9. Dengan memisahkan langkah – langkah detail ke satu atau lebih fungsi – fungsi, maka fungsi utama (main) akan menjadi lebih pendek, jelas dan mudah dimengerti.
10. Fungsi -fungsi digunakan untuk menghindari penulisan program yang sama yang ditulis secara berulang – ulang. Langkah – langkah tersebut dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi. Selanjutnya bagian program yang membutuhkan langkah – langkah ini tidak perlu selalu menuliskannya, tidak cukup memanggil fungsi tersebut.
11. Mempermudah dokumentasi.
12. Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain
Sifat-sifat
fungsi
1. Nilai fan-in tinggi, artinya semakin sering suatu modul dipanggil oleh pengguna semakin tinggi nilai fan-in
2. Nilai Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin rendah nilai fan-out
3. Memiliki Self-contained tinggi: artinya kemampuan untuk memenuhi kebutuhannnya sendiri
1. Nilai fan-in tinggi, artinya semakin sering suatu modul dipanggil oleh pengguna semakin tinggi nilai fan-in
2. Nilai Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin rendah nilai fan-out
3. Memiliki Self-contained tinggi: artinya kemampuan untuk memenuhi kebutuhannnya sendiri
Kategori
fungsi dalam C
Ø Standard Library Function . Yaitu
fungsi-fungsi yang telah disediakan oleh C dalam file-file header atau
librarynya. Misalnya: clrscr(), printf(), getch(). Untuk function ini kita
harus mendeklarasikan terlebih dahulu library yang akan digunakan, yaitu dengan
menggunakan preprosesor direktif. Misalnya: #include
Ø Programmer - Defined Function Adalah function yang dibuat oleh programmer
sendiri.Function ini memiliki nama tertentu yang unik dalam program, letaknya terpisah dari program utama,dan bisa dijadikan satu ke
dalam suatu library buatan programmer itu sendiri yang kemudian juga
di-include-kan jika ingin menggunakannya.
Perancangan
Fungsi
Dalam membuat fungsi, perlu diperhatikan:
1. Data yang diperlukan sebagai inputan
2. Informasi apa yang harus diberikan oleh fungsi yang dibuat ke pemanggilnya
3. Algoritmaapa yang harus digunakan untuk mengolah data menjadi informasi.
Dalam membuat fungsi, perlu diperhatikan:
1. Data yang diperlukan sebagai inputan
2. Informasi apa yang harus diberikan oleh fungsi yang dibuat ke pemanggilnya
3. Algoritmaapa yang harus digunakan untuk mengolah data menjadi informasi.
Contoh
fungsi
Contoh 1
#include<stdio.h>
Int
HITUNG(int A, int B);
Void
main()
{
int A,B,T;
A=5; B=2; T=0;
T = HITUNG (A,B);
Printf(“\n %d”,T);
}
Int
HITUNG(int A, int B)
{ int T;
A=A*2;
B=B*2;
T=A+B;
return(T);
}
Contoh 2
#include<stdio.h>
Void
main()
{
printf(“Jakarta”);
}
Program
ini tidak menggunakan function lain selain main function.
1. Judul fungsi
3. Tidak ada kode implementasi function tersebut
Bentuk umum: tipe_data|void nama_fungsi([arguman 1, argument 2,....]);
Deklarasi fungsi
Ø Deklarasi fungsi diakhiri dengan
titik koma .
Ø Tipe_data dapat berupa segala tipe data yang dikenal C ataupun tipe data buatan, namun tipe data dapat juga tidak ada dan digantikan
dengan void yang berarti fungsi tersebut tidak mengembalikan nilai apapun.
Ø Nama fungsi adalah nama yang unik.
Ø Argumen dapat ada atau tidak
(opsional) yang digunakan untuk menerima argumen/parameter. Antar argumen-argumen
dipisahkan dengan menggunakan tanda koma.
Ø Suatu fungsi perlu dideklarasikan
sebelum digunakan.
Ø Untuk alasan dokumentasi program yang baik, sebaiknya semua fungsi
yang digunakan dideklarasikan terlebih dahulu.
Ø Deklarasi fungsi ditulis sebelum
fungsi tersebut digunakan
Jenis
fungsi dalam C
Fungsi Void
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:
1. Tidak adanya keyword return.
2. tidak adanya tipe data di dalam deklarasi fungsi.
3. menggunakan keyword void.
4. Tidak dapat langsung ditampilkan hasilnya
5. Tidak memiliki nilai kembalian fungsi
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:
1. Tidak adanya keyword return.
2. tidak adanya tipe data di dalam deklarasi fungsi.
3. menggunakan keyword void.
4. Tidak dapat langsung ditampilkan hasilnya
5. Tidak memiliki nilai kembalian fungsi
Contoh
void :
void tampilkan_jmlh(int a,int b)
{
int jmlh;
jmlh=a+b;
printf(“%d”,jmlh);
}
Fungsi non-void
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut .
Ciri:
1. ada keyword return
2. adatipe data yang mengawali fungsi
3. tidak ada keyword void
4. Memiliki nilai kembalian . Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya.
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut .
Ciri:
1. ada keyword return
2. adatipe data yang mengawali fungsi
3. tidak ada keyword void
4. Memiliki nilai kembalian . Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya.
Contoh non
void
int jumlah(int a, int b)
{
int jmlh;
jmlh=a+b;
return jmlh;
}
Keyword void
Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun
Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun
The main Function
. function main() dibutuhkan agar program C dapat dieksekusi!
. Tanpa function main, program C dapat dicompile tapi tidak dapat dieksekusi (harus
dengan flag parameter -c, jika di UNIX) . Pada saat program C dijalankan, makacompiler C pertama kali akan mencari function main() dan melaksanakan instruksi-instruksi yang ada di sana.
. function main() dibutuhkan agar program C dapat dieksekusi!
. Tanpa function main, program C dapat dicompile tapi tidak dapat dieksekusi (harus
dengan flag parameter -c, jika di UNIX) . Pada saat program C dijalankan, makacompiler C pertama kali akan mencari function main() dan melaksanakan instruksi-instruksi yang ada di sana.
Function
main, sering dideklarasikan dalam 2 bentuk:
int main();
Berarti di dalam function main
tersebut harus terdapat keyword return di bagian akhir fungsi dan mengembalikan
nilai bertipe data int. Mengapa hasil return harus bertipe int juga? karenatipe data yang mendahului fungsi main()
diatas dideklarasikan int. Tujuan nilai kembalian berupa integer adalahuntuk mengetahui status
eksekusi program. jika “terminated successfully”
(EXIT_SUCCESS) maka, akan dikembalikan status 0, sedangkan jika “terminated
unsuccessfully” (EXIT_FAILURE) akan dikembalikan nilai status tidak 0, biasanya
bernilai 1. Biasanya dipakai di lingkungan UNIX void main(). Berarti berupa
function yang void sehingga tidak mengembalikan nilai status program sehingga nilai status program tidak bisa diketahui. Biasanya
dipakai pada program C di lingkungan Windows Bentuk
pemanggilan fungsi di C. Pada dasarnya fungsi dapat memanggil fungsi lain,
bahkan fungsi dapat memanggil dirinya sendiri (rekursif)
void main();
Berarti berupa function yang void
sehingga tidak mengembalikan nilai status program , sehingga nilai status
program tidak bisa diketahui . Bisanya dipakai pada program C di lingkungan
windows.
2. Prosedur
Prosedur sedikit berbeda dengan
fungsi, yaitu apabila pada fungsi dapat mengembalikan nilai return, pada
prosedur ini nilai tidak dikembalikan. Nilai hanya akan diproses dan kembali
pada keadaan awal saat keluar dari prosedur.
Prosedur dalam penulisannya memiliki
struktur, di antaranya :
- judul (berisi nama prosedur dan
deklarasi parameter jika ada)
- deklarasi
- deskripsi (badan prosedur)
Untuk dapat menggunakan prosedur
tersebut perlu adanya pemanggilan prosedur sama seperti pemanggilan fungsi.
Untuk lebih jelasnya kita lihat potongan program berikut :
void hitungluaslingkaran()
{
float phi;
float r;
luas=phi*r*r;
printf("luas
lingkaran : %0.2f\n",luas);
}
Pada prosedur
di atas kita mencari luas lingkaran dengan menggunakan rumus phi*r*r dengan
deklarasi lokal berupa phi dan r.
semoga bermanfaat bagi kita semua khususnya para pembaca,.. amiennn ..
jangan lupa commentnya +join sob. .
http://sahrulgun.blogspot.com
semoga bermanfaat bagi kita semua khususnya para pembaca,.. amiennn ..
jangan lupa commentnya +join sob. .
http://sahrulgun.blogspot.com
0 komentar:
Speak up your mind
Tell us what you're thinking... !