// Contoh program c++ dengan fungsi template

Slides:



Advertisements
Presentasi serupa
PEMROGRAMAN SISTEM DASAR STRING Pertemuan IX
Advertisements

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.
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
Pointer.
Template.
Struktur Sugeng Supriyadi, M.Kom.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
ARRAY (Lanjutan).
Pemrograman Terstruktur
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
Pertemuan 17 ENUM & STRUCT Dasar Pemrograman Renni Angreni, S.Kom.
PENGENALAN c++ DAN STRUKTUR DASAR C++
Pointer dalam Stack.
PEMROGRAMAN SISTEM PERNYATAAN DASAR PILIHAN Pertemuan V
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Fungsi.
POINTER (VAR.PENUNJUK)
Pertemuan 22 POINTER Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
Struktur Data List Linear : Linked List (Double Linkedlist)
#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 4 ELEMEN DASAR C++ Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Friend. Adalah fungsi bukan anggota kelas yg dapat mengakses anggota kelas. Secara umum friend berguna jika terdapat suatu operasi yg hendak mengakses.
stack ==tumpukan== Tenia wahyuningrum st3 telkom purwokerto
Fungsi Fungsi (Sub Program) :
Bab 05 Tipe Data dan Mengisi Variabel
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
POINTER.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
STRUKTUR KONTROL PENYELEKSIAN KONDISI LANJUTAN…….
Fungsi, Array dan String
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
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.
Linked List & POINTER Pertemuan POINTER
VARIABEL DAN JENISNYA A. Ridwan Siregar.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
FUNGSI.
Statement Control (if dan switch)
Pertemuan 10 Inheritance Lanjutan
5. Fungsi S. Indriani L, M.T 5. Fungsi.
Informatique Engineering Ahmad Dahlan University May 17, 2004
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
S T R U K T U R.
TYPE DATA ,VARIABEL &KONSTANTA Dalam C++
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Constructor overloading
Constructor dan Destructor Pertemuan 17
Struktur.
Operator overloading.
Class dan Objek Lanjutan Pertemuan 18
P O I N T E R.
C++ static.
Sumber : repository.binus.ac.id/content/T0454/T ppt
Elemen-elemen Dasar Pada Bahasa C++
Tipe Data Dasar Variabel dan Konstanta
STACK / TUMPUKAN Struktur Data.
STACK Yohana Nugraheni.
Inheritance lanjutan Pertemuan 22
Class.
Pemograman Berorientasi Object Sistem Informasi Semster III
Generic Data Type Pertemuan 25
C++ Polymorphism.
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:

// 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; }

(diskusikan dalam kelompok) Penutup Untuk dapat merancang sebuah program dengan menggunakan template, mahasiswa membahas tugas pertemuan ini no 1, 2, dan 3. (diskusikan dalam kelompok)