Minggu, 29 Mei 2016

FUNCTION

Dalam  pemrograman,  string  merupakan  kumpulan  dari  beberapa  karakterkarakter.
 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 pembuatanprogram 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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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 <iostream.h>
#include <conio.h>
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.

#include <iostream.h>
#include <conio.h>
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).



Tidak ada komentar:

Posting Komentar