Anda di halaman 1dari 28

PEMROGRA

MAN LANJUT

1
DASAR
PEMROGRAMAN
BERORIENTASI
OBJEK (PBO)
CONTOH
PROSEDURAL
PROGRAMMIN
G
Pemrogaman Prosedural
• Instruksi dilakukan langkah demi langkah
• Memecah program menjadi bagian-bagian kecil
(fungsi)
• Linier/Top-to-bottom
• Fortran, Algol, COBOL, Pascal, C, PHP, Javascript
Pemrograman Procedural

Dapat diakses oleh siapapun

Variabel Global Variabel Global Variabel Global

Variabel Variabel
Lokal Lokal

Fungsi Fungsi
Variabel Variabel
Lokal Lokal

Fungsi A Fungsi B
Hanya dapat diakses oleh fungsi A Hanya dapat diakses oleh fungsi B
Masalah Dalam Pemrogaman Prosedural

a. Akses yang tidak terhingga


b. Struktur program semakin rumit
c. Program semakin sulit untuk di modifikasi
d. Tidak sesuai dengan Pemodelan di dunia nyata
OOP
(Objek Oriented Programming)

• Teknik atau cara untuk membuat program yang


berorientasi pada Objek.
• Sistem ini terdiri dari komponen (kelas/obyek) yang
dapat melakukan interaksi dengan kelas/objek lainnya
untuk menyelesaikan suatu tugas.
OBJEK

DATA

MEMBER
FUNCTION

MEMBER
FUNCTION

OBJEK OBJEK

DATA DATA

MEMBER MEMBER
FUNCTION FUNCTION

MEMBER MEMBER
FUNCTION FUNCTION
Analogi dalam Dunia Nyata
Departmen
marketing
data
marketing

Manajer

pegawai

Departmen
SDM
finansial
Data Data
pegawai keuangan
manajer Manajer

pegawai pegawai
Object Oriented Programming
• Menyusun semua kode program (Function) dan
struktur data(varible) sebagai objek
• Objek adalah unit dasar dari program
• Objek bisa saling berinteraksi
• Data terenkapsulasi (encapsulated) dan
tersembunyi (hiding) merupakan kunci utama dari
OOP
• Objek menyimpan Attribut dan behavior (perilaku)
• Java, Ruby, Python, C++, Javascript, PHP5
INHERITANCE
KELAS
OBJEK

Karakteristik OOP
ENKAPSULASION
POLIMORFISME
OBJEK
• Adalah abstraksi/penggambaran dari sesuatu yang
mewakili sesuatu tersebut pada dunia nyata.
• Di OOP, tidak ada lagi pertanyaan bagaimana
membagi permasalahan menjadi fungsi, tapi
bagaimana membaginya ke dalam objek
• Objek terdiri atas attribute dan Behaviour
• Contoh :
trafik lalu lintas  Mobil, motor
PCB  Komponen elektrik
Perumahan  Rumah no 18
Kelas ini  ???
OOP : ATRIBUT
• Biasa disebut dengan Karakteristik
• Data yang membedakan antara satu obyek dengan yang lain
• Contoh: Kelas MOTOGP
• Type motor =Nama seri tiap motor per-tahun (RCV13)
• maxSpeed =Dalam satuan KM/Jam
• CompoundBan=Soft, Medium, Hard
• Pembalap =Nama Pembalap
• Dalam Bahasa pemrogaman C++, Atribut biasa dinamakan
variabel
OOP : BEHAVIOUR
• Hal-hal yang bisa dilakukan oleh obyek dari suatu kelas.
• Behaviour dapat digunakan untuk:
• mengubah nilai atribut suatu obyek.
• menerima informasi dari obyek lain.
• mengirim informasi ke obyek lain.
• Contoh:
• GantiJenisBan
• PercepatMotor
• Masukpitstop
• Behaviour bertindak seperti function dalam Bahasa pemrogaman
KELAS
• Kelas adalah template dari objek-objek yang memiliki
ciri dan perilaku yang sama
• Objek adalah anggota dari Kelas
• Kelas berfungsi sebagai rencana atau blueprint, yang
menentukan data dan fungsi seperti apa yang dapat
masuk menjadi objek di dalam kelas.
• Runtime: kelas  obyek
• Objek sering disebut sebagai Instansiasi(Instance) dari
suatu Kelas
SPESIFIKASI KELAS
Fitur Fitur
A B

Fitur
C

Benda A Benda B Benda C

Fitur Fitur Fitur Fitur Fitur Fitur


A B A B A B

Fitur Fitur Fitur


C C C

OBJEK OBJEK OBJEK


16
Instantiasi
Instantiasi
INHERITANCE /
PEWARISAN
• Berangkat dari ide suatu Kelas terdiri dari subkelas-subkelas.
• Antara Subkelas satu dengan yang lain ada yang berbagi karakteristik
yang sama, tetapi di samping itu juga memiliki ciri khasnya sendiri
Inheritance
Inheritance
Multilevel Inheritance
• Suatu Inheritance
/pewarisan dapat
tumbuh semakin
besar
• Suatu subkelas dapat
menjadi induk (Base
class) untuk kelas lain
dibawahnya (deriffied
class)
Inheritance : Reusability
• Sekali Kelas ditulis, dibuat dan didebug, maka kelas ini dapat
didistribusikan pada programmer lain untuk digunakan sebagai
program mereka sendiri
• Kelas yang baru akan mewarisi karakteristik dari kelas lama + fitur
baru miliknya sendiri
Contoh Reusability
Kelas lama

Mewarisi/Inherit

Add new
feature

Kelas Baru
POLYMORPHISM
• Polimorfisme mememungkinkan penggunaan operator atau
fungsi(function) dalam cara yang berbeda, tergantung dari
apa yang mereka operasikan (satu hal dengan beberapa
bentuk berbeda)
KESIMPULAN
• OOP adalah suatu paradigma pemrogaman yang menitikberatkan
pada pengorganisasian objek yang mengandung baik data dan fungsi
yang digunakan pada data.
• Inheritance membolehkan suatu kelas untuk diturunkan dari kelas
yang ada tanpa memodifikasinya. Kelas turunan memiliki semua data
dan fungsi dari kelas induknya, dengan tambahan hal baru miliknya
sendiri.
TERIMA
KASIH
ADA PERTANYAAN ?
TUGAS
1. SEBUTKAN MASING2 KELEBIHAN DAN KEKURANGAN
DARI OOP DAN PROSEDURAL PROGRAMMING
2. MANAKAH YANG LEBIH BAIK OOP ATAU PROCEDURAL
PROGRAMMING? JELASKAN!
3. BERIKAN CONTOH LAIN DARI MULTIPLE INHERITANCE!
(GAMBAR DALAM BENTUK SEPERTI CONTOH DIBAWAH)

Anda mungkin juga menyukai