FUNCTION

Function pada pemrograman C merupakan sebuah block of code yang digunakan untuk memisahkan codingan sesuai dengan fungsinya masing - masing. Function pada pemrograman C berstruktur sebagai berikut :

tipe_data nama_fungsi (tipe_data_parameter nama_variable_parameter){
   //isi codingan
}

Ada 2 jenis tipe data pada fungsi :
- void : tidak mengembalikan nilai apapun kepada int main
- int / float / char / dll : mengembalikan nilai sesuai tipe data fungsi nya kepada int main

Parameter adalah nilai yang dikirimkan dari int main ke fungsi yang dipanggil. Nilai yang dikirimkan bisa berupa int, float, double, char, char[], pointer dan lainnya.
Menggunakan parameter adalah opsional, tidak diwajibkan dan hanya apabila dibutuhkan.

Setelah membuat sebuah fungsi, fungsi itu tidak akan jalan sampai kita panggil fungsi tersebut di int main. Jadi membuat fungsi namun tidak dipanggil oleh int main sama saja dengan fungsi itu tidak ada sama sekali.

Contoh fungsi void :


Output :



Contoh fungsi yang mengembalikan nilai :


Output :


Ada 2 jenis parameter yang dapat kita gunakan :
- passing parameter by value : hanya mengirimkan nilai dari variable tersebut, ketika kita mengubah nilainya, maka nilainya hanya berubah di fungsi tersebut, tetapi nilai yang di int main tetap.
- passing parameter by reference : mengirimkan alamat dari variable tersebut sehingga nilai yang diubah bukan hanya di fungsi tersebut, namun juga pada int main.

Contoh passing parameter by value :


Output  :







Pada contoh diatas, variable angka pada int main tidak berubah meskipun pada fungsi tersebut kita mengubah nilai dari variable angka dari 1 menjadi 2. Nilai dari variable angka berubah hanya pada fungsi tersebut, dimana kita mengubahnya.

Contoh passing parameter by reference :


Output :


 Pada contoh diatas, kita hanya tinggal menambahkan tanda '&' pada parameternya, sehingga yang dikirim bukan hanya nilainya, tetapi juga alamat dari variable tersebut, sehingga ketika kita mengubah nilainya, maka pada int main juga terubah.



Comments