Sumber : repository.binus.ac.id/content/T0454/T ppt

Slides:



Advertisements
Presentasi serupa
Elemen Dasar C++.
Advertisements

Silahkan Salin Jawaban Anda DiKertas Sertakan : NIM. : Nama. : Kelas
Fungsi Friend Dalam bahasa C++ kita dapat membuat suatu fungsi yang berada di luar kelas (class) dan dapat meng-ak-ses bagian private suatu kelas. Fungsi.
Template.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Template. Templates Teknik membuat tipe data yang berupa arameter, artinya data tersebut dapat berubah - ubah tergantung parameter yang di berikan saat.
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
PENGENALAN c++ DAN STRUKTUR DASAR C++
PEMROGRAMAN SISTEM PERNYATAAN DASAR PILIHAN Pertemuan V
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
METHOD Object Oriented Programming with JAVA 2011/2012.
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
1 Pertemuan 14 Operator Overloading Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Operator Overloading Pertemuan 20 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 4 ELEMEN DASAR C++ Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Function User Function.
Structure Data - Array Pertemuan 7 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Friend. Adalah fungsi bukan anggota kelas yg dapat mengakses anggota kelas. Secara umum friend berguna jika terdapat suatu operasi yg hendak mengakses.
1 Pertemuan 6 Encapsulation Lanjutan Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan 2 Function & Pointer Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Fungsi, Array dan String
1 Pertemuan 18 Template Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Pertemuan 9 Stack dengan Linked-list
Pertemuan 10 Constructor dan Destructor
1 Pertemuan 12 Template Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Template 1. Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat merancang sebuah program dengan menggunakan template 2.
// Contoh program c++ dengan fungsi template
Kontrak Kuliah Pengenalan OOP
VARIABEL DAN JENISNYA A. Ridwan Siregar.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Pengertian FUNGSI.
ARRAY / LARIK STRUKTUR DATA Oleh : Yuli Praptomo PHS, S.Kom.
Transfer of control (pemindahan langkah)
Statement Control (if dan switch)
Pertemuan 10 Inheritance Lanjutan
5. Fungsi S. Indriani L, M.T 5. Fungsi.
Method & Constructor METHOD.
S T R U K T U R.
TYPE DATA ,VARIABEL &KONSTANTA Dalam C++
Polymorphism Pertemuan 23-24
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
ARRAY.
Constructor overloading
Constructor dan Destructor Pertemuan 17
Inheritance Pertemuan 21
PERNYATAAN DASAR DALAM C++.
Struktur.
Operator overloading.
Class dan Objek Lanjutan Pertemuan 18
C++ static.
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
Elemen-elemen Dasar Pada Bahasa C++
Melda Dahoklory,S.Kom,MT
Review Materi Java Fundamental
Inheritance lanjutan Pertemuan 22
S. Indriani Lestariningati, M.T
~ PERTEMUAN 4 KONSEP TIPE DATA ~
Pemograman Berorientasi Object Sistem Informasi Semster III
Pertemuan 5 (Variabel dan konstanta) .:: Erna Sri Hartatik ::.
Dasar Bahasa Java.
Array adalah sekumpulan data bertipe sama dengan menggunakan nama yang sama.
Generic Data Type Pertemuan 25
CLASS.
Materi 9 Pembahasan CLASS Dalam C++
STRUCTURE Struktur (Structure = struct) merupakan suatu struktur data yang terdiri dari satu atau lebih variabel yang bertipe data.
PERTEMUAN V F U N G S I Tujuan membuat suatu fungsi
Teknik Pemrog. Terstruktur 2
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
Transcript presentasi:

Sumber : repository.binus.ac.id/content/T0454/T045413255.ppt Pertemuan 14 Template

Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat merancang sebuah program dengan menggunakan template

Outline Materi Template Fungsi Template Class

Template C++ mendukung penggunaan kembali kode program dengan berbagai cara, seperti inheritance, composition (nested object) merupakan metode penggunaan kembali kode object. Template merupakan fasilitas C++ yang mendukung penggunaan kembali kode program.

Contoh pada dunia nyata: cetakan patung logam -> gips, lilin Template Template dapat diartikan sebagai blanko merupakan teknik membuat tipe data yang berupa parameter, artinya tipe data tersebut dapat berubah-ubah tergantung parameter yang diberikan pada saat inisialisasi. Contoh pada dunia nyata: cetakan patung logam -> gips, lilin Gunting -> benang, kertas

Contoh fungsi tukar bilangan bulat: Template Fungsi Dengan overloading terhadap fungsi dapat diciptakan beberapa fungsi dengan nama sama yang menangani proses dengan tipe data yang berlainan. Contoh fungsi tukar bilangan bulat: void Tukar(int &x, int &y) { int temp = x; x = y; y = temp; }

Untuk menukar bilangan real perlu Menuliskan: Template Fungsi Untuk menukar bilangan real perlu Menuliskan: void Tukar(double &x, double &y){ double temp = x; x = y; y = temp; } Demikian juga jika diinginkan untuk menukar karakter atau data lainnya, maka harus dituliskan kembali definisi dari fungsi tukar tsb.

Template Fungsi Kekurangan overloading adalah kode dari sejumlah fungsi dengan nama yang sama tersebut harus dituliskan. Dengan template, hal tersebut tidak perlu dilakukan, sehingga program menjadi lebih sederhana. Template fungsi sangat bermanfaat untuk fungsi-fungsi yang menangani tugas yang sama dan hanya berbeda pada tipe data.

Contoh template <class T> void Swap (T &x, T &y) { T temp = x; x = y; y = temp; }

Kata kunci template memberitahukan pada compiler bahwa pernyataan setelah kata ini merupakan template. Sesudah kata class dalam tanda < > terdapat pengenal T, yang digunakan sebagai penganti tipe data. Pengenal T ini biasa disebut sebagai template argument. Pengenal T tidak harus berupa karakter tunggal dan biasanya dituliskan dengan huruf besar.

// Contoh program c++ dengan fungsi template #include <iostream.h> template <class T> void Swap (T &x, T &y) { T temp = x; x = y; y = temp; } void main() { double x = 4.50, y = 7.54; cout << "X = " << x << " Y = " << y << endl; Swap( x, y); int p = 25, q = 10; cout << "P = " << p << " Q = " << q << endl; Swap( p, q);

Template fungsi dengan argument lebih dari satu Template argumen bisa lebih dari satu jika menggunakan tipe data lebih dari satu Template yang menggunakan lebih dari satu tipe data dapat didefinisikan dengan menuliskannya pada tanda < >. Misalkan: template <class A, class B>

// Contoh fungsi GTSum int GTSum(int *Data, long x, int size) { long sum = 0; for (int i=0; i < size; i++) sum += Data[i]; return ((sum > x) ? 1 : 0); } int GTSum(float *Data, double x, int size) { double sum = 0;

// Dapat ditulis dengan template: template <class A, class B> int GTSum(A *Data, B x, int size) { B sum = 0; for (int i=0; i < size; i++) sum += Data[i]; return ((sum > x) ? 1 : 0); }

// contoh program dengan template lebih dari satu tipe #include <iostream.h> template <class A, class B> int GTSum(A *Data, B x, int size) { B sum = 0; for (int i=0; i < size; i++) sum += Data[i]; return ((sum > x) ? 1 : 0); } void main() { int Data1[5] = {2, 3, 4, 5, 6}; float Data2[4] = {1.5, 2.6, 3.2, 5.1}; if ( GTSum(Data1, 20, 5) ) cout << “Total nilai Data1 lebih dari 20” << endl; else cout << “Total nilai Data1 tidak lebih dari 20 \n”; if ( GTSum(Data2, 10.5, 4) ) cout << “Total nilai Data2 lebih dari 10.5 \n”; cout << “Total nilai Data2 tidak lebih dari 10.5”;

Template juga dapat diterapkan pada class dengan format: Template Class Template juga dapat diterapkan pada class dengan format: template <class T> class nama_class { // deklarasi class };

// program template pada class stack #include <iostream.h> #include <stdlib.h> #include <conio.h> // template definition template <class T> class Stack { private: T *Data; int Size; int CountData; public: Stack(int Size = 25); ~Stack(); void Push (T nilai); T Pop(); int stackEmpty(); int stackFull(); };

template <class T> Stack<T> :: Stack( int Size ) { //constructor Stack::Size = Size; CountData = 0; Data = new T [Size]; } Stack<T> :: ~Stack() { // destructor delete [ ] Data; int Stack<T> :: stackEmpty() { return ( (CountData == 0)? 1: 0 ); int Stack<T> :: stackFull () { return ( (CountData == Size)? 1: 0 );

template <class T> void Stack<T> :: Push (T nilai) { if ( !stackFull() ) Data[CountData++] = nilai; else cerr << “Stack penuh” << endl; } T Stack<T> :: Pop() { if ( stackEmpty() ) { cerr << “Stack kosong” << endl; exit(1); return ( Data[--CountData] );

void main() { clrscr(); Stack<float> s1; s1.Push(10.85); s1.Push(25.2); cout << "Isi stack bilangan real: "<< endl; cout << "s1 ->1 = " << s1.Pop() << endl; cout << "s1 ->2 = " << s1.Pop() << endl; Stack<int> s2; s2.Push(100); s2.Push(10); s2.Push(5); cout << "Isi stack bilangan bulat: "<< endl; cout << "s2 ->1 = " << s2.Pop() << endl; cout << "s2 ->2 = " << s2.Pop() << endl; cout << "s2 ->3 = " << s2.Pop() << endl; }