STRUKTUR DATA OPENCOURSEWARE UNIVERSITAS PEMBANGUNAN JAYA Slide SIF108 OOP
Object Oriented
Struktur Data
Apa itu Object ?
• Object adalah instance dari sebuah Class
• Object adalah entitas yang memiliki struktur dan state
• State dapat diubah dengan menggunakan/memanggil
method-nya
Encapsulatio
n
Menyembunyikan
detail implementasi
atas data atau
operasi yang
dilakukan
Class
• Class adalah sekumpulan object dengan karakteristik
yang sama
• Membuat object dari suatu class dengan menggunakan
konstruktor
Class
Access modifier
- private
+ public
protected
Person
-
name: String
age: int
address: String
spouse: Person
children: Person[]
+ Person()
+ setName(String name):
void
+ getName(): String
...
+ setSpouse(Person spouse):
void
+ getSpouse(): Person
+ addChildren(Person child):
void
Class name
Attribute / Field
Menggambarkan data
yang dapat disimpan
oleh Object
Method
Menggambarkan apa
yang dapat dilakukan
oleh Object
Mendesain Class
• Tally counter adalah alat yang
digunakan untuk membantu
penghitungan.
• Jika tombol atas ditekan, angka
akan bertambah satu
• Jika tombol reset ditekan,
angka akan kembali ke angka 0
(nol)
Desain class untuk Tally
Counter!
Class Tally Counter
TallyCounter
- count: int
+ tambah():
void
+ reset(): void
+ getCount():
int
• Method tambah() akan
menaikan (increment) nilai pada
attribute count satu tingkat
• Method reset() akan
mengembalikan nilai attribute
count menjadi nol
• Method getCount()
mengembalikan nilai attribute
count.
Buatlah program untuk Class
public class TallyCounter {
private int count;
public void tambah() {
// dapat diartikan this.count = this.count + 1;
this.count += 1;
}
public void reset() {
this.count = 0;
}
public int getCount() {
return this.count;
}
Studi Kasus: java.math.BigInteger
• Jelaskan apa itu class BigInteger
• Buatlah object BigInteger yang mengandung nilai 1,
kemudian simpan divariabel bernama var1
• Buatlah object BigInteger yang mengandung nilai
100 , kemudian simpan divariabel bernama var2
• Gunakan method pada class BigInteger untuk
menjumlah var1 dan var2, kemudian simpan
divariabel bernama var3
• Cetak isi dari var3
Class
•Class
terdiri dari name
•Attribute
•method
Instance of
Object
inheritance
Child
Object
encapsulation
Menentukan
data yang
dapat
disimpan dan
apa yang bisa
dilakukan
Polymorphis
m
Sebua
h
Object
Tugas
• An Account class stores a current balance, and
provides getBalance, deposit, withdraw, and
toString methods in addition to at least one
constructor. Write and test an Account class. Make
sure your withdraw method throws an exception if
appropriate
Struktur Data
Apa itu Object ?
• Object adalah instance dari sebuah Class
• Object adalah entitas yang memiliki struktur dan state
• State dapat diubah dengan menggunakan/memanggil
method-nya
Encapsulatio
n
Menyembunyikan
detail implementasi
atas data atau
operasi yang
dilakukan
Class
• Class adalah sekumpulan object dengan karakteristik
yang sama
• Membuat object dari suatu class dengan menggunakan
konstruktor
Class
Access modifier
- private
+ public
protected
Person
-
name: String
age: int
address: String
spouse: Person
children: Person[]
+ Person()
+ setName(String name):
void
+ getName(): String
...
+ setSpouse(Person spouse):
void
+ getSpouse(): Person
+ addChildren(Person child):
void
Class name
Attribute / Field
Menggambarkan data
yang dapat disimpan
oleh Object
Method
Menggambarkan apa
yang dapat dilakukan
oleh Object
Mendesain Class
• Tally counter adalah alat yang
digunakan untuk membantu
penghitungan.
• Jika tombol atas ditekan, angka
akan bertambah satu
• Jika tombol reset ditekan,
angka akan kembali ke angka 0
(nol)
Desain class untuk Tally
Counter!
Class Tally Counter
TallyCounter
- count: int
+ tambah():
void
+ reset(): void
+ getCount():
int
• Method tambah() akan
menaikan (increment) nilai pada
attribute count satu tingkat
• Method reset() akan
mengembalikan nilai attribute
count menjadi nol
• Method getCount()
mengembalikan nilai attribute
count.
Buatlah program untuk Class
public class TallyCounter {
private int count;
public void tambah() {
// dapat diartikan this.count = this.count + 1;
this.count += 1;
}
public void reset() {
this.count = 0;
}
public int getCount() {
return this.count;
}
Studi Kasus: java.math.BigInteger
• Jelaskan apa itu class BigInteger
• Buatlah object BigInteger yang mengandung nilai 1,
kemudian simpan divariabel bernama var1
• Buatlah object BigInteger yang mengandung nilai
100 , kemudian simpan divariabel bernama var2
• Gunakan method pada class BigInteger untuk
menjumlah var1 dan var2, kemudian simpan
divariabel bernama var3
• Cetak isi dari var3
Class
•Class
terdiri dari name
•Attribute
•method
Instance of
Object
inheritance
Child
Object
encapsulation
Menentukan
data yang
dapat
disimpan dan
apa yang bisa
dilakukan
Polymorphis
m
Sebua
h
Object
Tugas
• An Account class stores a current balance, and
provides getBalance, deposit, withdraw, and
toString methods in addition to at least one
constructor. Write and test an Account class. Make
sure your withdraw method throws an exception if
appropriate