Modul 12 Algoritma Dan Pemrograman (OK)
Modul 12 Algoritma Dan Pemrograman (OK)
MODUL PERKULIAHAN
W152100002 –
Algoritma Dan
Pemrograman
Fungsi
Abstrak Sub-CPMK
FUNGSI
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 :
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.
Inisialisasi( )
return(0)
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.
#include<stdio.h>
tulis10kali()
{
int j;
for (j=0;j<10;j++)
{
printf("Belajar Bahasa C\n");
}
}
main()
{
tulis10kali();
return 0;
}
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
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.
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;
}
{
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.
main()
{
int s, Luas; //ini adalah deklarasi variabel lokal,
hanya
dapat dipakai di program ini saja yaitu
program utama (main).
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.
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();
tambah ()
{
i++;
}
Hasil eksekusi :
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.
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);
}
Latihan
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