Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehHengki Kusnadi Telah diubah "7 tahun yang lalu
1
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan untuk membantu organisasi program dan mengurangi besar (size ) program. Topik yang dibahas : Deklarasi Definisi fungsi ØPrototipe fungsi ØArgumen fungsi ØDefault argumen fungsi Return value Function overloading (Trivial Polymor-phism) Inline Function
2
Deklarasi dari Definisi Fungsi : Syntax : { blok pernyataan ; } Atau
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++.
3
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 return ( Panjang * Lebar );
4
void Hitung ( float Panjang, float Lebar, float *Luas )
{ *Luas = Panjang * Lebar ; }; Prototipe Fungsi : 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.
5
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 Fungsi : tipe Nama_Fungsi ( tipe var_1, tipe var_2, … ); atau tipe Nama_Fungsi ( tipe , tipe , tipe, … ); Contoh : void Tampil ( float Panjang, float Lebar ); void Tampil ( float , float );
6
#include <iostream.h> void CETAK(); void main () { 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 fungsi Instruksi memanggil fungsi CETAK Tulisan ini disebut: Men-DEFINISI-kan fungsi Fungsi yang dibuat sendiri Nama : CETAK Tipe : void (artinya tanpa tipe) Dalam fungsi ini ada instruksi untuk mencetak kalimat “BELAJAR C++”
7
#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);
8
Argumen (Function Parameter) :
Argumen merupakan data yang dikirim dari program ke fungsi dan sebaliknya. Argumen dipergunakan untuk mengirim / menerima data yang akan diproses. Ada 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 me refer ke suatu data.
9
#include<stdio.h> void CETAK(int T); main() { int A,B,T;
Passing Variable. Variabel Parameter dan variabel Argument Contoh-04 A. #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);} 5 2 7 T disini disebut A B T PARAMETER T disini adalah variabel yg nilainya di kirim ke fungsi cetak (passing value)dan di terima o/ var T dlm fungsi Cetak 7 T disini disebut T ARGUMENT Tercetak 7
10
#include<stdio.h> void CETAK(int T); main() { int A,B,T;
Passing Variable. Variabel Parameter dan variabel Argument Contoh-04 A. #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);} 5 2 7 T disini disebut A B T PARAMETER 7 X disini disebut X ARGUMENT Tercetak 7
11
#include<stdio.h> void CETAK(int T); main() { int A,B,T;
Contoh-04 C. #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);} 5 2 7 A B T 7 14 X Y Tercetak 14
12
#include<stdio.h> int JUMLAH(int A, int B); main() { int A,B,T;
Nilai yang dihitung oleh Called Function dapat dikembalikan (return) ke Calling Funtion Contoh-05 A. #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); Variabel dalam fungsi main( ) 5 2 7 A B T return(T); 5 2 7 A B T Variabel dalam fungsi JUMLAH Tercetak 7
13
#include<stdio.h> int JUMLAH(int A, int B); main() { int A,B,T;
T = JUMLAH(A,B); printf(“%d”, T); } int JUMLAH(int X, int Y) { int Z; Z = X + Y; return(Z); B. Variabel dalam fungsi main( ) 5 2 7 A B T return(Z); 5 2 7 X Y Z Variabel dalam fungsi JUMLAH Tercetak 7
14
#include<stdio.h> int JUMLAH(int A, int B); main() { int A,B,T;
T = JUMLAH(A,B); printf(“%d”, T); } int JUMLAH(int X, int Y) { int Z; Z = X + Y; B. 5 2 7 A B T return(Z); 5 2 7 X Y Z Tercetak 7 Kalau tak ada instruksi return( ), maka yang di return adalah hasil perhitungan terakhir
15
#include<stdio.h> int JUMLAH(int A, int B); main() { int A,B,T;
T = JUMLAH(A,B); printf(“%d”, T); } int JUMLAH(int X, int Y) { int Z,U; Z = X+Y; U = X * Y; return(Z) D. Yang direturn adalah nilai Z Tercetak 7
16
#include<stdio.h> int JUMLAH(int A, int B); main() { int A,B,T;
T = JUMLAH(A,B); printf(“%d”, T); } int JUMLAH(int X, int Y) { int Z,U; Z = X+Y; U = X * Y; E. return nilai U Tercetak 10
17
13.12 Variabel Static Contoh -11 A. Tercetak : ?
Jika 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 dijalankan Jika variabel eksternal di jadikan sebagai variabel statis variabel ini dapat di akses oleh semua file yang di definisikan pada file yang sama dengan var eksternal tersebut #include<iostream.h> #include<conio.h> Void saya_ingat(); Void main() { int mamamia = 50; clrscr(); saya_ingat(); cout<<“main() : mamamia=“<<mamamia<<endl; } Void saya_ingat() Static int mamamia = 77; // variabel statis Mamamia++; cout<<“saya_ingat() : mamamia=“<<mamamia<<endl; Contoh -11 A. Tercetak : ?
18
#include<stdio.h> int TAMBAH(); main() { int i, T;
Variabel Static B. #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); Tercetak : 7 9 11 13 15
19
13.12 Variabel Otomatis Contoh Program C++ :
Variabel hanya di kenal di dalam fungsi tempat variabel di definisikan Contoh Program C++ : #include <iostream.h> #include <conio.h> void alpha (); // Prototipe Fungsi void main() { int x = 22; // variabel lokal pada main() double y = 2.22; clrscr(); cout << “Pada main() : x =“ << x << “y = “ <<y<<endl; alpha (); // Pemanggilan Fungsi alpha } 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
20
13.12 Variabel Ekternal Contoh Program C++ :
Variabel eksternal kebalikan dari variabel Otomatis. Variabel ini di definisikan di luar fungsi manapun atau disebut juga dengan variabel global Contoh Program C++ : #include <iostream.h> #include <conio.h> Int oblada = 550; // variabel eksternal void tambah(); // Prototipe Fungsi void main() { clrscr(); cout<<oblada<<endl; tambah(); } void tambah () // Definisi Fungsi oblada++; // variabel eksternal dinaikkan
21
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; }
22
inline float Luas ( float Pj, float Lb ) { return ( Pj * Lb ); }
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;
23
Soal: 1. Buat Program dengan menggunakan fungsi untuk penjumlahan 1….100 dengan output : … = Buatlah program dengan menggunakan fungsi untuk mencari nilai Faktorial dengan hasil Output: Mencari Nilai Faktorial Masukkan Nilai X: Nilai Faktorial dari X :
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.