Anda di halaman 1dari 5

FUNGSI DAN REKURSIF

OBJEKTIF :

1. Mahasiswa mampu memahami tentang konsep fungsi matematika pada C++.


2. Mahasiswa mampu memahami tentang konsep fungsi return dan void pada C++.
3. Mahasiswa mampu memahami tentang konsep fungsi rekursif pada C++.

Fungsi

Fungsi atau function adalah sebuah struktur yang mengandung sekelompok pernyataan yang
akan dilaksanakan oleh compiler, jika nama fungsi tersebut dipanggil untuk dieksekusi. Fungsi
sangat membantu untuk membuat pengelompokkan pernyataan berdasarkan tugas, proses, atau
kategori. Fungsi memiliki nama dan tipe yang mirip seperti variabel. Jenis fungsi ditentukan oleh
return value, yaitu nilai yang dikembalikan oleh fungsi ke program. Sebagai tambahan tipe dari
argumen yang dibutuhkan oleh suatu fungsi merupakan hal yang penting.

Contoh deklarasi fungsi dengan prototype :

long func (int, double);

Keterangan: ·

long : tipe data


func : nama fungsi
(int, double) : parameter

if(kondisi)
{
  statement;
}

3.1 Fungsi Matematika

Fungsi matematika adalah fungsi yang bertujuan untuk melakukan fungsi matematika. Pada
library standard C++, fungsi matematika yang tersedia adalah min dan max . Untuk
menggunakan perhitungan matematika lain seperti sin, cos, serta pow harus menambahkan
header cmath pada awal program.

#include <cmath>

 
Berikut adalah fungsi standar yang terdapat pada library cmath :

OPERASI Keterangan

sin Menghitung sinus

Cos Menghitung kosinus

Tan Menghitung tangen

Atan Menghitung arc tangen

Cosh Menghitung kosinus hiperbolik

Sqrt Menghitung akar kuadrat

Pow Menghitung pangkat

Exp Menghitung fungsi eksponensial

Log Menghitung logaritma

Log10 Menghitung logaritma

3.2 Fungsi return dan void

Fungsi return berfungsi untuk mengakhiri dari fungsi tersebut. return juga dapat
memberikan nilai pada saat akhir dari fungsi kepada pemanggil. Saat menuliskan Value Returning
Function, kita harus menentukan tipe data yang akan kita gunakan sesuai dengan nilai atau value
tersebut. Value Returning Function dapat menggunakan tipe data int , double , boolean , atau
tipe data valid lainnya di dalam header.

Berikut adalah bentuk umum fungsi return :

return; //pengembalian tanpa nilai


return nilai; //pengembalian dengan nilai

Fungsi terdiri dari dua jenis, yaitu fungsi yang tidak mengembalikan nilai ( void ) dan fungsi
yang dapat mengembalikan nilai (Non-Void). return adalah keyword untuk mengatur hal
tersebut. Fungsi void digunakan untuk melakukan proses yang tidak menghasilkan nilai,
misalnya pengulangan. Fungsi void sering disebut juga prosedur. Disebut void, karena fungsi
void tidak mengembalikan suatu nilai keluaran yang dihasilkan dari proses fungsi tersebut.

Berikut adalah bentuk umum fungsi void :

void nama_fungsi(parameter1, parameter2,…)


{
Pernyataan;
}

 
Fungsi non-void digunakan untuk mendapatkan nilai dari suatu blok proses didalam fungsi.
Disebut non-void, karena mengembalikan nilai return yang berasal dari keluaran hasil proses
fungsi tersebut.

Berikut adalah bentuk umum fungsi non-void

tipe_data nama_fungsi(parameter1, parameter2,…)


{
Pernyataan;
Return nilai_yang_akan_dikembalikan;
}

3.3 Fungsi Rekursif

Selain dapat memanggil fungsi lain, fungsi juga dapat memanggil dirinya sendiri. Sebuah fungsi
yang dapat memanggil dirinya sendiri adalah fungsi rekursif. Seperti pada perulangan, fungsi
rekursif harus memiliki beberapa metode untuk mengontrol berapa kali fungsi tersebut berulang.

void message( )
{
    cout << “Ini adalah fungsi rekursif.\n”;
message( );
}

Pada potongan program di atas, tidak terdapat cara untuk menghentikan panggilan rekursif
karena tidak terdapat metode untuk mengontrol berapa kali fungsi message harus berulang.

Berikut adalah contoh program fungsi rekursif:

#include <iostream>

using namespace std;

void message(int);

int main()
{
message(5);
return 0;
}

void message(int times)
{
    if (times > 0)
{
  cout << “Ini adalah fungsi rekursif.\n”;
message(times – 1);
}
}

 
 

Contoh fungsi rekursif:

Fungsi pangkat
Faktorial
Deret fibonacci
Menara Hanoi

Terdapat perbedaan antara iterasi dan rekursif:

Iterasi Rekursif

Menggunakan keyword for , while , do-while Menggunakan keyword if

Merupakan bentuk prosedur Merupakan bentuk fungsi

Selain memiliki beberapa perbedaan, iterasi dan rekursif juga memiliki persamaan yaitu
keduanya merupakan bentuk perulangan dan juga melakukan evaluasi kondisi sebelum
melakukan perulangan.

 
REFERENSI

[1] Gaddis, Tony. 2015. Starting Out With C++ From Control Structures through Objects. Pearson

[2] Deitel, P. J., dan H. M. Deitel. 2007. C++ How To Program. Pearson Education

[3] KelasTerbuka. 2017. Belajar C++ Bahasa Indonesia [Dasar]. Diakses melalui https://www.youtu
be.com/playlist?list=PLZS-MHyEIRo4Ze0bbGB1WKBSNMPzi-eWI. Diakses pada 2 April 2021.

Anda mungkin juga menyukai