Your SlideShare is downloading. ×
Function
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Function

117
views

Published on

Published in: Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
117
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 2 Deklarasi dari Definisi Fungsi :Syntax :tipe Nama_Fungsi ( daftar_argumen ){blok pernyataan ;}Atautipe 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++.
  • 2. 3 daftar_argumen -> variable input / output. blok_pernyataan -> kumpulan instruksi.Contoh :float Hitung ( float Panjang, float Lebar ){float Luas; // Deklarasi variabel lokalLuas = Panjang * Lebar;return Luas;};ataufloat Hitung ( float Panjang, float Lebar ){return ( Panjang * Lebar );};atau
  • 3. 4void Hitung ( float Panjang, float Lebar, float *Luas ){*Luas = Panjang * Lebar ;};Prototipe Fungsi : Prototipe fungsi adalah deklarasi fungsi yang hanya memilikitipe, nama_fungsi, dan daftar_argumen, tetapi tidak memilikibadan_fungsi. Prototipe fungsi harus dideklarasikan sebelumfungsi tersebut dipanggil. Biasanya prototipe fungsidideklarasikan sebelum main program (fungsi main()), dandefinisi fungsinya diletakkan setelah main program. Manfaat dari prototipe fungsi adalah untuk menjamintipe argumen yang dilewatkan pada pemanggilan fungsibenar-benar sesuai.
  • 4. 5Tanpa adanya prototipe fungsi, amatlah mudah bagipemrogram untuk melakukan kesalahan tanpa sengaja dalammelewatkan argumen. Misalnya, melewatkan argumenbertipe float pada fungsi yang seharusnya meminta tipe dataint.Deklarasi Prototipe Fungsi :tipe Nama_Fungsi ( tipe var_1, tipe var_2, … );atautipe Nama_Fungsi ( tipe , tipe , tipe, … );Contoh :void Tampil ( float Panjang, float Lebar );atauvoid Tampil ( float , float );
  • 5. #include <iostream.h>void CETAK();void main (){CETAK();}void CETAK(){cout<<"BELAJAR C++";}Fungsi CETAK di-DEKLARASI-kan lebih dahulu,sebelum fungsi main().Perhatikan pakai tanda ‘;’ (titik koma)Kalau tidak pakai titik koma dianggap men-DEFINISI-kan fungsiInstruksi memanggil fungsi CETAKTulisan ini disebut:Men-DEFINISI-kan fungsiFungsi yang dibuat sendiriNama : CETAKTipe : void (artinya tanpa tipe)Dalam fungsi ini ada instruksi untuk mencetak kalimat“BELAJAR C++”6
  • 6. #include<iostream.h>#include<iomanip.h>#include<conio.h>long kuadrat(long l); // Prototipe fungsivoid main(){clrscr();for(long bil = 200; bil<2000; bil+=200)cout<<setw(8)<<bil<<setw(8)<<kuadrat(bil)<<endl;}// Definisi Fungsilong kuadrat(long l){return(l * l);}7
  • 7. 8Argumen (Function Parameter) : Argumen merupakan data yang dikirim dari program kefungsi dan sebaliknya. Argumen dipergunakan untuk mengirim / menerima datayang akan diproses. Ada 2 jenis cara untuk mengirimkan argumen yaitu:1. Passing by Value : nilai yang dikirim adalah nilai atau data yangakan di proses2. Passing by Reference nilai yang di kirim adalah berupa nilaipointer (bukan data) yang me refer ke suatu data.
  • 8. 9Contoh-04A.#include<stdio.h>void CETAK(int T);main(){ int A,B,T;A=5; B=2;T=A+B;CETAK(T)}void CETAK(int T){ printf(“%d”, T);}Tercetak 7T disinidisebutT disinidisebut13.05 Passing Variable.Variabel Parameter dan variabel Argument5 2 7A B T7TPARAMETERARGUMENTT disini adalah variabel yg nilainya di kirim ke fungsicetak (passing value)dan di terima o/ var T dlmfungsi Cetak
  • 9. 10Contoh-04A.#include<stdio.h>void CETAK(int T);main(){ int A,B,T;A=5; B=2;T=A+B;CETAK(T);}void CETAK(int X){ printf(“%d”, X);}Tercetak 7T disinidisebutX disinidisebut13.05 Passing Variable.Variabel Parameter dan variabel Argument5 2 7A B T7XPARAMETERARGUMENT
  • 10. 11Contoh-04C.#include<stdio.h>void CETAK(int T);main(){ int A,B,T;A=5; B=2;T=A+B;CETAK(T);}void CETAK(int X){ int Y;Y = X * 2;printf(“%d”, Y);}Tercetak 145 2 7A B T7X14Y
  • 11. 12Variabel dalamfungsi main( )5 2 7A B Treturn(T);Contoh-05A. #include<stdio.h>int JUMLAH(int A, int B);main(){ int A,B,T;A=5; B=2;T = JUMLAH(A,B);printf(“%d”, T);}int JUMLAH(int A, int B){ int T;T = A+B;return(T);}Tercetak 713.06 Nilai yang dihitung oleh Called Functiondapat dikembalikan (return) ke Calling FuntionVariabel dalamfungsi JUMLAH5 2 7A B T
  • 12. 13Variabel dalamfungsi main( )5 2 7A B Treturn(Z);B. #include<stdio.h>int JUMLAH(int A, int B);main(){ int A,B,T;A=5; B=2;T = JUMLAH(A,B);printf(“%d”, T);}int JUMLAH(int X, int Y){ int Z;Z = X + Y;return(Z);}Tercetak 7Variabel dalamfungsi JUMLAH5 2 7X Y Z
  • 13. 145 2 7A B Treturn(Z);B. #include<stdio.h>int JUMLAH(int A, int B);main(){ int A,B,T;A=5; B=2;T = JUMLAH(A,B);printf(“%d”, T);}int JUMLAH(int X, int Y){ int Z;Z = X + Y;}Tercetak 75 2 7X Y ZKalau tak ada instruksi return( ),maka yang di return adalah hasilperhitungan terakhir
  • 14. 15D. #include<stdio.h>int JUMLAH(int A, int B);main(){ int A,B,T;A=5; B=2;T = JUMLAH(A,B);printf(“%d”, T);}int JUMLAH(int X, int Y){ int Z,U;Z = X+Y;U = X * Y;return(Z)}Tercetak 7Yang direturnadalah nilai Z
  • 15. 16E. #include<stdio.h>int JUMLAH(int A, int B);main(){ int A,B,T;A=5; B=2;T = JUMLAH(A,B);printf(“%d”, T);}int JUMLAH(int X, int Y){ int Z,U;Z = X+Y;U = X * Y;}Tercetak 10returnnilai U
  • 16. 17Contoh-11#include<iostream.h>#include<conio.h>Void saya_ingat();Void main(){ int mamamia = 50;clrscr();saya_ingat();saya_ingat();saya_ingat();cout<<“main() : mamamia=“<<mamamia<<endl;}Void saya_ingat()Static int mamamia = 77; // variabel statisMamamia++;cout<<“saya_ingat() : mamamia=“<<mamamia<<endl;}A.Tercetak : ?13.12 Variabel StaticJika variabel lokal berdiri sebagai variabel statis maka :•Var tetap hanya dapat diakses pada fungsi yang mendefinisikannya•Var tidak hilang saat eksekusi fungsi terakhir•Inisialisasi oleh program akan di lakukan sekali saja selama program dijalankanJika variabel eksternal di jadikan sebagai variabel statis variabel ini dapat di akses oleh semua file yang didefinisikan pada file yang sama dengan var eksternal tersebut
  • 17. 18#include<stdio.h>int TAMBAH();main(){ int i, T;for (i = 1; i <=5; i++){ T = TAMBAH());printf(“n%d “, T );}}int TAMBAH(){ static int X=5;X = X + 2;return(X);}B.Tercetak : 7911131513.12 Variabel Static
  • 18. 1913.12 Variabel OtomatisVariabel hanya di kenal di dalam fungsi tempat variabel di definisikanContoh Program C++ :#include <iostream.h>#include <conio.h>void alpha (); // Prototipe Fungsivoid main(){ int x = 22; // variabel lokal pada main()double y = 2.22;clrscr();cout << “Pada main() : x =“ << x<< “y = “ <<y<<endl;alpha (); // Pemanggilan Fungsi alphacout << “Pada main() : x =“ << x<< “y = “ <<y<<endl;}void alpha ( ) // Definisi fungsi alpha(){int x = 20; //variabel lokal pada alpha()double y = 3.14; //variabel lokal pada alpha()cout << “Pada alpha() : x =“ << x<< “y = “ <<y<<endl;}
  • 19. 2013.12 Variabel EkternalVariabel eksternal kebalikan dari variabel Otomatis. Variabel ini di definisikan di luar fungsi manapun ataudisebut juga dengan variabel globalContoh Program C++ :#include <iostream.h>#include <conio.h>Int oblada = 550; // variabel eksternalvoid tambah(); // Prototipe Fungsivoid main(){clrscr();cout<<oblada<<endl;tambah();cout<<oblada<<endl;tambah();cout<<oblada<<endl;}void tambah () // Definisi Fungsi{oblada++; // variabel eksternal dinaikkan}
  • 20. 21Inline Function : Fungsi ini bermanfaat menghemat memori (mengabaikanpeletakan argumen-argumen fungsi dalam stack pada saatpemanggilan fungsi), dengan caramenggabungkan fungsi ke dalam program utama. Inline function disarankan dipakai pada fungsi yang seringdipanggil dan ukurannya kecil (terdiri dari satu atau duapernyataan). Pembuatan Inline function tersebut dilakukan dengancara menambahkan keyword inline di depan tipefungsi pada saat mendefinisikan fungsi.Syntax :inline tipe Nama_Fungsi ( argumen ){blok_pernyataan;return Nilai;}
  • 21. 22Contoh :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;}
  • 22. Soal:1. Buat Program dengan menggunakan fungsi untuk penjumlahan1….100 dengan output : 1+2+3+4+…..+100 = 26162. Buatlah program dengan menggunakan fungsi untuk mencari nilaiFaktorial dengan hasil Output:Mencari Nilai FaktorialMasukkan Nilai X:Nilai Faktorial dari X :23