class & object - cilikibi.files.wordpress.com · terminologi object object merupakan segala...

28
Algoritma Algoritma dan dan Pemrograman Pemrograman 1 C++ C++ Class & Object

Upload: others

Post on 08-Sep-2019

40 views

Category:

Documents


0 download

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)

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)

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)

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)

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)

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)

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)
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)
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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

DiskusiDiskusi

Apakah keuntungan dari Polymorp?

Apakah kelas anak dapat merujuk ke

alamat memori kelas induk??