Fungsi
Fungsi (Function) merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus.
Kegunaan dari fungsi ini adalah untuk:
Kegunaan dari fungsi ini adalah untuk:
- Mengurangi pengulangan penulisan program yang berulangan atau sama.
- Program menjadi lebih terstruktur, sehingga mudah dipahami dan dapat lebih dikembangkan Pemanggilan Fungsi dapat berulang-ulang dengan cara memanggil nama fungsinya.
Struktur Fungsi
Sebuah fungsi sederhana mempunyai bentuk penulisan sebagai berikut :
nama_fungsi(argumen){pernyataan/perintah;}
Fungsi dapat dibedakan menjadi 2.
- Fungsi sederhana(tanpa parameter)
- Fungsi Berparameter
Setelah tampilan borland muncul klik New - Text Edit
Lalu masukkan text code berikut :
/* pembuatan fungsi garis()*/
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
garis()
{
printf("\n---------------------\n");
}
/*program utama*/
main()
{
clrscr();
garis();//memanggil fungsi garis
cout<<"FAJARYUSUF.COM COOL"<<endl;
garis();//memanggil fungsi garis
getche();
}
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
garis()
{
printf("\n---------------------\n");
}
/*program utama*/
main()
{
clrscr();
garis();//memanggil fungsi garis
cout<<"FAJARYUSUF.COM COOL"<<endl;
garis();//memanggil fungsi garis
getche();
}
Penjelasan Coding :
garis() { printf("\n------------------------\n");} ; membuat variabel bebas garis yang menjadi fungsi yang berisi nilai memunculkan -------------------------------.
garis(); ; memanggil isi dari variabel garis/fungsi dari garis
Prototype Fungsi adalah mejelaskan kepada kompiler tentang tipe data fungsi, jumlah parameter, tipe data dari masing-masing parameter.
Prototipe fungsi dituliskan di atas blok program utama dan diakhiri dengan tanda qualifier titik koma (;), sedangkan blok program fungsi yang mengandung perintah-perintah atau pernyataan-pernyataan dari program berada di bawah blok program utama yang memiliki keuntungan sebagai berikut:
- Komplier akan melakukan konveri antara tipe parameter dalam definisi dan parameter fungsi.
- Jika jumlah parameter yang digunakan dalam definisi fungsi dan pada saat pemanggilan fungsi berbeda atau tidak sama, maka akan menunjukan kesalahan
Parameter Fungsi
adalah suatu pendefinisian nilai-nilai dari objek-objek yang dideklarasikan pada bagian argumen di fungsi.Nilai-nilai pada objek-objek tersebut didapat dari variabel-variabel yang barada pada program utama- Parameter formal adalah variabel yang terdapat pada daftar parameter yang berada didalam definisi fungsi.
- Parameter Aktual adalah variabel yang digunakan pada pemanggilan suatu fungsi
Yang Perlu diperhatikan dalam pembuatan Fungsi berparameter :
- Jumlah Parameter aktual dan parameter formal harus sama
- Tipe data yang digunakan oleh parameter harus sama
- Tipe pemanggilan fungsi
Untuk contoh kita mulai klik Start Program lalu cari Borland C++ ,atau jika ada sortcut di desktop klik borland pada desktop.
Setelah tampilan borland muncul klik New - Text Edit
Lalu masukkan text code berikut :
/* Pengunaan Prototipe pada fungsi*/
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
char coment(char ket[30],int n);//prototipe fungsi
main()
{
char lagi,c[30];
int i;
atas:
clrscr();
{
cout<<"Masukkan nilai = ";cin>>i;
coment(c,i);//parameter formal
cout<<c;
cout<<"\n\ningin input lagi[Y/T]: ";cin>>lagi;
}
if(lagi=='Y'||lagi=='y')
goto atas;
else
getch();
}
//blok program fungsi dengan parameter aktual
char coment(char ket[30],int n)
{
int a;
a=n%2;
if(a==1)
strcpy(ket,"--Bilangan Ganjil--");
else
strcpy(ket,"--Bilangan Genap--");
}
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
char coment(char ket[30],int n);//prototipe fungsi
main()
{
char lagi,c[30];
int i;
atas:
clrscr();
{
cout<<"Masukkan nilai = ";cin>>i;
coment(c,i);//parameter formal
cout<<c;
cout<<"\n\ningin input lagi[Y/T]: ";cin>>lagi;
}
if(lagi=='Y'||lagi=='y')
goto atas;
else
getch();
}
//blok program fungsi dengan parameter aktual
char coment(char ket[30],int n)
{
int a;
a=n%2;
if(a==1)
strcpy(ket,"--Bilangan Ganjil--");
else
strcpy(ket,"--Bilangan Genap--");
}
penjelasan coding :
karena i dimulai dari angka 1 dan dikali dua seterusnya hasinya adalh bilangan ganjil ,maka selain itu genap
Lalu Klik Debug - Run atau tekan ctrl+f9 untuk melihat hasil program yang kita buat.
Lalu Klik Debug - Run atau tekan ctrl+f9 untuk melihat hasil program yang kita buat.
Lalu Klik Debug - Run atau tekan ctrl+f9 untuk melihat hasil program yang kita buat.
Lalu Klik Debug - Run atau tekan ctrl+f9 untuk melihat hasil program yang kita buat.
karena i dimulai dari angka 1 dan dikali dua seterusnya hasinya adalh bilangan ganjil ,maka selain itu genap
Lalu Klik Debug - Run atau tekan ctrl+f9 untuk melihat hasil program yang kita buat.
Pemanggilan Fungsi Berparameter
- Pemanggilan Secara Nilai
- Pemanggilan Secara Reference
- Pemanggilan Return
Pemanggilan Secara Nilai(by Value)
pemanggilan fungsi dengan nilai akan menyebabkan nilai parameter aktual tidak akan berubah, walaupun nilai parameter formalnya berubah.
/* Pengunaan Call By Value*/
/* Program Tambah Nilai*/
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tambah(int m, int n);
main()
{
int a,b;
a=5;
b=9;
clrscr();
cout<<"Nilai Sebelum Fungsi Digunakan";
cout<<"\na="<<a<<" b="<<b;
tambah(a,b);
cout<<"\nNilai Setelah Fungsi Digunakan";
cout<<"\na="<<a<<" b="<<b;
getch();
}
tambah(int m,int n)
{
m+=5;
n+=7;
cout<<"\n\nNilai di dalam fungsi tambah()";
cout<<"\nm="<<m<<" n="<<n;
cout<<endl;
}
/* Program Tambah Nilai*/
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tambah(int m, int n);
main()
{
int a,b;
a=5;
b=9;
clrscr();
cout<<"Nilai Sebelum Fungsi Digunakan";
cout<<"\na="<<a<<" b="<<b;
tambah(a,b);
cout<<"\nNilai Setelah Fungsi Digunakan";
cout<<"\na="<<a<<" b="<<b;
getch();
}
tambah(int m,int n)
{
m+=5;
n+=7;
cout<<"\n\nNilai di dalam fungsi tambah()";
cout<<"\nm="<<m<<" n="<<n;
cout<<endl;
}
Lalu Klik Debug - Run atau tekan ctrl+f9 untuk melihat hasil program yang kita buat.
Pemanggilan Secara Reference
pemanggilan fungsi dengan nilai akan menyebabkan nilai parameter aktual berubah, dengan cara merubah nilai parameter formalnya. Untuk pemanggilan by reference memerlukan sebuah pointer ( * ) didepan nama parameter formalnya, dan ( & ) untuk nama parameter aktualnya.
/* Pengunaan Call By Reference*/
/* Program Tambah Nilai*/
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tambah(int *c, int *d);
main()
{
int a,b;
a=4;
b=6;
clrscr();
cout<<"Nilai Sebelum Pemanggilan Digunakan";
cout<<"\na="<<a<<" b="<<b;
tambah(&a,&b);
cout<<endl;
cout<<"\nNilai Setelah Pemanggilan Digunakan";
cout<<"\na="<<a<<" b="<<b;
getch();
}
tambah(int *c,int *d)
{
*c+=7;
*d+=5;
cout<<"\n\nNilai di akhir fungsi tambah()";
cout<<"\nc="<<*c<<" d="<<*d;
cout<<endl;
}
/* Program Tambah Nilai*/
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tambah(int *c, int *d);
main()
{
int a,b;
a=4;
b=6;
clrscr();
cout<<"Nilai Sebelum Pemanggilan Digunakan";
cout<<"\na="<<a<<" b="<<b;
tambah(&a,&b);
cout<<endl;
cout<<"\nNilai Setelah Pemanggilan Digunakan";
cout<<"\na="<<a<<" b="<<b;
getch();
}
tambah(int *c,int *d)
{
*c+=7;
*d+=5;
cout<<"\n\nNilai di akhir fungsi tambah()";
cout<<"\nc="<<*c<<" d="<<*d;
cout<<endl;
}
Lalu Klik Debug - Run atau tekan ctrl+f9 untuk melihat hasil program yang kita buat.
Pemanggilan Secara Return
Dilakukan untuk melakukan pengiriman suatu nilai atau nilai dari suatu fungsi kepada fungsi yang lain yang memanggilnya.
/*Pernyataan Return pd Fungsi*/
#include<conio.h>
#include<iostream.h>
#include<stdio.h>
float luas(int r)//fungsi luaslingkaran
{
return(3.14*r*r);
}
float kel(int r)//fungsi kel lingkaran
{
return(3.14*2*r) ;
}
main()
{
int j;
clrscr();
cout<<"Masukkan Jari-jari = ";cin>>j;
cout<<"Luas Lingkaran = "<<luas(j)<<endl;
cout<<"Keliling lingkaran = "<<kel(j);
getch();
}
#include<conio.h>
#include<iostream.h>
#include<stdio.h>
float luas(int r)//fungsi luaslingkaran
{
return(3.14*r*r);
}
float kel(int r)//fungsi kel lingkaran
{
return(3.14*2*r) ;
}
main()
{
int j;
clrscr();
cout<<"Masukkan Jari-jari = ";cin>>j;
cout<<"Luas Lingkaran = "<<luas(j)<<endl;
cout<<"Keliling lingkaran = "<<kel(j);
getch();
}
Lalu Klik Debug - Run atau tekan ctrl+f9 untuk melihat hasil program yang kita buat.
Jika ada pertanyaan silakan berkomentar.
Jangan Lupa like dan share.
Bejar Pemrograman di fajaryusuf.com aja. :)
Jangan Lupa like dan share.
Bejar Pemrograman di fajaryusuf.com aja. :)








Comments
Jangan lupa juga kunjungi blog saya, terdapat pengetahuan tentang beberapa Hardware di
http://alvianandersen.blogspot.com
Dan jangan lupa juga kunjungi website kampus saya di
http://www.atmaluhur.ac.id