Selasa, 28 Mei 2013

Materi Algoritma Pemrograman 2 : Function



Function

Function        merupakan sekumpulan           instruksi             yang membentuk  satu  unit  serta  memiliki nama. Fungsi   digunakan   untuk   membantu organisasi  program  dan  mengurangi besar (size ) program.

Deklarasi dari Definisi Fungsi :
Syntax :
                tipe Nama_Fungsi ( daftar_argumen )
                {
                                blok pernyataan ;
      }
Atau
                tipe Nama_Fungsi ( tipe var_1, tipe var_2, … )
                {
                                blok_pernyataan;
                };
dimana:
tipe -> tipe data dari return value ( int, float, double,  char, void, signed, unsigned, long,  short).
 Nama_Fungsi  ->  nama fungsi sesuai aturan C++.
 daftar_argumen -> variable input / output.
 blok_pernyataan -> kumpulan instruksi.
Contoh :
                float  Hitung ( float  Panjang, float Lebar )
                {
                                float  Luas;         // Deklarasi variabel lokal
                                Luas = Panjang * Lebar;
                                return  Luas;
                };
atau
                float  Hitung ( float  Panjang, float Lebar )
                {
                                return   ( Panjang * Lebar );
                };
atau
void  Hitung ( float  Panjang, float Lebar, float *Luas )
{             
                *Luas = Panjang * Lebar ;
};
Prototype Function :
Prototipe   fungsi   adalah   deklarasi fungsi    yang  hanya  memiliki  tipe, nama_fungsi,   dan   daftar_argumen, tetapi tidak memiliki badan_fungsi.  Prototipe             fungsi             harus  dideklarasikan      sebelum      fungsi tersebut        dipanggil.        Biasanya prototipe      fungsi      dideklarasikan sebelum    main    program    (fungsi main()),     dan     definisi     fungsinya diletakkan setelah main program.  Manfaat     dari     prototipe     fungsi adalah      untuk      menjamin      tipe argumen    yang    dilewatkan    pada pemanggilan    fungsi    benar-benar sesuai.
n  Tanpa    adanya    prototipe    fungsi, amatlah   mudah   bagi   pemrogram untuk  melakukan  kesalahan  tanpa sengaja        dalam        melewatkan argumen.     Misalnya,     melewatkan argumen  bertipe  float  pada  fungsi yang    seharusnya    meminta    tipe data int.

Deklarasi Prototipe Function :
                tipe Nama_Fungsi ( tipe var_1, tipe var_2, … );
atau
                tipe Nama_Fungsi ( tipe , tipe  , tipe,  … ); 
 Contoh :
                void  Tampil ( float Panjang, float Lebar );
atau
                void   Tampil ( float ,  float );

contoh programnya :

#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
                long kuadrat(long l);       // Prototipe fungsi
                void main()
                {
                                clrscr();
                                for(long bil = 200; bil<2000; bil+=200)
                                                cout<<setw(8)<<bil
                                                       <<setw(8)<<kuadrat(bil)<<endl;
                }
                // Definisi Fungsi
                long kuadrat(long l)
                {
                                return(l * l);
                }
Argumen (Function Parameter) :
Argumen    merupakan    data    yang dikirim  dari  program  ke  fungsi  dan sebaliknya. Argumen       dipergunakan       untuk mengirim   /   menerima   data   yang akan diproses.
Ada      2      jenis      cara      untuk mengirimkan argumen yaitu:
                1. Passing by Value : nilai yang dikirim adalah nilai atau data yang akan di proses
                2. Passing by Reference  nilai yang di kirim adalah berupa nilai pointer (bukan data) yang merefer ke suatu data.
Inline Function :
Fungsi  ini  bermanfaat  menghemat memori    (mengabaikan    peletakan argumen-argumen     fungsi     dalam stack    pada    saat    pemanggilan fungsi),              dengan              cara menggabungkan   fungsi   ke   dalam program utama. Inline   function   disarankan   dipakai pada  fungsi  yang  sering  dipanggil dan   ukurannya   kecil   (terdiri   dari satu atau dua pernyataan). Pembuatan  Inline  function  tersebut dilakukan            dengan            cara menambahkan  keyword             inline    di depan   tipe    fungsi    pada    saat mendefinisikan fungsi.

Syntax :
                inline tipe Nama_Fungsi ( argumen )
                {
                                blok_pernyataan;
                return Nilai;
                }
Contoh :
                inline float Luas ( float Pj, float Lb )
                {              return  ( Pj * Lb );    }
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
inline  int jumlah( int x, int y)
{
                return  ( x + y);
}
void main()
{   
                clrscr();
                for(int i = 1; i<100; i++)
                                cout<<i<<“.”<<jumlah(i,2*i)<<endl;      
}