PEMROGRAMAN BERORIENTASI OBJECT
Modul Collection
A.
ARRAY
Array
adalah sebuah variabel yang bisa menyimpan banyak data dalam satu variabel. Array
menggunakan indeks untuk memudahkan akses terhadap data yang disimpannya.
// cara pertama String[] nama; // cara kedua String nama[]; // cara ketiga dengan kata kunci new String[] nama = new String[5];
Penjelasan
:
· Kita menggunakan kurung siku [ ] untuk membuat
array;
· Kurung siku bisa diletakkan setelah tipe data atau nama
array;
· Angka 5 dalam kurung artinya batas atau ukuran
array-nya.
Contoh
deklasi array dan pengambilan nilai array :
public class ARRAY1 { public static void main(String[] args)
{ //pendeklarasian array dan pemberian nilai String[] nama = new String[5]; nama[0] = "Linda"; nama[1] = "Santi"; nama[2] = "Susan"; nama[3]
= "Mila"; nama[4] = "Ayu"; //pengambilan nilai array System.out.println(nama[0]); System.out.println(nama[3]); } }
Contoh
pengambilan nilai array dengan perulangan :
B. Array Multidimensi
Array multidimensi sering
kali digambarkan/dianalogikan sebagai sebuah matriks. Jika array
berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array berdimensi dua terdiri dari banyak baris dan banyak
kolom yang bertipe sama.
Contoh
struktur matriks adalah:
Deklarasi Array Multidimensi
tipe_data
nama_var_array[batas_baris][batas_kolom];
Contoh:
int matriks[3][4];
int matriks2[3][4] = { {5,20,1,11}, {4,7,67,-9}, {9,0,45,3} };
Contoh program:
import
java.util.Scanner; public
class arrayMulti { public static void main(String[] args)
{ // Membuat Array dan Scanner String[][] meja = new String[2][3]; Scanner scan = new
Scanner(System.in); // mengisi setiap meja for(int bar = 0; bar < meja.length;
bar++){ for(int kol = 0; kol <
meja[bar].length; kol++){
System.out.format("Siapa yang akan duduk di meja (%d,%d):
", bar, kol); meja[bar][kol] =
scan.nextLine(); } } // menampilkan isi Array
System.out.println("-------------------------"); for(int bar = 0; bar <
meja.length; bar++){ for(int kol = 0; kol <
meja[bar].length; kol++){ System.out.format("|
%s | \t", meja[bar][kol]); }
System.out.println(""); }
System.out.println("-------------------------"); } }
C.
COLLECTION
Collection adalah suatu objek yang bisa
digunakan untuk menyimpan sekumpulan objek. Objek yang berada didalam
collection disebut element.
Collection merupakan suatu penyimpanan yang memungkinkan untuk menyimpan, mengambil
serta memanipulasi ( menghapus, mengubah, mencari dan mengurutkan ) objek-objek
dengan mudah.salah satu collection yang paling sederhana adalah array. Namun
dalam collection framework, java menawarkan berbagai bentuk lain collection,
karena collection adalah interface,
maka untuk mengaksesnya harus dibuat class yang mengimplementasikannya.
Kelebihan Collection antara lain :
1. Mengurangi upaya dalam membuat program, karena sudah tersedia
struktur data dan algoritma tanpa menulis sendiri.
2. Meningkatkan performa, karena setiapimplementasi berfungsi
maksimal sesuai kasus yang ada.
3. Dapat dikembangkan dan fleksibel terhadap tipe objek yang ada
dalam collection
Collection terbagi menjadi 3
kelompok yaitu Set, List dan Map.
Tujuan dari collection framework adalah untuk mempermudah proses
pengolahan data, meliputi : menambah data, menghapus data, mengubah
data, mencari data, megurutkan data.
Collection framework antara
lain :
1. Set interface adalah
collection untuk menyimpan data unik (tidak boleh sama/ duplikat)
2. List interface adalah
collection untuk menyimpan data secara urut (sequensial)
3. Queue interface adalah
collection untuk menyimpan data dengan menggunakan First in First Out
4. Map interface adalah
collection menyimpan data menggunakan key, Map adalah interface yang berdiri
sendiri bukan turunan dari interface collection, tapi map termasuk dari
collection framework.
ü
interface collection adalah collection ang menerima
paremeter berupa tipe data (objek) yang akan disimpan menggunakan < > seperti berikut Collection <E>.
fungsi dasar interface collection
adalah :
-
Add
: menambah data
-
Remove
: menghapus data
-
Contains
: mencari data pada collection
-
Size
: mendapatkan jumlah data yang tersimpan
-
Clear
: mengosongkan collection
-
toArray
: mengubah collection menjadi Array
1.
List
List atau disebut sequence
merupakan collection terurut yang memperbolehkan adanya element yang sama. List
dapat menampung berbagai macam tipe data antara lain string, integer, long
bahkan object. List menyimpan data
secara sequensial sepert array, sehingga pengaksesannya dapat
menggunakan system indexing. List berguna untuk mengelola data yang perlu
memperhatikan posisi data, missal :
·
Presensi siswa
·
Kursi bioskop
·
‘daftar lagu populer
Class-
class yang mengimplementasikan interface list yaitu :
a. ArrayList digunakan untuk membuat
array yang ukurannya dinamis( dapat berubah)
b. LinkedList merupakan bentuk struktur
data yang berisi kumpulan daya yang tesusun secara urut terhubung, saling
menyambung dan dinamis. Method dalam LinkedList adalah addFirst, addLast, get(int),
remove(), removeLast().
c. Vector
(araylit yang tersinkronissi) merupakan suatu bentuk array dinamis,
sehngga perlu mengubah ukuran array saat melakukan penambahan pada array yang
sudah penuh. Pengaksesan element pada vector tidak bisa dilakukan secara
langsung namun harus dengan menggunakan method getter dan setter
(harus mengimport java.until.Vector)
d. Stack merupakan sebuah collection
sederhana yang menerapkan aturan LIFO ( Last In First Out) yang berarti element
yang terakhir akan dikeluarkan terlebih dahulu.
Untuk operasi ambil
data, ArrayList/ Vektor memiliki
performa paling baik.
sntax
List<String>
list = new ArrayList<String>();
// menambah data
list.add(“LALA”);
list.add(“EKO”);
//menmpilkan set
System.out.println(list);
2.
set
set interface salah satu
collection yang memiliki aturan bahwa data/ object didalamnya tidak boleh ada
yang sama. Contohnya :
-
nomer
telepon
-
nomer
ktp
-
alamat
email
Jadi
implementasi pada interface Set ada batasan bahwa unsur-unsur tidak boleh ada
yang duplikasi
ü
set dapat diimplementasikan menggunakan :
a. Hashset : penyimpanan data tidak urut / tidak
memperhatikan posisi data
b. Linked
Hastset :
penyimpanan data berdasarkan urutan masuknya
c. Treeset
:
penyimpanan data berdasarkan nlai terkecil ke terbesar
Untuk
operasi tambah dan hapus data, hashset dan linked hashset memiliki kompleksitas
yang sama yaitu O(1)(kecepatan data),
namun dari segi perorma hashset lebih baik. Treeset memiliki kompleksitas
O(log(n)), untuk TreeSet memiliki kompleksitas O(log(n))
Sintak
:
Set<String> set = new
HashSet<String>();
//
menambah data
Set.add(“LALA”);
//menmpilkan
set
System.out.println(set);
3. Queue adalah Collection yang
berguna uuntuk mengelola data yang menggunakn prinsip FIFO atau antrian(data
yan ditmbahkan paling dahuluu akan diambil paling awal), misal:
·
Antrian
bank
·
Antrian
umah sakit
ü
Queue dapat iimplementasikan menggunakan ;
·
LinkedList mengguunakan antrian system FIFO standart
·
PriorityQueue
menggunakan antrian yang urutannya
berdasarkan kriteria
tertentu(mengguunakan interface Comparable)
Sintax:
Queue<String> queue=
new LinkedList<String>();
//
menambah data
queue.add(“LALA”);
queue.add(“JONO”);
//menmpilkan
set
System.out.println(Queue);
4. Map adalah collection yang berguna untik mengelola data yang memiliki key/ indek,
dimana indek tidak harus anka, bias
beupa text / object.
Missal :
·
Penduduk
(kuuci/ key : nomr KTP)
·
Mahasiswa
(kuuci/ key : nomr NIM)
ü
Queue dapat iimplementasikan menggunakan ;
·
HashMap : data disimpan tidak memperhatikan
posisi data
·
LinkedHashMap :
data disimpan berdasar urutan masuk
·
TreeMap : data disimpan berdasrkan nilai terkecil ke terbesar
Untuk
operai tambah data dan hapus data, HashMap
dan LinkedHashMap memiliki kompleksitas yang sama yaitu O(1), namun disisi peforma HahMap lebbih
baik. Sementara TreeMap memiliki
kmpleksitas O(log(n)).
Sintax:
Map< String, String > map=
new HashMap< String, string>();
//
menambah data
map.put(“ La ”,“LALA”);
map.puut(“ Jn”,“JONO”);
//menmpilkan
set
System.out.println(map);
v Mengambil data pada Collection
Mengambil
data pada Collection diarankan untuk menggunkan interator. Alterrntif lain
adalah denan mengubah Collectin ( selain Map) menjai array denan m ethod toArray( ), namun beberapa turuan dari
collection juga memiliki
method khusus untuk mengambil data.
Collection yang dapat menambil data : List , Queue dan
Map
Latihan 1 :
Percobaan 1 : Memahami
penggunaan class-class yang mengimplementasikan
interface
Set yaitu class HashSet dan class TreeSet
import java.util.*;
public class SetExample {
public static void main(String[] args) {
Set set=new HashSet();
set.add("Bernadine");
set.add("Elizabeth");
set.add("Gene");
set.add("Elizabeth");
set.add("Clara");
System.out.print("Elemen pada HashSet
: ");
System.out.println(set);
Set sortSet=new TreeSet(set);
System.out.print("Elemen pada
TreeSet : ");
System.out.println(sortSet);
Percobaan 2 : Memahami
penggunaan class-class yang mengimplementasikan interface List yaitu ArrayList
dan LinkedList.
import java.util.*;
public class ListExample {
public static void main(String[] args) {
List list=new ArrayList();
list.add("Bernadine");
list.add("Elizabeth");
list.add("Gene");
list.add("Elizabeth");
list.add("Clara");
System.out.println(list);
System.out.println("2 : "+list.get(2));
System.out.println("0 :
"+list.get(0));
LinkedList queue=new
LinkedList();
queue.addFirst("Bernadine");
queue.addFirst("Elizabeth");
queue.addFirst("Gene");
queue.addFirst("Elizabeth");
queue.addFirst("Clara");
System.out.println(queue);
queue.removeLast();
queue.removeLast(); System.out.println(queue);
}
}
Komentar
Posting Komentar