pemrograman berorientasi obyek lanjut (it251) effort dalam membuat program, ... contoh class list...

Post on 12-May-2018

241 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pemrograman Berorientasi Obyek Lanjut (IT251)

Ramos Somya, S.Kom., M.Cs.

Array pada Java adalah objek yang dapat digunakanuntuk menyimpan data-data dengan tipe yangsama.

Tipe dari data yang disimpan pada array dapatberupa tipe data primitive atau objek dari kelastertentu.

Array dapat diibaratkan sebagai sebuah gedungyang memiliki beberapa ruangan dengan bentukdan ukuran yang sama.

Cara mendeklarasikan array: tipe_data nama_array[]; atau tipe_data[] nama_array;

Contoh:

int nim[];

int[] nim;

Cara mengalokasikan ukuran array:

Contoh:

int[] daftarSiswa = new int[100];

char[] huruf = new char[92];

int[][] matriks = new int[3][3];

Cara memberikan nilai pada array:

Contoh:

int[] nim = new int[3];

nim[0]=1;

nim[1]=2;

nim[2]=3;

Indeks array yang alamatnya terdiri dari x dan y atau

x, y, dan z, atau lebih dari 3.

Collection digunakan untuk menyimpan,mengambil, dan memanipulasi data.

Salah satu collection paling sederhana adalah Array.Namun dalam Collection Framework, Javamenawarkan berbagai bentuk lain dari Collection.

Karena Collection adalah interface, maka harusdibuat class yang mengimplementasikannya.

Dalam Java API, sudah tersedia beberapa class yangsangat berguna untuk memanage object-objectdalam Collection, sesuai sifat dan kebutuhannya.

Mengurangi effort dalam membuat program,karena sudah tersedia struktur data dan algoritmatanpa harus menulis sendiri.

Meningkatkan performa, karena setiapimplementasi dapat berfungsi maksimal sesuaikasus yang ada.

Dapat dikembangkan dan fleksibel terhadap tipeobject yang ada dalam Collection.

Semua class yang berhunbungan dengan Collectiontergabung dalam Java Collection Framework danterdapat dalam package java.util punya 2interface utama : Collection dan Map.

Pada dasarnya ada 3 Interface yang digunakan,yaitu Set, List, dan Map.

Kemudian ada 5 implementasi dasar yangdigunakan pula, yaitu Hash Table, Resizable Array,Balanced Tree, Linked List, dan Hash Table + LinkedList.

Berdasarkan teknik pengelompokkannya terbagi menjadi 3 : Set, List, dan Queue.

SetMerupakan cara pengelompokkan mengikuti modelhimpunan setiap anggotanya harus unik.

ListMerupakan pengelompokkan berdasarkan urutan sepertiarray. Isi list tidak harus unik.Contoh class List : Vector, Stack, linkedList & ArrayList.

QueueMerupakan pengelompokkan berdasarkan aturan FIFO.Contoh class : PriorityQueue & LinkedList.

Untuk menambahkan isi dari Map memerlukansepasang objek, satu sebagai key satu lagi nilai yangakan disimpan.

Map juga dikenal sebagai Dictionary : sifatnya miripdengan kamus.

Contoh class Map : HashTable, TreeMap, HashMap,LinkedHashmap.

Vector merupakan suatu bentuk array dinamis,sehingga kita tidak perlu mengubah ukuran arraysaat melakukan penambahan pada array yangsudah penuh.

Perbedaan vector dengan array adalahpengaksesan elemen pada vector tidak bisadilakukan secara langsung, tetapi harusmenggunakan setter dan getter.

Untuk menggunakan vector kita harus melakukan

import java.util.Vector;

Mendeklarasikan vector caranya: Vector<TipeData> namaVector = new

Vector<TipeData>(); Contoh:

Vector<Integer> vec = new Vector<Integer>();

Contoh: misal nama vector-nya ‘vec’ vec.size() adalah fungsi untuk mengembalikan

jumlah elemen di dalam vektor. vec.addElement(obj) akan menambahkan Object

obj di akhir vektor. vec.removeElement(obj) menghapus obj dari dalam

vektor, kalau ada. Hanya objek pertama yangditemui akan dihapus.

vec.removeElementAt(N) menghapus elemen ke-N.N harus berada pada rentang 0 hingga vec.size() - 1.

vec.setSize(N) akan mengubah ukuran vektormenjadi N. Jika di dalam vektor terdapat elemenyang jumlahnya lebih banyak dari N, maka elemenlainnya akan dihapus.

vec.setElementAt(Object, index) akan mengubahelemen pada index yang diset dengan nilai baru

ArrayList digunakan untuk membuat array yangukurannya dinamis. Berbeda dengan array biasayang ukurannya harus ditentukan di awal deklarasiarray, dengan ArrayList, ukurannya akan fleksibeltergantung banyaknya elemen yang dimasukkan.

Kelebihan lain collection framework ini adalahkemampuannya untuk membuat perulangan dirinyasendiri, sebab Collection frameworkmengimplementasikan interface Iterable. Sehinggauntuk membuat perulangan “for” sebenarnya cukupdengan:

Stack merupakan sebuah collection sederhana yangmenerapkan aturan LIFO (Last in First out). Artinya, elemenyang masuk terakhir akan dikeluarkan terlebih dahulu.

Meskipun terdapat method add, get, dan remove karenaStack tetap inherit ke interface collection, namun methodyang umum dipakai dalam Stack adalah push() untukmemasukkan elemen, pop() untuk mengeluarkan elemen,empy() untuk mengecek apakah stack kosong, dan peek()untuk melihat elemen teratas. Semua dilakukan sesuaiurutan LIFO.

Linked List adalah salah satu bentuk struktur data,berisi kumpulan data (node) yang tersusun secarasekuensial, saling sambung-menyambung dandinamis. Linked List sering disebut juga SenaraiBerantai.

public class SenaraiBerkaitTunggal {private static LinkedList<Integer> l;public static void main(String[] args) {

System.out.println("Program dengan LINKEDLIST default Java.");l = new LinkedList<Integer>();Integer j = null;int i;System.out.println("starting...");for (i = 0; i < 5; i++) {

j = new Integer((int) (Math.random() * 100));l.addFirst(j);System.out.println("add : " + j);

}

for (; i < 10; i++) {j = new Integer((int) (Math.random() * 100));l.addLast(j);System.out.println("addLast : " + j);

}for (i = 0; i < l.size(); i++) {

System.out.println("get " + i + " : " + l.get(i));}for (i = 0; i < 5; i++) {

System.out.println("remove : " + ((Integer) l.remove()));}while (!l.isEmpty()) {

System.out.println("removeLast : " + ((Integer) l.removeLast()));}

}}

addFirst(E), menambahkan elemen di depan list addLast(E), menambahkan elemen di akhir list get(int), mendapatkan list berdasarkan indeks remove(), menghapus head/elemen pertama pada

list removeLast(), menghapus elemen terakhir pada list

Implementasi ketiga adalah dari Interface Map. Mapberfungsi sebagai collection yang memetakansetiap value dengan key tertentu. Jika mencobamenambahkan elemen dengan key yang sama,maka elemen sebelumnya pada key tersebut akanditindih sehingga hilang.

Deklarasi HashMaps juga harus diikuti nama classyang akan menjadi key dan value-nya.

top related