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

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

INF-103 Pemrograman II INPUT/OUPUT INTRO. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

PEMROGRAMAN BERORIENTASI OBJEK

Fungsi 2. Ekohariadi FT Unesa

LATIHAN SOAL (FUNGSI & PROSEDUR)

ABSTRACT DATA TYPE (ADT) Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc

PENGENALAN FUNGSI C++

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

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

Minggu ke-11 Fungsi (Function)

Pertemuan Function. Obyektif Praktikum : 1. Mengerti konsep dasar penggunaan Function

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

Contoh function 1 : Output : // function example The result is 8 #include <iostream.h>

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

Abstrak. Pendahuluan. cerita. Pemrograman. mewakili semua. Struktur Bahasa. dan deklarasi. Mari. ilmuti.org Seluruh disertakan dalam

Game Technology Design Course College of Multi Media Yogyakarta Spring Tri Anggraeni, S.Kom., M.Sc.

Dasar Pemrograman. Visual Studio Program C++ Sederhana. Yoannita, S.Kom.

Minggu ke-14 Typedef, Struct & Command Line Argument

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

Kurikulum Qt. Chapter 4 Function. Fungsi

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Subprogram (dalam Bahasa C++ + Flowchart)

SL 1201 Materi tentang Fungsi

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

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

Penggunaan Private dan Public dalam C++

A. Putting a Program Together

Komentar, Identifier, Konstanta dan Variabel

SUB PROGRAM (FUNGSI)

A. Putting a Program Together

Algoritma Pemrograman 2B (Pemrograman C++)

PROCEDURE DAN FUNCTION

Fungsi 1. Ekohariadi FT Unesa

PENGANTAR KOMPUTER & SOFTWARE II

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

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

File I/O in C++ Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc

Algoritme dan Pemrograman

Minggu ke-10 Pointer. Pendahuluan. Objektif. Bahan Bacaan

Tipe Data dan Operator. Ekohariadi FT Unesa

Fungsi : Dasar Fungsi

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

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

TUTORIAL DASAR C++ BELAJAR C++ DARI NOL. Nor Kandir. Lab B201 - Teknik Elektro ITS Surabaya

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

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

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

P3 Dasar Struktur Data TIF42/SIF42

Gedung bisa diibaratkan sebagai fungsi main() sedangkan bagian yang lebih kecil merupakan fungsi yang menyelesaikan tugas tertentu.

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

Inheritance dan Polimorfisme

REVIEW ARRAY. Institut Teknologi Sumatera

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

Pengenalan C++ Oleh : Dewi Sartika

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Dasar-dasar C/C++ Ekohariadi FT Unesa

Algoritma Pemrograman 2B (Pemrograman C++)

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

Kurikulum Qt. Chapter 8 - Polymorphism. Polimorfisme. Problema Pewarisan Tunggal (Single Inheritance)

IF IF ELSE. ELSE IF SWITCH CASE STATEMENT F NT OR, W HILE D O WHILE I 2

Pointer dan Referensi

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Untuk mengurangi pengulangan program yang sama agar program menjadi terstruktur, rapi dan lebih mudah dikembangkan.

Pengantar Pemrograman Dengan C++

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Notasi Algoritma Separator Special Character. Dasar Pemrograman. Yoannita, S.Kom.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

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

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Aplikasi Rekursif dalam Analisis Sintaks Program

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

Sebagai contoh misalnya akan dibuat kelas turunan Silinder dari kelas dasar Lingkaran, maka dapat dituliskan :

Program menjadi terstruktur Dapat mengurangi pengulangan kode program. Fungsi dapat diimplementasikan dalam tiga bentuk :

BAB 6 FUNGSI TUJUAN PRAKTIKUM

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

MODUL 1 PENGENALAN ENVIROMENT C++

LAPORAN PRAKTIKUM SEMENTARA PENGANTAR PEMROGAMAN BAHASA C++

Pemrograman Dasar C. Minggu 6

Bahasa Pemrograman Sejarah singkat C++ Struktur program C++ Yoannita

MODUL 1 Alur Seleksi dengan C++

Pemrograman Dasar L A T I H A N M E T H O D / F U N G S I M E T H O D R E K U R S I F

Sekilas C DAN C++ DISUSUN OLEH. Sebuah bahasa, yaitu: 1. Bahasaa tingkat tinggi. High. dapat. lunak

Basic Input/Output Operator Yoannita

Notasi Algoritma Separator Special Character Kesalahan pada program Yoannita

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

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

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

Function. // function example. #include <iostream.h> int addition (int a, int b) { int r; r=a+b; return (r); }

Keg. Pembelajaran 2 : Mengenal Bahasa C++

Pengantar Pemrograman

PRAKTIKUM 7 FUNGSI 1

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

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

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA April 1, 2010 BAB 8 REKURSIF

Transkripsi:

INF-103 Pemrograman II FUNGSI C++ Dr. Taufik Fuadi Abidin, M.Tech Irvanizam, M.Sc Program Studi Informatika FMIPA UNIVERSITAS KUALA http://www.informatika.unsyiah.ac.id

Fungsi (Function) Eksekusi sebuah program dimulai dari fungsi main() Program biasanya dirancang dalam beberapa sub program yang disebut fungsi (function) Ketika program dieksekusi dan bertemu dengan pernyataan memanggil sebuah fungsi maka eksekusi program akan beralih ke fungsi tersebut. Setelah fungsi selesai dieksekusi, pernyataan dilanjutkan tepat pada bagian dimana fungsi itu dipanggil 2

Contoh #include <iostream> using namespace std; void echo(const string str){ cout << str << endl; int main(){ string kata; cout << "Ketik sebuah kata: "; cin >> kata; echo(kata); 3

Definisi Fungsi function header{ statements Pernyataan sebelum tanda kurung kurawal buka disebut sebagai header dari fungsi dan pernyataan setelah tanda kurung kurawal buka dan tutup disebut body dari fungsi Header dari sebuah fungsi ditulis dalam bentuk: tipe nama_fungsi (daftar parameter) Tipe adalah nilai yang akan dikembalikan oleh fungsi. Fungsi yang tidak mengembalikan nilai bertipe void. 4

Fungsi: Pernyataan return Ketika pernyataan return dieksekusi, eksekusi sebuah fungsi akan berhenti dan nilai akan dikembalikan ke posisi dimana fungsi tersebut dipanggil int maximum(int x, int y){ if (x > y) return x; else return y; called-by-value atau int maximum(int x, int y){ return ((x > y)? x : y); 5

Fungsi: Called-by-Value #include <iostream> using namespace std; int komulatif(int n){ int sum = 0; for ( ; n > 0; --n) sum += n; return sum; int main(){ int n = 3, sum; cout << n << endl; sum = komulatif(n); cout << n << " : " << sum << endl; 6

Fungsi Rekursif Fungsi rekursif (recursive function) memanggil dirinya sendiri dalam bagian body. Fungsi rekursif selalu memiliki bagian terminasi untuk menghentikan proses rekursif. long factorial(int n){ if (n <= 1) return; else return n * factorial(n - 1); 7

Fungsi Rekursif: Lanjutan void countdown(unsigned int n){ if (n <= 0) cout << "BLAST OFF" << endl; else { cout << "COUNT: " << n << endl; countdown(n - 1); 8

Default Argumen Default argumen merupakah fitur yang unik dari C++ yang ditulis dibagian header sebuah fungsi. Default argumen tidak ditemukan dalam C atau Java. Contoh: void author(string date, string ver, string programmer = "Taufik Abidin"){ cout << programmer <<", "; cout << "v: " << ver <<", "; cout << date << endl; 9

Default Argumen int main(){ author("1/1/2005", "1.30"); author("1/1/2008", "2.75", "Khalid"); Output Taufik Abidin, v:1.30, 1/1/2005 Khalid, v: 2.75, 1/1/2008 void foo(int i, int j = 7); // yes void foo(int i=3, int j); // no void foo(int i, int j=1, int k=2); // yes void foo(int i=1, int j=1, int k); // no 10

Default Argumen + Rekursif #include <iostream> using namespace std; int pangkat(int n, int k = 2){ assert(k > 1); // if false aborts if (k == 2) return (n * n); else return (pangkat(n, k - 1) * n); int main(){ int y = pangkat(2,3); cout << y << endl; 11

Fungsi sebagai Argumen double f(double x){return (x * x + 1.0 / x); void plot(double fcn(double), double x0, double incr, int n){ for (int i = 0; i < n; ++i) { cout << " x :" << x0 << " f(x) : " << fcn(x0) << endl; x0 += incr; int main(){ cout << "Plot: " << endl; plot(f, 0.01, 0.01, 100); 12

Overloading Overloading adalah mekanisme membuat definisi sebuah fungsi dengan nama yang sama tetapi tipe argumen atau jumlah argumen berbeda Compiler akan menentukan fungsi untuk dieksekusi berdasarkan kecocokan terhadap tipe dan argumennya 13

Overloading: Contoh double average(const int size, int& sum){ int data; cout << "\ninput " << size; cout << " int: " << endl; for (int i = 0; i < size; ++i) { cin >> data; sum += data; return static_cast<double>(sum)/size; 14

Overloading: Contoh Lanjutan double average(const int size, double& sum){ double data; cout << "\nenter " << size; cout << " doubles: " << endl; for (int i = 0; i < size; ++i) { cin >> data; sum += data; return sum / size; 15

Overloading: Contoh Lanjutan int main(){ int isum = 0; double dsum = 0.0; cout << average(10, isum); cout << " int average" << endl; cout << average(10, dsum); cout << " double average" << endl; 16

Inline pada Fungsi Penggunaan kata kunci inline didepan definisi sebuah fungsi mengakibatkan pada saat fungsi tersebut dieksekusi, bagian body dari fungsi tersebut dicopy seluruhnya pada baris dimana fungsi tersebut dipanggil Fungsi tanpa inline akan mengakibatkan function call invocation (penundaan eksekusi dan men-stack proses) pada saat pemanggilan fungsi terjadi Penggunaan inline akan mempercepat proses eksekusi program 17

Inline: Contoh inline double cube(double x){ return (x * x * x); Macro #define SQR(X) ((X) * (X)) #define CUBE(X) (SQR(X)*(X)) Macro atau inline? Argumen dalam macro tidak memiliki tipe sehingga tidak aman dan dapat menyebabkan kesalahan. Oleh karena itu, penggunaan macro tidak direkomendasikan dalam C++. 18

Inline: Contoh Lanjutan inline int min (const int x, const int y){ return (x < y? x : y); Pemanggilan fungsi min dalam program: int main(){ int a = 5 b = 3; int minimum = min(a,b); Mengakibatkan pada saat kompilasi, baris 3 diganti menjadi: int minimum = (x < y? x : y); 19

Tugas Bacaan: Ira Pohl C++ by Dissection: The Essentials of C++ Programming Halaman: 99 104 (Pointer ) 20