Pemrograman Berbasis Objek Johannes Simatupang, MKom, Cobit5 NIDN : 0318017001 www.opensolusi.info Pertemuan-4 Versi 2.0.1.

Slides:



Advertisements
Presentasi serupa
Lingkup Variabel Kelas Penyimpanan Rekursi
Advertisements

KONSEP BAHASA PEMROGRAMAN
STRUKTUR DATA (5) Pointer dan Function
Konsep Pemrograman Berorientasi Objek, Modular dan Terstruktur
Algoritma dan Struktur Data
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Modul 11 – Hendi Hermawan - 1
Function: Lanjutan Pertemuan ke 9..
Subprogram Minggu V – VI
Method.
Function.
Pemrograman Berorientasi Objek Bab 1 – Pemrograman Terstruktur.
Alg&Pemrog 2B Sistem Komputer Variable  Variable dapat didefinisikan sebagai bagian dari memory untuk menyimpan nilai yang telah ditentukan.  Setiap.
STRUKTUR DATA recursive function.
Review-Dasar Pemrograman Komputer
Fungsi Lecture 7. Motivation Complexity of programming problem  more difficult to consider the solution as a whole  clue: dividing the problem into.
Person 12: Korinus gefilem Muh.eka.paputungan :Dosen: Ir. Hassanudin sirait,MT Person 12: Korinus gefilem Muh.eka.paputungan :Dosen: Ir. Hassanudin sirait,MT.
OPERATOR OVERLOADING The ability to provide the operators with a special meaning for a data type but its original meaning is not lost. Example: Operator.
STRUKTUR DATA (5) Pointer dan Function
Prosedur dan Fungsi.
Alokasi Memori Yuliana Setiowati.
SUBPROGRAM IN PASCAL PROCEDURE Lecture 5 CS1023.
STRUKTUR DATA Pointer dan Function
Fungsi Fungsi.
Function User Function.
Class and Object Introduction Specifying a Class Defining Member Function A C++ Program with Class Nesting of Member Functions Private Member Functions.
Pertemuan Operasi Seleksi
Fungsi Fungsi (Sub Program) :
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Dasar Pemrograman Java Pertemuan 2 Pemrograman Berbasis Obyek.
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
1 Pertemuan 2 Function & Pointer Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Teknik Pemrog. Terstuktur 2
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
Fungsi, Array dan String
METHODS Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0.
FUNGSI.
1 Komponen Program C bag 1. 2 Topik Type Variables Keywords dan Identifiers Assignments Constant Variables.
1 Pertemuan 12 Template Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan Fungsi Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.
OPERATOR DAN FUNGSI MATEMATIK. Operator  Assignment operator Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
FUNGSI.
if (condition) statement if (x == 100) cout << "x is 100";
Teknik. Pemrog. Terstruktur 2
DIG1G3 Implementasi Struktur Data
Prosedur dan fungsi By Serdiwansyah N. A..
5. Fungsi S. Indriani L, M.T 5. Fungsi.
METHODS Mr. Yasri Object Oriented Program.
Person 8.
Algoritme dan Pemrograman
Fungsi.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
As’ad Djamalilleil Function (Fungsi) As’ad Djamalilleil
Algoritme dan Pemrograman
Method (Metode).
Algoritma dan Pemrograman
~ PERTEMUAN 8 STRUKTUR REKURSIF ~
PERBEDAAN C DAN C++ Meriska Defriani, S
Recursive function.
if (condition) statement if (x == 100) cout << "x is 100";
Teknik. Pemrog. Terstruktur 2
Teknik Pemrog. Terstuktur 2
PERTEMUAN V F U N G S I Tujuan membuat suatu fungsi
Teknik Pemrog. Terstruktur 2
Defri Kurniawan POINTER Defri Kurniawan
T0616 ALGORITMA DAN PEMROGRAMAN (2)
Transcript presentasi:

Pemrograman Berbasis Objek Johannes Simatupang, MKom, Cobit5 NIDN : Pertemuan-4 Versi 2.0.1

Pokok Bahasan / Sub Pokok Bahasan Pertemuan-4

Modularity Programming (1): Function Concept  Functions membagi program ke dlm komponen program (modularisasi program) agar mudah di di-manage  Modules: functions dan classes  Programs dapat mengunakan modul baru dan “prepackaged” modules  Modul baru: programmer-defined functions, classes  Prepackaged: dari standard library (mis. Library Math)  Functions dipanggil oleh function call  Berupa function name dan argument  Analogy: Boss ke anak buah  Boss (calling function or caller) minta anak buahnya (called function) untuk melakukan task dan melaporkan (return) hasilnya. [A] Hal

Modularity Programming (2): Function Definition  Format function definition return-value-type function-name ( parameter-list ) { declarations and statements }  Return-value-type ▪ Data type hasil return ( void if nothing to returned)  Parameter list ▪ Deklarasi variable lokal yg dipisahkan oleh koma yg dikirim ke function ▪ Untuk mendapatkan informasi dari luar function ▪ If no arguments, use void or leave blank [A] Hal

Modularity Programming (3): Function Prototype  Memberitahukan compiler tentang tipe argument dan return type function int square( int ); Detail definisi fungsi ditulis nanti  Function prototype berisi  Function name  Parameters  Return type ( void if return nothing) [A] Hal

Modularity Programming (4): Function Prototype  Function Prototype harus sama dengan function definition  Function prototype double maximum( double, double, double );  Function Definition double maximum( double x, double y, double z ) { … }  Function signature  Adalah nama dan parameter function ▪ double maximum( double, double, double ); Function signature [A] Hal

Modularity Programming (5): Contoh Function Function Prototype Call Function Function Definition

Argumen Coercion  Arguments dapat memaksa type tertentu ▪ Converting int (4) to double (4.0) cout << sqrt(4)  Aturan konversi ▪ Argument secara otomatis di-convert ▪ Mengubah double menjadi int dapat memotong data 3.4 menjadi 3 ▪ Mixed type menjadi highest type (promotion) Int * double  double

Header Files  Header files berisi  Function prototypes  Definisi data types dan constant  Header files berakhiran.h  Programmer-defined header files #include “myheader.h”  Library header files #include

Recursion  Recursive functions  Functions that call themselves  Hanya dapat menyelesaikan base case  Jika tidak base case  Pecahkan problem ke dalam smaller problems  Buat function baru yg bekerja di smaller problem (recursive call/recursive step) ▪ Slowly converges towards base case ▪ Function makes call to itself inside the return statement

Contoh Recursion : Faktorial n! = n * ( n – 1 ) * ( n – 2 ) * … * 1  Recursive relationship  n! = n * ( n – 1 )! 5! = 5 * 4! 4! = 4 * 3!…  Base case  1! = 0! = 1 unsigned long factorial( unsigned long number ) { if ( number <= 1 ) // base case return 1; else return number * factorial( number - 1 ); }

Contoh Recursion : Deret Fibonacci  Deret Fibonacci fib(n) = fib(n-1) + fib(n-2) 0, 1, 1, 2, 3, 5, 8...  C++ code for Fibonacci function long fibonacci( long n ) { if ( n == 0 || n == 1 ) // base case return n; else return fibonacci( n - 1 ) + fibonacci( n – 2 ); }

Recursion vs. Iteration  Repetition  Iteration: explicit loop  Recursion: repeated function calls  Termination  Iteration: loop condition fails  Recursion: base case recognized  Keduanya melakukan pengulangan / looping

Inline Function  Inline functions  Keyword inline before function  Asks the compiler to copy code into program instead of making function call ▪ Reduce function-call overhead ▪ Compiler can ignore inline  Good for small and often-used functions  Example inline double cube( const double s ) { return s * s * s; }  const tells compiler that function does not modify s [A] Hal

Ilustrasi Inline Code

Contoh Inline Function #include const float Pi = ; inline float area(const float r) {return Pi * r * r;} main() { float radius; std::cout << "Enter the radius of a circle: "; std::cin >> radius; std::cout << "The area is " << area(radius) << "\n"; return 0; }

Call Function Type  Call by value  Copy of data passed to function  Changes to copy do not change original  Prevent unwanted side effects  Call by reference  Function can directly access data  Changes affect original  Call by Pointer  copies the address of an argument into the formal parameter  Changes affect original [A] Hal

Ilustrasi Passing By Value

Passing Argument to Functions (1): Byvalue  Constant

Passing Argument to Functions (2): By Value  Variable

Reference parameter  Reference parameter  Alias for argument in function call ▪ Passes parameter by reference  Use & after data type in prototype ▪ void myFunction( int &data ) ▪ Read “ data is a reference to an int ”  Function call format the same ▪ However, original can now be changed [A] Hal

Ilustrasi Reference Parameter

Contoh Call By Reference

Function Overloading  Function overloading  Functions with same name and different parameters  Should perform similar tasks ▪ I.e., function to square int s and function to square float s int square( int x) {return x * x;} float square(float x) { return x * x; }  Overloaded functions dibedakan oleh signature  Based on name and parameter types (order matters)  Name mangling ▪ Encodes function identifier with parameters  Type-safe linkage ▪ Ensures proper overloaded function called [A] Hal

Default Arguments  Function call with omitted parameters  If not enough parameters, rightmost go to their defaults  Default values ▪ Can be constants, global variables, or function calls  Set defaults in function prototype int myFunction( int x = 1, int y = 2, int z = 3 );  myFunction(3) ▪ x = 3, y and z get defaults (rightmost)  myFunction(3, 5) ▪ x = 3, y = 5 and z gets default [A] Hal

See you next session ….