Pemrograman Berbasis Obyek - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

Pemrograman Berbasis Obyek

Description:

int indexOf(int ch): Returns the index within the current string of the first occurrence of ch. ... Blank final instance variable harus di set di tiap constructor. ... – PowerPoint PPT presentation

Number of Views:128
Avg rating:3.0/5.0
Slides: 46
Provided by: ryu1
Category:

less

Transcript and Presenter's Notes

Title: Pemrograman Berbasis Obyek


1
Pemrograman Berbasis Obyek
  • Advanced Class Features 1

2
Topik
  • Object class
  • String
  • StringBuffer
  • Math class
  • Wrapper class
  • Static
  • Static initializer
  • Final

3
java.lang package
  • Kompiler java otomatis mengimport seluruh kelas
    dalam package java.lang ke setiap file program.
  • Kelas terpenting yang ada dalam package adalah
  • Object
  • Math
  • Wrapper class
  • String
  • StringBuffer

4
Kelas Object
  • Kelas Object merupakan akar dari semua kelas
    Java.
  • Deklarasi kelas tanpa extends, secara implisit
    pasti ditambahkan extends Object.
  • public class Employee
  • sama dengan
  • public class Employee extends Object
  • Method yang dimiliki diantaranya
  • wait()
  • notify()
  • notifyAll()
  • equals()
  • toString()

Thread
5
equals() method
  • Definisi method
  • public boolean equals(Object object)
  • Untuk class Object
  • Fungsi method equals() sama dengan operator .
    Yaitu untuk membandingkan reference nya.
  • Override method equals() sehingga lebih berguna
    dalam pembandingan
  • Object reference comparison
  • if (d1 d2)
  • Relevant instance variables comparison
  • if (d1.equals(d2))

6
equals() method - Contoh
7
TestEquals menguji kelas MyDate
8
equals() method Output TestEquals
9
Override equals method
Output
10
toString() method
  • Definisi
  • Menghasilkan representasi string dari state
    object
  • Menampilkan nama kelas object diikuti oleh kode
    hash
  • Hash code merupakan tanda unik berupa integer
    yang diberikan oleh Java pada object.
  • Override method toString() agar lebih berguna.

11
Kelas String
  • KelasString berisi string yang tetap (immutable
    string).
  • Sekali intance String dibuat maka isinya tidak
    bisa diubah.
  • Memiliki beberapa konstruktor, diantaranya yg
    umum
  • String s1 new String(immutable)
  • String s1 immutable
  • Java mempunyai media penyimpanan literal string
    yang yang disebut pool.
  • Jika suatu literal string sudah ada di pool, Java
    tidak akan membuat copy lagi.

12
String identik
Kedua potongan program diatas OK Contoh pertama
membandingkan Contentnya. Contoh kedua
membandingkan referencesnya.
13
Memanggil konstruktor String secara eksplisit
  • String s2 new String(Constructed)
  • Pada saat runtime ? statement new String()
    dieksekusi, Constructed akan dibuatkan lagi di
    program space.
  • Bila di pool sudah ada Constructed, akan tetap
    dibuatkan program space
  • Supaya Constructed benar-benar disimpan di pool
    maka gunakan method intern().

14
equals() dan pada kelas String
  • Method equals() membandingkan contentnya
  • Operator membandingkan alamatnya.

15
Method method pada kelas String
  • char charAt(int index) Returns the indexed
    character of a string, where the index of the
    initial character is 0.
  • String concat(String addThis) Returns a new
    string consisting of the old string followed by
    addThis.
  • int compareTo(String otherString) Performs a
    lexical comparison returns an int that is less
    than 0 if the current string is less than
    otherString, equal to 0 if the strings are
    identical, and greater than 0 if the current
    string is greater than otherString.
  • boolean endsWith(String suffix) Returns true if
    the current string ends with suffix otherwise
    returns false.

16
Method method pada kelas String
  • boolean equals(Object ob) Returns true if ob
    instanceof String and the string encapsulated by
    ob matches the string encapsulated by
  • the executing object.
  • boolean equalsIgnoreCase(String s) Creates a new
    string with the same value as the executing
    object, but in lower case.
  • int indexOf(int ch) Returns the index within the
    current string of the first occurrence of ch.
    Alternative forms return the index of a string
    and begin searching from a specified offset.
  • int lastIndexOf(int ch) Returns the index within
    the current string of the last occurrence of ch.
    Alternative forms return the index of a string
    and end searching at a specified offset from the
    end of the string.

17
Method method pada kelas String
  • int length() Returns the number of characters in
    the current string.
  • String replace(char oldChar, char newChar)
    Returns a new string, generated by replacing
    every occurrence of oldChar with newChar.
  • boolean startsWith(String prefix) Returns true
    if the current string begins with prefix
    otherwise returns false. Alternate forms begin
    searching from a specified offset.
  • String substring(int startIndex) Returns the
    substring, beginning at startIndex of the current
    string and extending to the end of the current
    string. An alternate form specifies starting and
    ending offsets.
  • String toLowerCase() Creates a new string with
    the same value as the executing object, but in
    lower case.

18
Method method pada kelas String
  • String toString() Returns the executing object.
  • String toUpperCase() Converts the executing
    object to uppercase and returns a new string.
  • String trim() Returns the string that results
    from removing whitespace characters from the
    beginning and ending of the current string.

19
trim dan replace
20
Kelas StringBuffer
  • Kelas untuk mengubah string secara dinamis
  • Konstruktor
  • StringBuffer() Constructs an empty string buffer
  • StringBuffer(int capacity) Constructs an empty
    string buffer with the specified initial capacity
  • StringBuffer(String initialString) Constructs a
    string buffer that initially contains the
    specified string

21
Method method pada kelas Stringbuffer
  • StringBuffer append(String str) Appends str to
    the current string buffer. Alternative forms
    support appending primitives and character
    arrays these are converted to strings before
    appending.
  • StringBuffer append(Object obj) Calls toString()
    on obj and appends the result to the current
    string buffer.
  • StringBuffer insert(int offset, String str)
    Inserts str into the current string
  • buffer at position offset. There are numerous
    alternative forms.
  • StringBuffer reverse() Reverses the characters
    of the current string buffer.
  • StringBuffer setCharAt(int offset, char newChar)
    Replaces the character at position offset with
    newChar.
  • StringBuffer setLength(int newLength) Sets the
    length of the string buffer to newLength. If
    newLength is less than the current length, the
    string is truncated. If newLength is greater than
    the current length, the string is padded with
    null characters.

22
Memodifikasi Stringbuffer
23
Menggabung String- Cara Mudah
  • Cara menggabung string diantaranya
  • concat() method of the String class
  • append() method of the StringBuffer class
  • operator.
  • Contoh

24
Kelas Math
  • Kumpulan method method dan konstanta yang
    mendukung perhitungan matematika
  • Konstanta E dan PI adalah final, sehigga tidak
    bisa diubah.
  • Constructor adalah private, sehingga tidak bisa
    membuat instance-nya.
  • Semua method dan konstanta bersifat static

25
Method - method pada kelas Math
26
Method - method pada kelas Math
27
The Wrapper Classes
  • Kelas sederhana yang membungkus suatu nilai
    tunggal yang tetap (immutable value), seperti
  • Integer class wraps up an int value,
  • Float class wraps up a float value.

28
Tipe data Primitives dan Wrappers
29
equals() dan pada wrapperclass
  • Method equals() membandingkan content-nya
  • Operator membandingkan alamatnya.

30
The retrieval methods
  • public byte byteValue()
  • public short shortValue()
  • public int intValue()
  • public long longValue()
  • public float floatValue()
  • public double doubleValue()
  • public boolean booleanValue()
  • public char charValue()

31
Kesimpulan Kelas Wrapper
  • Tiap tipe data primitif mempunyai korespondensi
    dengan satu tipe wrapper class.
  • Semua tipe wrapper class dapat dibuat dari tipe
    data primitifnya, khusus untuk wrapper class
    Character bisa dibuat dari char(primitif) dan
    string.
  • Wrapped values can be tested for equality with
    the equals() method.

32
Kesimpulan Kelas Wrapper
  • All six numeric wrapper types support all six
    numeric XXXValue() methods.
  • Wrapped values can be extracted with various
    XXXValue() methods.
  • Kelas wrapper Tidak dapat dimodifikasi.

33
Static
  • Static digunakan sebagai modifier pada
  • Variable
  • Method
  • Inner class
  • Static mengindikasikan bahwa atribut atau method
    tersebut milik class.
  • Anggota class yang bersifat static ini sering
    disebut dengan class members (class variable
    dan class methods).

34
Class Variable
  • Class variable bersifat milik bersama dalam arti
    semuainstance/obyek dari class yang sama akan
    mempunyai classvariable milik bersama.
  • Class variable mirip dengan global variable.

35
Class Variable
36
Class Variable
  • Tanpa membuat obyeknya terlebih dahulu, kita bisa
    mengakses class variable dari luar class (bila
    variabel tersebut bertipe public)

37
Class Method
  • Tanpa membuat obyeknya terlebih dahulu, kita bisa
    mengaksesclass method dari luar class.

38
Class Method
Pemanggilan method getTotalCount tanpa membuat
object Count terlebih dahulu
39
Static kesimpulan
  • Static method bisa diakses dari luar class tanpa
    harus membuat obyeknya terlebih dahulu.
  • Konsekuensi semua variabel atau method yang
    diakses oleh static method tersebut harus
    bersifat static juga.
  • Jika static method mengakses non-static method
    dan non-static variable maka akan menyebabkan
    compile error.

40
Static contoh error program
41
Static Initializer
  • Block yang dideklarasikan static pada suatu class
    yang letaknya tidak berada dalam deklarasi
    method.
  • Static block ini dieksekusi hanya sekali, yaitu
    ketika class dipanggil pertama kali.
  • Jika pada statement class terdapat lebih dari
    satu static initializer maka urutan eksekusi
    berdasarkan mana yang dideklarasikan lebih dulu.
  • Static block biasanya digunakan untuk
    menginisialisasi static attribute (class
    variable).

42
Contoh Static Initializer
Kode pada baris 4, menggunakan static method pada
class Integer yang returns Integer Object.
43
Final
  • Final class tidak bisa dibuat subclass.
    (java.lang.String merupakan final class)
  • Final method tidak bisa di override.
  • Final variable bersifat konstan.
  • Final variable hanya bisa dideklarasikan sekali
    saja, assignment final variable tidak harus pada
    saat dideklarasikan ? blank final variable.
  • Blank final instance variable harus di set di
    tiap constructor.
  • Blank final variable pada method harus di set
    pada method body sebelum digunakan.

44
Final contoh
45
Final pada variabel Object
  • Referensi/alamat harus tetap, state dari object
    boleh dirubah
Write a Comment
User Comments (0)
About PowerShow.com