Anda di halaman 1dari 34

I Putu Arya Dharmaadi, S.T., M.T.

Dosen Jurusan Teknologi Informasi


Universitas Udayana
http://aryadharmaadi.com
Pendahuluan:
Pemrograman Prosedural
 Pada kuliah pemrograman dengan menggunakan
bahasa C, telah diajarkan pembuatan program secara
prosedural
 Pemrograman prosedural adalah pembuatan program
dengan memberikan serangkaian instruksi yang
berurutan secara top-down.
 Pada pemrograman procedural, program dibedakan
antara bagian data dengan bagian instruksi.

5 February 2016 http://aryadharmaadi.com 2


Prinsip Pemrograman Prosedural
 Penekanan utama pada sesuatu yang harus dikerjakan
secara berurutan
 Jika program cukup besar, maka dibagi-bagi menjadi
sub-sub program (fungsi atau prosedur) yang lebih
kecil
 Sebagian besar fungsi atau prosedur mengakses
variabel global

5 February 2016 http://aryadharmaadi.com 3


Contoh: Alat Counter

5 February 2016 http://aryadharmaadi.com 4


Paradigma PBO
 Pemrograman Berorientasi Objek (PBO) BUKAN
merupakan bahasa pemrograman, tetapi merupakan
sebuah paradigma (cara berpikir) baru dalam
pembuatan sebuah program.
 PBO menitikberatkan pada identifikasi objek-objek
yang terlibat dalam sebuah program dan bagaimana
objek-objek tersebut berinteraksi

5 February 2016 http://aryadharmaadi.com 5


Paradigma PBO (2)
 Pada PBO, program yang dibangun akan dibagi-bagi
menjadi objek-objek.
 Perlu diidentifikasi tentang:
 Objek yang apa yang akan digunakan,
 Data apa saja yang dibutuhkan oleh objek tersebut,
 Bagaimana perilaku dari objek tersebut,
 Bagaimana komunikasi objek satu dengan objek yang
lainnya sehingga bisa memecahkan masalah yang
diinginkan

5 February 2016 http://aryadharmaadi.com 6


Contoh: Sistem Perpustakaan
 Class Diagram
Anggota
Buku
+Nomor_Anggota
+Nama +Nomor_Buku
+Alamat +Judul
+Telp +Penerbit
+Daftar_Peminjaman +Kategori

Meminjam(Buku b)
Mengembalikan(Buku b)
5 February 2016 http://aryadharmaadi.com 7
Definisi PBO
 [Meyer98]: Sebuah sistem yang dibangun
berdasarkan metoda berorientasi objek adalah
sebuah sistem yang komponennya di-enkapsulasi
menjadi kelompok data dan fungsi, yang dapat
mewarisi atribut dan sifat dari komponen lainnya,
dan komponen-komponen tersebut saling
berinteraksi satu sama lain.

5 February 2016 http://aryadharmaadi.com 8


Definisi PBO (2)
 Pemrograman berorientasi objek adalah metode
pemrograman berdasarkan hirarki kelas, dimana
kelas-kelas tersebut didefinisikan dengan baik dan
bisa saling bekerja sama untuk memecahkan masalah.

5 February 2016 http://aryadharmaadi.com 9


Class (Kelas)
 Merupakan definisi statik (kerangka dasar) dari objek
yang akan diciptakan.
 Berupa struktur yang mendefinisikan data (property)
dan method dari objek.
 Bisa disebut cetak biru dari objek.
 Bisa disebut gambaran umum dari benda

 Contoh penamaan kelas: Mobil, Laptop, Anggota,


Buku, dll

5 February 2016 http://aryadharmaadi.com 10


Property
 Merupakan data atau state yang dimiliki oleh class.

 Contoh pada class Mobil, memiliki property:


 Warna
 Model
 Produsen

 Contoh lain, class Anggota, memiliki property: nomor


anggota, nama, alamat, telp, daftar buku yang
dipinjam
5 February 2016 http://aryadharmaadi.com 11
Method
 Merupakan behavior (perilaku) sebuah class
 Bisa dikatakan sebagai aksi atau tindakan yang bisa
dilakukan oleh suatu class

 Contoh pada class Mobil, memiliki method:


 Start
 Stop
 Change Gear
 Turn

5 February 2016 http://aryadharmaadi.com 12


Diskusi
 Deskripsikanlah objek-objek yang terlibat beserta
property dan method-method-nya pada Sistem
Penerimaan Mahasiswa Baru

5 February 2016 http://aryadharmaadi.com 13


Contoh Pembuatan Class pada
Bahasa Pemrograman Java

5 February 2016 http://aryadharmaadi.com 14


Object
 Merupakan abstraksi dari sesuatu yang mewakili
sesuatu pada dunia nyata
 Pada bahasa pemrograman, object adalah komponen
yang diciptakan dari class (instance of class)
 Merupakan entitas pada saat RUN TIME
 Memiliki siklus creation, manipulation, dan
destruction
 Satu class bisa menghasil banyak object

5 February 2016 http://aryadharmaadi.com 15


Contoh Object pada Bahasa Java

• Dua baris yang diarsir di atas merupakan contoh


pembuatan object myCar dan yourCar dari kelas
Car
5 February 2016 http://aryadharmaadi.com 16
Karakteristik Utama PBO
 Abstraksi
 Enkapsulasi
 Inheritance (pewarisan)
 Polymorphism

5 February 2016 http://aryadharmaadi.com 17


Abstraksi
 Menunjukkan karakteristik atau sesuatu yang khas
dari sebuah objek yang bisa membedakannya dengan
objek yang lain.
 Dengan demikian akan terlihat batasan konseptual
dari sebuah objek dari sudut pandang tertentu.
Contoh:
 Pada sistem informasi perpustakaan, apakah membuat
class Mahasiswa dan class Dosen atau membuat class
Member saja?
 Kasus toko sepeda, apakah membuat Class Sepeda
atau Class Sepeda Balap dan Class Sepeda Gunung?
5 February 2016 http://aryadharmaadi.com 18
Abstraksi (2)

Sumber: https://programmingtutor4u.files.wordpress.com

5 February 2016 http://aryadharmaadi.com 19


Abstraksi (3)
 Dalam pengembangan aplikasi, abstraksi difokuskan
pada:
 Hal atau sesuatu yang mana saja yang akan menjadi
object?
 Apa ciri-ciri pembeda (property) yang dimiliki object
tersebut?
 Bagaimana kelakuan (method) dari object tersebut?

5 February 2016 http://aryadharmaadi.com 20


Enkapsulasi
 Merupakan proses untuk menutupi semua detail dari
sebuah object yang tidak menyokong karakteristik
khas dari object

 Artinya, data property dan method-method dari object


hasil abstraksi dibungkus oleh struktur class agar
terlindungi

5 February 2016 http://aryadharmaadi.com 21


Enkapsulasi (2)
 Rincian implementasi internal suatu object dibuat
tersembunyi sehingga tidak bisa diketahui dan diakses
oleh object lain

 Object lain hanya bisa berkomunikasi dengan object


tersebut melalui antarmuka (interface) yang
disediakan oleh object tersebut

5 February 2016 http://aryadharmaadi.com 22


Enkapsulasi (3)
 Misal pada class Car, data variabel current_gear dibuat
private sehingga object lain tidak bisa mengakses
variabel tersebut.
 Object lain hanya bisa menjalankan method
changeGear(int gear) tanpa mengetahui posisi gear
saat sebelum diganti.

5 February 2016 http://aryadharmaadi.com 23


Enkapsulasi (4)

5 February 2016 http://aryadharmaadi.com 24


Inheritance (Pewarisan)
 Sebuah class bisa mewariskan atribut property-nya
dan method-nya ke class yang lain
 Class yang mewarisi disebut superclass (kelas induk)
 Class yang diberi warisan disebut subclass (kelas
turunan)

 Pewarisan memungkinkan kita untuk


menciptakan kelas baru (kelas turunan) yang
merupakan perluasan atau spesialisasi dari kelas
lain yang telah ada (kelas induk)
5 February 2016 http://aryadharmaadi.com 25
Inheritance (Pewarisan) (2)
 Kelas turunan akan memiliki property dan method
yang sama dengan kelas induk, dimana pada kelas
turunan memungkinkan untuk menambahkan
property atau method-method baru

 Kelas turunan bisa melakukan definisi ulang terhadap


method-method yang sudah ada di kelas induknya
(overriding)

5 February 2016 http://aryadharmaadi.com 26


Inheritance (Pewarisan) (3)
 Contoh: anda bisa membuat class ModernCar yang
merupakan turunan dari class Car
 Artinya, class ModernCar memiliki property dan
method yang sama dengan induknya tanpa perlu
dideklarasikan ulang
 Agar menjadi unik, class ModernCar menambahkan
method retreat() pada definisi class-nya

5 February 2016 http://aryadharmaadi.com 27


Inheritance (Pewarisan) (4)

5 February 2016 http://aryadharmaadi.com 28


Polymorphism
 Merupakan kemampuan suatu object untuk
melakukan hal yang berbeda-beda dengan
menggunakan interface yang sama
 Hal ini tercermin dengan menggunakan teknik
overriding dan overloading
 Overriding adalah penulisan ulang method warisan
dari kelas induk
 Overloading adalah penulisan method yang sama
dengan parameter input yang berbeda

5 February 2016 http://aryadharmaadi.com 29


Contoh Overriding

5 February 2016 http://aryadharmaadi.com 30


Contoh Overloading

5 February 2016 http://aryadharmaadi.com 31


Penutup
 Pemrograman Berorientasi Objek merupakan
paradigma pemrograman yang sangat berbeda dengan
Pemrograman Prosedural

 Disamping fokus pada pemecahan masalah,


Pemrograman Berorientasi Objek menitikberatkan
pada identifikasi objek-objek yang terlibat dan
bagaimana interaksi antar objek tersebut

5 February 2016 http://aryadharmaadi.com 32


Next . . .
 Pengenalan bahasa pemrograman Java

5 February 2016 http://aryadharmaadi.com 33


Referensi
 Tjokorda Agung Budi Wirayuda. (2007) Slide
Kuliah: CS3123 Pemrograman Berorientasi Objek.
Institut Teknologi Telkom, Bandung
 Sierra, K., & Bates, B. (2005) “A Brain-Friendly
Guide: Head First Java 2nd Edition”. O’Reilly

5 February 2016 http://aryadharmaadi.com 34

Anda mungkin juga menyukai