Anda di halaman 1dari 14

LAPORAN RESMI

PRAKTIKUM PEMROGRMAN BERORIENTASI OBYEK


MODUL 4
“OBJECT GENERIC”

Disusun Oleh :

TGL. PRAKTIKUM : 09 NOVEMBER 2015


NAMA : SONIA MAHARDIKA PUTRI
NRP : 140411100030
KELOMPOK : B2
DOSEN : YONATHAN FERY HENDRAWAN, ST., MIT

TELAH DISETUJUI TANGGAL :


...........................................
ASISTEN PRAKTIKUM

ABD. SUROSO
(13.04.111.000.24)

LABORATORIUM COMMON COMPUTING


JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS TRUNOJOYO MADURA
2015-2016
BAB I

PENDAHULUAN

1.1. Latar Belakang


Java generic merupakan salah satu konsep penting untuk mengoptimalkan
kemampuan pemrograman pada pengolahan struktur data tingkat lanjut.
Impelementasi struktur data tersebut diimplementasikan melalui Framework
Collection didalam Java. Sering kali programer dalam menuliskan
programnya membutuhkan kecepatan dan ketepatan dalam menuliskan
programnya. Dalam menuliskan program, tidak jarang programmer salah
menuliskan program, namun bagi sebagian programmer yang menggunakan
aplikasi Java kekhawatiran akan salahnya penulisan program tidaklah banyak.
Sebab Java menyediakan fasilitas untuk programmer berupa method –
method yang telah tersedia struktur data dan alogaritmanya. Oleh karena itu,
programmer dapat secara langsung memanggil fungsi yang diinginkan.
Dimana fungsi - fungsi ini berada dalam suatu kelompok yaitu Collection.

1.2. Tujuan
Tujuan dari Praktikum Modul 3 ini antara lain :
1. Mahasiswa dapat memahami konsep adaptif object java generic
2. Mahasiswa dapat memahami pengolahan data secara object
BAB II
DASAR TEORI

Java Generic Object


Java generic merupakan salah satu konsep penting untuk mengoptimalkan
kemampuan pemrograman pada pengolahan struktur data tingkat lanjut.
Impelementasi struktur data tersebut diimplementasikan melalui Framework
Collection didalam Java, yang terdiri atas:
 List
 LinkedList
 Map
 Hashmap
 Set
 Hashset
 TreeSet
Semua tipe dari collection tersebut adalah object sehingga dapat
digunakan untuk mengelolah semua jenis tipe data serta object. Dimana untuk
pembatasannya digunakan operator diamond „<>‟, jika menggunakan operator ini
maka collection hanya memiliki satu tipe data atau object.

Object Type
Tipe data object dasar yang disediakan java adalah „object‟ yang
menyediakan kemampuan adaptif untuk dapat ditempati (Casting) berbagai
macam tipe data, object ataupun collection. Sistematika penulisan Object type,
<Object> var = new Object()
Contoh:
Dari obyek „aku‟ dapat dilihat mampu melakukan casting terhadap
berbagai tipe data integer, String, serta array.

List
List merupakan bentuk collection object dasar, yang mampu untuk
menampung data ataupun obyek secara dinamis. Terdapat dua tipe List yang
disediakan Java yaitu: List(bekerja menggunakan FIFO atau model antrian
Queue) dan LinkedList(menggunakan LIFO atau model antrian Stack). Serta
bentuk struktur lainnya adalah Set yang dapat digunakan untuk memvalidasi
redudansi data didalam list. Contoh penggunaan List dan LinkedList,
Map
Map merupakan bentuk koleksi data dalam bentuk berpasangan index
(key) dan konten (value), sehingga dinyatakan dalam bentuk, Map<Key,value>.
Key umumnya adalah bentuk indeks yang digunakan untuk pattern matching
dalam pencarian koleksi data, sedangkan value dapat menampung berbagai
macam data maupun object sebagai hasil pencarian. Tipe collection Map tidak
dibedakan dengan Hashmap dalam model dan implementasinya. Contoh
penggunaan Map,
Comparator
Untuk mengoptimalkan pengolahan data didalam Collection, java
menyediakan interface Comparable yang berfungsi sebagai pembanding data
didalam sebuah kelas. Melalui interface pembanding maka dapat dilakukan
sorting dengan mudah dalam koleksi data seperti halnya sorting List.
Contoh sorting menggunakan library java:
BAB III

TUGAS PENDAHULUAN

3.1. Soal
1. Apa yang dimaksud dengan tipe data Collection ?
2. Apa fungsi dari operator “<>” dalam Collection ?
3. Jelaskan maksud dan perbedaan dari
a. List
b. Map
4. Apa itu Interface Comparable ?

3.2. Jawaban
1. Tipe data Collection adalah tipe data yang digunakan oleh Collection.
Dimana tipe datanya berupa object, sehingga dapat digunakan untuk
mengelolah semua jenis tipe data serta object. Tipe data ini
menggunakan operator diamond „<>‟.
2. Fungsi dari operator “<>” sebagai pembatas tipe data dari Collection.
Setiap “<>” berarti menyimpan satu tipe data.
3. Perbedaan dari :
a. List : bentuk collection object dasar, yang mampu untuk
menampung data ataupun obyek secara dinamis.
b. Map : Map merupakan bentuk koleksi data dalam bentuk
berpasangan index (key) dan konten (value), sehingga dinyatakan
dalam bentuk, Map<Key,value>.
4. Interface Comparable adalah suatu fungsi yang berfungsi sebagai
pembanding data didalam sebuah kelas.
BAB IV
IMPLEMENTASI

4.1. Tugas Praktikum


4.1.1. Soal
1. Dengan menggunakan konsep POJO buatlah tiga entitas class
sebagai berikut,

2. Nyatakanlah hubungan antar relasi kelas dalam bentuk


Collection
3. Lakukan pengolahan data pada ketiga kelas tersebut, sehingga
bisa menampilkan struktur list&map data sebagaimana contoh
berikut:

4. Buatlah Sorting data menggunakan comparator.


4.1.2. Jawaban
package TugasPraktikum;

import java.util.*;
import java.io.*;

public class testCollection {


public static void main(String[] args) {
Studi s = new Studi("Fakultas Teknik", " Prodi
Informatika");

Mahasiswa2 m1 = new Mahasiswa2("Sonia Mahardika


Putri", "Sumenep", 3);
m1.tambahPrestasi(new Prestasi (3.19, 1));
m1.tambahPrestasi(new Prestasi (3.67, 2));
m1.tambahPrestasi(new Prestasi (4.00, 3));
List<Prestasi> p1 = new ArrayList<Prestasi>();

p1.add(new Prestasi(3.19, 1));


p1.add(new Prestasi(3.67, 2));
p1.add(new Prestasi(4.00, 3));
m1.setPrestasi(new Prestasi[] { (Prestasi) p1 });
HashMap<String, Mahasiswa2> hm1 = new
HashMap<>();
hm1.put("Sonia Mahardika Putri", (Mahasiswa2) p1);
hm1.get("Sonia Mahardika Putri");
//
// Mahasiswa2 m2 = new Mahasiswa2("Saya", "Sumenep",
2);
// List<Prestasi> p2 = new ArrayList<Prestasi>();
// p2.add(new Prestasi(4.00, 1));
// p2.add(new Prestasi(4.00, 2));
// m2.setPrestasi(new Prestasi[] { (Prestasi) p2 });
//
// Mahasiswa2 m3 = new Mahasiswa2("", "", 0);
// m3.setMahasiswa(new Mahasiswa2 [] {m1, m2});
//
//
// Collections.sort(list);
// for(testCollection o : list){
// System.out.println(o);
// }
}

// @Override
// public int compareTo(testCollection o) {
// return 0;
// }
}

package TugasPraktikum;
import java.util.List;

public class Mahasiswa2 {


private String nama;
private String alamat;
private int tingkat;
private Prestasi[] prestasi;
private int kapasitas;

public int getKapasitas() {


return kapasitas;
}

public void setKapasitas(int kapasitas) {


this.kapasitas = kapasitas;
}

public List<Prestasi> getPrestasi() {


return prestasi;
}

public void setPreastasi(Prestasi[] prestasis) {


this.prestasi = prestasis;
}

public Mahasiswa2(String nama, String alamat, int tingkat)


{
super();
this.nama = nama;
this.alamat = alamat;
this.tingkat = tingkat;
}

public Mahasiswa2(String nama, String alamat, int tingkat,


int kapasitas) {
super();
this.nama = nama;
this.alamat = alamat;
this.tingkat = tingkat;
this.kapasitas = kapasitas;
}

public String getNama() {


return nama;
}

public void setNama(String nama) {


this.nama = nama;
}

public String getAlamat() {


return alamat;
}

public void setAlamat(String alamat) {


this.alamat = alamat;
}

public int getTingkat() {


return tingkat;
}

public void setTingkat(int tingkat) {


this.tingkat = tingkat;
}

@Override
public String toString() {
return "Nama : " + nama + "\n" + "Alamat : " +
alamat + "\n"
+ "Tingkat : " + tingkat;
}

public void tambahPrestasi(Prestasi p) {


if (prestasi.size() < kapasitas) {
this.prestasi.add(p);
} else {
System.out.println("penuh");
}
}
}

package TugasPraktikum;

public class Prestasi {


private double ip;
private int semester;

public Prestasi(double ip, int semester) {


super();
this.ip = ip;
this.semester = semester;
}

public double getIp() {


return ip;
}

public void setIp(double ip) {


this.ip = ip;
}

public int getSemester() {


return semester;
}

public void setSemester(int semester) {


this.semester = semester;
}

@Override
public String toString() {
return "Ip Semester " + semester + " : "+ ip;
}

package TugasPraktikum;

public class Studi {


private String fakultas;
private String prodi;

public Studi(String fakultas, String prodi) {


super();
this.fakultas = fakultas;
this.prodi = prodi;
}

public String getFakultas() {


return fakultas;
}

public void setFakultas(String fakultas) {


this.fakultas = fakultas;
}

public String getProdi() {


return prodi;
}

public void setProdi(String prodi) {


this.prodi = prodi;
}

@Override
public String toString() {
return "Fakultas " + fakultas + " Prodi "+ prodi;
}
BAB V
PENUTUP

5.1 Kesimpulan
 Collection didalam Java, yang terdiri atas:
 List merupakan bentuk collection object dasar, yang mampu
untuk menampung data ataupun obyek secara dinamis.
 Map merupakan bentuk koleksi data dalam bentuk
berpasangan index (key) dan konten (value), sehingga
dinyatakan dalam bentuk, Map<Key,value>.
 Set dibagi menjadi Hashset dan TreeSet.
 Interface Comparable yang berfungsi sebagai pembanding data
didalam sebuah kelas. Melalui interface pembanding maka dapat
dilakukan sorting dengan mudah dalam koleksi data seperti halnya
sorting List.

5.2 Saran
Dalam penulisan modul ini penulis menyarankan kepada asisten praktikum
agar menjelaskan jangan terlalu cepat dan lebih banyak menjelaskan tentang
Collection karena saya masih belum sepenuhnya mengerti dan paham akan
konsep Collection.

Anda mungkin juga menyukai