OOP Programming Language
OOP Programming Language
29 maret 2023
Class
Contohnya hewan, (bisa karnivora atau herbivora- karn dan herb aadalah object atau manusia bisa
mahasiswa, pegawai kantoran (mahasiswa atau pekerja kantoran adalah object)
- Class gapunya return jadi dia ga perlu tipe data ataupun void
Object
Missal mahasiswa :
Encapsulation
Membungkus data
Inheritance
Jadi mahasiswa internasional / mahasiswa pindahan memilih sifat dan aksi yang sama seperti class
mahasiswa
Abstraction
Konsep: jadi kan ada proses tersendiri untuk mendapatkan nilai ipk (ada dirata ratain) di kolom
mahasiswanya tinggal display ipknya aja.
Konsep: dosen gatau proses pengerjaan project, Taunya cumin pas jadi aja
Polymorphism
Polimorfisme artinya “memiliki banyak bentuk”, maksudnya satu hal yang sama dapat memiliki
beberapa bentuk yang berbeda.
Bentuk yang berbeda ini didapat dari: Menggunakan 1 class yg sama, membedakannya dengan
pemanggilan beberapa object dari class tsb.
Method
Berada di dalam class, sifatnya sama seperti fungsi, fungsi memiliki return
Constructor
Fungsi special yang untuk pemanggilan 1 object atau lebih dan berada di dalam class.
Destructor
Struct berda di luar class, itu memiliki banyak data dengan beragam tipe datanya
Kalao constructor berada dalam class, itu untuk pemanggilan 1 object atau lebih,
Struct dan class tidak memiliki return, kemudian constructor juga tidak memiliki return
Syntax:
#include <iostream>
#include <string>
/*
*/
string nama; //nama dan jenis adalah sifat dan disebut encapsulation (pembungkus data)
string jenis;
int main()
harimau.jenis = "Karnivora";
harimau.printData();
return 0;
Output:
Kesimpulan:
Kodingan class hewan dan objectnya harimau mirip dengan kodingan polimorfisme diatas
Syntax:
#include <iostream>
class mahasiswa {
public:
mahasiswa();
};
mahasiswa::mahasiswa() {
// symbol ‘ : : ‘ disebut “Scope Resolution Operator” yang diletakkan diantara nama_class dan
nama_memberFunction
int main()
mahasiswa anissa;
return 0;
Output:
Syntax:
#include <iostream>
#include <string>
class orang{
public:
string nama;
orang(string pNama):
nama(pNama){
cout<<"orang dibuat\n"<<endl;
~orang(){
cout<<"orang dihapus\n"<<endl;
};
public:
string sekolah;
orang(pNama),
sekolah(pSekolah){
cout<<"pelajar dibuat\n"<<endl;
~pelajar(){
cout<<"orang dibuat\n"<<endl;
string perkenalan(){
return "Hallo, nama saya " + nama + " dari sekolah " + sekolah + "\n\n";
};
int main(){
cout<<andi.perkenalan();
return 0;
Output:
2 April 2023
Function
- Pengelompokan yang mengandung beberapa pernyataan yang akan dilaksanakan oleh CPU
Ketika naman ama function tsb dipanggil untuk diesksekusi, kecuali unuk function utama int
main () yang akan dieksekusi scr otomatis
- Fungsi : membantu kita mengelompokan pernyataan2 yang serupa berdasarkan tugas, proses
atau kategori
- Pemanggilan: memanggil nama function tsb
Pernyataan
Deklarasi function
Output:
Pemanggilan function
Output :
( Penjelasan dan Konsep OOP (Object Oriented Programming) - Belajar C++ (belajarcpp.com)
Contoh kasus: seseorang yang sedang dalam perjalanan dengan mobil.
Kondisi diatas memiliki 2 komponen (class) yaitu Manusia dan Mobil. Masing2 class terdiri dari
komponen kecil (object) yang menyusunnya.
Contoh pada class Manusia, terdapat object yang menyusunnya yaitu object kepala, badan, dan kaki.
Sama halnya dengan bahasa pemrograman berbasis object. Sebuah program besar terdiri dari
komponen2 besar (Class) yang menyusun dan setiap dari komponen besar (Class) itu memiliki
komponen2 kecil (object) di dalamnya.
Class
- Mirip seperti struct. Perbedaan class dan struct: Yang membedakan antara classdan struct
adalah access specifiernya.
+ Struct hanya memiliki SATU access specifier, yaitu public. Sedangkan, Class memiliki
TIGA access specifier yaitu public, private, protected.
- Class berisi object2 untuk menghasilkan suatu output tertentu, masing2 class biasanya memiliki
karakter output tersendiri
Object
- Adalah isi dari sebuah class juga mempresentasikan karakter dari sebuah class. Berisi sifat dan
fungsi untuk mengeluarkan output yang diinginkan.
Encapsulation
- Konsep pewarisan class, berupa class turunan dari sebuah class, class turunan akan memiliki
sifat dan fungsi yang dimiliki oleh class induk.
Abstraction
- Menyembunyikan detail proses (komponen kecil2 (sifat dan fungsi) yang membangun) sebuah
object. Bertujuan agar memfokuskan pengguna pada proses umum nya saja
Polymorphism
- Dalam Bahasa Yunani artinya memiliki banyak bentuk, jadi Ketika object yang berbeda
memberikan tanggapan atau respon terhadap pesan yang sama berdasarkan suatu class
Class
- Mirip dengan struct, perbedaannya yaitu pada class memiliki kemampuan lebih seperti method,
inheritance, dll
- Butuh keyword class kemudian nama class kemudian tanda { } untuk mengapit statement dari
class tsb.
- Class diakhiri dengan tanda titik koma ‘ ; ‘ karena merupakan sebuah pernyataan.
- Fungsi class dapat menampung member variable, function, constructor, desctructor,
overloading, dll. Juga membuat relasi seperti inheritance dan overriding.
Bentuk penulisan Object
Penulisan syntax class dan object yaitu ‘nada’, object berada di dalam deklarasi class
- Syaratnya: penulisan objectnya berada diantara ‘ } ’ dan ‘ ; ‘ diakhir class.
Syntax:
Output:
Keterangan:
Penulisan syntax class dan object yaitu ‘nada’, object berada di luar deklarasi class yaitu pada
fungsi main
- Syarat Penulisan: di fungsi main deklarasikan nama_class, kemudian spasi, kemudan
nama_object
Syntax:
Output:
Keterangan:
Inisialisi object
Syntax cara 1
- Inisialisasi objectnya diberikan saat pendeklarasian variabel
- Maka nilai awal itu akan berlaku pada semua object dengan nama yang sama di dalam class tsb.
Syntax:
Output:
Syntax:
Method
Function Prototype
- Method dideklarasikan di dalam class, dan untuk memberikan statement di luar class kita dapat
melakukan dengan “Scope Resolution Operator” yaitu symbol ‘ : : ‘, yang diletakkan di antara
nama_class dan nama_memberFunction
Contoh Penulisan
Output:
Latihan class dan object
#include <iostream>
class bunga {
public:
string nama;
string jenis;
void mengenalBunga () {
};
};
int main(void)
bunga bunga1;
bunga1.nama = "Mawar";
bunga1.jenis = "berduri";
//output
bunga1.mengenalBunga ();
}
Output:
Latihan Enkapsulasi
Private
Error karena member variable nama dan member function mengenalBunga () termasuk data private, jadi
tidak bisa diakses di luar class, dan tidak bisa diotak atik di luar class. Tidak seperti data bersifat public
yang digunakan untuk berkomunikasii dengan luar class
3 April 2023
Keyword ‘This’
Syntax:
Syntax: coba buat 1 contoh dengan menggunakan keyword this bisa mencetak atau deklarasi :
perhitungan persegi Panjang atau perkalian
#include <iostream>
using namespace std;
class luasPersegiPanjang {
int p, l;
public:
void perhitungan (int p, int l) {
int luas;
cout << "Berapa panjang dan lebar persegi panjang sebelum diberi nilaii: " << this -> p << "
dan " << this -> l << endl;
cout << "Berapa panjang dan lebar persegi panjang setelah diberi nilaii: " << p << " dan " << l
<< endl;
this->p = p;
this -> l = l;
cout << "Berapa panjang dan lebar persegi panjang sebelum diberi nilaii setelah kita inisiasi
dengan parameter: " << p << " dan " << l << endl;
luas = p*l;
cout << "Luas persegi panjang adalah: " << luas;
}
};
int main() {
luasPersegiPanjang luas;
luas.perhitungan(2, 3);
return 0;
}
Output:
Keyword ‘namespace’
Gunakan namespace untuk ketika fungsi kita ingin menggunakan variable yang sama
// namespaces
#include <iostream>
using namespace std;
namespace satu
{
int var = 5;
}
namespace dua
{
double var = 3.1416;
}
int main () {
cout << satu::var << endl;
cout << dua::var << endl;
return 0;
}
Output: