class & object - cilikibi.files.wordpress.com · terminologi object object merupakan segala...
TRANSCRIPT
![Page 1: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/1.jpg)
AlgoritmaAlgoritma dandan PemrogramanPemrograman 11
C++C++
Class & Object
![Page 2: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/2.jpg)
TerminologiTerminologi ClassClass
Secara sederhana Class merupakan cara untukmengelompokkan data maupun bagian blok-blokprogram menjadi satubagian.
Class seperti halnyacetak biru dalam kodeprogram yang harus diinstance menjadi Objectagar siap digunakan.
![Page 3: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/3.jpg)
TerminologiTerminologi ObjectObject
Object merupakan segala sesuatu yang memiliki
suatu prilaku dan status.
Prilaku adalah kemampuan suatu object
(method)
Status adalah ciri-ciri (properties) dari objek
![Page 4: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/4.jpg)
StrukturStruktur PembuatanPembuatan ClassClass
class nama_class
{
private:
variabel_atau_subrutin;
public:
variabel_atau_subrutin;
protected:
variabel_atau_subrutin;
};
Private = Area yang tidak dapat diakses diluar Class
Public = Area yang dapat diakses diluar kelas
Protected = Area yang hanya dapat diakses didalam dandi class turunan
![Page 5: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/5.jpg)
KarakteristikKarakteristik ClassClass
Encapsulate
◦ AksesVariabel dan
method dapat ditutup
Inheritance
◦ Dapat menurunkan
sifat ke Class turunan
Polymorphism
◦ Memungkinkan
perubahan bentuk sifat
selama masih satu garis
turunan.
![Page 6: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/6.jpg)
ContohContoh KasusKasus
Buatlah Class Handphone
Prilakunya dapat diakses publik
◦ Dihidupkan
◦ Dimatikan
◦ Berdering
◦ Terima SMS
Status / Ciri-ciri dapat diakses publik
◦ Warna
◦ Berat
![Page 7: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/7.jpg)
![Page 8: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/8.jpg)
![Page 9: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/9.jpg)
JalankanJalankan program, program, apaapa hasilnyahasilnya??
![Page 10: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/10.jpg)
EncapsulateEncapsulate
Melindungi variabel agar tidak dapat
diakses secara langsung
![Page 11: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/11.jpg)
EncapsulateEncapsulate
![Page 12: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/12.jpg)
EncapsulateEncapsulate
![Page 13: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/13.jpg)
JalankanJalankan Program, Program, berapaberapa nilainilai GajiGaji
pertamapertama?? ?? SesuaikanSesuaikan dengandengan --20000?20000?
Kenapa nilai gaji pertama tidak sama dengan sintaks:
kry.setGaji(-20000);
Dan kenapa kode program
kry.setGaji(2000000);
membuat nilai gaji sesuai dengan nilai parameter yang
dimasukkan?
![Page 14: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/14.jpg)
Note:Note:
Encapsulation identik dengan SETTER dan GETTER
SETTER merupakan method untuk mengisikan nilai pada
variabel yang dibungkus (encapsulation). SepertisetNama, setGaji
GETTER merupakan method yang memberikan
informasi nilai variabel yang dibungkus (encapsulation). Seperti getNama(), getGaji()
![Page 15: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/15.jpg)
LatihanLatihan
Buatlah class Mahasiswa dengan menerapkanEnkapsulasi◦ Attribute / Status: Nama (Public)
Gender (Protected)
Alamat (Public)
◦ Prilaku / Method setNama
getNama
setGender (hanya bisa diisikan “L” atau “P”)
getGender
setAlamat
getAlamat
Implementasikan Class pada program utama untukmeminta user mengisikan nama, gender (L/P) danalamat. Kemudian tampilkan isi Nama, gender Alamatnya kembali. (gunakan Setter & Getter)
![Page 16: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/16.jpg)
InheritanceInheritance
Perluasan kemampuan kelas / Pewarisan.
Ayah
Anak Perempuan Anak Lelaki
![Page 17: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/17.jpg)
Inheritance, Class Inheritance, Class IndukInduk
![Page 18: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/18.jpg)
Inheritance, Class Inheritance, Class TurunanTurunan
![Page 19: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/19.jpg)
Inheritance, Inheritance, ImplementasiImplementasi
Lihat contoh diatas. Class Anak dapat menggunakan method Ayah nya, yaitu : setNama, getNama, getHarta.
Pada baris berintah ayh.setMainan("IPad 32GB"); hilangkan garismiring (//) didepannya untuk mengaktifkan perintah. Yang artinyakelass Ayah menggunakan Method milik Anaknya, KemudianJalankan, apa yang terjadi??
![Page 20: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/20.jpg)
LatihanLatihan Buatlah kelas Induk bernama MakhlukHidup dengan
ketentuan
◦ Attribut / status:
Nama ordo (public)
◦ Prilaku / method
reproduksi()
Isinya tampilkan tulisan “berkembang biak…”
Buatlah kelas Pohon sebagai anak atau turunan dari
MakhlukHidup
◦ Attribut / status
Nama (public)
◦ Prilaku / Method
berbuah()
Isinya tampilkan tulisan “pohon sedang berbuah…”
Implementasikan kelas Pohon pada program utama.
Panggil method induknya, yaitu reproduksi… Apakah bisa
berjalan???
![Page 21: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/21.jpg)
PolymorphismPolymorphism
Perubahan bentuk kelas agar dapat
fleksibel mengikuti kelas garis turunan.
![Page 22: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/22.jpg)
PolymorpPolymorp, Class , Class KendaraanKendaraan ((IndukInduk))
![Page 23: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/23.jpg)
PolymorpPolymorp, Class Motor , Class Motor AnakAnak Class Class
KendaraanKendaraan
![Page 24: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/24.jpg)
PolymorpPolymorp, Class Scooter , Class Scooter AnakAnak Class MotorClass Motor
![Page 25: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/25.jpg)
PenerapanPenerapan didi program program UtamaUtama
![Page 26: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/26.jpg)
HasilHasil??????
![Page 27: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/27.jpg)
LatihanLatihan ! ! BuatlahBuatlah KelasKelas dengandengan menerapkanmenerapkan
KonsepKonsep encalsupateencalsupate, , InheritanInheritan dandan PolymorpPolymorp
Class Bangun2D sebagan class Induk
◦ Porperti / attribut / ciri-ciri (Protected):
:Memiliki N1 bertipe float , N2 bertipe float serta Luas bertipe float
◦ Method / prilaku (public)
Int getN1(), menghasilkan nilai N1
Int getN2(), menghasilkan nilai N2
Float getluas(), meghasilkan nilai luas
Class PersegiPanjang sebagai anak turuna Bangun2D
◦ Method / prilaku (Public)
Void setPanjang; isi parameter mengisi ke N1
Void setLebar, isi parameter mengisi ke N2
void hitung(): melakukan rumus perhitungan luas bangun persegi panjang yaitu : Luas = N1 * N2
Program Utama
◦ Ciptakan objek persegi panjang. Isikan nilai panjang dan lebar dengan nilai angka terserah anda
◦ Kemudian ciptakan objek Bangun2D secara pointer dan dirujuk alamat memorinya ke objek PersegiPanjang
◦ Gunakan perintah keluaran untuk menampilkan getLuas
![Page 28: Class & Object - cilikibi.files.wordpress.com · Terminologi Object Object merupakan segala sesuatu yang memiliki suatu prilaku dan status. Prilaku adalah kemampuan suatu object (method)](https://reader030.vdocuments.mx/reader030/viewer/2022040105/5e07c24dd0f6d0688310a051/html5/thumbnails/28.jpg)
DiskusiDiskusi
Apakah keuntungan dari Polymorp?
Apakah kelas anak dapat merujuk ke
alamat memori kelas induk??