Object Oriented Programming Bag.2 Pertemuan 24 Dasar Pemrograman Renni Angreni, S.Kom.

Slides:



Advertisements
Presentasi serupa
Sekilas C++.
Advertisements

1.Overloading method 2.Konstruktor 3.Overloading konstruktor 1.Overloading method 2.Konstruktor 3.Overloading konstruktor.
Polymorphism Suatu fungsi anggota dari suatu class dapat dijadikan sebagai fungsi virtual Jika fungsi ini dideklarasikan kembali pada class turunan dan.
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.
BAB III – CLASS (1) DIKTAT PBO Oleh: Adam Mukharil B. S.Kom.
Bab 4 Percabangan.
Pertemuan 7 Struktur Kendali Percabangan SWITCH Dasar Pemrograman Renni Angreni, S.Kom.
Algoritma dan Struktur Data
Pertemuan 2 – Manipulasi String PEMINATAN PROGRAMMING & DESAIN GRAFIS SMAK ST. LOUIS 2 SURABAYA POWERED BY PUEDE EDUCATION.
Asal Usul Bahasa C Visual Studio 2008 Program C++ Sederhana
Membuat Class Sendiri Atribut Pertemuan : Object Oriented Programming.
Komentar, Identifier dan Tipe Data
Pembahasan soal-soal pemrograman terstruktur
Konsep Pemrograman Berorientasi Objek
Pertemuan 17 ENUM & STRUCT Dasar Pemrograman Renni Angreni, S.Kom.
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
Pemrograman Dasar Fungsi.
Class, Inheritance, Encapsulation & Interface
Hubungan Antar Kelas.
Bab 5 Pengulangan.
Renni Angreni, S.Kom., M.Kom.
Class.
Struktur (Struct).
FUNGSI (Method) Bag.3 Pertemuan 20 Dasar Pemrograman
- PERTEMUAN 4 - PERULANGAN
Pertemuan : Object Oriented Programming
Pertemuan 3 KELUARAN dan MASUKAN (INPUT & OUTPUT) Dasar Pemrograman.
Pointer Dr. Lily Wulandari.
STATEMENT while Statement while digunakan untuk memproses suatu perintah atau beberapa perintah dalam beberapa kali. Bentuk pernyataan: while (kondisi)
Pertemuan 22 POINTER Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
OPERASI FILE Bag.1 Pertemuan 26 Dasar Pemrograman
Pertemuan 6 IF Bersarang / IF Bertingkat Nested IF Dasar Pemrograman.
Pertemuan 19 FUNGSI (Method) Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
1 Pertemuan 14 Operator Overloading Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Friend. Adalah fungsi bukan anggota kelas yg dapat mengakses anggota kelas. Secara umum friend berguna jika terdapat suatu operasi yg hendak mengakses.
WHILE & DO-WHILE Struktur Kendali Percabangan Pertemuan 8
Scope Variable *dalam fungsi Tenia Wahyuningrum, S.Kom., MT
Bag.3 Object Oriented Programming Pertemuan 25 Dasar Pemrograman
Operasi Dasar Input/Output
Tenia Wahyuningrum, S.Kom., MT
Bab 05 Tipe Data dan Mengisi Variabel
Pertemuan: Object Oriented Programming
CLASS, OBJECT METHOD, PROPERTIES Object Oriented Programming
Dibuat oleh : Renni Angreni, S.Kom.
Dibuat o/ : Renni Angreni, S.Kom.
FUNGSI Nyimas Artina Arfansyah, S.Kom, M.Si.
Pertemuan 19 FUNGSI (Method) Bag.2 Dibuat oleh : Renni Angreni, S.Kom. Triana Elizabeth, S.Kom.
Renni Angreni, S.Kom., M.Kom.
POINTER Bag.2 Pertemuan 22 Dibuat oleh : Renni Angreni, S.Kom. Triana Elizabeth, S.Kom.
OPERASI FILE Bag.2 Pertemuan 27 Dasar Pemrograman
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
Kontrak Kuliah Pengenalan OOP
Access Modifier.
Pertemuan 21 POINTER Bag.1 Dasar Pemrograman Renni Angreni, S.Kom.
ARRAY (Array Dimensi Satu) Pertemuan 15 Dasar Pemrograman
POLYMORPHISM (Overloading)
ARRAY (Array Dua Dimensi) Pertemuan 16 Dasar Pemrograman
FUNGSI (Method) Bag.1 Pertemuan 18 Dasar Pemrograman
Operator overloading.
C++ static.
Pemrograman Berorientsi Objek Pertemuan 15
Class.
BAB VI – FRIEND (KHUSUS C++)
Pilar Object Oriented Programming
FOR Perulangan Menggunakan Pertemuan 10 Dasar Pemrograman
Operator Unary & Operator Ternary Pertemuan 9 Dasar Pemrograman
Pilar Object Oriented Programming
Pemrograman Berorientasi Objek <PBO>
C++ Polymorphism.
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
Transcript presentasi:

Object Oriented Programming Bag.2 Pertemuan 24 Dasar Pemrograman Renni Angreni, S.Kom.

Merujuk ke Diri Sendiri Jika kita perlu menggunakan nama argumen method yang sama dengan nama variabel lokal suatu class, maka kita dapat menggunakan operator ruang lingkup untuk membedakannya. Misalkan suatu kelas memiliki properties nama dan sebuah method setNama(string nama), kita dapat merujuk pada : Properties nama dari kelas dengan cara : namaKelas::nama Argumen method dengan cara : nama Properties nama dari kelas dengan cara : this->nama

#include using namespace std; class Orang {private: string nama; public: void setNama(string nama) { Orang::nama = nama; } void cetakNama() { cout<<nama; } }; void main() {Orang si_A; si_A.setNama("Arnold"); si_A.cetakNama(); _getch(); }

#include using namespace std; class Orang { private: string nama; public: void setNama(string nama) { nama = nama; // tidak jalan } void cetakNama() { cout<<nama; } }; void main() {Orang si_A; si_A.setNama("Arnold"); si_A.cetakNama(); _getch(); }

#include using namespace std; class Orang { private: string nama; public: void setNama(string nama) { this->nama = nama; } void cetakNama() { cout<<nama; } }; void main() {Orang si_A; si_A.setNama("Arnold"); si_A.cetakNama(); _getch(); }

Operator " :: " disebut sebagai operator ruang lingkup, fungsinya untuk merujuk pada lingkup tertentu, misalkan lingkup kelas. Sedangkan " this-> " merupakan suatu variabel yang merujuk pada diri sendiri (objek yang dihasilkan oleh class tersebut).

#include using namespace std; class Robot { private: float X; float Y; public: void setLokasi(float X, float Y) { if (X 100.0) { cout<<"Nilai X di luar batas\n"; return; } if (Y 100.0) { cout<<"Nilai Y di luar batas\n"; return; } Robot::X = X; Robot::Y = Y; } Lanjut …

void tampilLokasi() { cout<<"Lokasi robot : ("<<X<<","<<Y<<")"<<endl; } }; void main() { Robot robo1; robo1.setLokasi(20,5); robo1.tampilLokasi(); robo1.setLokasi(150,30); robo1.tampilLokasi(); robo1.setLokasi(70,200); robo1.tampilLokasi(); robo1.setLokasi(120,120); robo1.tampilLokasi(); robo1.setLokasi(75,60); robo1.tampilLokasi(); _getch(); } … lanjutan

Static Member dan Function Jika suatu field di dalam suatu kelas didefinisikan dengan keyword static di depannya, maka field tersebut dapat digunakan bersama-sama oleh semua objek kelas tersebut. Member static sering dipakai untuk mendeklarasikan konstanta pada suatu kelas. Field static bisa diakses tanpa membuat suatu objek (diakses langsung dari kelas).

class Robot { public: static int jmlRobot; void tambahRobot() { jmlRobot++; } }; int Robot::jmlRobot = 0; void main() { Robot robo1, robo2, robo3; robo1.tambahRobot(); robo2.tambahRobot(); robo3.tambahRobot(); cout<<"Jumlah robot sekarang : “ <<Robot::jmlRobot<<endl; _getch(); }

CONSTRUCTOR Constructor adalah suatu fungsi yang dipanggil setiap kali suatu objek diwujudkan. Untuk membuat constructor suatu class, kita mendefinisikan fungsi dengan nama yang sama dengan nama kelasnya. Constructor dapat berjumlah lebih dari satu. Harus didefinisikan dengan access modifier public. Tidak memiliki nilai balik / return value. Biasanya berisi instruksi untuk inisialisasi data objek. Hanya bisa dipanggil pada saat objek baru dibuat.

class Kompleks { private: double real; double ima; public: Kompleks(); //ini constructor void info(); }; Kompleks() merupakan fungsi anggota yang bertindak sebagai constructor.

#include using namespace std; class manusia { private: string nama; int usia; string jenis; int tinggi; public: manusia();//mendefinisikan fungsi constructor void kepribadian(string n, string j, int u, int t) { nama = n; jenis = j; usia = u; tinggi = t; } Contoh Constructor Lanjut …

void cetak() { cout<<"=================================="<<endl; cout<<"Nama : "<<nama<<endl; cout<<"Jenis Kelamin : "<<jenis<<endl; cout<<"Usia : "<<usia<<endl; cout<<"Tinggi : "<<tinggi<<endl; cout<<"=================================="<<endl; } }; manusia::manusia() { cout<<"Selamat Datang!!!"<<endl; } void main() { manusia mdp; mdp.kepribadian("Angeline", "Perempuan", 20, 155); mdp.cetak(); _getch(); } … lanjutan

void main() { manusia mdp; mdp.kepribadian("Angeline", "Perempuan", 20, 155); mdp.cetak(); mdp.kepribadian("David", "Laki-Laki", 23, 175); mdp.cetak(); manusia mdp1; mdp1.kepribadian("Charlie", "Laki-Laki", 21, 168); mdp1.cetak(); manusia mdp2; mdp2.kepribadian("Betrice", "Perempuan", 20, 160); mdp2.cetak(); _getch(); }

Contoh Constructor dengan Argumen Lanjut … #include using namespace std; class Lingkaran { private: double radius; public: void setLingkaran(double r) { radius = r; } Lingkaran() { cout<<"Objek baru telah dibuat..."<<endl; } Lingkaran(double r) { radius = r; cout<<"Objek baru telah dibuat,”<<endl;

… lanjutan cout<<"dengan radius objek = "<<radius<<endl; cout<<"Keliling objek = "<<keliling()<<endl; cout<<"Luas objek = "<<luas()<<endl; } double luas() { return (radius * radius * 3.14); } double keliling() { return (2 * radius * 3.14); } void getLingkaran() { cout<<"================================="<<endl; cout<<"Panjang jari-jari : "<<radius<<endl; cout<<"Keliling Lingkaran : "<<keliling()<<endl; cout<<"Luas Lingkaran : "<<luas()<<endl; cout<<"================================="<<endl; } }; void main() {Lingkaran lingkaranKecil; lingkaranKecil.setLingkaran(10); lingkaranKecil.getLingkaran(); cout<<endl; Lingkaran lingkaranBesar(10); _getch(); }

DESTRUCTOR Destructor adalah suatu fungsi yang dipanggil / dijalankan secara otomatis ketika suatu objek dari suatu kelas tersebut dihancurkan / dibuang. Nama destructor sama seperti nama constructor, tetapi diawali karakter “ ~ “ Suatu objek dihancurkan dengan perintah : delete namaObjek; Contoh pada kelas : public: Bilangan(); //ini constructor ~Bilangan(); //ini destructor

Contoh Penggunaan Destructor Lanjut … #include using namespace std; class Bilangan { private: int i; public: Bilangan(); ~Bilangan(); void info_data(); }; void main() { Bilangan *x; x = new Bilangan(); delete x; cout<<endl; Bilangan y; y.info_data(); cout<<"Fungsi main() berakhir... "<<endl; _getch(); }

… lanjutan Bilangan::Bilangan() { cout<<"Konstructor dijalankan..."<<endl; i = 55; } Bilangan::~Bilangan() { cout<<"Destructor dijalankan... "<<endl; } void Bilangan::info_data() { cout<<"i = "<<i<<endl<<endl; }

Dasar Pemrograman Renni Angreni, S.Kom.