Apa itu OOP?

Pengantar Pemrograman Berorientasi Objek di Python

George Boorman

Curriculum Manager, DataCamp

Pemrograman prosedural

 

  • Kode sebagai urutan langkah
  • Cocok untuk analisis data

Tangga

1 Image source: https://unsplash.com/@tateisimikito
Pengantar Pemrograman Berorientasi Objek di Python

Berpikir dalam urutan langkah

 

ikon orang di tempat tidur diikuti ikon kopi lalu tas kerja

 

aneka ikon merepresentasikan banyak aktivitas

Pengantar Pemrograman Berorientasi Objek di Python

Pemrograman prosedural

 

  • Kode sebagai urutan langkah
  • Cocok untuk analisis data

Pemrograman berorientasi objek

 

  • Kode sebagai interaksi antarobjek
  • Cocok untuk membangun perangkat lunak
  • Kode mudah dirawat dan digunakan ulang!
Pengantar Pemrograman Berorientasi Objek di Python

Objek

$$\Large{\text{Objek = data + fungsionalitas}}$$

siluet orang dengan laptop merepresentasikan pelanggan

                                                  State - data objek

                                                  Behavior - fungsionalitas objek

Pengantar Pemrograman Berorientasi Objek di Python

Objek di Python

  • Semua hal di Python adalah objek
Objek Tipe
5 int
"Hello" str
pd.DataFrame() DataFrame
sum() function
... ...
Pengantar Pemrograman Berorientasi Objek di Python

Kelas sebagai cetak biru

  • Class: cetak biru untuk objek yang menentukan kemungkinan state dan behavior

kelas pelanggan

Pengantar Pemrograman Berorientasi Objek di Python

Kelas sebagai cetak biru

  • Class : cetak biru untuk objek yang menentukan kemungkinan state dan behavior

kelas pelanggan bercabang ke objek pelanggan

Pengantar Pemrograman Berorientasi Objek di Python

Kelas di Python

  • Objek Python dengan tipe yang sama berperilaku sama
  • lists adalah sebuah kelas
    • Dibuat dengan nilai dipisah koma [1, 2, 3, 4, 5]
    • Berbagi metode yang sama, mis. .append()
  • Gunakan type() untuk melihat kelasnya
type([1, 2, 3, 4, 5])
<class 'list'>
Pengantar Pemrograman Berorientasi Objek di Python

Atribut dan metode

State ↔ atribut
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# atribut shape df.shape
(3, 2)
  • Gunakan obj. untuk mengakses atribut dan metode
Behavior ↔ metode
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# metode head df.head()
   a  b
0  1  4
1  2  5
2  3  6
Pengantar Pemrograman Berorientasi Objek di Python

Menampilkan atribut dan metode

# Tampilkan atribut dan metode
dir([1, 2, 3, 4])
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
# Tampilkan atribut dan metode
dir(list)
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
Pengantar Pemrograman Berorientasi Objek di Python

Cheat sheet

Istilah Definisi
Class Cetak biru/template untuk membangun objek
Object Gabungan data dan fungsionalitas; instance dari sebuah kelas
State Data milik objek, ditetapkan melalui atribut
Behavior Fungsionalitas objek, didefinisikan lewat metode
Pengantar Pemrograman Berorientasi Objek di Python

Mari meninjau!

Pengantar Pemrograman Berorientasi Objek di Python

Preparing Video For Download...