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
5 February 2016 http://aryadharmaadi.com 7
Anggota
+Nomor_Anggota
+Nama
+Alamat
+Telp
+Daftar_Peminjaman
Meminjam(Buku b)
Mengembalikan(Buku b)
Buku
+Nomor_Buku
+Judul
+Penerbit
+Kategori
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
5 February 2016 http://aryadharmaadi.com 16
• Dua baris yang diarsir di atas merupakan contoh
pembuatan object myCar dan yourCar dari kelas
Car
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)
5 February 2016 http://aryadharmaadi.com 19
Sumber: https://programmingtutor4u.files.wordpress.com
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

Pertemuan 1 konsep dasar pemrograman berorientasi objek

  • 1.
    I Putu AryaDharmaadi, S.T., M.T. Dosen Jurusan Teknologi Informasi Universitas Udayana http://aryadharmaadi.com
  • 2.
    Pendahuluan: Pemrograman Prosedural  Padakuliah 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
  • 3.
    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
  • 4.
    Contoh: Alat Counter 5February 2016 http://aryadharmaadi.com 4
  • 5.
    Paradigma PBO  PemrogramanBerorientasi 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
  • 6.
    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
  • 7.
    Contoh: Sistem Perpustakaan Class Diagram 5 February 2016 http://aryadharmaadi.com 7 Anggota +Nomor_Anggota +Nama +Alamat +Telp +Daftar_Peminjaman Meminjam(Buku b) Mengembalikan(Buku b) Buku +Nomor_Buku +Judul +Penerbit +Kategori
  • 8.
    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
  • 9.
    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
  • 10.
    Class (Kelas)  Merupakandefinisi 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
  • 11.
    Property  Merupakan dataatau 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
  • 12.
    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
  • 13.
    Diskusi  Deskripsikanlah objek-objekyang terlibat beserta property dan method-method-nya pada Sistem Penerimaan Mahasiswa Baru 5 February 2016 http://aryadharmaadi.com 13
  • 14.
    Contoh Pembuatan Classpada Bahasa Pemrograman Java 5 February 2016 http://aryadharmaadi.com 14
  • 15.
    Object  Merupakan abstraksidari 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
  • 16.
    Contoh Object padaBahasa Java 5 February 2016 http://aryadharmaadi.com 16 • Dua baris yang diarsir di atas merupakan contoh pembuatan object myCar dan yourCar dari kelas Car
  • 17.
    Karakteristik Utama PBO Abstraksi  Enkapsulasi  Inheritance (pewarisan)  Polymorphism 5 February 2016 http://aryadharmaadi.com 17
  • 18.
    Abstraksi  Menunjukkan karakteristikatau 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
  • 19.
    Abstraksi (2) 5 February2016 http://aryadharmaadi.com 19 Sumber: https://programmingtutor4u.files.wordpress.com
  • 20.
    Abstraksi (3)  Dalampengembangan 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
  • 21.
    Enkapsulasi  Merupakan prosesuntuk 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
  • 22.
    Enkapsulasi (2)  Rincianimplementasi 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
  • 23.
    Enkapsulasi (3)  Misalpada 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
  • 24.
    Enkapsulasi (4) 5 February2016 http://aryadharmaadi.com 24
  • 25.
    Inheritance (Pewarisan)  Sebuahclass 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
  • 26.
    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
  • 27.
    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
  • 28.
    Inheritance (Pewarisan) (4) 5February 2016 http://aryadharmaadi.com 28
  • 29.
    Polymorphism  Merupakan kemampuansuatu 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
  • 30.
    Contoh Overriding 5 February2016 http://aryadharmaadi.com 30
  • 31.
    Contoh Overloading 5 February2016 http://aryadharmaadi.com 31
  • 32.
    Penutup  Pemrograman BerorientasiObjek 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
  • 33.
    Next . ..  Pengenalan bahasa pemrograman Java 5 February 2016 http://aryadharmaadi.com 33
  • 34.
    Referensi  Tjokorda AgungBudi 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