Selasa, 19 Februari 2013

Function (Fungsi) Borland C++

FUNGSI

Fungsi (Function) merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus.
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.

Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main(), yang bersifat mutlak, karena fungsi ini program akan dimulai, sebagai contoh yang lainnya fungsi printf(), cout() yang mempunyai tugas untuk menampilkan informasi atau data kelayar dan masih banyak lainnya.

Struktur Fungsi

nama_fungsi(argumen)
{
… pernyataan / perintah;
… pernyataan / perintah;
… pernyataan / perintah;
}

Keterangan:
Ø  Nama fungsi, boleh dituliskan secara bebas dengan ketentuan, tidak menggunakan spasi dan nama-nama fungsi yang mempunyai arti sendiri.
Ø  Argumen, diletakan diantara tanda kurung “( )” yang terletak dibelakang nama fungsi. Argumen boleh diisi dengan suatu data atau dibiarkan kosong.
Ø  Pernyataan / perintah, diletakan diantara tanda kurung ‘{ }’.

Pada pemanggilan sebuah fungsi, cukup dengan menuliskan nama fungsinya.

/* 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<<”AMIK BSI – Salemba 22″<<endl;;
garis(); //memanggil fungsi garis
getche();
}





Prototipe Fungsi

Prototipe fungsi digunakan untuk mendeklarasikan ke kompiler mengenai: • Tipe data keluaran dari fungsi.
• Jumlah parameter yang digunakan
• Tipe data dari masing-masing parameter yang digunakan.

Keuntungan didalam pemakai prototipe yaitu :
•  Kompiler akan melakukan konversi 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 menunjukkan kesalahan.

Pernyataan return().

Digunakan untuk mengirimkan nilai atau nilai dari suatu fungsi kepada fungsi yang lain yang memanggilnya. Pernyataan return() diikuti oleh argumen yang berupa nilai yang akan dikirimkan. Contoh pemakaian pernyataan return() dapat dilihat pada contoh berikut ;

Contoh pengiriman data konstanta
/* ———————— */
/* Pengriman data Konstanta */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs;
clrscr();
luas_bs = luas(4.25);
cout<<”\nLuas Bujur Sangkar = “<<luas_bs;
getch();
}
luas(float sisi)
{
return(sisi*sisi);
}

Keterangan :

Dalam struktur program diatas dilihat bahwa, pernyataan luas_bs=luas(4.25), akan dikirimkan nilai kepada fungsi luas(), untuk diolah lebih lanjut, yang nilai tersebut akan ditampung pada variabel sisi. Selanjutnya didalam fungsi return terjadi perkalian sisi dengan sisi, setelah itu hasil perkalian tersebut dikirim balik ke variabel luas_bs yang memanggil fungsi.


Contoh Pengiriman data variable:

/* ———————— */
/* Pengriman data Variabel */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs, sisi_bs;
clrscr();
cout<<”\nMenghitung Luas Bujur Sangkar”<<endl;
cout<<”\nMasukan Nilai Sisi Bujur Sangkar : “;
cin>>sisi_bs;
luas_bs = luas(sisi_bs);
cout<<”\nLuas Bujur Sangkar = “<<luas_bs<<” Cm”;
getch();
}
luas(float sisi)
{ return(sisi*sisi); }

Latihan function

#include<stdio.h>
#include<iostream.h>
#include<conio.h>
potong(float harga,float disk);
garis ()
{
printf(“===============================”);
}
main()
{
char nama[20],jwb;
long int harga,total,disk;
ulang:
clrscr();
garis();
cout<<”\n\tToko Mas Jayakarta “<<endl;
cout<<”Nama Barang                       :”;cin>>nama;
cout<<”Harga Barang                      :”;cin>>harga;
if(harga<1000000)
disk=0;
else if(harga>=1000000&&harga<=5000000)
disk=harga*0.2;
else
disk=harga*0.35;
cout<<”Besar diskont yang diberikan   :”<<disk<<endl;
total=potong(harga,disk);
cout<<”Besar harga yang harus dibayar :”<<total<<endl;
cout<<”\n\tAnda Ingin Input Lagi [Y/T]:”;jwb=getche();
if(jwb==’Y'||jwb==’y')
goto ulang;
getch();
}
potong(float harga,float disk)
{  return(harga-disk);  }


Tidak ada komentar:

Posting Komentar