OVERLOADING OPERATOR. Oleh: Rasim Ilkom - UPI

dokumen-dokumen yang mirip
OBJEK LANJUT. Oleh : Rasim Ilkom UPI

POLYMORPHISM. Oleh: Rasim Ilkom- FPMIPA Universitas Pendidikan Indonesia

Penggunaan Private dan Public dalam C++

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

PERTEMUAN IX DATA TINGKAT LANJUT

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

Chapter 9 Operator Types dan Operator Overloading

INHERITANCE. Oleh: Rasim ILKOM-FPMIPA-UPI

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

C V.S. C++ Oleh : Rasim

P3 Dasar Struktur Data TIF42/SIF42

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

OPERATOR, PERULANGAN DAN SELEKSI KONDISI

INPUT OUTPUT. cout. Digunakan untuk mencetak suatu informasi ke layar Contoh : cout << Halo Teknik Informatika

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

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

BAB IV. OPERATOR DAN STATEMENT

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

OPERATOR DAN UNGKAPAN

LATIHAN SOAL (FUNGSI & PROSEDUR)

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

BAB III FUNGSI DAN MODULASI DALAM PROGRAM

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

POINTER. Pemrograman Bahasa C++

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

Selection / Pemilihan PEMILIHAN

3. Elemen Dasar C++ S. Indriani S. L., M.T L.,

5. Fungsi. S. Indrianii L, M.T

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

VARIABEL & TIPE DATA PEMROGRAMAN C++

BAB VII PEWARISAN FUNGSI VIRTUAL

Fungsi : Dasar Fungsi

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

Fungsi 1 DASAR PEMROGRAMAN

pada program di atas, akan ditampilkan alamat memori dari variabel x, bukan nilai x.

BAB VII PEWARISAN. Dengan demikian, kesalahan indeks dalam program berikut akan terdeteksi:

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

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

Object Oriented Programming (OOP)

STRUKUR KENDALI : PERCABANGAN

LAPORAN RESMI. TIPE DATA ABSTRAK (TYPEDEF dan STRUCT)

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

C++ Mathematic Functions

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Kisi-Kisi Ujian Akhir Semester Algoritma dan Pemrograman Lanjut

Operator Aritmatika MODUL III OPERATOR

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

SUB PROGRAM (FUNGSI)

OPERATOR DAN EKSPRESI

Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran 2. Uraian Materi while do..while for continue dan break go to

BAB VII. FUNCTION. A. Pengantar Function. #include <iostream.h> #include <conio.h> { clrscr(); // detail function

PENGENALAN DAN PENERAPAN OOP PADA C++

Stack STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 5 : 6 Juli 2015

Daftar kelompok Kelas Mahasiswa Angkatan 52 Program Pendidikan Kompetensi Umum Institut Pertanian Bogor

INTERAKSI ANTAR OBJECT

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

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

Pengantar 2. anggota. Fungsi Friend

PEMAHAMAN DASAR DASAR JAVA

MODUL 1 Alur Seleksi dengan C++

Keg. Pembelajaran 3 : Operator dalam Bahasa C++

cout<<"masukkan nilai elemen["<<x<<"]= "; cin>> array[x];} min=array[0]; for (x=1;x<5;x++)

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

Queue Priority Queue STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 6 : 7 Juli 2015

PROCEDURE DAN FUNCTION

Pernyataan if MODUL V PERCABANGAN

OPERATOR BAHASA C. Obyektif : 4. Mengetahui macam-macam operator dalam Bahasa C. 5. Mengetahui dan dapat menggunakan format pada tiap tipe data..

BAB X. Struct Dalam C++, kita dapat membuat sebuah tipe data baru. Maka penulisan variabel baru kita akan menjadi:

IF PEMROGRAMAN LANJUT PERCABANGAN. Oleh : Andri Heryandi, M.T.

Imam Fahrur Rozi. Algoritma dan Pemrograman OPERATOR

Struktur Kontrol Pemrograman Java : PERCABANGAN

Dasar Pemrograman Java

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

ELEMEN DASAR C++ C++ mempunyai cara untuk menyatakan karakter-karakter yang tidak mempunyai kode tombol (seperti karakter tombol) misalnya \n.

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 4

2. Uraian Materi. a. Pengertian Fungsi

Manage Sort STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 4 : 30 Juni 2015

SL 1201 Materi tentang Fungsi

8. Pointer. S. Indriani L, M.T

MENGAKSES ELEMEN STRUKTUR

Jobsheet 09. Overloading and Overriding Method

I. Tipe Data - Variabel

Tipe Data dan Variabel

DASAR PEMOGRAMAN JAVA

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

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

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

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

Array. Pengantar. int a, b, c, d, e;

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

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

BAB XI ARRAY (LARIK)

Inheritance dan Polimorfisme

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

MODUL 5 PERULANGAN (LOOPING)

BAB III POINTER. Type *variabel-name

Transkripsi:

OVERLOADING OPERATOR Oleh: Rasim Ilkom - UPI

Pengantar Overloading Operator Konsepnya diilhami oleh operasi yang sering dialami dalam kehidupan sehari-hari, misalnya tanda +, -, x dan lain-lain Contoh: 3 + 5 4,9 + 9,2 Dalam C++, dapat tangani menurut bawaannya

Pengantar Overloading Operator..2 matrik_a + matrik_b Tidak dapat dilakukan oleh C++, sehingga perlu overloading terhadap operator tersebut. Jadi sintak overloading operator: Tipe operator simbol_operator(kelas objek) Tipe operator simbol_operator(tipe var)

Overloading thd Operator Biner Class Buah { int apel; int jeruk; public: Buah(int jum_apel=0, int jml_jeruk=0); void info_buah(); Buah operator + (buah b2); ;

Overloading thd Operator Biner..2 void main(){ Buah buah1(20, 5); Buah buah2(12, 4); Buah buah3; Buah::Buah(int jum_apel, int jum_jeruk){ apel =jum_apel; jeruk=jum_jeruk; buah3 = buah1+ buah2; cout<< objek buah 1 << endl; buah1.info_buah(); cout<< objek buah 2 << endl; buah2.info_buah(); cout<< objek buah 3 << endl; buah3.info_buah(); void Buah::info(){ cout<< Jumlah apel = << apel << Jeruk = << jeruk << \n << endl; Buah Buah::operator + (Buah b2){ Buah tmp; tmp.apel = apel+b2.apel; tmp.jeruk = jeruk + b2.jeruk; return(tmp);

Overloading thd Operator Unary Nama_kelas operator ++(void) //awalan Nama_kelas operator ++(int) //akhiran Nama_kelas operator --(void) //awalan Nama_kelas operator --(int) //akhiran

Contoh Class Buah { int apel; int jeruk; public: Buah(int jum_apel=0, int jml_jeruk=0); void info_buah(); Buah operator ++ (int); Buah operator --(void) ;

void main(){ Buah buah1(20, 5); cout<< objek buah 1 << endl; buah1.info_buah(); Buah buah2=buah1++; cout<< objek buah 2 << endl; buah2.info_buah(); Buah buah3=++buah1; cout<< objek buah 3 << endl; buah3.info_buah(); Buah::Buah(int jum_apel, int jum_jeruk){ apel =jum_apel; jeruk=jum_jeruk; void Buah::info(){ cout<< Jumlah apel = << apel << Jeruk = << jeruk << \n << endl; Buah Buah::operator ++ (int){ return(buah(apel++, jeruk++)); Buah Buah::operator -- (void){ return(buah(--apel, --jeruk));

Overloading Operator Majemuk Operator majemuk adalah: += /= -= *=

Contoh Class Buah { int apel; int jeruk; public: Buah(int jum_apel=0, int jml_jeruk=0); void info_buah(); Buah operator += (Buah); ;

void main(){ Buah buah1(20, 5); BUah buah2(8, 23); cout<< objek buah 1 << endl; buah1.info_buah(); cout<< objek buah 2 << endl; buah2.info_buah(); buah2 +=buah1; cout<< objek buah 2 << endl; cout<< setelah di += <<endl; buah2.info_buah(); Buah::Buah(int jum_apel, int jum_jeruk){ apel =jum_apel; jeruk=jum_jeruk; void Buah::info(){ cout<< Jumlah apel = << apel << Jeruk = << jeruk << \n << endl; Buah Buah::operator +=(Buah b){ apel += b.apel; jeruk +=b.jeruk; return(*this);

Pemakain Operator = Objek = nilai_dengan_tipe_data_dasar Nilai_dengan tipe_data_dasar = Objek Objek1 = Objek2 dengan kelas berlainan Rutin pengkonversi dilakukan pada kelas pemberi Rutin pengkonversi dilakukan pada kelas penerima

Objek = nilai_dengan_tipe_data_dasar class string{ char st[80]; public: string() { strcpy(st, ); string (char *s){ strcpy(st, s); void info(){ cout<< st = << st << endl; ; void main(){ string salam; salam.info(); salam= hai ; salam.info();

Nilai_dengan tipe_data_dasar = Objek class jarak{ int km; int meter; public: jarak(int n_km, m_meter); operator double(){ double mil=(1000 * double(km)+meter)/1600; return(mil); ;

void main(){ jarak x_y(115,7); double mil=x_y; cout<< jarak dalam mil = << mil << endl; Jarak::jarak(int n_km, int meter){ km=n_km; if (n_meter>1000 { km=km+(n_meter/1000); meter=(n_meter % 1000);

Objek1 = Objek2 dengan kelas berlainan Rutin pengkonversi dilakukan pada kelas penerima class kartesian{ double x; double y; public: kartesian(double x=0, double y=0); void info_kartesian(); double info_x(); double info_y(); ; class polar{ double panjang; double sudut; public: polar(double panjang=0, double sudut=0); polar (kartesian k); void info_koordinat(); ;

void main(){ kartesian posisi1(4,3); posisi1.info_koordinat(); polar posisi2=posisi1; posisi2.info_koordinat(); kartesian::kartesian(double x, double y){ kartesian::x=x; kartesian::y=y; void kartesian::info_koordinat(){ cout<< koordinat kartesian : <<endl; cout<< x = << x << endl; cout<< y = << y <<endl; Double kartesian::info_x(){ return(x); Double kartesian::info_y(){ return(y);

polar ::polar(double panjang, double sudut){ polar::panjeng=panjeng; polar::sudut= sudut; Polar::polar(kartesian k){ double x=k.info_x(); double y=k.info_y(); panjang = sqrt(x*x+y*y); sudut=atan(y/x); void polar::info_koordinat(){ cout<< Koordinat polar : <<endl; cout<< panjang = << panjang<<endl; cout<< sudut = << sudut << radian <<endl;

Objek1 = Objek2 dengan kelas berlainan Rutin pengkonversi dilakukan pada kelas pemberi Class polar; class kartesian{ double x; double y; public: kartesian(double x=0, double y=0); ; void info_kartesian(); operator polar(); class polar{ double panjang; double sudut; public: polar(double panjang=0, double sudut=0); void info_koordinat(); ;

void main(){ kartesian posisi1(4,3); posisi1.info_koordinat(); polar posisi2=posisi1; posisi2.info_koordinat(); kartesian::kartesian(double x, double y){ kartesian::x=x; kartesian::y=y; void kartesian::info_koordinat(){ cout<< koordinat kartesian : <<endl; cout<< x = << x << endl; cout<< y = << y <<endl;

kartesian::operator polar(){ double panjang = sqrt(x*x+y*y); double sudut=atan(y/x); return (polar(panjang, sudut)); polar ::polar(double panjang, double sudut){ polar::panjeng=panjeng; polar::sudut= sudut; void polar::info_koordinat(){ cout<< Koordinat polar : <<endl; cout<< panjang = << panjang<<endl; cout<< sudut = << sudut << radian <<endl;