PEMROGRAMAN C++ Part 6
FUNCTION
Dalam
pemrograman, string merupakan kumpulan dari beberapa karakter-karakter. Untuk
membedakan string dengan karakter, dalam C++ dibedakan penulisannya. Suatu
nilai merupakan string apabila diapit dengan tanda petik ganda “...“, misalnya
“SAYA”. Sedangkan karakter (char) diapit dengan tanda petik tunggal, misal ‘s’.
A. Pengantar Function
Sebuah
function berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Nama ini
selanjutnya dapat dipanggil beberapa kali di beberapa tempat dalam program.
Tujuannya:
1. Memudahkan dalam
mengembangkan program. Program dibagi menjadi beberapa subprogram kecil,
sehingga hal ini menjadi kunci dalam pembuatan program terstruktur.
2. Menghemat ukuran
program, karena beberapa perintah yang sama dan dijalankan beberapa kali dalam
program dapat dijadikan satu kali saja dalam suatu function, kemudian function
tersebut dapat dipanggil berulang kali.
Contoh
Function I:
#include
#include
void
garis(); // prototype function
void
main() // main function
{
clrscr();
garis();
// panggil function
cout
<< “NIM NAMA MAHASISWA” << endl;
garis();
// panggil function
cout
<< “M0197001 AMIR HAMZAH “ << endl;
cout
<< “M0197002 PAIMAN” << endl;
garis();
// panggil function
}
void
garis() // detail function
{
int
i;
for(i=0;i<=40;i++)
{
cout
<< “-”;
}
cout
<< endl;
}
Contoh
di atas menggambarkan bagaimana membuat function untuk membuat garis. Nama
functionnya adalah garis. Untuk membuat suatu function, diperlukan suatu
prototype dari function tersebut. Prototype function memiliki sintaks sbb:
returned_value_data_type
nama_function(argumen);
Seperti
halnya dalam Pascal, suatu function dapat mengembalikan (return) suatu nilai
(value) yang tergantung tipe datanya. Tipe data value yang dikembalikan inilah
yang dimaksud dengan returned_value_data_type.
Sedangkan
argumen merupakan parameter-parameter yang akan diolah dalam
function
tersebut. Argumen boleh ada boleh tidak, sesuai kebutuhan. Apabila
parameter
argumennya lebih dari satu, cara penulisannya sbb:
tipe_data
param1, tipe_data param2, ...
Contoh
penulisan prototype function:
·
double
kuadrat(int x);
·
float
luas_segitiga(float alas, float tinggi);
·
int
jumlah_bil(int x, int y, int z);
Apabila
suatu function tidak mengembalikan nilai, maka
returned_value_data_type
nya diisi void.
Setelah
prototype function dibuat, selanjutnya membuat function tersebut secara detail.
Suatu function disebut juga subprogram, oleh karena itu strukturnya juga sama
dengan struktur program utama. Pada contoh function garis() di atas, detail dari
function tersebut adalah:
void
garis() // detail function
{
int
i;
for(i=0;i<=40;i++)
{
cout
<< “-”;
}
cout
<< endl;
}
Kalau
diperhatikan, strukturnya sama dengan program utama main().
Contoh
Function II:
#include
#include
float
luas(float alas, float tinggi);
void
main()
{
clrscr();
a
= 10.5;
t
= 11;
cout
<< “HITUNG LUAS SEGITIGA” << endl;
cout
<< “Panjang alas: “ << a << endl;
cout
<< “Tinggi : “ << t << endl;
cout
<< “Luasnya : “ << luas(a,t) << endl;
}
float
luas(float alas, float tinggi)
{
float
luas_segitiga;
luas_segitiga
= alas * tinggi * 0.5;
return
luas_segitiga;
}
Detail
function luas di atas dapat ditulis sbb:
float
luas(float alas, float tinggi)
{
return
(alas * tinggi * 0.5);
}
Perintah
return adalah untuk mengembalikan hasil operasi di sebelah kanannya ke perintah
pemanggilan function.
B. Variabel Global dan
Lokal
Setiap
kali kita deklarasikan suatu variabel, belum tentu variabel tersebut dikenal di
setiap function yang kita buat. Contoh:
#include
#include
void
cetak();
void
main()
{
int
a;
a
= 10;
cout
<< “Nilai a = “ << a << endl;
cetak();
}
void
cetak()
{
a++;
cout
<< “Nilai a = “ << a << endl;
}
Ketika
program di atas dicompile, akan terdapat error yaitu variabel a dalam function
cetak() undefined. Artinya bahwa variabel a tidak dikenal dalam cetak(). Variabel
a hanya dikenal dalam program utama/ function main() saja. Maka dalam hal ini
variabel a disebut variabel lokal (hanya dikenal dalam function yang di
dalamnya didefinisikan a tersebut).
Selanjutnya
program di atas diubah sbb:
#include
#include
int
a;
void
cetak();
void
main()
{
a
= 10;
cout
<< “Nilai a = “ << a << endl;
cetak();
}
void
cetak()
{
a++;
cout
<< “Nilai a = “ << a << endl;
}
Apabila
program di atas dijalankan maka akan tampil:
Nilai
a = 10
Nilai
a = 11
Pada
program di atas, variabel a disebut variabel global karena variabel tersebut dapat
dikenali di setiap function yang ada.
Bagaimana
dengan yang ini???
#include
#include
void
cetak();
void
main()
{
int
a;
a
= 10;
cout
<< “Nilai a = “ << a << endl;
cetak();
}
void
cetak()
{
int
a;
cout
<< “Nilai a = “ << a << endl;
}
Apabila
program di atas dijalankan, hasilnya adalah:
Nilai
a = 10
Nilai
a = 747
Hasil
di atas menunjukkan bahwa meskipun nama variabelnya sama-sama a, tapi kedua
variabel a tersebut berbeda. Setiap variabel a tersebut hanya dikenali di functionnya
masing-masing (tidak terkait satu dengan yang lain).
Sumber : E-book PEMROGRAMAN C++ by Rosihan Ari Yuana, S.Si, M.Kom
arie@uns.ac.id
Komentar
Posting Komentar