Fungsi MM9
Fungsi MM9
FUNGSI
Tipe data adalah penentu tipe data dari keluaran fungsi yang berupa
salah satu dari tipe data yang didukung oleh bahasa C
seperti char atau int.
Nama_fungsi adalah pengenal atau identifier dari fungsi misalnya
saat dipanggil.
Daftar_parameter adalah berisi sekumpulan parameter yang
merupakan masukan dari fungsi.
Deklarasi parameter adalah deklarasi variabel yang merupakan
parameter didalam fungsi.
Tubuh_fungsi akan berisi kode-program yang akan dijalankan ketika
fungsi tersebut dipanggil. Didalam tubuh fungsi bisa dideklarasikan
variabel serta menulis kode program termasuk perintah return yang
akan memberi nilai balik fungsi.
Tipe data, daftar parameter, deklarasi parameter dan tubuh fungsi
boleh kosong namun nama-fungsi tidak.
#include <stdio.h>
int hitung_luas(int panjang, int lebar)
{
int luas;
luas = panjang * lebar;
return(luas);
}
int main()
{
int panjang = 5;
int lebar =7;
int luas;
luas = hitung_luas(panjang,lebar);
printf(“%d n”,luas);
return 0;
}
Penjelasan program :
3. Variabel Statis.
Sifat variabel statis :
Variabel tetap hanya dapat diakses pada fungsi yang
mendeklarasikannya.
Variabel tidak hilang saat eksekusi fungsi berakhir.
Nilainya akan tetap dipertahankan sehingga akan dikenali pada
pemanggilan fungsi untuk tahap berikutnya.
Inisialisasi oleh pemrogram akan dilakukan sekali saja selama
program dijalankan. Jika tidak ada inisialisasi secara eksplisit,
variabel diisi dengan nol.
Variabel statis diperoleh dengan menambahkan kata kunci
static di depan tipe data saat pendeklarasian fungsi.
Contoh:
1.
#include <stdio.h>
// membuat variabel global
int nilai = 9;
void main(){
// membuat variabel lokal
int nilai = 7;
// mencetak variabel
printf("Nilai: %d\n", nilai);
}
Pada contoh di atas, dibuat variabel global bernama nilai.
Lalu di dalam fungsi main(), dibuat variabel lagi bernama nilai dengan
nilai yang berbeda.
Variabel yang ada di dalam fungsi main() adalah variabel lokal.
Hasil outputnya adalah : 7, karena variabel nilai yang dibuat ulang di
dalam fungsi main.
2.
#include <stdio.h>
// membuat variabel global
int nilai = 9;
void main(){
// mencetak variabel
printf("Nilai: %d\n", nilai);
}
Outputnya adalah 9, karena variabel yang dipakai adalah variabel global.
Fungsi dengan Parameter
Parameter adalah :
Variabel yang menyimpan nilai untuk diproses di dalam fungsi.
Nilai yang akan dijadikan acuan saat menjalankan program.
Pelengkap saat menjalankan fungsi tertentu.
Suatu variabel yang menyertai fungsi pada saat deklarasi maupun
saat fungsi dipanggil.
#include <stdio.h>
void cetakUmur(int *umur){
printf("Halo, Umur kamu adalah %d tahun", *umur);
}
int main(){
int angka=20;
cetakUmur(&angka);
getchar();
return 0;
}
Fungsi rekursif adalah suatu proses dari fungsi yang memanggil dirinya
sendiri secara berulang-ulang. Karena proses dilakukan berulang-ulang
maka harus ada suatu kondisi yang mengakhiri prosesnya. Jika tidak
maka proses tidak akan pernah berhenti sampai memori yang digunakan
tidak dapat menampung lagi.
Penerapan rekursi antara lain untuk menghitung nilai Xn.
Contoh :
#include <stdio.h>
long_pangkat (long x, long n); // Prototipe fungsi
int main()
{
int x,y;
printf(“MENGHITUNG x^y\n”);
printf(“x = “);
scanf(“%ld”, &x);
printf(“y = “);
scanf(“%ld”, &y);
printf(“%ld^%ld = %ld\n”, x, y, pangkat(x, y);
return 0;
}
long_pangkat(long x, long n)
{
if ( n ==1 )
return(x);
else
return(x * pangkat(x, n-1);
}
Output :
MENGHITUNG x^y
x=2
y=3
2^3=8