PEMROGRAMAN BERORIENTASI OBJEK

dokumen-dokumen yang mirip
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

SL 1201 Materi tentang Fungsi

Pointer dan Referensi

Komentar, Identifier, Konstanta dan Variabel

PEMROGRAMAN BERORIENTASI OBJEK. Pengulangan. Budhi Irawan, S.Si, M.T

PEMROGRAMAN BERORIENTASI OBJEK. Percabangan. Budhi Irawan, S.Si, M.T

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

Pengenalan C++ Oleh : Dewi Sartika

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

Konsep Array dalam PBO

PRAKTIKUM 4 PERCABANGAN

Kurikulum Qt. Chapter 4 Function. Fungsi

PEMROGRAMAN BERORIENTASI OBJEK. Tipe Data. Budhi Irawan, S.Si, M.T

PEMROGRAMAN BERORIENTASI OBJEK. Operator. Budhi Irawan, S.Si, M.T

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Fungsi 2. Ekohariadi FT Unesa

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

FUNGSI. tipe Tipe nilai yang dihasilkan oleh fungsi. Jika tidak dinyatakan, hasil fungsi dianggap bilangan bulat (int)

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

BAB 8 FUNGSI. 8.1 Pendahuluan

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

PEMROGRAMAN BERORIENTASI OBJEK OBJECT

MATERI/BAHAN PRAKTIKUM FUNGSI

Konsep Dasar Pemrograman Dan Pengenalan C++

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Alpro & Strukdat 1 C++ (Sub Program) Dwiny Meidelfi, S.Kom., M.Cs.

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

PROCEDURE DAN FUNCTION

Kurikulum Qt. { Basic OOP } Chapter 4. Function

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

Fungsi : Dasar Fungsi

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

Pengantar Pemrograman

PEMROGRAMAN BERORIENTASI OBJEK STRUCTURE & CLASS

PEMROGRAMAN BERORIENTASI OBJEK. Input / Output. Budhi Irawan, S.Si, M.T

Dasar-dasar C/C++ Ekohariadi FT Unesa

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

INF-103 Pemrograman II FUNGSI C++ Dr. Taufik Fuadi Abidin, M.Tech Irvanizam, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

Subprogram (dalam Bahasa C++ + Flowchart)

Inheritance dan Polimorfisme

Scope Variable. Sebuah variabel di dalam sebuah fungsi memiliki jangkauan tertentu. Skop variabel terdiri dari:

OPERASI PERNYATAAN KONDISI

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

Keg. Pembelajaran 2 : Mengenal Bahasa C++

Tipe Data, Variabel, Input/Output

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori

Fungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD

BAB 6 FUNGSI TUJUAN PRAKTIKUM

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Konsep Pemrograman. Bab 7. Fungsi1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

Pengantar Pemrograman Dengan C++

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

MODUL 5 SUBPROGRAM / FUNGSI

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0;

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Fungsi 1 DASAR PEMROGRAMAN

MODUL V POINTER DAN STRING

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

Algoritma Pemrograman 2B (Pemrograman C++)

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

VARIABEL & TIPE DATA PEMROGRAMAN C++

PEMROGRAMAN TERSTRUKTUR D3MI 2016

SUB PROGRAM (FUNGSI)

Tipe Data dan Operator

Function nama dipisahkan

MODUL. Pointer. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Fungsi. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

Array 1 Dimensi pada Java

Dasar Pemrograman TIP FTP UB

Modul program di dalam C++ disebut fungsi (function)

INF-103 Pemrograman II VECTOR & STRING. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

Fungsi, Parameter, Rekursi

DISUSUN OLEH BAB IX. Structt. //untuk. long. int nip; char. nama[31]; char } HAL 1

SUMBER BELAJAR PENUNJANG PLPG

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

DISUSUN OLEH BAB XI POINTER. alamat. memori. sepenuhnya. pointer. dan Pointer. menggunakan. menyebabkan. Alamat. untuk.

FUNCTION (FUNGSI) LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

Inheritance dan Polimorfisme

Fungsi DASAR PEMROGRAMAN

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Fungsi DASAR PEMROGRAMAN

Function. Function adalah satu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program. Format dari function :

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004)

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

PRAKTIKUM 7 FUNGSI 1

REVIEW ARRAY. Institut Teknologi Sumatera

Pemrograman Dasar C. Minggu 6

PRAKTIKUM 12 POINTER 2

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

elemen Dasar Bahasa Pemrograman C

Transkripsi:

PEMROGRAMAN BERORIENTASI OBJEK Fungsi Budhi Irawan, S.Si, M.T 10/27/2017 9:12:31 AM 1

PENDAHULUAN Fungsi merupakan kumpulan statemen yang dikelompokan menjadi satu bagian kode (blok program) untuk menyelesaikan tugas spesifik tertentu. Melalui cara seperti itu, kode (fungsi) hanya didefinisikan sekali, namun dapat digunakan berulang kali tanpa harus menuliskan kembali kode yang sama. 10/27/2017 9:12:32 AM 2

FUNGSI Dengan kata lain Fungsi merupakan subprogram dan berguna untuk menjadikan program untuk dapat lebih bersifat modular sehingga akan mudah difahami dan dapat digunakan kembali, baik untuk program itu sendiri maupun untuk program lain yang memiliki proses yang sama. 10/27/2017 9:12:32 AM 3

FUNGSI MAIN () Dalam setiap bahasa pemrograman (termasuk C++), fungsi dibedakan menjadi 2 yaitu userdefined function dan built-in function. User-define funtion adalah fungsi-fungsi yang didefinisikan sendiri, sedangkan built in function adalah fungsi-fungsi siap pakai yang telah disediakan oleh compiler. 10/27/2017 9:12:32 AM 4

FUNGSI DALAM PROGRAM Program Int main() { Fungsi1(); Statemen1; Fungsi1 return } Fungsi2(); Statemen2; return 0; Fungsi2 Fungsi(); return Fungsi3 return 10/27/2017 9:12:32 AM 5

MENDEFINISIKAN FUNGSI Secara umum bentuk pendefinisian fungsi dalam C++ adalah sebagai berikut : tipe_kembalian nama_fungsi(daftar_parameter) { // badan fungsi } Keterangan : Tipe_kembalian : Fungsi bisa saja mempunyai nilai balik (nilai kembalian). Tipe Kembalian adalah tipe data dari nilai yang akan dikembalikan oleh fungsi Nama_fungsi : Nama fungsi adalah nama yang akan digunakan dalam pemanggilan. Pemanggilan fungsi harus disesuaikan dengan 10/27/2017 9:12:32 AM 6 daftar parameter yang disertakan pada saat pendefinisian fungsi.

MENDEFINISIKAN FUNGSI Keterangan : Daftar parameter : Fungsi bisa saja memiliki satu atau lebih parameter. Parameter itu sendiri merupakan variabel yang berisi nilai yang akan disertakan kedalam proses yang dilakukan fungsi. Badan_fungsi : kode atau statemen-statemen yang akan dilaksanakan didalam fungsi guna menyelesaikan tugas spesifik tertentu. 10/27/2017 9:12:32 AM 7

FUNGSITANPA NILAI BALIK C++ tidak mengenal istilah prosedur (procedure) seperti pada saat melakukan pemrograman dengan menggunakan bahasa pascal. Dalam bahasa pascal, prosedur didefinisikan sebagai suatu proses yang tidak mengembalikan nilai. Untuk melakukan hal ini dalam C++, maka harus dibuat suatu fungsi dengan tipe void, yang 10/27/2017 9:12:32 AM 8 berarti tidak memiliki nilai balik (return value)

FUNGSITANPA NILAI BALIK Bentuk umum dari pembuatan fungsi tanpa nilai balik ini sebagai berikut : void nama_fungsi (parameter1, parameter2, ){ Statemen_yang_akan_dilakukan; } Bentuk umum untuk pemanggilan fungsi tanpa nilai balik (yang sebelumnya telah didefinisikan) adalah sebagai berikut : 10/27/2017 9:12:32 AM 9 nama_fungsi(nilai_parameter1, nilai_parameter2, );

FUNGSITANPA NILAI BALIK #include <iostream> using namespace std; // Membuat fungsi dengan nama Tulis10Kali() void Tulis10Kali() { for (int C=0; C<10; C++) { cout<<"saya Sedang Belajar PBO Menggunakan C++"<<endl; } } // Fungsi utama dalam program C++ int main() { // Memanggil fungsi Tulis10Kali() untuk dieksekusi Tulis10Kali(); return 0; } 10/27/2017 9:12:32 AM 10

FUNGSI DENGAN NILAI BALIK Berbeda dengan fungsi yang bertipe void, fungsi ini berguna untuk melakukan suatu proses yang dapat mengembalikan sebuah nilai. Dalam membuat fungsi ini maka harus didefinisikan tipe data dari nilai yang akan dikembalikan : tipe_data nama_fungsi (parameter1, parameter2, ){ Statemen_yang_akan_dilakukan; return nilai_yang_akan_dikembalikan; 10/27/2017 9:12:32 AM 11

FUNGSI DENGAN NILAI BALIK Karena fungsi dengan nilai balik ini sebenarnya adalah sebuah nilai atau ekspresi, maka pemanggilannya dapat dilakukan layakna seperti sebuah variabel Sebagai contoh, nilai yang dikembalikan dapat ditampung kedalam suatu variabel tertentu yang memiliki tipe data sama dengan tipe kembalian fungsi bersangkutan : nama_variabel = nama fungsi (parameter1, parameter2, ); 10/27/2017 9:12:32 AM 12

FUNGSI DENGAN NILAI BALIK Selain itu, pemanggilan fungsi juga bisa saja dilakukan langsung melalui perintah cout, jika keperluannya adalah ingin menampilkan nilai yang dihasilkan fungsi cout<<nama_fungsi(parameter1, parameter2, ); 10/27/2017 9:12:32 AM 13

FUNGSI MENGEMBALIKAN TIPE STRING Berikut ini dibuat fungsi sederhana yang mengembalikan nilai bertipe string. Dalam contoh ini, tidak akan digunakan parameter, maka dari itu setiap pemanggilan fungsi akan menghasilkan nilai yang sama. 10/27/2017 9:12:32 AM 14

FUNGSI MENGEMBALIKAN TIPE STRING #include <iostream> using namespace std; // Membuat fungsi sederhana yang mengembalikan tipe string char* FungsiString() { return (char*) "Ini adalah nilai dari fungsi"; } // Fungsi utama int main() { // Memanggil dan menampilkan hasil fungsi cout<<fungsistring(); return 0; } 10/27/2017 9:12:32 AM 15

FUNGSI MENGEMBALIKAN TIPE BILANGAN Selain mengembalikan tipe string, fungsi dari C++ juga dapat mengembalikan nilai berupa karakter, numerik (bilangan), boolean, pointer maupun yang lainnya. Pada bagian ini akan kembali dibuat program yang memiliki definisi fungsi dengan nilai balik. Kali ini, fungsi yang didefinisikan akan mengembalikan nilai berupa bilangan. 10/27/2017 9:12:32 AM 16

FUNGSI MENGEMBALIKAN TIPE BILANGAN #include <iostream> using namespace std; // Membuat fungsi dengan nilai kembalian bertipe double double FungsiBilangan() { return (3.14 * 3); } // Fungsi utama int main() { cout<<"nilai yang terdapat dalam fungsi : "; cout<<fungsibilangan(); } return 0; 10/27/2017 9:12:32 AM 17

FUNGSI DENGAN PARAMETER Sejauh ini masih dibuat fungsi yang tidak memiliki parameter sehingga setiap kali pemanggilan fungsi tersebut, hasil yang didapatkan selalu bernilai tetap. Berikutnya akan dibuat fungsi dengan parameter sehingga hasil yang diberikan dapat bersifat dinamis, tentunya tergantung dari nilai parameter yang dimasukan. 10/27/2017 9:12:32 AM 18

FUNGSI DENGAN PARAMETER Secara teori, parameter yang terdapat pada pendefinisian sebuah fungsi disebut dengan nama parameter formal, sedangkan parameter yang terdapat pada saat pemanggilan disebut dengan parameter aktual. Jumlah serta tipe data antara parameter formal dan parameter aktual haruslah sesuai, jika tidak maka compiler akan menampilkan pesan kesalahan. 10/27/2017 9:12:32 AM 19

FUNGSI DENGAN PARAMETER Ada juga referensi yang menyebut parameter formal dengan istilah parameter, sedangkan parameter aktual dengan istilah argumen. 10/27/2017 9:12:32 AM 20

JENIS PARAMETER Terdapat 3 buah parameter yang dapat dilewatkan pada sebuah fungsi dalam C++, yaitu : a. Parameter Masukan b. Parameter Keluaran c. Parameter Massukan/Keluaran 10/27/2017 9:12:32 AM 21

PARAMETER MASUKAN Sesuai dengan namanya, parameter ini akan digunakan sebagai nilai masukan (input) dalam sebuah fungsi. Nilai tersebut kemudian akan diproses oleh fungsi untuk menghasilkan sebuah nilai kembalian (return value). 10/27/2017 9:12:32 AM 22

PARAMETER MASUKAN #include <iostream> using namespace std; // Membuat fungsi dengan parameter bertipe masukan int KaliDua(int X) { int hasil; hasil = X * 2; return hasil; } int main() { /* Mendeklarasikan variabel yang akan digunakan sebagai nilai parameter pada saat pemanggilan */ int Bilangan, HASIL; cout<<"masukkan sebuah bilangan bulat : "; cin>>bilangan; HASIL = KaliDua(Bilangan); } // Menampilkan nilai setelah diproses di dalam fungsi cout<<"nilai Hasilnya : "<<HASIL; return 0; 10/27/2017 9:12:33 AM 23

PARAMETER KELUARAN Parameter keluaran adalah parameter yang berfungsi untuk menampung nilai yang akan dikembalikan. Parameter tersebut berguna sebagai nilai keluaran (output) dari sebuah fungsi. Parameter keluaran harus berupa pointer maupun referensi yang pada umumnya terdapat pada fungsi fungsi yang tidak mengembalikan nilai. 10/27/2017 9:12:33 AM 24

PARAMETER MASUKAN/KELUARAN Jenis parameter ini adalah parameter yang digunakan sebagai masukan dan juga keluaran. Karena akan diperankan sebagai parameter keluaran, maka parameter jenis ini harus berupa pointer ataupun referensi. 10/27/2017 9:12:33 AM 25

PARAMETER BERTIPE ARRAY Array dapat juga dijadikan sebagai parameter dalam sebuah fungsi. Sebagai contoh, disini akan dibuat dua fungsi yang memiliki parameter bertipe array. 10/27/2017 9:12:33 AM 26

PARAMETER BERTIPE POINTER Pada prakteknya, dalam program C++ parameter yang bertipe array ini sering diganti dengan parameter yang bertipe pointer. Berikut ini contoh program yang memperlihatkan bahwa parameter dengan tipe array dapat diganti dengan tipe pointer. 10/27/2017 9:12:33 AM 27

PARAMETER KONSTAN Sejauh ini hanya dibuat fungsi dengan parameter-parameter yang dapat diubah nilainya. Parameter sebuah fungsi dapat bersifat tetap (konstan), artinya didalam fungsi nilai parameter tidak dapat diubah. Untuk melakukan hal ini, maka perlu ditambahkan kata kunci const didepan deklarasi parameter tersebut. 10/27/2017 9:12:33 AM 28

PARAMETER DENGAN NILAI DEFAULT Nilai dari parameter yang terdapat dalam sebuah fungsi dapat diinisialisasi dengan nilai awal (default). Dengan cara seperti ini, jika tidak akan mendefinisikan nilai pada saat pemanggilan fungsi, maka nilai yang akan digunakan oleh fungsi adalah nilai default. Untuk melakukan hal ini maka perlu diisikan nilai parameter bersangkutan pada saat mendefinisikan fungsi. 10/27/2017 9:12:33 AM 29

PARAMETER DENGAN NILAI DEFAULT Bentuk umum dari pembuatan fungsi yang menggunakan nilai default pada parameternya adalah seperti yang tampak dibawah ini : tipe_data nama_fungsi(tipe_data parameter1=nilai_default, ){ return nilai_kembalian } 10/27/2017 9:12:33 AM 30

PARAMETER DENGAN NILAI DEFAULT #include <iostream> using namespace std; // Mendefinisikan fungsi untuk menghitung volume balok long VolumeBalok(int panjang, int lebar = 20, int tinggi = 5) { return (panjang * lebar * tinggi); } int main() { // Mendeklarasikan variabel p dengan nilai 50 int p = 50; // Mendeklarasikan variabel l dengan nilai 10 int l = 10; // Mendeklarasikan variabel t dengan nilai 2 int t = 2; long hasil; // Memanggil fungsi dengan tiga parameter hasil = VolumeBalok(p, l, t); cout<<"volume balok = "<<hasil<<endl; // Memanggil fungsi dengan dua parameter hasil = VolumeBalok(p, l); cout<<"volume balok = "<<hasil<<endl; } // Memanggil fungsi dengan satu parameter hasil = VolumeBalok(p); cout<<"volume balok = "<<hasil; return 0; 10/27/2017 9:12:33 AM 31

POINTER KE FUNGSI Meskipun fungsi bukan sebuah variabel, namun fungsi masih merupakan objek yang memiliki lokasi fisik di memori. Hal ini menunjukan bahwa nilai dari sebuah fungsi dapat diambil melalui pointer. Perlu sekali untuk diperhatikan bahwa cara untuk mendapatkan alamat dari sebuah fungsi adalah dengan menyebutkan nama fungsi tersebut tanpa 10/27/2017 9:12:33 AM 32 tanda kurung maupun parameter.

POINTER KE FUNGSI Sebagai contoh, misalnya pointer P menunjuk ke tipe int dan terdapat fungsi tambah() yang mengembalikan tipe int. dalam situasi seperti ini, dapat diperintahkan pointer P untuk menunjuk ke alamat dari fungsi tambah (). 10/27/2017 9:12:33 AM 33

MENGEMBALIKAN NILAI BERTIPE POINTER Dalam C++, kita dapat membuat fungsi yang mengembalikan nilai berupa pointer. Untuk melakukan hal ini tentu kita harus mendeklarasikan tipe data dari nilai kembalian dengan pointer. 10/27/2017 9:12:33 AM 34

MEMBUAT PROTOTIPE FUNGSI Dalam C++, fungsi-fungsi dapat dideklarasikan terlebih dahulu sebelum dilakukan pendefinisian. Definisi fungsi baru dibuat setelah pembuatan fungsi utama, hal ini disebut dengan istilah prototipe fungsi. Prototipe akan mempermudah kita dalam mengenali daftar fungsi yang tersedia atau akan didefinisikan didalam program. 10/27/2017 9:12:33 AM 35

MEMBUAT PROTOTIPE FUNGSI Bentuk umum dari pembuatan prototipe fungsi adalah seperti tampak dibawah ini. Tipe_data nama_fungsi(parameter1, parameter2, ); 10/27/2017 9:12:33 AM 36

MEMBUAT PROTOTIPE FUNGSI #include <iostream> using namespace std; // Membuat prototipe (deklarasi fungsi) Mendeklarasikan fungsi Kali() int Kali(int X, int Y); // Mendeklarasikan fungsi Tulis() void Tulis(int S); // Fungsi Utama int main() { int Bilangan1, Bilangan2, HASIL; cout<<"masukkan bilangan pertama : "; cin>>bilangan1; cout<<"masukkan bilangan kedua : "; cin>>bilangan2; cout<<endl; // Menggunakan fungsi Kali() HASIL = Kali(Bilangan1, Bilangan2); // Menggunakan fungsi Tulis() Tulis(HASIL); return 0; } // Membuat definisi fungsi Kali() int Kali(int X, int Y) { return (X * Y); } // Membuat definisi fungsi Tulis() void Tulis(int S) { cout<<s<<endl; } 10/27/2017 9:12:33 AM 37

FUNGSI INLINE Pada saat didefinisikan sebuah fungsi, compiler akan membuat satu set statemen didalam memori. Ketika pemanggilan fungsi berjalan maka eksekusi program akan meloncat ke statemen-statemen tersebut. Kemudian setelah fungsi mengembalikan nilai, maka eksekusi program akan kembali meloncat ke baris selanjutnya (baris setelah pemanggilan fungsi). 10/27/2017 9:12:33 AM 38

FUNGSI INLINE Apabila fungsi yang didefinisikan hanya terdiri dari sedikit statemen (misalnya 1 ata 2 baris), hal ini tentu akan mengurangi efisiensi program karena compiler harus meloncat keluar masuk untuk melakukan proses tersebut. Untuk menghindari hal ini C++, menyediakan fitur yang disebut dengan fungsi inline (inline function), yaitu menyertakan keyword inline didepan definisi fungsi. 10/27/2017 9:12:33 AM 39

FUNGSI INLINE Konsep dasar dari inline ini adalah proses penyalinan (copy) baris yang terdapat pada saat dilakukan pemanggilan fungsi tersebut Artinya jika dibuat fungsi inline, compiler tidak menyimpannya ke dalam memori melainkan akan hanya membuat salinan kode dari fungsi tersebut. Hal ini tentu tidak membutuhkan proses peloncatan statement sehingga proses eksekusinya akan lebih cepat. 10/27/2017 9:12:33 AM 40

FUNGSI INLINE #include <iostream> using namespace std; // Mendefinisikan fungsi inline yang mengalikan bilangan dengan 2 inline int Kali2(int X) { return X * 2; } // Fungsi utama int main() { int HASIL; // Melakukan pemanggilan fungsi inline untuk pertama kali HASIL = Kali2(10); cout<<"hasil = "<<HASIL<<endl; // Melakukan pemanggilan fungsi inline untuk kedua kali HASIL = Kali2(20); cout<<"hasil = "<<HASIL<<endl; } // Melakukan pemanggilan fungsi inline untuk ketiga kali HASIL = Kali2(30); cout<<"hasil = "<<HASIL<<endl; return 0; 10/27/2017 9:12:33 AM 41

REKURSI Rekursi adalah fungsi yang pada saat pendefinisiannya memanggil dirinya sendiri untuk melakukan proses didalamnya. Contoh paling sederhana untuk menunjukan proses rekursi adalah pada saat kita mebuat program untuk menghitung nilai faktorial dari sebuah bilangan bulat. 10/27/2017 9:12:33 AM 42

REKURSI #include <iostream> using namespace std; // Mendefinisikan fungsi Faktorial() int Faktorial(int X) { if (X==1) return(1); // Memanggil dirinya sendiri return X * Faktorial(X-1); } // Fungsi utama int main() { int Bilangan, HASIL; cout<<"masukkan bilangan yang akan dihitung : "; cin>>bilangan; // Memanggil fungsi Faktorial() HASIL = Faktorial(Bilangan); // Menampilkan hasil cout<<bilangan<<"! = "<<HASIL; } return 0; 10/27/2017 9:12:32 AM 43