You are on page 1of 87

FAISAL RAHMAN

Tempat Lahir : Jakarta


Tanggal Lahir : 19 Juli 1993
Alamat : JL SMU 64, Cipayung
Jakarta Timur

No HP : 0857 7024 6876

Pendidikan : S1 Teknik Informatika


Universitas Diponegoro
Instansi : Balai Besar Pengembangan
Latihan Kerja (BBPLK) Bekasi

ALPINE SKI HOUSE


Object Oriented
Programming
Apa itu Object
Oriented
Programming ?
Apa itu Object Oriented
Programming?
• Object Oriented Programming adalah sudut pandang Bahasa pemrograman yang
berkonsep “objek”
• Ada banyak sudut pandang Bahasa pemrograman, namum OOP adalah yang sangat
popular saat ini
• Ada beberapa istilah yang perlu dimengerti dalam OOP, yaitu Object dan Class

Add a footer 4
Apa itu Object?
• Object adalah data yang berisi properties (fields atau attributes) dan functions
(methods atau behavior)
• Semua data di Kotlin adalah object, dari mulai Number, Boolean, Character, String,
dan yang lainnya

Add a footer 5
Apa itu Class?
• Class adalah blueprint, prototype atau cetakan untuk membuat Object
• Class berisikan deklarasi semua properties dan functions yang dimiliki oleh Object
• Setiap Object selalu dibuat dari Class
• Sebuah Class bias membuat Object tanpa batas

Add a footer 6
Class dan Object: Person

Add a footer 7
Latihan : Class dan Object

Add a footer 8
Class
Membuat Class
• Untuk membuat class di Kotlin, kita bias menggunakan kata kunci class
• Membuat class di Kotlin tidak ada aturan harus sama dengan nama file seperti di
Java
• Namun agar kodenya rapi dan mudah untuk dimengerti, disarankan untuk membuat
nama class dan nama file sama. Misal class Person di file Person.kt

Add a footer 10
Kode: Class

Add a footer 11
Latihan : Membuat Class

Add a footer 12
Object
Membuat Object
• Membuat Object di Kotlin sangat mudah, mirip seperti memanggil function, dengan
menggunakan nama class
• Di Kotlin, tidak butuh kata kunci khusus untuk membuat Object, missal jika di Java
kita butuh menggunakan kata kunci new untuk membuat Object

Add a footer 14
Kode : Object

Add a footer 15
Latihan : Membuat Object

Add a footer 16
Properties
Properties
• Properties / Fields / Attributes adalah data yang bisa kita sisipkan di dalam Object
• Namun sebelum kita bias memasukkan data di Properties, kita harus
mendeklarasikan data apa saja yang dimiliki object tersebut di dalam deklarasi class
• Membuat Properties sama seperti membuat variable, bias mutable atau immutable

Add a footer 18
Kode : Properties

Add a footer 19
Latihan : Membuat Properties

Add a footer 20
Manipulasi Properties
• Properties yang ada di object bisa kita manipulasi. Tergantung mutable atau
immutable
• Jika mutable, berarti kita bisa mengubah data propertiesnya, namun jika immutable,
kita hanya bisa mengambil data propertiesnya saja
• Untuk memanipulasi data properties, sama seperti cara pada variable
• Untuk mengakses properties, kita butuh kata kunci . (titik) setelah nama object dan
diikuti nama propertiesnya

Add a footer 21
Kode : Manipulasi Properties

Add a footer 22
Latihan : Manipulasi Properties

Add a footer 23
Constructors
Constructors
• Saat kita membuat Object, maka kita seperti memanggil sebuah function
• Di dalam class Kotlin, kita bias membuat Constructors, Constructors mirip seperti
function yang akan dipanggil saat pertama kali Object dibuat
• Mirip seperti Function, kita bias memberi parameter pada Constructors

Add a footer 25
Kode : Constructors

Add a footer 26
Kode : Menggunakan Constructor

Add a footer 27
Latihan : Membuat dan
Menggunakan Constructors

Add a footer 28
Initializer Block
Initializer Block
• Initializer Block adalah blok kode yang akan dieksekusi ketika constructor dipanggil
• Kita bias memasukkan kode program di dalam initializer block

Add a footer 30
Kode : Initializer Block

Add a footer 31
Latihan : Membuat Initializer Block

Add a footer 32
Secondary
Constructor
Secondary Constructor
• Kotlin mendukung pembuatan constructor lebih dari satu
• Constructor yang utama yang terdapat di Class disebut primary constructor,
constructor tambahan yang bias kita buat lagi adalah secondary constructor
• Saat membuat constructor, kita wajib memanggil primary constructor jika ada
primary constructor

Add a footer 34
Kode : Secondary Constructor

Add a footer 35
Kode : Memanggil Secondary
Constructor

Add a footer 36
Latihan : Membuat dan
Memanggil Secondary Constructor

Add a footer 37
Properties di
Constructor
Properties di Constructor
• Kotlin mendukung deklarasi properties langsung di primary constructor
• Ini sangat berguna untuk mempersingkat saat kita membuat properties dan mengisi
datanya lewat constructor

Add a footer 39
Kode : Properties di Constructor

Add a footer 40
Kode : Memanggil Properties di
Constructor

Add a footer 41
Latihan : Properties di Constructor
dan Memanggilnya

Add a footer 42
Function
Function
• Selain Parameters / Fields / Attributes di dalam Class, kita juga bisa mendeklarasikan
Function
• Function yang kita deklarasikan di dalam Class, secara otomatis menjadi behavior si
object yang dibuat dari class tersebut

Add a footer 44
Kode : Function

Add a footer 45
Kode : Mengakses Function

Add a footer 46
Latihan : Membuat dan Mengakses
Function

Add a footer 47
Function Overloading
Function Overloading
• Function Overloading adalah kemampuan membuat function dengan nama yang
sama di dalam class
• Untuk membuat function dengan nama yang sama, kita wajib menggunakan
parameter yang berbeda, tipe parameter yang berbeda atau jumlah parameter yang
berbeda

Add a footer 49
Kode : Function Overloading

Add a footer 50
Kode : Mengakses Function
Overloading

Add a footer 51
Latihan : Membuat dan Mengakses
Function Overloading

Add a footer 52
This Keyword
This Keyword
• this adalah keyworld yang bias digunakan untuk mereferensikan object saat ini
• this hanya bisa digunakan di dalam class itu sendiri
• Biasanya this digunakan untuk mengakses properties yang tertutup oleh parameter
dengan nama yang sama

Add a footer 54
Kode : Tanpa this Keyword

Add a footer 55
Kode : Dengan this Keyword

Add a footer 56
Latihan : this Keyword

Add a footer 57
Inheritance
Inheritance
• Inheritance atau pewarisan adalah kemampuan untuk menurunkan sebuah class ke
class lain
• Dalam artian, kita bias membuat class Parent dan class Child
• Di Kotlin, tiap class Child, hanya bias punya satu class Parent, namun satu class
Parent bias punya banyak class Child
• Secara Standar, di class yang dibuat di Kotlin adalah final (tidak bisa diwariskan),
agar bias diwariskan kita harus menggunakan kata kunci open

Add a footer 59
Kode : Inheritance

Add a footer 60
Kode : Mengakses Behaviour Parent

Add a footer 61
Latihan : Inheritance dan
Mengakses Behaviour Parent

Add a footer 62
Function Overriding
Function Overriding
• Function Overriding adalah kemampuan membuat ulang function yang sudah ada di
class Parent
• Secara standar, function di class adalah final, tidak bias dibuat ulang di class Child
• Agar function bisa dibuat ulang di class Child, kita harus menggunakan kata kunci
open

Add a footer 64
Kode : Function Overriding

Add a footer 65
Kode : Mengakses Function Overriding

Add a footer 66
Final Override Function
• Saat kita membuat ulang function di class Child, secara standar function tersebut
bersifat open, yang artinya bias dibuat ulang di class Child dibawahnya lagi
• Jika ingin membuat override function tidak bisa dibuat ulang oleh class Child di
bawahnya lagi, kita harus menggunakan kata kunci final

Add a footer 67
Kode : Final Override Function

Add a footer 68
Latihan : Function Overriding

Add a footer 69
Properties Overriding
Properties Overriding
• Selain membuat ulang function di class Child, di Kotlin juga kita bisa membuat ulang
properties
• Secara standar, properties di class bersifat final, tidak bisa dibuat ulang di class
Childnya, agar bisa dibuat ulang, kita harus menggunakan kata kunci open

Add a footer 71
Kode : Properties Overriding

Add a footer 72
Kode : Mengakses Properties
Overriding

Add a footer 73
Latihan : Membuat dan Mengakses
Properties Overriding

Add a footer 74
Super Keyword
Super Keyword
• Kadang kita ingin mangakses function atau properties milik class Parent yang sudah
dibuat ulang oleh class Child
• Untuk mengakses function atau properties milik class Parent, kita bisa
menggunakan kata kunci super

Add a footer 76
Kode : Super Keyword di
Properties

Add a footer 77
Kode : Mengakses Super Keyword
di Properties

Add a footer 78
Latihan : Membuat dan Mengakses
Super Keyword di Properties

Add a footer 79
Kode : Super Keyword di Function

Add a footer 80
Kode : Mengakses Super Keyword
di Function

Add a footer 81
Latihan : Membuat dan Mengakses
Super Keyword di Function

Add a footer 82
Super Constructor
Super Constructor
• Kata kunci super tidak hanya bisa digunakan untuk mengakses function atau
properties di class Parent
• Kata kunci super juga bisa digunakan untuk mengakses constructor class Parent
• Mengakses constructor class Parent hanya bisa dilakukan di dalam constructor Child

Add a footer 84
Kode : Super Constructor

Add a footer 85
Kode : Mengakses Super
Constructor

Add a footer 86
Latihan : Membuat dan Mengakses
Super Constructor

Add a footer 87

You might also like