algotitma dan struktur algoritma - collection

11
SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 1 LAPORAN RESMI PRAKTIKUM 3 : COLLECTION A. TUJUAN PEMBELAJARAN 1. Memahami cara penyimpanan objek menggunakan Collection. 2. Mengetahui pengelompokan dari Collection. 3. Mengetahui perbedaan dari interface Set, List, dan Map. 4. Mengetahui penggunaan class-class dari interface Set, List, dan Map. 5. Mengetahu cara penggunaan iterasi dan Enumeration. B. LAPORAN RESMI 1. Latihan 1 : Penerapan konsep himpunan pada interface Set Terdapat sebuah himpunan A = {1,2,3,4,5} B = {5,6,7,8,9,10} Menggunakan class yang mengimplementasikan Interface Set, dapatkah output seperti: A B A B A U B A C B Source Code: import java.util.*; public class latihan1 { public static void main(String[] args) { Set y = new HashSet(); y.add("1"); y.add("2"); y.add("3"); y.add("4"); y.add("5"); Set s = new HashSet(); s.add("5"); s.add("6"); s.add("7"); s.add("8"); s.add("9"); s.add("10"); Set selisih = new TreeSet(y);

Upload: siska-amelia

Post on 08-Jul-2015

160 views

Category:

Education


10 download

TRANSCRIPT

Page 1: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 1

LAPORAN RESMI

PRAKTIKUM 3 : COLLECTION

A. TUJUAN PEMBELAJARAN

1. Memahami cara penyimpanan objek menggunakan Collection. 2. Mengetahui pengelompokan dari Collection. 3. Mengetahui perbedaan dari interface Set, List, dan Map.

4. Mengetahui penggunaan class-class dari interface Set, List, dan Map. 5. Mengetahu cara penggunaan iterasi dan Enumeration.

B. LAPORAN RESMI

1. Latihan 1 : Penerapan konsep himpunan pada interface Set

Terdapat sebuah himpunan

A = {1,2,3,4,5}

B = {5,6,7,8,9,10} Menggunakan class yang mengimplementasikan Interface Set, dapatkah output seperti:

– A – B – A ∩ B

– A U B – A C B

Source Code:

import java.util.*;

public class latihan1 {

public static void main(String[] args) {

Set y = new HashSet();

y.add("1");

y.add("2");

y.add("3");

y.add("4");

y.add("5");

Set s = new HashSet();

s.add("5");

s.add("6");

s.add("7");

s.add("8");

s.add("9");

s.add("10");

Set selisih = new TreeSet(y);

Page 2: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 2

selisih.removeAll(s);

System.out.println("A selisih B: "+selisih);

Set irisan = new TreeSet(y);

irisan.retainAll(s);

System.out.println("A irisan B: "+irisan);

Set gabungan = new TreeSet(y);

gabungan.addAll(s);

System.out.println("A gabungan B: "+gabungan);

Set sub = new TreeSet(y);

sub.containsAll(s);

System.out.println("A subset B: "+sub);

}

}

Output:

2. Latihan 2 : Memahami penggunaan interface List. Buatlah obyek List, dengan data bertipe String lakukan langkah berikut :

• Tampilkan data yang terdapat pada list. • Baliklah data yang terdapat pada list dan tampilkan.

• Acaklah data tersebut dan tampilkan. • Urutkan data tersebut dan tampilkan.

Source Code:

import java.util.*; import static java.util.Collections.reverse;

import static java.util.Collections.shuffle; import static java.util.Collections.sort;

public class latihan2 { public static void main(String[] args) {

List list = new ArrayList(); list.add("H&M");

list.add("Forever21"); list.add("TOPSHOP"); list.add("PRIMARK");

list.add("MAC");

Page 3: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 3

list.add("HushPuppies"); System.out.println("List: "+list);

reverse(list); System.out.println("Backward: "+list);

shuffle(list); System.out.println("Shuffle: "+list); sort(list);

System.out.println("Sort: "+list);

} }

Output:

3. Latihan 3 : Memahami penggunaan interface List (2)

Buatlah class Mahasiswa dengan informasi nrp dan nama(bertipe String). Buatlah obyek List, dengan data bertipe String lakukan langkah berikut :

Tampilkan data yang terdapat pada list.

Baliklah data yang terdapat pada list dan tampilkan.

Acaklah data tersebut dan tampilkan.

Urutkan data tersebut, jangan lupa untuk mengimplementasikan interface

Comparable/Comparator pada class Mahasiswa dan tampilkan.

Source Code:

import java.util.*;

import java.util.*;

public class latihan3 {

public static void main(String[] args) {

String[] nama = {"Siska","Alfredo","Zoe","Tanya"};

int[] nrp = {2110121034,2110121026,2110121024,2110121030};

ArrayList datanama = new ArrayList();

ArrayList datanrp = new ArrayList();

for(int i=0;i<nama.length;i++){

datanama.add(nama[i]);

Page 4: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 4

datanrp.add(nrp[i]);

}

System.out.println("-List Data-\nNama: "+datanama+"\nNRP: "+datanrp+"\n");

Collections.reverse(datanama);

Collections.reverse(datanrp);

System.out.println("\n-Dibalik-\nNama: "+datanama+"\nNRP: "+datanrp+"\n");

Collections.shuffle(datanama);

Collections.shuffle(datanrp);

System.out.println("\n-Acak-\nNama: "+datanama+"\nNRP: "+datanrp+"\n");

Collections.sort(datanama);

Collections.sort(datanrp);

System.out.println("\n-Urut-\nNama: "+datanama+"\nNRP: "+datanrp+"\n");

}

}

Output:

4. Latihan 4 : Penggunaan class LinkedList pada interface List.

Buatlah dua obyek List (ArrayList) yaitu obyek warna dan warnaDihapus. Obyek ini

berisi warna-warna, buatlah sebagian ada yang sama. Lakukan penghapusan data yang terdapat pada obyek warna yang sama dengan data warna yang terdapat pada obyek warnaDihapus, selanjutnya tampilkan. Warna :

[MAGENTA, RED, WHITE, BLUE, CYAN]

Warna yang dihapus :

[RED, WHITE, BLUE]

Output :

Warna :

[MAGENTA, CYAN]

Source Code:

import java.util.*;

Page 5: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 5

public class latihan4 {

public static void main(String[] args) {

Object[] color = {"MAGENTA","RED","WHITE","BLUE","CYAN"};

Object[] deletedColor = {"RED","WHITE","BLUE"};

List warna = new ArrayList();

List warnadihapus = new ArrayList();

warna.addAll(Arrays.asList(color));

warnadihapus.addAll(Arrays.asList(deletedColor));

System.out.println("Warna:\n"+warna);

System.out.println("\nWarna yang dihapus:\n"+warnadihapus);

warna.removeAll(warnadihapus);

System.out.println("\nWarna tersisa:\n"+warna);

}

}

Output:

5. Latihan 5 : Pengurutan data mahasiswa berdasarkan nilai.

Buatlah class Mahasiswa dengan informasi :

Nrp (String)

Nama(String)

Nilai(Float) Terdapat 10 data mahasiswa yang tersimpan dalam queue, set nilai secara random

antara 60-100, lakukan pengurutan data mahasiswa berdasarkan nilai tersebut ! Source Code:

import java.util.*;

public class Latihan5 {

public static void main(String[] args) {

Page 6: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 6

String[] nama = {"Siska","Amelia","Melinda","Febrianti"};

String[] nrp = {"123","124","125","126"};

PriorityQueue<Mahasiswa> mahasiswa = new PriorityQueue<Mahasiswa>(3,

new Comparator<Mahasiswa>(){

@Override

public int compare(Mahasiswa s, Mahasiswa s1) {

int val = 0;

if(s.getNilai() > s1.getNilai()) {

val = 1;

}else if((s.getNilai() == s1.getNilai())) {

val = 0;

}else{

val = -1;

}

return val;

}

});

Random tes = new Random();

for(int i=0;i<nrp.length;i++){

mahasiswa.add(new Mahasiswa(nama[i], nrp[i],tes.nextInt(40)+60));

}

System.out.println(mahasiswa);

}

}

Output:

Page 7: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 7

6. Latihan 6 : Mengetahui penggunaan class TreeMap

Input : televisi kursi televisi kursi meja televisi monitor. Output : kursi = 2 meja = 1 monitor = 1 televisi = 3

Source Code:

import java.util.*;

public class Latihan6 {

public static void main(String[] args) {

String kata;

Scanner input = new Scanner(System.in);

System.out.print("Input: ");

kata = input.nextLine();

System.out.println("Output: ");

TreeMap<String, Integer> word = new TreeMap();

for(String y : kata.split(" ")){

if(word.containsKey(y)){

word.put(y, word.get(y).intValue()+1);

}

else{

word.put(y,1);

}

}

System.out.println(word);

}

}

Output:

Page 8: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 8

7. Mengetahui penggunaan class TreeMap

Melanjutkan latihan 1, tampilkan :

Tampilkan nilai terendah dan tertinggi Output :

Nilai terendah : Meja = 1

Nilai tertinggi : Televisi = 3

Source Code:

import java.util.*;

public class Latihan7 {

public static void main(String[] args) {

String kata;

Scanner input = new Scanner(System.in);

System.out.print("Input: ");

kata = input.nextLine();

System.out.println("Output: ");

TreeMap<String, Integer> word = new TreeMap();

for(String y : kata.split(" ")){

if(word.containsKey(y)){

word.put(y, word.get(y).intValue()+1);

}

else

word.put(y,1);

}

class Latihan7Comparator implements Comparator<Map.Entry<String,Integer>>{

@Override

public int compare(Map.Entry<String, Integer> t, Map.Entry<String, Integer> t1) {

return t.getValue().compareTo(t1.getValue());

}

}

System.out.println("Nilai tertinggi\t: "+Collections.max(word.entrySet(), new

Latihan7Comparator()));

System.out.println("Nilai terendah\t: "+Collections.min(word.entrySet(), new Latihan7Comparator()));

System.out.println("Kata berawalan m: "+word.tailMap("m"));

Page 9: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 9

}

}

Output:

8. Latihan 8 : Ibukota propinsi di Indonesia

Terdapat objek TreeMap 1 yang berisi pulau(sebagai key) beserta propinsi-

propinsinya(value). Terdapat objek TreeMap 2 yang berisi propinsi(sebagai key) beserta ibukotanya(value). Tampilkan :

Ibukota propinsi yang terdapat di pulau Sumatera

Ibukota propinsi yang terdapat di pulau Jawa

Ibukota propinsi yang berawalan S (Sumatera Utara, Sumatera Barat, Sumatera Selatan, Sulawesi Barat, Sulawesi Tengah, Sulawesi Utara, Sulawesi Tenggara,

Sulawesi Selatan).

Source Code:

import java.util.*; public class Latihan8 {

public static void main(String[] args) { TreeMap<String, TreeMap<String, String>> island = new TreeMap();

TreeMap<String, String> provinsi = new TreeMap(); island.put("Sumatera", new TreeMap<String, String>());

TreeMap<String, String> suma = island.get("Sumatera"); suma.put("NAD","Banda Aceh");

suma.put("Sumatera Utara", "Medan"); suma.put("Sumatera Barat", "Padang"); suma.put("Kepulauan Riau", "Tanjung Pinang");

suma.put("Riau", "Pekan Baru"); suma.put("Jambi", "Jambi");

suma.put("Sumatera Selatan", "Palembang"); suma.put("Bangka Belitung", "Pangkal Pinang"); suma.put("Bengkulu", "Bengkulu");

suma.put("Lampung", "Bandar Lampung"); System.out.println("Ibukota propinsi yang terdapat di Pulau Sumatera : \n");

System.out.println(toStringWrapper(island.get("Sumatera"))); island.put("Jawa", new TreeMap<String, String>());

TreeMap<String, String> java = island.get("Jawa"); java.put("DKI Jakarta","Jakarta");

Page 10: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 10

java.put("Jawa Barat","Bandung"); java.put("Jawa Timur","Surabaya");

java.put("Jawa Tengah","Semarang"); java.put("DI Yogyakrta","Yogyakarta");

java.put("Banten","Serang"); System.out.println("\nIbukota propinsi yang terdapat pada Pulau Jawa : \n"); System.out.println(toStringWrapper(island.get("Jawa")));

island.put("Sulawesi", new TreeMap<String, String>());

TreeMap<String, String> sula = island.get("Sulawesi"); sula.put("Sulawesi Utara","Manado"); sula.put("Sulawesi Tengah","Palu");

sula.put("Sulawesi Barat","Kota Mamuju"); sula.put("Sulawesi Selatan","Makassar");

sula.put("Sulawesi Tenggara","Kendari"); sula.put("Gorontalo","Gorontalo");

System.out.println("\nIbukota propinsi yang berawalan 'S' : "); for(TreeMap<String, String> map : island.values()){

SortedMap<String, String> list = map.tailMap("S"); System.out.println(list.size() <= 0 ? ("") : toStringWrapper(list)); }

} private static String toStringWrapper(Object obj) {

return (obj.toString().replace("{", "\t").replace("}", "").replace(", ", "\n\t").replace("=", " = ")); }

}

Page 11: Algotitma dan Struktur Algoritma - Collection

SISKA AMELIA | 2103131034 | 2 D3 IT B | PENS | 11

Output: