Advanced Class Features 1. Pertemuan 10 Pemrograman Berbasis Obyek

dokumen-dokumen yang mirip
Pemrograman Lanjut Class String PTIIK

String. Politeknik Elektronika Negeri Surabaya. String

Pemrograman Berbasis Objek. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

KELAS-KELAS DASAR. kelas String Buffer, kelas character, kelas number,

MODUL II STRING TUGAS PENDAHULUAN. 2. String mempunyai beberapa fungsi, sebutkan dan jelaskan ( Minimal 5 )!

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi

STRING INSTANSIASI KELAS : PENCIPTAAN STRING : CONSTRUCTOR :

Operator dan Assignment. Pertemuan 3 Pemrograman Berbasis Obyek

Enkapsulasi. Politeknik Elektronika Negeri Surabaya. Enkapsulasi. public void Info() { System.out.println( Saya siswa PENS );

BEKERJA DENGAN JAVA CLASS LIBRARY

STRING. 10 th week Estu Sinduningrum ST,MT

OBJECT ORIENTED PROGRAMMING. Day 3 : Operator dan Assignment

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

String. String merupakan tipe data untuk menyimpan nilai berupa teks.

Pemrograman Berbasis Objek. Enkapsulasi. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

SUMBER BELAJAR PENUNJANG PLPG

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

Inheritance dan Kata Kunci static

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Dasar Pemrograman Java

JAVA BASIC PROGRAMMING Joobshet

String. Membangun sebuah string (Contructing String) Sebuah string dapat dibuat secara langsung dengan menulis : String greeting = "Hello world!

BAHASA PEMROGRAMAN JAVA

Pemrograman Lanjut. Class : Deeper Look 2

Pemrograman Lanjut. Interface

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

OPERATOR-OPERATOR DALAM JAVA

KUM 3 IMPLEMENTASI LIST

Tuesday, 24 April 12. Class String

Java Operators. Nurochman

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words

Dasar Pemrograman Java. Pertemuan 2 Pemrograman Berbasis Obyek

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Pemrograman Berorientasi Obyek. Dasar Pemrograman Java

MODUL 6 PERULANGAN. A. String. 1. Instansiasi dan Inisialisasi. M0601xxyyy.jar

DASAR PEMOGRAMAN JAVA

Pemrograman Berbasis Objek Operator dan Assignment

Operator dan Assignment

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

Membuat dan Menggunakan Class

String. Berikut perbedaan antara deklarasi char dan deklarasi String:

Array dan String. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

Pemrograman Berorientasi. Inheritance

[Pemrograman Android Dasar 02][Level: Pemula] Andi Taru Nugroho Nur Wismono S.Kom.,M.Cs. Lisensi Dokumen:

Dasar Pemrograman Java

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI

PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi Obyek. Operator & Assignment

Konsep Dasar Pemrograman Berorientasi Objek

Pemrograman Berorientasi Object

5. Consider the following line of code : byte ohmy What is the range of values that could be assigned to the variable ohmy?

Pemrograman Lanjut Class, Instance Variable dan Method PTIIK

2 TIPE DATA DAN VARIABEL

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

PEMAHAMAN DASAR DASAR JAVA

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

Badiyanto, S.Kom., M.Kom. PBO java

BAB II VARIABEL DAN TIPE DATA

String. Viska Mutiawani, M.Sc

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

E-Commerce. Lesson 2. Nizar Rabbi Radliya PHP : Variable, Constant, Data Type, Operator. 2 SKS Semester 7 UNIKOM

Terdiri atas deretan karakter String diimplementasikan oleh java dalam bentuk class. Dapat langsung di konstruksi tanpa perintah new

Java Basics-1 Oleh : Agus Priyanto, Agus Priyanto M.Kom M.K

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah

TIPE DATA, VARIABEL DATA DAN OPERATOR

Tidak perlu ditentukan jumlah karakternya Inisialisasi iili i: Langsung tanpa kata kunci new Langsung dengan kata kunci new

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

Pemrograman Berorientasi. Class dan Obyek 2

Objek String PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Java Basics-1. Oleh : Agus Priyanto, M.Kom

Pemrograman Berorientasi Obyek. Ramos Somya

Overriding Overloading Polymorphism

Modul Praktikum 5 Pemograman Berorientasi Objek

T I P E D A T A P R I M I T I F V A R I A B E L D A N S T A T E M E N P E N U G A S A N E K S P R E S I D A N O P E R A T O R A R I T M A T I K A

Praktikum 3 Konsep Class, Attribute dan Method

Object Orientied Programing

Dasar Pemrograman Java

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

Berikut ini adalah beberapa contoh penggunaan String:

Modul 2 Dasar Pemrograman Java. Oleh: Mike Yuliana PENS-ITS

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Pemrograman Berbasis Obyek. Yuliana Setiowati. Elektronika Negeri Surabaya PJJ PENS-ITS

OBJECT ORIENTED PROGRAMMING. Day 2 : Dasar Pemrograman Java

Dasar Pemograman Java

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

Class Wrapper. Tujuan dari Class Wrapper

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Nama : Julian Chandra W Telp :

Bahasa Pemrograman :: Dasar Pemrograman Java

Understanding Class Definition. Viska Mutiawani, M.Sc

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

Pengenalan JavaScript

Array. Topik. Mendeklarasikan Array Creating Array Initializing Array Array Multidimensional Array Bounds Array Resizing Copying Arrays

Transkripsi:

Advanced Class Features 1 Pertemuan 10 Pemrograman Berbasis Obyek

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

java.lang Java compiler automatically imports all the classes in the java.lang package into every source file. some of the most important classes of the java.lang package: Object Math The wrapper classes String StringBuffer

The Object Class Class Object adalah akar dari semua class yang ada di Java. Deklarasi class tanpa extends, secara implisit pasti ditambahkan extends Object. public class Employee{ } sama dengan: public class Employee extends Object{ } The methods: wait() notify() notifyall() equals() tostring()

equals() public boolean equals(object object) Untuk class Object: Fungsi method equals() sama dengan operator ==. Yaitu untuk membandingkan reference nya. Override equals() so that it performs a useful comparison. Object reference comparison if (d1 == d2) Relevant instance variables comparison if (d1.equals(d2))

MyDate.java

TestEquals.java

MyDate.java overide method equals()

tostring() public String tostring() to provide a string representation of an object s state. It just prints out the object s class name, followed by a hash code. Override tostring() to provide more useful information.

The String Class Class String berisi string yang tetap (immutable string). Sekali intance String dibuat maka isinya tidak bisa diubah. Memiliki beberapa konstruktor. Common string constructors: 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.

Identical literals 1. String s1 = Compare me ; 2. String s2 = Compare me ; 3. if (s1.equals(s2)) { 4. // whatever 5. } 1. String s1 = Compare me ; 2. String s2 = Compare me ; 3. if (s1 == s2)) { 4. // whatever 5. } Kedua potongan program diatas OK Contoh pertama membandingkan contentnya. Contoh kedua membandingkan referencesnya.

Explicitly calling the String constructor String s2 = new String( Constructed ); Pada saat kompile Constructed disimpan di pool tersendiri. 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().

equals() dan == untuk String Method equals() membandingkan contentnya == membandingkan alamatnya.

Variabel java1 dieksekusi pada saat runtime

String methods 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.

String methods 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.

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.

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.

Trimming and replacing 1. String s = 5 + 4 = 20 ; 2. s = s.trim(); // 5 + 4 = 20 3. s = s.replace( +, x ); // 5 x 4 = 20

The StringBuffer Class represents a string that can be dynamically modified. Constructors: 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

StringBuffer methods 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.

Modifying a string buffer 1. StringBuffer sbuf = new StringBuffer( 12345 ); 2. sbuf.reverse(); // 54321 3. sbuf.insert(3, aaa ); // 543aaa21 4. sbuf.append( zzz ); // 543aaa21zzz

String Concatenation the Easy Way concat() method of the String class append() method of the StringBuffer class + operator. Example: String Concatenation: a + b + c Java compiler treats as: new StringBuffer().append(a).append(b).append(c).toString();

The Math Class a collection of methods and two constants that support mathematical computation. Two constans: E dan PI is final, so you cannot extend it. constructor is private, so you cannot create an instance. the methods and constants are static

Methods of the Math Class

The Wrapper Classes is simply a class that encapsulates a single, immutable value. Integer class wraps up an int value, Float class wraps up a float value.

Primitives and Wrappers

Wrapper class Illegal Vector vec = new Vector(); boolean boo = false; vec.add(boo); // Illegal

Wrapper class Solution Vector vec = new Vector(); boolean boo = false; Boolean wrapper = new Boolean(boo); vec.add(boo); // Legal

wrapper classes 1. boolean primitiveboolean = true; 2. Boolean wrappedboolean = 3. new Boolean(primitiveBoolean); 4. 5. byte primitivebyte = 41; 6. Byte wrappedbyte = new Byte(primitiveByte); 7. 8. char primitivechar = M ; 9. Character wrappedchar = new Character(primitiveChar); 10. 11. short primitiveshort = 31313; 12. Short wrappedshort = new Short(primitiveShort); 13. 14. int primitiveint = 12345678; 15. Integer wrappedint = new Integer(primitiveInt); 16. 17. long primitivelong = 12345678987654321L; 18. Long wrappedlong = new Long(primitiveLong); 19. 20. float primitivefloat = 1.11f; 21. Float wrappedfloat = new Float(primitiveFloat); 22. 23. double primitivedouble = 1.11111111; 24. Double wrappeddouble = 25. new Double(primitiveDouble);

NumberFormatException 1. Boolean wrappedboolean = new Boolean( True ); 2. try { 3. Byte wrappedbyte = new Byte( 41 ); 4. Short wrappedshort = new Short( 31313 ); 5. Integer wrappedint = new Integer( 12345678 ); 6. Long wrappedlong = new Long( 12345678987654321 ); 7. Float wrappedfloat = new Float( 1.11f ); 8. Double wrappeddouble = new Double( 1.11111111 ); 9. } 10. catch (NumberFormatException e) { 11. System.out.println( Bad Number Format ); 12. }

equals() dan == pada wrapper class Method equals() membandingkan content-nya == membandingkan alamatnya.

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()

Summarize the primitive wrapper classes: 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. All six numeric wrapper types support all six numeric XXXValue() methods. Wrapped values can be extracted with various XXXValue() methods. Wrapped values cannot be modified.

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).

Class Variable Class variable bersifat milik bersama dalam arti semua instance/obyek dari class yang sama akan mempunyai class variable milik bersama. Class variable mirip dengan global variable.

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

Class Method Tanpa membuat obyeknya terlebih dahulu, kita bisa mengakses class method dari luar class.

Static: Inggat!! 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.

Error!! pulic class Count{ public int serialnumber; // non-static private static int counter = 0; } public static int getserialnumber() { return serialnumber; // compile error }

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).

Static Initializer Kode pada baris 4, menggunakan static method pada class Integer yang returns Integer Object. Jalankan eksekusi aplikasi diatas dengan menggunakan command line.

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.

Final

Final pada variabel : Object Referensi/alamat harus tetap, state dari object boleh dirubah 1. class Walrus { 2. int weight; 3. Walrus(int w) { weight = w; } 4. } 5. 6. class Tester { 7. final Walrus w1 = new Walrus(1500); 8. void test() { 9. w1 = new Walrus(1400); // Illegal 10. w1.weight = 1800; // Legal 11. } 12. }