Anda di halaman 1dari 11

2

MODUL PERKULIAHAN

W152100002 –
Algoritma Dan
Pemrograman
Fungsi

Abstrak Sub-CPMK

Fungsi merupakan bagian penting Diharapkan dapat :


dalam pemrograman C, dengan • Penjelasan Pemakaian Variabel lokal dan
tujuan, program menjadi Variabel Global • Penggunaan nilai balik dan
terstruktur, sehingga mudah tanpa nilai balik • Struktur Fungsi • Notasi
dipahami dan mudah Algoritma Menggunakan Fungsi
dikembangkan dan dapat
mengurangi pengulangan kode
(duplikasi kode).

FUNGSI

Fakultas Program Studi Tatap Muka Disusun Oleh

12
Umniy Salamah, ST., MMSI
Fakultas Ilmu Komputer Teknik Informatika
1.1. PENDAHULUAN

Fungsi merupakan bagian (blok) dari kode program yang dirancang untuk melaksanakan
tugas tertentu. Fungsi merupakan bagian penting dalam pemrograman C, dengan tujuan :
a. Program menjadi terstruktur, sehingga mudah dipahami dan mudah
dikembangkan.
b. Dapat mengurangi pengulangan kode (duplikasi kode).

Ringkasnya : Fungsi merupakan sub program yang terpisah dari program utama.
Fungsi ini tidak dapat mengeluarkan output apabila nama fungsi tidak dipanggil di
program utama.

Tugas khusus yang dilakukan suatu fungsi dapat dilihat dari beberapa fungsi standard,
seperti misalnya :
a. getch( ), dengan tugas untuk membaca kode tombol papan ketik yang ditekan.
b. printf( ), dengan tugas untuk menampilkan informasi atau data ke layar.

Pada umumnya fungsi memerlukan masukan yang dinamakan sebagai argumen atau
parameter. Masukan ini selanjutnya diolah oleh fungsi dan hasil keluarannya dapat
berupa sebuah nilai (disebut nilai keluaran fungsi atau nilai balik fungsi).
Bentuk umum sebuah fungsi adalah sebagai berikut :

Tipe_fungsi nama_fungsi (parameter fungsi)

Deklarasi parameter

Tubuh fungsi

Tipe fungsi digunakan untuk menentukan tipe keluaran fungsi, yang dapat dipilih dari
salah satu tipe data yang berlaku dalam C, seperti char atau int. Jika tipe fungsi tidak
disebutkan , maka akan dianggap sebagai int.
Sebuah fungsi dapat saja tidak mengandung parameter sama sekali, bahkan tanpa
deklarasi parameter.

2021 Algoritma Dan Pemrograman


2 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Contoh:

Inisialisasi( )

return(0)

Pada fungsi diatas dapat dijelaskan sebagai berikut :


a. Tipe fungsi tidak disebutkan, berarti keluaran bertipe int.
b. Inisialisasi adalah nama fungsi.
c. Tanda () menyatakan bahwa fungsi tidak memiliki parameter.
d. Tanda { dan } merupakan awal dan akhir fungsi.
Return (0) merupakan pernyataan dalam tubuh fungsi.

1.2. FUNGSI TANPA NILAI BALIK

Pada umumnya fungsi tanpa nilai balik (return Value) ini digunakan untuk melakukan
proses-proses yang tidak menghasilkan nilai, seperti melakukan pengulangan, proses
pengesetan nilai ataupun yang lainnya. Dalam bahasa C, fungsi semacam ini tipe
kembaliannya akan diisi dengan nilai void. Adapun bentuk umumnya dari pendefinisian
fungsi tanpa nilai balik adalah sebagai berikut :

nama_fungsi( )
{
Statemen_yang_akan_dieksekusi;
. . .
}

Syarat nama fungsi sama seperti membuat nama variabel biasa, tidak boleh ada spasi,
tidak boleh ada tanda baca, tidak boleh ada tanda aritmatika, tidak boleh diawali dengan
angka.
Sedangkan isi dari tanda kurung kurawal buka sampai kurung kurawal tutup, program
biasa seperti apa yg ini diketik.

2021 Algoritma Dan Pemrograman


3 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Berikut ini contoh program pembuatan fungsi tanpa nilai balik :

#include<stdio.h>
tulis10kali()
{
int j;
for (j=0;j<10;j++)
{
printf("Belajar Bahasa C\n");
}
}
main()
{
tulis10kali();
return 0;
}

Bila program dijalankan akan didapatkan output :

Belajar Bahasa C
Belajar Bahasa C
Belajar Bahasa C
Belajar Bahasa C
Belajar Bahasa C
Belajar Bahasa C
Belajar Bahasa C
Belajar Bahasa C
Belajar Bahasa C
Belajar Bahasa C

Penjelasan program
#include<stdio.h> //standar input output karena kita
menggunakan
printf

tulis10kali() // nama fungsi disini adalah tulis10kali.


Perhatikan didalam tanda kurungnya yang
kosong, fungsi ini artinya ciri-ciri tidak
menerima nilai dari fungsi lain atau
program utama.

2021 Algoritma Dan Pemrograman


4 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
{
int j;
for (j=0;j<10;j++)
{
printf("Belajar Bahasa C\n");
}

} //dari kurung kurawal buka sampai kurung kurawal tutup,


ini
adalah program yang ada di dalam fungsi. Isnya untuk
mencetak Bahasa C sebanyak 10 kali. Output yang
dihasilkan pada saat running tidak akan keluar bila
tidak
dipanggil di program main.

main() //ini menandakan program utama

{ // isinya dimulai dari kurung kurawal buka sampai kurung


kurawal tutup di baris program paling bawah.

tulis10kali(); //memanggil fungsi yang sudah kita


ketikkan
diatas tadi, pemanggilan fungsi ini
harus
sesuai nama fungsinyanya. Kenapa disini
bukan program tanpa nilai balik karena
di
dalam kurungnya tidak ada variable yang
sudah memiliki nilai yang mau di oper
ke
program fungsi.
return 0;
}

Penjelasan :
Bila diperhatikan secara teliti, fungsi tulis10kali() dalam program di atas tidak
menghasilkan nilai, melainkan melakukan proses, yaitu penulisan teks ‘Belajar Bahasa C’
sebanyak 10 kali. Fungsi semacam inilah yang disebut dengan fungsi tanpa nilai balik
(void function).
Sebenarnya sebuah fungsi tanpa nilai balik juga dapat digunakan untuk menghasilkan
nilai dari suatu proses tertentu, yaitu dengan menampungnya ke dalam suatu parameter.

1.3. FUNGSI DENGAN NILAI BALIK

2021 Algoritma Dan Pemrograman


5 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Berbeda dengan fungsi tanpa nilai balik yang hanya mengandung proses tanpa adanya
nilai kembalian, fungsi tanpa nilai balik yaitu fungsi yang digunakan untuk melakukan
proses-proses yang berhubungan dengan nilai. Adapun cara pendefinisiannya adalah
dengan menuliskan tipe data dari nilai yang akan dikembalikan didepan nama fungsi.
Bentuk umum pendefinisian fungsi dengan nilai balik :

Tipe_data nama_fungsi(parameter1, parameter2,… n)


{
Statemen_yang_akan_dieksekusi;
. . .
Return nilai_balik;
}

Sebagai contoh dibawah ini terdapat fungsi sederhana yang berguna untuk menghitung
nilai luas bujur sangkar :

#include<stdio.h>
HitungLuasBujurSangkar(int sisi)
{
int L;
L = sisi * sisi;
return L;
}

main()
{
int s, Luas;
printf("Masukkan nilai sisi : ");
scanf("%d", &s);
Luas=HitungLuasBujurSangkar(s);
printf("Luas Bujur Sangkar adalah %d", Luas);
return 0;
}

Bila program dijalankan akan didapatkan output :

Masukkan nilai sisi : 10

Luas Bujur Sangkar adalah : 100

2021 Algoritma Dan Pemrograman


6 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Penelasan Program :

#include<stdio.h> // untuk stndar input output apa bila kita


mau
pakai printf atau scanf

HitungLuasBujurSangkar(int sisi) //nama fungsi disini adalah


HitungLuasBujurSangkar
dengan parameter variabel
sisi bertipe integer
(bisa
juga disebut variabel
lokal,
karena hanya bisa dipakai
di
fungsi ini saja.) Kenapa
ditaruh didalam kurung
tersebut? karena fungsi
ini
siap-siap menerima nilai
dari variabel lain dari
luar
fungsi. Jadi disini
fungsi
siap-siap akan menerima
nilai dari program utama
(main) pada variabel s.
Kalau ada 2 variabel yang
sudah memiliki nilai mau
dikirim, maka deklarasi
pada parameternya juga ada
2. Misal ( int s, int a).

{
int L; // ini adalah deklarasi variabel lokal, hanya
dapat
dipakai di program funsi ini saja, begitu
juga
dengan variabel sisi pada parameter, hanya
berlaku di dalam program fungsi ini saja.

L = sisi * sisi; // proses mencari nilai L

return L; //kembalikan nilai L yang sudah ada untuk


fungsi
HitungLuasBujurSangkar. Jadi nanti setiap
nama fungsi ini dipanggil, maka akan
mencetak

2021 Algoritma Dan Pemrograman


7 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
nilai yang sudah di kasih oleh L.
}

main()
{
int s, Luas; //ini adalah deklarasi variabel lokal,
hanya
dapat dipakai di program ini saja yaitu
program utama (main).

printf("Masukkan nilai sisi : "); // cetak tulisan


“Masukkan nilai
sisi”

scanf("%d", &s); //%d untuk mempersiapkan tempat


inputan,
karena dideklarasi variabel s bertipe
data integer maka pakai %d. Kalau
bertipe data float maka pakai %f.
Kalau &s karena kita mau input maka
diketik menggunakan tanda & yang
artinya
untuk menyimpan sementara di variabel
s

Luas=HitungLuasBujurSangkar(s);
// disini luas sama dengan memanggil fungsi
HitungLuasBujurSangkar(s) nilai Luas dari main
didapat
dari Fungsi HitungLuasBujurSangkar(s). Perhatikan
variabel s, variabel s ini sudah memiliki nilai dari
inputan sebelumnya. Kemudian nilai s akan dikirim ke
fungsi HitungLuasBujurSangkar. Akan tetapi karena
menggunakan variabel lokal, maka di fungsi
HitungLuasBujurSangkar(int sisi) menggunakan varabel
baru yaitu sisi.
Kalau nilai yang mau dikirim ada 2, maka pada saat
pemanggilan fungsi HitungLuasBujurSangkar juga ada 2
variabel yang sudah memiliki nilai. Misal
HitungLuasBujurSangkar(s,a) artinya fungsi
HitungLuasBujurSangkar(s,a) dipanggil dengan membawa
nilai dari 2 variabel tersebut yaitu a dan s.

printf("Luas Bujur Sangkar adalah %d", Luas);


// cetak tulisan “Luas Bujur Sangkar adalah”
Untuk %d ini adalah tempat variabel Luas yang sudah
memiliki nilai.

2021 Algoritma Dan Pemrograman


8 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
return 0;
}

1.4. VARIABEL LOKAL DAN VARIABEL GLOBAL

Variabel Lokal

Variabel lokal adalah variabel yang hanya dipakai di program fungsi atau program main
itu sendiri. Variabel lokal sudah dijelaskan sebelumnya pada program fungsi dengan nilai
balik.
Variabel lokal adalah variabel yang dideklarasikan dalam fungsi, yang mempunyai sifat :
a. Secara otomatis akan diciptakan ketika fungsi dipanggil dan akan hilang (dari memori)
ketika eksekusi terhadap fungsi berakhir.
b. Hanya dikenal oleh fungsi tempat variabel dideklarasikan.
c. Tidak ada inisialisasi secara otomatis (saat variabel diciptakan nilainya tidak tentu
(acak)).
Dalam banyak literatur, variabel lokal disebut juga dengan variabel otomatis. Penerapan
variabel lokal yaitu jika variabel tersebut hanya digunakan oleh suatu fungsi tertentu, dan
tidak dimaksudkan untuk digunakan oleh fungsi yang lain.

Variabel Global
Variabel eksternal merupakan variabel yang dideklarasikan di luar fungsi, dan mempunyai
sifat:
a. Dapat diakses oleh semua fungsi.
b. Jika tidak diberi nilai awal, secara otomatis diinisialisasi dengan nilai sama dengan
nol.
Contoh penggunaan variabel eksternal diperlihatkan pada contoh program Eksternal.cpp
berikut ini :
#include <stdio.h>
int i = 273 ;
int tambah ();

main()
{
printf("Nilai awal i = %d\n",i);
i += 7;
printf("Nilai i kini = %d\n",i);
tambah();
printf("Nilai i kini = %d\n",i);
tambah();

2021 Algoritma Dan Pemrograman


9 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
printf("Nilai i kini = %d\n",i);
}

tambah ()
{
i++;
}

Hasil eksekusi :

Nilai awal i = 273

Nilai i kini = 280

Nilai i kini = 281

Nilai i kini = 282

Penjelasan program :
#include <stdio.h>
int i = 273 ; // ini adalah variabel global yang sudah memiliki
nilai, artinya variabel ini dapat dipakai di program main atau
program fungsi.

tambah (); // ini adalah deklarasi fungsi tambah. Kenapa harus


dideklarasikan di atas program main? Karena kita mau menulis
program fungsinya setelah program main.

main()
{
printf("Nilai awal i = %d\n",i);
i += 7;
printf("Nilai i kini = %d\n",i);
tambah();
printf("Nilai i kini = %d\n",i);
tambah();
printf("Nilai i kini = %d\n",i);
}

tambah () // ini adalah fungsi dengan nama fungsinya tambah.


{
i++; perhatikan varibel i, variabel ini didapat dari kiriman i
sebelumnya yang teah disetting pada variabel global.
}

Latihan

2021 Algoritma Dan Pemrograman


10 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Lalu bagaimana proses yang ada di program utama pada program variabel global ?
jelaskan dengan kata-kata anda sendiri. Cocokkan dengan output yang sudah ada
bagaimana anda membaca alurnya.

Daftar Pustaka
1. Kadir, A. (2009). Mudah Menjadi Programmer C++. Yogyakarta: Penerbit Andi.
2. Kadir, A. (2009). Pemrograman C++ Membahas Pemrograman Berorientasi
Obyek Menggunakan Turbo C++ dan Borland C++. Yogyakarta: Penerbit Andi.
3. Suharno Prawirosumarto, Aplikasi Komputer Edisi 3 2012. Jakarta : Mitra Wacana
Media.
4. Muhammad Sholeh, Panduan Belajar Pemrograman Terstruktur Agoritma Dan
Pemrograman C++ 2013, Yogyakarta : Akprind Press
5. Hartono Jogiayanto, Konsep Dasar Pemrograman Bahasa C 2009. Yogyakarta
6. Bambang, Wirawan (2004), Struktur Data dengan C, Pernerbit Andi Jogyakarta.
7. Kristanto, Andri (2003), Struktur Data dengan C++, Penerbit Graha Ilmu
8. Raharjo Budi (2007), Pemrograman C++
9. Jogiyanto (2007). Konsep Dasar Pemrograman Bahasa C

2021 Algoritma Dan Pemrograman


11 Umniy Salamah, ST., MMSI
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/

Anda mungkin juga menyukai