Modul Praktikum Bahasa Pemrograman I

Modul Praktikum Bahasa Pemrograman I
PRAKTIKUM 5

FUNGSI (SUB PROGRAM)
1. TUJUAN

1. Menjelaskan penggunaan sub program dalam bentuk fungsi dan prosedur
2. Mampu membuat fungsi dan prosedur

3. Mengerti dan mampu menggunakan parameter di fungsi dan prosedur
2. TEORI

Sub program adalah pemecahan program menjadi beberapa bagian yang lebih kecil.

Sub program (modul atau sub rutin) terdiri atas fungsi dan prosedur. Dalam bahasa C, sub
program disebut sebagai fungsi. Sifat fungsi seperti halnya di matematika adalah

menghasilkan/ mengembalikan (return) suatu nilai dari tipe tertentu, sedangkan prosedur
merupakan fungsi yang tidak menghasilkan nilai.

Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan


suatu tugas tertentu dan terpisah program yang memanggilnya. Fungsi merupakan elemen

utama dalam bahasa C karena, bahasa C sendiri terbentuk dari kumpulan fungsi-fungsi.
Dalam setiap program bahasa C, minimal terdapat satu fungsi yaitu fungsi main(). Fungsi

banyak diterapkan dalam program C yang terstruktur. Keuntungan penggunaan fungsi
adalah program akan memiliki struktur yang jelas (mempunyai readability yang tinggi) dan

mereduksi penulisan bagian program yang sama. Dalam bahasa C fungsi dapat dibagi

menjadi dua, yaitu fungsi pustaka atau fungsi yang telah tersedia dalam C++ dan fungsi
yang didefinisikan atau dibuat oleh programmer. Beberapa fungsi yang telah tersedia di
dalam bahasa C++, antara lain: printf, scanf, getch, sqrt dan sebagainya.
2.1 Membuat Fungsi Sendiri

Sebelum digunakan, suatu fungsi harus dideklarasikan dan didefinisikan terlebih

dahulu. Bentuk umum pendeklarasian fungsi adalah :
tipe (namaParameter);


Contoh:
float LuasSegitiga(float a, float t);
Hal-hal yang perlu diperhatikan dalam penggunaan fungsi :

1. Kalau tipe fungsi tidak disebutkan, maka akan dianggap sebagai fungsi dengan
nilai keluaran bertipe integer.

2. Untuk fungsi yang memiliki keluaran bertipe bukan integer, maka diperlukan
pendefinisian penentu tipe fungsi.

3. Untuk fungsi yang tidak mempunyai nilai keluaran (prosedur) digunakan tipe void

4. Pernyataan yang diberikan memberikan nilai akhir kepada fungsi adalah return.

PSMI FMIPA Universitas Riau

36

Modul Praktikum Bahasa Pemrograman I

2.2 Parameter

Parameter adalah media pertukaran data antara prosedur dan titik dimana ia

dipanggil. Parameter yang disebutkan dalam bagian deklarasi disebut parameter formal,
sedangkan parameter yang disertakan dalam pemanggilan disebut parameter aktual.

Pada saat fungsi dipanggil, parameter aktual berkoresponden dengan parameter

formal. Aturan dalam korespondesi satu-satu antara parameter aktual dan parameter formal
adalah:

1. Jumlah parameter aktual harus sama dengan parameter formal
2. Tipe parameter aktual harus sama dengan parameter formal

Berdasarkan penggunaannya parameter formal terdiri atas dua tipe yaitu parameter

masukan dan parameter masukan/keluaran. Parameter masukan (parameter by value ) adalah

parameter yang hanya mengirimkan nilai sebagai masukan bagi fungsi. Pengiriman

parameter secara nilai adalah pengiriman searah, yaitu dari
memanggil fungsi ke fungsi yang dipanggil.

bagian

program

yang

Parameter masukan/keluaran adalah parameter yang berfungsi sebagai masukan dan

keluaran bagi fungsi. Parameter ini disebut parameter by reference karena, yang dikirimkan

ke fungsi adalah alamat letak dari nilai datanya, bukan nilai datanya. Pengiriman
parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi pemanggil ke
fungsi

yang

dipanggil


dan

juga sebaliknya. Pada penggunaannya parameter

masukan/keluaran menggunakan simbol & sebelum nama parameter.

Dalam penerapannya, fungsi hanya menggunakan parameter masukan, sementara

untuk fungsi yang tidak menghasilkan nilai (prosedur) dapat menggunakan kedua tipe
parameter formal ini.

2.3 Pemanggilan Fungsi

Untuk mengeksekusi fungsi, nama fungsi harus di panggil dari program pemanggil,

misalnya dari program utama atau modul program lainnya. Agar fungsi dikenal oleh

program pemanggil, maka prototype fungsi harus dideklarasikan di awal program. Prototype


fungsi hanya berisi bagian judul (header).

Contoh:
#include
#include
float LuasSegitiga(float, float); //prototype fungsi
main(){
int i,N;
float a,t;
printf("input banyak segitiga = ");
scanf("%d",&N);
for(i=1;i