Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class...
Transcript of Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class...
![Page 1: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/1.jpg)
Pemrograman Lanjut
PTIIK - 2014
Class and Object
![Page 2: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/2.jpg)
Objectives
Memahami tentang classes, objects, methods dan instance variables.
Mampu memberikan contoh object beserta atribut dan tingkah laku nya.
![Page 3: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/3.jpg)
What Makes an Object?
René Descartes (Filosof pada abad ke-17) telah
meng-observasi bahwa manusia melihat dunia
ini dalam istilah-istilah yang berorientasi dengan
object
Ide object-oriented software
mengorganisasikan software dengan cara yang
sesuai dengan gaya berpikir otak kita yang
berorientasi object
Kita ingin “Sesuatu” yang “Melakukan Sesuatu”
![Page 4: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/4.jpg)
Characteristics of Objects
Sebuah object terbuat dari bahan nyata
Sebuah object mewakili satu benda dari suatu jenis
benda
Sebuah object memiliki sifat/atribut/properti
Sebuah object dapat melakukan sesuatu hal dan
dapat dilakukan sesuatu
![Page 5: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/5.jpg)
Characteristics of Objects
Item 1 (terbuat dari bahan nyata) terlalu ketat
Object : Akun Bank (bukan terbuat dari bahan yang nyata)
Atribut (pemilik, saldo, dll)
Object dapat melakukan sesuatu (charge untuk setiap
transaksi, pemberian bunga, dll
Object dapat dilakukan sesuatu (transfer, deposit, batal, dll)
3 item terakhir cukup jelas
Sebuah object memiliki identity
Sebuah object memiliki state
Sebuah object memiliki behavior
![Page 6: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/6.jpg)
Software Objects
Kebanyakan program ditulis untuk melakukan
sesuatu yang berkaitan dengan dunia nyata
Akan menjadi mudah jika punya “software
objects” yang mirip dengan “real world objects”
“software objects” memiliki identity, state, dan
behavior seperti layaknya “real world objects”
![Page 7: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/7.jpg)
Software Object
Sebuah object pada pemrograman adalah
sebuah komponen software yang strukturnya
mirip dengan object pada dunia nyata
Setiap object dibuat dari satu set data (sifat)
dimana variable menjabarkan esensial karakter
dari object, dan juga terdiri dari satu set dari
method (tingkah laku) yang menjabarkan
bagaimana tingkah laku dari object.
Jadi object adalah sebuah berkas software
dari variable dan method yg berhubungan
![Page 8: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/8.jpg)
Class
Class adalah struktur dasar dari OOP.
Terdiri dari dua tipe dari anggota yang disebut
dengan field (attribut/properti) dan method.
Field menspesifikasi tipe data yang didefinisikan
oleh class.
Method spesifikasi dari operasi.
Sebuah object adalah sebuah instance pada
class.
![Page 9: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/9.jpg)
Pencetak kukis class Dapat digunakan berkali-kali
untuk mencetak kukis.
Kukis object
Sebuah class dapat menghasilkan banyak object Dari 1 cetakan dapat dibuat
banyak kukis dengan berbagai macam hiasan, namun kukis-kukis tersebut tetap memiliki bentuk yang sama.
![Page 10: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/10.jpg)
Class
class menyatakan konsep (blueprint)
class mendefinisikan karakteristik (atribut) dan aksi
(method) yang dimiliki object.
object adalah perwujudan dari konsep class
(instance of class)
Setiap object memiliki class yang mendefinisikan data
dan aksi yang dimiliki oleh object tersebut.
![Page 11: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/11.jpg)
Class
Definisi class : merupakan template untuk membuat obyek.
Definisi class : merupakan prototipe / blue prints yang mendefinisikan variabel – variabel dan method – method secara umum.
Obyek merupakan hasil instansiasi dari suatu class.
Proses pembentukan obyek dari suatu class disebut dengan instantiation.
Obyek disebut juga instances.
![Page 12: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/12.jpg)
Class
Variable dan methods dalam object Java secara
formal diketahui sebagai instance variable dan
instance methods untuk membedakannya dari
class variable dan class method
![Page 13: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/13.jpg)
Perbedaan Class dan Object
Sebuah class mobil dimana dapat digunakan untuk
mendefinisikan beberapa object mobil
Mobil A dan mobil B adalah object dari class mobil
![Page 14: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/14.jpg)
Perbedaan Class dan Object
Class name : Circle
Data Field : Radius
Methods : - getArea()
- getPerimeter()
Object1 : Circle1 Object2 : Circle2 Object3 : Circle3
Data Field:
Radius = 15
Data Field:
Radius = 20
Data Field:
Radius = 5
Class template
Three objects
of Circle class
![Page 15: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/15.jpg)
Class
Ketika diinisialisasi, tiap object mendapat satu
set baru dari state variable of class.
Implementasi dari method dibagi diantara object
pada class yang sama.
Class menyediakan keuntungan berupa
reusability.
![Page 16: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/16.jpg)
Contoh
Object lingkaran memiliki data field, radius. Tingkah laku dari
lingkaran adala menghitung luas dan keliling menggunakan
method getArea() and getPerimeter().
Mobil memiliki banyak atribut, seperti warna, jumlah pintu,
volume bensin, kecepatan saat berkendara, dan total km pada
odometer. Setiap mobil melakukan pemeliharaan thd atribut.
Contoh, memberikan informasi bensin pada tangki, tetapi tidak
tahu seberapa banyak sisa bensin pada tangki pada mobil
lainnya.
Object Akun bank memiliki atribut saldo yang
merepresentasikan jumlah uang pada akun. Object tersebut
dapat memiliki method untuk men-deposit uang ke akun,
method pengambilan uang dari akun, and method untuk
mengetahui saldo
![Page 17: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/17.jpg)
Class StringTester
variable str1 digunakan untuk me-refer pada
object, str1 merupakan nama object
![Page 18: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/18.jpg)
Objects dan Names for Objects
Variabel yang dapat me-refer pada object TIDAK selalu
memiliki object
Variabel str1 akan me-refer pada object hanya setelah
operator new dijalankan
Sama seperti pada dunia nyata. Kita hanya bisa
dianggap punya object kalau memang object tersebut
sudah benar-benar ada
![Page 19: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/19.jpg)
Using a Reference to an Object
Sekali object dibuat (dengan operator new),
variable str1 me-refer pada actual object.
Object punya beberapa methods, salah satunya
method length().
Apa output dari program?
![Page 20: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/20.jpg)
Invoking an Object's Method
Sebuah object terdiri dari : variables (state
information) dan methods (small programs).
Keduanya disebut members dari object
Java menggunakan notasi dot :
referenceToAnObject.memberOfObject
Contoh : memanggil method length() dari object str1
str1.length();
len = str1.length();
![Page 21: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/21.jpg)
Static
Classes digunakan untuk membuat objects
(cookie cutter cookies)
Cookie cutter memiliki karakteristik yang TIDAK
dapat di-shared dengan cookies
cookie cutter terbuat dari baja dengan tepian yang tajam
tidak baik untuk dimakan
Setelah cookie cutter digunakan, maka akan ada
banyak cookies (soft, rounded, doughy things)
tetapi hanya ada satu yang terbuat dari baja
dengan tepian yang tajam
![Page 22: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/22.jpg)
Static
Pada Java, karakteristik dari class yang TIDAK di-
shared dengan object-nya disebut static.
Hanya ada satu class, jadi ketika program berjalan,
jika ada sesuatu bertipe static maka hanya ada
satu saja.
"no matter how many objects have been made,
there is only one of these"
![Page 23: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/23.jpg)
Variabel Class
Variabel class merupakan variabel milik dari
seluruh class
Variabel ini memiliki nilai yang sama untuk
semua object pada class yang sama
Variabel ini juga disebut static member
variables
![Page 24: Pemrograman Lanjut - Universitas Brawijaya · Class class menyatakan konsep (blueprint) class mendefinisikan karakteristik (atribut) dan aksi (method) yang dimiliki object. object](https://reader034.fdocuments.in/reader034/viewer/2022042309/5ed6147bbcb22c51e262056b/html5/thumbnails/24.jpg)
Latihan
Definisikan sebuah obyek pada dunia nyata
Berikan 2 atribut dan 2 tingkah laku
Implementasikan ke dalam Java
buat satu class berikan nama yang sesuai
definisikan member dari class tersebut
buat class baru untuk mengujinya (Class Tester)
pada class tersebut, buatlah 2 obyek yang memiliki
atribut yang berbeda