Rabu, 30 Maret 2016

Pengertian Function Dalam Bahasa C


1.    Jelaskan perbedaan antara fungsi yang membalikkan nilai dan fungsi yang tidak membalikkan nilai! Berikan contoh masing-masing!
   Jawab :
a.    Fungsi yang membalikkan nilai (Fungsi non-void )
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian yang berasal dari keluaran hasil proses function tersebut .
 Ciri-cirinya adalah sebagai berikut :
1. Ada keyword return
2. Ada tipe data yang mengawali fungsi
3. Tidak ada keyword void
 4. Memiliki nilai kembalian . Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu sehingga dapat langsung ditampilkan hasilnya.
  Contoh programnya adalah :
int jumlah(int a, int b)
{
    int jmlh;
    jmlh=a+b;
    return jmlh;
}


b.      Fungsi yang Tidak Mengembalikan Nilai (void)
Fungsi yang void sering disebut juga prosedur. Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.

Ciri-cirinya adalah sebagai berikut :
  • Tidak adanya keyword return.
  • Tidak adanya tipe data di dalam deklarasi fungsi.
  • Menggunakan keyword void.
  • Tidak dapat langsung ditampilkan hasilnya.
  • Tidak memiliki nilai kembalian fungsi.
Contoh programnya adalah :
void tampilkan_jmlh(int a,int b)
{
    int jmlh;
    jmlh=a+b;
    printf(“%d”,jmlh);
}


2. Jelaskan apa yang kalian ketahui tentang fungsi overload dan fungsi rekursif. Serta berikan contohnya!
~Jika program berisi komen, dapat nilai tambah
Jawab :
a.       Fungsi Overload
Function overloading adalah suatu proses menggunakan nama yang sama untuk dua atau lebih fungsi. Setiap definisi ulang dari fungsi yang di overloading harus menggunakan tipe parameter, urutan parameter, atau jumlah parameter yang berbeda. Jumlah, tipe atau urutan parameter dari suatu fungsi disebut function signature. Jika kita memiliki sejumlah fungsi dengan nama yang sama, compiler akan mengidentifikasi fungsi-fungsi tersebut berdasarkan parameternya. Keuntungan memiliki beberapa fungsi dengan nama yang sama dapat dilihat pada program berikut :
#include <iostream>
using namespace std;
class Overload { //fungsi overload
public:
int max(int, int);
float max(float, float);
};
int Overload::max(int num1, int num2)
{
if (num1 > num2)//penyeleksian kondisi
return num1;//mengembalikan nilai
else//pengecekan kembali
return num2;//mengembalikan nilai
}
float Overload::max(float num1, float num2)
{
if (num1 > num2) )//penyeleksian kondisi
return num1;
else//pengecekan kembali
return num2;
}
int main()
{
Overload o;
cout << o.max(5.4F,8.6F) << endl;
cout << o.max(19,12) << endl;
return 0;//mengembalikan nilai
}
b.      Fungsi Rekrusif
Fungsi Rekrusif adalah sebuah fungsi yang memanggil dirinya sendiri disebut sebuah fungsi rekursif. Fungsi rekursi akan sangat berguna untuk memecahkan kasus permasalahan tertentu dimana solusinya dapat diperoleh dari bentuk permasalahan yang lebih sederhana dari permasalahan yang serupa, dan solusi dari bentuk permasalahan yang lebih sederhana tadi diperoleh dari bentuk permasalahan yang lebih sederhana lagi namun serupa, demikian seterusnya.
Contoh programnya adalah sebagai berikut :
#include <stdio.h>
#include <stdlib.h>

 int main(void)
 {
 int m; // variable yang akan dilewaktan ke fungsi Faktorial by   value

 int Faktorial(int k); // Prototype fungsi faktorial
 printf("Masukan sebarang bilangan bulat positif: ");
 scanf("%d",&m);//scanf berfungsi untuk memasukan data
               //mencetak output dari inputan

 printf("\nMelalui perhitungan rekursif, %d!=%d\n\n", m, Faktorial(m));
 // mislkan inputan angka 4 maka 4! = 4*3*2*1*1 jadi hasilnya adalah 24
 system("pause");
 return 0;
 }

int Faktorial(int k) // fungsi yang memanggil dirinya sendiri
 {
 if (k==0)// merupakan kondisi bila variabel k samadengan nol
 return 1; // maka dia akan membaca nilai k = 1
// jika nilai k = 1 maka ni sama saja dengan false
 else // jika tidak dengan fungsi rekursif
 return k*Faktorial(k-1);// Fungsi faktorial memanggil dirinya sendiri
 }
Outputnya adalah sebagai berikut :



1 komentar:

 

Siti Mulia Sari Template by Ipietoon Cute Blog Design