Function & Recursion

Function (Fungsi)

Merupakan sekelompok kode yang dibuat untuk menjalankan instruksi tertentu. Dalam bahasa C fungsi dibagi menjadi 2, yaitu user-defined function dan library function.  

User-defined function merupakan fungsi yang dibuat oleh user. Sedangkan library function merupakan fungsi yang sudah tersedia seperti "printf()", "strlen()", "getchar()", dan lain-lain.

Contoh fungsi sederhana untuk mencetak "Hello World!"


Struktur fungsi :
return-value-type namanya
{

}

Jika kita memilih void, maka kita tidak perlu lagi menggunakan return karena tipe datanya void (kosong), return dapat digunakan pada return-value-type selain void seperti int, float, double atau char.

Perlu diingat bahwa nilai return bergantung pada return-value-type nya, int jika di return juga akan mengembalikan nilai dengan tipe data int, begitu juga yang lainnya.

Contoh: fungsi untuk menjumlahkan dua buah angka:


Compiler tidak akan membaca fungsi yang berada diluar "main()", sehingga kita perlu panggil fungsi tersebut dalam "main()" dengan mengetik nama fungsinya, jika tidak maka fungsi yang telah kita buat akan diabaikan.


Jika kita lihat, terdapat parameter berupa (int a, int b), parameter ini berfungsi menampung nilai yang akan dimasukan atau dikembalikan dalam fungsi. Khusus untuk fungsi yang memiliki parameter, pemanggilan dilakukan dengan memasukan data yang sesuai dengan parameter tersebut.

Fungsi jumlah memiliki parameter (int a, int b) sehingga kita juga perlu memasukan suatu nilai (contohnya 3, 4) saat memanggil fungsinya. Fungsi tersebut kemudian akan mengembalikan hasil penjumlahan dari kedua angka tersebut, jika dicetak hasilnya menjadi 7.

Sebagai tambahan, saat menggunakan suatu fungsi, kita juga perlu berhati-hati terhadap variable yang kita gunakan. Variable yang kita deklarasi pada fungsi

tertentu bersifat lokal, hanya bisa digunakan di fungsi itu saja. Sementara global variable bisa digunakan oleh semua fungsi.

Recursion (Rekursi)
Merupakan fungsi yang memanggil dirinya sendiri.
Contoh: program mencari hasil dari n!
Kita perlu memberikan nilai balik pada saat kondisi tertenu, jika tidak maka program akan mengalami infinite loop. Faktorial mengalikan semua bilangan mulai dari n sampai 0, maka kita perlu melakukan validasi jika x menjadi 0 (return 1 karena 0! = 1).

Fungsi faktorial bekerja seperti berikut:
5!
(5 * 4!)
(5 * (4 *3!))
(5 * (4 * (3 * 2!)))
(5 * (4 * (3 * (2 * 1!))))
(5 * (4 * (3 * (2 * (1 * 0!)))))
(5 * (4 * (3 * (2 * (1 * 1)))))
(5 * (4 * (3 * (2 *  1))))
(5 * (4 * (3 * 2)))
(5 * (4 * 6 ))
(5 * 24)
120

2201727222
Binus.ac.id
Skyconnectiva.com
Alexander Christian

Comments

Popular Posts