26
Pemrograman Berorientasi Obyek Ramos Somya

Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Embed Size (px)

Citation preview

Page 1: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Pemrograman Berorientasi Obyek

Ramos Somya

Page 2: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Adalah pembungkusan attribute atau behavioursehingga tidak dapat diganti secara sembarangandengan cara yang tidak seharusnya

Adalah sebuah konsep di mana data dan method /prosedur / function dibungkus ke dalam sebuahwadah yang disebut dengan objek.

Adalah sebuah mekanisme untuk me-restrictpengaksesan terhadap sebuah komponen dariobjek.

Page 3: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Information Hiding: Karena kita dapatmenentukan hak akses (public, private,protected, default) sebuah variabel/method dariobjek, dengan demikian kita bisamenyembunyikan informasi yang tidak perludiketahui objek lain.

Bisa juga digunakan untuk validasi.

Page 4: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Untuk membatasi akses (Visibility) Access Modifier.

Dapat diakses langsung tanpaadanya kontrol

Page 5: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Adalah sebuah kata kunci / keyword yangdigunakan untuk menentukan hak akses kelaslain terhadap sebuah kelas beserta attribute danbehaviour dari kelas tersebut.

Dituliskan di depan kelas / field / method. Ada 3 yang umum:

protected

private

public

Page 6: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Dapat diakses dari dalam dan luar kelas. Menggunakan kata kunci “public”. Dapat di-apply pada kelas, field dan method.

Page 7: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Hanya dapat diakses dari dalam kelas itu sendiri. Menggunakan kata kunci “private”.

Page 8: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Hanya dapat diakses dari kelas itu dan kelas –kelas yang merupakan turunan dari kelastersebut.

Menggunakan kata kunci “protected”.

Page 9: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Hanya kelas – kelas dalam package yang samayang memiliki hak akses terhadap attribut danmethod dalam class.

Jenis ini tidak memiliki kata kunci. Semua atribut dan method yang tidak secara

eksplisit dituliskan access modifier nya dianggapdefault.

Dapat di-apply pada kelas, field dan method.

Page 10: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Field encapsulation adalah salah satu teknik OOPuntuk menghindarkan pengaksesan secaralangsung terhadap isi dari attribute / field sebuahkelas tertentu dari kelas lainnya.

Setiap field yang akan dienkapsulasi diberi accessmodifier private sehingga tidak dapat diakses dariluar kelas tersebut.

Bagaimana mengaksesnya??? Menggunakangetter setter.

Dalam OOP, getter dan setter merupakanimplementasi dari enkapsulasi.

Page 11: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Getter (accessor) adalah sebuah method yang digunakanuntuk mengambil nilai / isi sebuah attribute kelas yangbersifat private.

Ciri getter: Memiliki access modifier yang dapat diakses dari luar

kelas tersebut Memiliki return value Nama method diawali dengan “get” diikuti nama

attribute yang diawali huruf besar (umumnya)

Page 12: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Setter (mutator) adalah sebuah method yang digunakanuntuk mengisi nilai / isi sebuah attribute kelas yangbersifat private.

Ciri setter: Memiliki access modifier yang dapat diakses dari luar

kelas tersebut Memiliki sebuah parameter sebagai value untuk

attribute yang diset Nama method diawali dengan “set” diikuti nama

attribute yang diawali huruf besar (umumnya)

Page 13: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan
Page 14: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan
Page 15: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan
Page 16: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Pewarisan attribute dan behaviour sebuah kelaskepada kelas yang lain.

Kelas turunan biasa disebut dengan child class /subclass sedangkan kelas yang mewarisi biasadisebut dengan parent class / superclass.

Selain mewarisi state dan behaviour darisuperclass-nya, subclass kemudian dapatmenambahkan state dan behaviour baru yangspesifik.

Page 17: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Kelas A disebut Super Class(Parent Class). Kelas B disebut Sub Class(Child Class).

Page 18: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

class KelasTurunan extends KelasDasar{

tubuh kelas

}

Page 19: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan
Page 20: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan
Page 21: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan
Page 22: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan
Page 23: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Pada kelas turunan (Anak) kita tidak dapat mengaksesvariabel yang memiliki akses modifier berjenis privateyaitu nama yang terdapat pada kelas dasar (Ayah).

Agar dapat diakses hanya oleh kelas turunan saja, kitadapat mengganti akses modifier variabel nama yangsemula private menjadi protected.

Page 24: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Buat KELAS Mahasiswa dengan atribut private NIM,Nama, Nilai, serta fungsi Indeks yangmengimplementasikan aturan pencetakan : JikaNilai > 60 Lulus dan jika Nilai <= 60Tidak Lulus.

Buat setter dan getter untuk NIM, Nama, serta Nilai. Buat KELAS Dosen sedemikian rupa sehingga bisa

memanfaatkan KELAS Mahasiswa dan mengisinyadengan nilai-nilai atribut sesuka Anda, sertamencetak keterangan Indeks berdasarkan nilai yangdimasukkan tadi.

Page 25: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan

Buat SUPERKELAS Mahasiswa dengan data/atributNIM, Nama, IPK.

Buat SUBKELAS Mhs_S1, Mhs_S2, Mhs_S3, denganmetoda/fungsi apaCumlaude() yang menuliskanketerangan Cumlaude jika IPK Mhs_S1 > 3,5, jika IPKMhs_S2 > 3,75, jika IPK Mhs_S3 > 3,9, dan menuliskanketerangan Tidak Cumlaude jika IPK di bawah nilai-nilai tadi.

Buat KELAS Uji_Mahasiswa yang membentuk objek-objek dari kelas-kelas Mhs_S1, Mhs_S2, dan Mhs_S3,dengan nilai bebas, dan kemudian menuliskanketerangannya masing-masing.

Page 26: Pemrograman Berorientasi Obyek - Ramos' Blog filePemrograman Berorientasi Obyek Ramos Somya Adalah pembungkusan attribute atau behaviour sehingga tidak dapat diganti secara sembarangan