kelas-kelas dasar di java

32
Kelas-kelas Dasar di Java

Upload: vita

Post on 23-Feb-2016

86 views

Category:

Documents


0 download

DESCRIPTION

Kelas-kelas Dasar di Java. Kelas Wraper. Dua fungsi utama kelas wraper - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kelas-kelas Dasar di  Java

Kelas-kelas Dasar di Java

Page 2: Kelas-kelas Dasar di  Java

Dua fungsi utama kelas wraper menyediakan mekanisme untuk

membungkus data primitif ke dalam obyek sehingga data primitif ini dapat menggunakan operasi-operasi yang khusus diperuntukkan untuk obyek, seperti penambahan ke dalam koleksi atau pengembalian dari sebuah method yang mengembalikan sebuah obyek;

Kelas Wraper

Page 3: Kelas-kelas Dasar di  Java

menyediakan satu set fungsi utility untuk data primitif. Sebagian besar dari fungsi-fungsi ini berhubungan dengan konversi data primitif dari satu bentuk ke bentuk yang lainnya, sebagai contoh, mengubah data primitif ke dalam bentuk String dan sebaliknya, mengubah data primitif ke dalam bentuk basis yang berbeda-beda (binary, octal, dan decimal).

Page 4: Kelas-kelas Dasar di  Java

Setiap data primitif dalam Java memiliki kelas wrapper yang bersesuaian. Sebagai contoh, kelas wrapper untuk int adalah Integer, untuk float adalah Float, dan sebagainya. Yang patut diingat adalah nama dari kelas wrapper suatu data primitif adalah sama dengan tipe data primitif yang bersesuaian dengan huruf pertamanya dalam bentuk huruf besar, kecuali untuk tipe data char dengan kelas wrapper Character, dan int dengan kelas wrapper Integer.

Page 5: Kelas-kelas Dasar di  Java

TIPE DATA PRIMITIF

KELAS WRAPPER

ARGUMEN KONSTRUKTOR

boolean Boolean boolean atau String

byte Byte byte atau String

char Character char

short Short short atau String

int Integer int atau String

long Long long atau String

float Float float atau String

double Double double atau String

Data Primitif dan Kelas Wrapper yang Sejenis Beserta Konstruktornya

Page 6: Kelas-kelas Dasar di  Java

Obyek wrapper bersifat immutable, yang berarti bahwa sekali diberikan nilai pada sebuah obyek wrapper, nilainya tidak dapat diubah.

Semua kelas wrapper, (kecuali Character), menyediakan dua buah konstruktor: satu konstruktor menggunakan nilai primitif yang bersesuaian, dan konstruktor yang lain menggunakan String yang merupakan representasi dari data primitif yang akan dibungkus di dalam kelas wrapper.

Page 7: Kelas-kelas Dasar di  Java

Integer i1 = new Integer(42);Integer i2 = new Integer(“42”); 

atau  Float f1 = new Float(3.14);Float f2 = new Float(“3.14”);

Page 8: Kelas-kelas Dasar di  Java

Untuk kelas wrapper Character, ia hanya menyediakan satu buah konstruktor, yang mengambil nilai char sebagai argumen. Sebagai contoh :

Character c1 = new Character(‘c’);

Page 9: Kelas-kelas Dasar di  Java

Method statik valueOf() yang disediakan di sebagian besar kelas wrapper (kecuali kelas wrapper Character) memberikan cara lain untuk membuat obyek wrapper.

Method ini menggunakan String yang merepresentasikan data primitif yang bersesuaian sebagai argumen Integer i2 = Integer.valueOf(“100”);Float f2 = Float.valueOf(“3.14f”);

Page 10: Kelas-kelas Dasar di  Java

xxxValue()Ketika ingin mengubah obyek wrapper ke dalam data primitif, dapat digunakan salah satu dari method xxxValue() ini. Semua method ini tidak menggunakan argumen.

Method-method dalam kelas wrapper untuk mengkonversi nilai

Page 11: Kelas-kelas Dasar di  Java

Methods = static Boolean Byte Character Double Float Integer Long Floatn = NFE exceptionbyteValue x x x x x xdoubleValue x x x x x xfloatValue x x x x x xintValue x x x x x xlongValue x x x x x xshortValue x x x x x x

parseXxx s,n x x x x x xparseXxx s,n x x x x(with radix)

valueOf s,n x x x x x x xvalueOf s,n x x x x(with radix)

toString x x x x x x x xtoString s x x x x x x(primitive)toString s x x(primitive, radix)

Page 12: Kelas-kelas Dasar di  Java

Integer i2 = new Integer(42); byte b = i2.byteValue(); short s = i2.shortValue(); double d = i2.doubleValue();   atau Float f2 = new Float(3.14f); short s = f2.shortValue(); System.out.println(s);

Page 13: Kelas-kelas Dasar di  Java

parseXxx () dan valueOf()parseXxx() mengembalikan nilai primitif yang sesuai dengan kelas wrapper-nya;valueOf() mengembalikan sebuah obyek wrapper yang tipenya sama dengan kelas wrapper yang memanggil method tersebut.

double d4 = Double.parseDouble("3.14"); System.out.println("d4 = " + d4);Double d5 = Double.valueOf("3.14");

Page 14: Kelas-kelas Dasar di  Java

toString()Setiap kelas wrapper memiliki method toString() yang tidak memiliki argumen

dan tidak statik. Method ini mengembalikan nilai berupa obyek String yang merepresentasikan nilai primitif yang dibungkus oleh kelas wrapper-nya. Sebagai contoh :Double d = new Double(“3.14”);System.out.println(“d = “+d.toString() );

Page 15: Kelas-kelas Dasar di  Java

Koleksi merupakan entitas yang merepresentasikan sekumpulan obyek. Obyek yang berada di dalam sebuah koleksi disebut elemen. Koleksi biasanya berkaitan dengan beragam tipe obyek yang kesemuanya merupakan turunan dari tipe obyek tertentu.

Kelas Koleksi

Page 16: Kelas-kelas Dasar di  Java

Collection – merupakan sekumpulan obyek yang disebut sebagai elemen. Implementasi dari Collection ini akan menentukan apakah ada aturan mengenai ordering tertentu dan apakah duplikasi elemen diperbolehkan di dalamnya.

Set – merupakan sebuah koleksi yang tidak memiliki aturan unordered di mana di dalamnya tidak boleh ada duplikasi elemen.

List – merupakan sebuah koleksi yang memiliki aturan ordered di mana di dalamnya duplikasi elemen diperbolehkan.

Page 17: Kelas-kelas Dasar di  Java

Semua jenis koleksi memiliki referensi ke obyek-obyek dengan tipe Object. Hal ini memungkinkan semua jenis obyek untuk disimpan di dalam koleksi. Implikasi dari elemen dalam koleksi yang bertipe Object adalah harus digunakan proses casting yang benar ketika mengambil sebuah elemen dari dalam koleksi.

Page 18: Kelas-kelas Dasar di  Java

Set<<interface>>

HashSet

ArrayList LinkedList

+ iterator() : Iterator

<<interface>>Collection

+ add(element : Object) : boolean+ remove(element : Object) : boolean+ size() : int+ isEmpty() : boolean+ contains(element : Object) : boolean

+ listIterator() : ListIterator

<<interface>>List

+ add(index : int, element : Object)+ remove(index : int) : Object+ get(index : int) : Object+ set(index : int) : Object+ indexOf(element : Object) : int

Page 19: Kelas-kelas Dasar di  Java

Dalam contoh kode berikut ini, dideklarasikan sebuah variabel (set) dengan tipe Set. Lalu diinisialisasi variabel ini dengan sebuah obyek HashSet. Selanjutnya ditambahkan beberapa elemen ke dalamnya dan mencetak isi dari variabel set ke output standar.

Set

Page 20: Kelas-kelas Dasar di  Java

import java.util.*;  public class SetExample { public static void main(String[] args) { Set set = new HashSet(); set.add("one"); set.add("second"); set.add(new Integer(4)); set.add("second"); //duplikasi, tidak ditambahkan set.add(new Integer(4));//duplikasi,tidak //ditambahkan

System.out.println(set); } }

Page 21: Kelas-kelas Dasar di  Java

Dalam contoh kode berikut ini, dideklarasikan sebuah variabel (list) dengan tipe List. Selanjutnya, variabel ini diinisialisasi dengan sebuah obyek ArrayList. Selanjutnya ditambahkan beberapa elemen ke dalamnya dan mencetak isi dari variabel list ke output standar. Berbeda dengan contoh sebelumnya, pada contoh ini berhasil dilakukan penambahan elemen yang terduplikasi.

List

Page 22: Kelas-kelas Dasar di  Java

import java.util.*; public class ListExample { public static void main(String[] args) { List list = new ArrayList(); list.add("one"); list.add("second"); list.add("3rd"); list.add(new Integer(4)); list.add(new Float(5.0F)); list.add("second"); //duplikasi ditambahkan list.add(new Integer(4));//duplikasi ditambahkan System.out.println(list); }}

Page 23: Kelas-kelas Dasar di  Java

Sebuah koleksi dapat diiterasi dengan menggunakan iterator. Interface Iterator memungkinkan untuk melakukan iterasi secara forward. Pada kasus iterasi di dalam sebuah obyek Set, langkah iterasinya tidak dapat ditentukan sementara langkah iterasi pada sebuah list adalah bergerak maju. Sebuah obyek List juga mendukung penggunaan ListIterator yang memungkinkan proses iterasi secara backward. Kode program di bawah ini menggambarkan penggunaan iterator:

Iterator

Page 24: Kelas-kelas Dasar di  Java

List l1 = new ArrayList();Iterator elements = l1.Iterator();while(elements.hasNext()) {System.out.println(elements.next());

}

Page 25: Kelas-kelas Dasar di  Java

Hirarki Interface Iterator

+ next() : Object+ remove()

<<interface>>Iterator

+ hasNext() : boolean

<<interface>>ListIterator

+ hasPrevious() : boolean+ previous() : Object+ add(element : Object)+ set(element : Object)

Page 26: Kelas-kelas Dasar di  Java

Method remove() digunakan untuk menghapus item di dalam sebuah iterasi. Jika salah satu koleksi tidak mendukung proses penghapusan ini, maka exception UnsupportedOperationException akan dilemparkan.

ListIterator bergerak satu arah, yaitu begerak maju dengan menggunakan method next() atau mundur dengan menggunakan method previous(). Jika menggunakan method previous() setelah menggunakan method next() akan diperoleh elemen sebelum memanggil method next(). Begitu juga sebaliknya.

Page 27: Kelas-kelas Dasar di  Java

Method set mengubah elemen yang ditunjuk oleh kursor iterator. Method add menambah elemen baru ke dalam koleksi pada posisi sebelum kursor iterator. Dengan demikian, jika memanggil method previous setelah pemanggilan method add, akan diperoleh elemen yang baru dimasukkan ke dalam koleksi tersebut. Jika proses penyetingan dan penambahan elemen tidak didukung oleh koleksi yang bersangkutan, maka UnsupportedOperationException akan dilemparkan.

Page 28: Kelas-kelas Dasar di  Java

Vector merupakan elemen koleksi dari tipe object yang bekerja seperti array. Vector mengimplementasi interface List

Interface List mendefinisikan konsep data secara berurutan sehingga kita bisa mendapati data awal, akhir, berikutnya, dan sebelumnya

Vector menyimpan referensi ke objek Vector memiliki kemiripan dengan ArrayList,

perbedaannya adalah vector tidak melakukan sinkronisasi sedangkan ArrayList melakukan sinkronisasi otomatis

Vector

Page 29: Kelas-kelas Dasar di  Java

Konstuktor vector Vector namaVektor = new Vector()

menghasilkan elemen dengan kapasitas 10 elemen. Apabila kurang, maka akan menambah kapasitasnya dua kali lipat secara otomatis

Vector namaVector = new Vector(int a)menghasilkan vector sebesar a elemen. Apabila kurang, maka akan menambah kapasitasnya dua kali lipat secara otomatis

Page 30: Kelas-kelas Dasar di  Java

Vector namaVektor = new Vector( int a, int b)menghasilkan vector dengan kapasitas a, jika kurang maka akan menambah kapasitasnya sebanyak b secara otomatis

Page 31: Kelas-kelas Dasar di  Java

Method-method dalam vector add(indeks, object)

add(object): menambahkan object berurutan, dari indeks 0 lalu ke indeks berikutnya

set(indeks, object)menyisipkan object pada posisi indeks

get(indeks)mendapatkan object pada posisi indeks yang diinginkan

Page 32: Kelas-kelas Dasar di  Java

firstElement(): mendapatkan objek pada elemen pertama dari vector

size(): mendapatkan ukuran vektor yang telah digunakan

capacity(): mendapatkan ukuran kapasitas vector

remove(indeks): menghapus objek pada indeks

clear(): menghapus semua objek di dalam vektor