Write a Java Program That Will Make a Linked List From a List of Names

Java Collection Frameworks

Collections framework merupakan bentuk algoritma yang digunakan untuk merepresentasikan dan memanipulasi collections. Semua collections frameworks mengandung hal-hal berikut:

  • Interfaces: memungkinkan collections dimanipulasi secara independen.
  • Implementations: merupakan implementasi dari collection interfaces. Dan merupakan struktur data yang reusable.
  • Algorithms: merupakan method-method yang dapat digunakan untuk melakukan proses komputasi tertentu, seperti searching (pencarian) dan sorting (pengurutan), terhadap objek yang meng-implement collection interfaces. Method-method pada Java Collections Framework adalah polymorphic: maksudnya nama method yang sama dapat digunakan pada collection interface yang sesuai. Algoritma pada Java Collections Framework memiliki fungsi yang reusable.

Praktikum ini akan memberikan contoh-contoh penggunaan Java Collection Framework untuk membangun aplikasi Java.

Durasi waktu: 120 menit

Latihan 1: Build dan run aplikasi yang menggunakan
tipe collection "Set"


Interface Set merupakan sub-interface dari interface Collection. Interface Set tidak membolehkan duplikasi data di dalam collection. Method yang ada dalam interface Set sama dengan interface Collection. Method paling penting pada interface Set adalah equals() yang digunakan untuk mengecek kesamaan objek.

Dua class penting yang ada dalam Java Collections Framework yang meng-implement interface Set adalah: HashSet dan TreeSet.

HashSet merupakan class yang sering digunakan untuk menyimpan collection yang bebas duplikasi. Untuk efisiensi, objek yang ditambahkan dalam HashSet, perlu untuk menggunakan method hashCode().

TreeSet merupakan class yang sering digunakan untuk mengekstrak elemen dari collection dalam urutan tertentu. Agar TreeSet berjalan dengan baik, elemen yang ditambahkannya ke dalamnya harus dapat diurut. Terkadang lebih mudah untuk menambahkan data ke dalam HashSet baru kemudian dikonversi ke TreeSet agar mudah diurut.

Untuk mengoptimalkan ruang penyimpanan HashSet, maka kita dapat melakukan tuning initial capacity dan load factor. Class TreeSet tidak memiliki opsi tuning karena tree selalu dalam kondisi seimbang, dan memastikan performa log(n) untuk proses insert, hapus dan query.

Materi bahasan:

  1. Build dan run aplikasi yang menggunakan HashSet
  2. Temukan duplikasi dengan HashSet
  3. Temukan duplikasi dengan HasetSet 2
  4. Build dan run aplikasi yang menggunakan TreeSet
  5. Build dan run aplikasi yang menggunakan LinkedHashSet
  6. Set dan polymorphism

(1.1) Build dan run aplikasi yang menggunakan HashSet

HashSet meng-implement interface Set dan memiliki konsep yang sama dengan Hash table (HashMap). Class ini membolehkan elemen

null.

Class ini dapat memberikan performa waktu konstan untuk proses dasar (

add

,

remove

,

contains

and

size

).

0. Buka IDE NetBeans.
1. Buat projek baru pada NetBeans

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.

  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Set-HashSet-add sebagai nama projek .
  • Untuk teksfield Create Main Class ketik sethashsetadd.Main (seperti yang muncul pada IDE).
  • Klik Finish.


Gambar: Buat projek baru

2. Ubah source code Main.java pada IDE seperti pada Code di bawah.  Pelajari code tersebut dan perhatikan bagian yang dihitamkan.

package sethashsetadd;

import java.util.HashSet;

public class Main {

    public static void main(String[] args) {

// Create HashSet object
HashSet hs = new HashSet(5, 0.5f);
System.out.println(hs.add("one"));
System.out.println(hs.add("two"));
System.out.println(hs.add("three"));
System.out.println(hs.add("four"));
System.out.println(hs.add("five"));

// Print out the HashSet object
System.out.println(hs);

// Add a duplicate item to the HashSet
Boolean b = hs.add("one");
System.out.println("Duplicate item allowed = " + b);
System.out.println(hs);

    }

}

Code: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek Set-HashSet-add dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

true
true
true
true
true
[one, two, five, three, four]
Duplicate item allowed = false
[one, two, five, three, four]

Gambar: Hasil running program Set-HashSet-add

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Set-HashSet-add . Anda dapat langsung menjalankan file sample tersebut.

4. Sebagai bahan latihan, lakukan hal di bawah:

  • Buat projek NetBeans dengan nama MyHashSet
  • Buat objek HashSet dengan kapasital awal 5
  • Tambahkan objek-objek di bawah ke dalam objek HashSet
    • 2 String objek
    • 2 MyOwnClass objek (Anda buat MyOwnClass.java terlebih dahulu)
    • 3 Integer objek
  • Tampilkan isi dari objek HashSet

return to top of the exercise

(1.2) Temukan duplikasi dengan HashSet

1. Buat projek baru pada NetBeans

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Set-HashSet-FindDup sebagai nama projek .
  • Untuk teksfield Create Main Class ketik sethashsetfinddup.Main (seperti yang muncul pada IDE).
  • Klik Finish.

2. Ubah source code Main.java pada IDE seperti pada Code di bawah.  Pelajari code tersebut dan perhatikan bagian yang dihitamkan.

package sethashsetfinddup;

import java.util.HashSet;
import java.util.Set;

public class Main {

    public static void main(String[] args) {

        // Set up test data
String name[] = {
new String("Sang"),
new String("Shin"),
new String("Boston"),
new String("Shin")
};

       // Create HashSet object instance and
        // assign it to a variable of Set type.
Set s = new HashSet();
for (int i=0; i<name.length; i++)
if (!s.add(name[i]))
System.out.println("Duplicate detected: "+name[i]);

        System.out.println(s.size()+" distinct words detected: "+s);
}
}

Code: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek Set-HashSet-FindDup dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

Duplicate detected: Shin
3 distinct words detected: [Shin, Sang, Boston]

Gambar: Hasil running program Set-HashSet-FindDup

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Set-HashSet-FindDup . Anda dapat langsung menjalankan file sample tersebut.

4. Sebagai bahan latihan, lakukan hal di bawah:

  • Ubah file Main.java dengan hal-hal berikut:
    • Buat array String dengan nama myownnames[] dan isinya ada yang sama.
    • Buat objek HashSet yang berisi array tersebut dan tampilkan.

                                                                                                              return to top of the exercise

(1.3) Temukan duplikasi dengan HashSet 2

Pada latihan berikut, anda akan mencoba menggunakan method removeAll().

1. Buat projek baru pada NetBeans

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Set-HashSet-FindDup2 sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java pada IDE seperti pada Code di bawah.  Pelajari code tersebut dan perhatikan bagian yang dihitamkan.

package sethashsetfinddup2;

import java.util.HashSet;
import java.util.Set;

public class Main {

    public static void main(String[] args) {

        // Set up test data
String name[] = {
new String("Sang"),
new String("Shin"),
new String("Boston"),
new String("Shin")
};

       Set uniques = new HashSet();
        Set dups = new HashSet();

        for (int i=0; i<name.length; i++)
if (!uniques.add(name[i]))
dups.add(name[i]);

// Remove items that duplicates
uniques.removeAll(dups);

        System.out.println("Unique words:    " + uniques);
System.out.println("Duplicate words: " + dups);
}

}

Gambar: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek Set-HashSet-FindDup2 dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

Unique words:    [Sang, Boston]
Duplicate words: [Shin]

Gambar: Hasil running program Set-HashSet-FindDup2

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Set-HashSet-FindDup2 . Anda dapat langsung menjalankan file sample tersebut.

4. Sebagai bahan latihan, lakukan hal di bawah:

  • Ubah file Main.java dengan hal-hal berikut:
    • Buat array String dengan nama myownnames[] dan isinya ada yang sama.
    • Buat 2 buah objek HashSet dan gunakan method removeAll() untuk menghapus item yang duplikat dari set asal.
    • Tampilkan kedua objek HashSet tersebut.

                                                                                                              return to top of the exercise


(1.4) Build dan run aplikasi yang menggunakan TreeSet

Class TreeSet meng-implement interface Set dan memiliki konsep yang sama dengan

TreeMap

. Class ini akan memastikan elemen tersusun secara terurut. Class ini dapat memberikan performa waktu log(n) untuk operasi dasar (

add

,

remove

and

contains

).

1. Buat projek baru pada NetBeans

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Set- TreeSet sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java seperti code di bawah.

package settreeset;

import java.util.Set;
import java.util.TreeSet;

public class Main {

    public static void main(String[] args) {

        Set ts = new TreeSet();

        ts.add("one");
ts.add("two");
ts.add("three");
ts.add("four");
ts.add("three");

        System.out.println("Members from TreeSet = " + ts);

        Set ts2 = new TreeSet();

        ts2.add(1);
ts2.add(2);
ts2.add(3);
ts2.add(4);
ts2.add(2);

        System.out.println("Members from TreeSet = " + ts2);
}

}

Code: Main.java yang telah diubah

3. Build dan run projek

  • Klik kanan projek Set-TreeSet dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

[Members from TreeSet = [four, one, three, two]
Members from TreeSet = [1, 2, 3, 4]

Gambar: Hasil running program Set-TreeSet

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Set-TreeSet . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise


(1.5) Build dan run aplikasi yang menggunakan LinkedHashSet

1. Buat projek baru pada NetBeans

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Set-LinkedHashSet sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java pada IDE seperti pada Code di bawah.  Pelajari code tersebut dan perhatikan bagian yang dihitamkan.

package setlinkedhashset;

import java.util.LinkedHashSet;
import java.util.Set;

public class Main {

    public static void main(String[] args) {

        Set ts = new LinkedHashSet();

        ts.add("one");
ts.add("two");
ts.add("three");
ts.add("four");
ts.add("two");

        System.out.println("Members from LinkedHashSet = " + ts);

        Set ts2 = new LinkedHashSet();

        ts2.add(2);
ts2.add(1);
ts2.add(3);
ts2.add(3);

        System.out.println("Members from LinkedHashSet = " + ts2);
}

}

Code: Main.java yang telah diubah

3. Build dan run projek

  • Klik kanan projek Set-LinkedHashSet dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

Members from LinkedHashSet = [one, two, three, four]
Members from LinkedHashSet = [2, 1, 3]

Gambar: Hasil dari running program Set-LinkedHashSet

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Set-LinkedHashSet . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise

(1.6) Set dan polymorphism

1. Buat projek baru pada NetBeans

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Set-Polymorphism sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java pada IDE seperti pada Code di bawah.  Pelajari code tersebut dan perhatikan bagian yang dihitamkan.

package setpolymorphism;

import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;

public class Main {

    public static void main(String[] args) {

        // Set up test data
String numbers[] = {
new String("2"),
new String("3"),
new String("4"),
new String("1"),
new String("2")
};

       Set s = new HashSet();
        MyOwnUtilityClass.checkDuplicate(s, numbers);

        s = new TreeSet();
        MyOwnUtilityClass.checkDuplicate(s, numbers);

        s = new LinkedHashSet();
        MyOwnUtilityClass.checkDuplicate(s, numbers);
}
}

Code: Main.java yang telah diubah

3. Ubah MyOwnUtilityClass.java.

package setpolymorphism;

import java.util.Set;

public class MyOwnUtilityClass {

    public static void checkDuplicate(Set s, String[] numbers){
for (int i=0; i<numbers.length; i++)
if (!s.add(numbers[i]))
System.out.println("Set type = " + s.getClass().getName() + " " + s);
}
}

Code: MyOwnUtilityClass.java

4. Build dan run projek

  • Klik kanan projek Set-Polymorphism dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

Set type = java.util.HashSet [3, 2, 4, 1]
Set type = java.util.TreeSet [1, 2, 3, 4]
Set type = java.util.LinkedHashSet [2, 3, 4, 1]

Gambar: Hasil running program Set-Polymorphism

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Set-Polymorphism . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise

Summary

Pada latihan yang anda lakukan di atas, anda telah mempelajari beberapa class yang berkaitan dengan interface Set yaitu HashSet, TreeSet, dan LinkedHashSet.

Latihan 2: Build dan run aplikasi yang menggunakan
tipe collection "List"

Interface List merupakan sub-interface dari interface Collection. Interface List digunakan untuk mengkoleksi data dalam bentuk terurut dan memboleh duplikasi. Interface List menambahkan operasi yang berkaitan dengan posisi.

Dua class penting yang ada dalam Java Collections Framework yang meng-implement interface List adalah: ArrayList dan LinkedList.

Class mana yang anda pilih tergantung keperluan anda. Jika anda perlu List yang dapat menambahkan dan menghapus data dimana saja (random access) maka anda dapat menggunakan ArrayList. Namun jika anda perlu List yang dapat menambah dan menghapus data di sekitar tengah-tengah dan mengaksesnya secara sekuensial, maka LinkedList adalah pilihan anda.

ArrayList menyimpan data seperti array (diakses dengan index) namun ukurannya dapat bertambah secara fleksibel. Elemen yang dapat dimasukkan dalam ArrayList bisa bermacam-macam, termasuk null. ArrayList bisa disamakan dengan class Vector namun bedanya ArrayList ini unsynchronized. Operasi size, isEmpty, get, set, iterator, dan listIterator berjalan dalam waktu konstan dan lebih cepat dari LinkedList.

LinkedList merupakan implementasi dari algoritma LinkedList yang anda pelajari di Struktur data.

  1. Build dan run aplikasi yang menggunakan ArrayList
  2. Build dan run aplikasi lain yang menggunakan ArrayList
  3. Build dan run aplikasi yang menggunakan LinkedList

(2.1) Build dan run aplikasi yang menggunakan ArrayList

1. Buat projek baru pada NetBeans.

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik List-ArrayList sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java seperti code di bawah.


package listarraylist;

import java.util.ArrayList;
import java.util.ListIterator;

public class Main {

    public static void main(String[] args) {

// Create ArrayList object with capacity of 2 elements
ArrayList al = new ArrayList(2);
System.out.println(al+", size = "+al.size());

// Add items to the ArrayList
al.add("R");
al.add("U");
al.add("O");
al.add(new String("x"));
al.add(2, new Integer(10));
System.out.println(al+", size = " + al.size());

// Remove item
al.remove("U");
System.out.println(al+", size = " + al.size());

// Check if the list contains the specified element
Boolean b = al.contains("x");
System.out.println("The list contains x = " + b);
b = al.contains("p");
System.out.println("The list contains p = " + b);
b = al.contains(new Integer(10));
System.out.println("The list contains Integer of 10 = " + b);

// Create ListIterator and iterate entries in it
ListIterator li = al.listIterator();
while (li.hasNext())
System.out.println("From ListIterator = " + li.next());

// Create Object array from ArrayList
Object a[] = al.toArray();
for (int i=0; i<a.length; i++)
System.out.println("From an Array = " + a[i]);
}
}

Code: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek List-ArrayList dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

[], size = 0
[R, U, 10, O, x], size = 5
[R, 10, O, x], size = 4
The list contains x = true
The list contains p = false
The list contains Integer of 10 = true
From ListIterator = R
From ListIterator = 10
From ListIterator = O
From ListIterator = x
From an Array = R
From an Array = 10
From an Array = O
From an Array = x

Gambar: Hasil running program List-ArrayList


4. Sebagai bahan latihan, lakukan hal di bawah:

  • Buat projek NetBeans dengan nama MyOwnArrayList
  • Buat objek ArrayList dengan kapasitas awal 5
  • Tambahkan hal-hal di bawah ke dalam objek ArrayList.
    • 2 String objek
    • 1 MyOwnClass objek (Anda buat MyOwnClass.java terlebih dahulu)
    • 3 Integer objek
  • Buat objek Iterator dari objek ArrayList dan iterate isi dari ArrayList tersebut
  • Kemudian tampilkan isi dari objek ArrayList tersebut

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ List-ArrayList . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise

(2.2) Build dan run aplikasi lain yang menggunakan ArrayList

1. Buat projek baru pada NetBeans

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik List-ArrayList-Deal sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Deal.java seperti code di bawah.

package listarraylistdeal;
import java.util.*;

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

        int numHands = Integer.parseInt(args[0]);
int cardsPerHand = Integer.parseInt(args[1]);

        // Make a normal 52-card deck
String[] suit = new String[] {"spades", "hearts", "diamonds", "clubs"};
String[] rank = new String[]
{"ace","2","3","4","5","6","7","8","9","10","jack","queen","king"};
List deck = new ArrayList();
for (int i=0; i<suit.length; i++)
for (int j=0; j<rank.length; j++)
deck.add(rank[j] + " of " + suit[i]);

        Collections.shuffle(deck);

        for (int i=0; i<numHands; i++)
System.out.println(dealHand(deck, cardsPerHand));
}

    public static List dealHand(List deck, int n) {
int deckSize = deck.size();
List handView = deck.subList(deckSize-n, deckSize);
List hand = new ArrayList(handView);
handView.clear();
return hand;
}
}

Code: Deal.java yang diubah

3. Build dan run projek

  • Klik kanan projek List-ArrayList-Deal dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

[6 of spades, 4 of hearts, 8 of spades, 8 of hearts]
[ace of spades, 6 of hearts, ace of diamonds, king of clubs]
[jack of hearts, 8 of clubs, 6 of diamonds, jack of diamonds]

Gambar: Hasil running program List-ArrayList-Deal

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ List-ArrayList -Deal. Anda dapat langsung menjalankan file sample tersebut.

(2.3) Build dan run aplikasi yang menggunakan LinkedList


Class LinkedList merupakan implemtasi lain dari interface List. Class ini membolehkan pelbagai macam data ditambah dalam List, termasuk null. Class LinkedList membolehkan proses get, remove dan insert dari awal dan akhir LinkedList, sehingga LinkedList dapat digunakan sebagai stack, queue, atau double-ended queue (deque).

1. Buat projek baru pada NetBeans

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik List-LinkedList sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java seperti code di bawah.

package listlinkedlist;

import java.util.LinkedList;

public class Main {

    public static void main(String[] args) {

        // Create LinkedList object and add 4 Integer objects to it.
LinkedList list = new LinkedList();
list.add(new Integer(1));
list.add(new Integer(2));
list.add(new Integer(3));
list.add(new Integer(1));
System.out.println(list+", size = "+list.size());

        // Add Integer objects to the beginning and end of the LinkedList object.
list.addFirst(new Integer(0));
list.addLast(new Integer(4));
System.out.println(list);
System.out.println(list.getFirst() + ", " + list.getLast());
System.out.println(list.get(2)+", "+list.get(3));

        // Remove the first and the last objects from the LinkedList object.
list.removeFirst();
list.removeLast();
System.out.println(list);

        // Remove the first instance of Integer(1) object
list.remove(new Integer(1));
System.out.println(list);

        // Add a String and Long objects to the LinkedList
String s = new String("Boston");
list.add(s);
list.add(2, new Long(45L));
System.out.println(list);

        // Get the index of the "Boston" String object
System.out.println("Index of Boston String = " + list.indexOf(s));

        // Remove the 3rd object in the Linked List
list.remove(2);
System.out.println(list);

        // Set the value of the second item to "one"
list.set(1, "one");
System.out.println(list);

        // Clone the LinkedList object
LinkedList clonedLinkedList = (LinkedList) list.clone();
clonedLinkedList.add(0, new String("Cloned LinkedList"));
list.add(0, new String("Original LinkedList"));
System.out.println(list);
System.out.println(clonedLinkedList);

            }

}

Code: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek List-LinkedList dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

[1, 2, 3, 1], size = 4
[0, 1, 2, 3, 1, 4]
0, 4
2, 3
[1, 2, 3, 1]
[2, 3, 1]
[2, 3, 45, 1, Boston]
Index of Boston String = 4
[2, 3, 1, Boston]
[2, one, 1, Boston]
[Original LinkedList, 2, one, 1, Boston]
[Cloned LinkedList, 2, one, 1, Boston]

Gambar: Hasil running program List-LinkedList

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ List-LinkedList . Anda dapat langsung menjalankan file sample tersebut.


4. Sebagai bahan latihan, lakukan hal di bawah:

  • Buat projek NetBeans dengan nama MyOwnLinkedList
  • Buat objek LinkedList
  • Tambahkan hal-hal di bawah ke dalam objek LinkedList
    • 2 String objek
    • 1 MyOwnClass objek (Anda buat MyOwnClass.java terlebih dahulu)
    • 3 Integer objek
  • Coba hal berikut:
    • Tambahkan objek kedua dari MyOwnClass pada posisi ke-3

return to top of the exercise

Summary

Pada latihan yang anda lakukan di atas, anda telah mempelajari beberapa class yang meng-implement interface List yaitu class ArrayList dan LinkedList.

return to the top

Latihan 3: Build dan run aplikasi yang menggunakan
tipe collection "Map"


Interface Map bukan sub-interface dari Collection. Namun Map merupakan interface tersendiri untuk menjaga padanan key-value. Interface Map mendeskripsikan pemetaan dari key ke value, dan key tidak boleh duplikat.

Method-method pada interface secara umum terbagi 3: merubah, meng-query, dan menyediakan tampilan alternatif.

Operasi merubah data membolehkan anda untuk menambah dan menghapus pasangan key-value dari map. Objek Map tidak boleh ditambah sebagai key atau value.

    * Object put(Object key, Object value)
* Object remove(Object key)
* void putAll(Map mapping)
* void clear()

Operasi query membolehkan anda untuk mengecek isi dari map:

    * Object get(Object key)
* boolean containsKey(Object key)
* boolean containsValue(Object value)
* int size()
* boolean isEmpty()

Kumpulan method berikutnya membolehkan anda untuk bekerja dengan kumpulan key dan value sebagai collection.

    * public Set keySet()
* public Collection values()
* public Set entrySet()

Karena key harus unik maka penggunaan keySet() akan mengembalikan Set. Sedangkan value boleh bernilai sama maka penggunaan values() akan mengembalikan Collection. Penggunaan entrySet() akan mengembalikan koleksi objek yang meng-implement interface Map.Entry.

Dua class penting yang ada dalam Java Collections Framework yang meng-implement interface Map adalah: HashMap dan TreeMap .

Class mana yang anda pilih tergantung keperluan anda. Jika anda perlu kemudahan dan kecepatan dalam melakukan insert, hapus dan mencari data dalam Collection maka gunakan HashMap. Namun jika anda perlu menjejaki key secara terurut, maka gunakan TreeMap. Akan lebih cepat jika anda menambah data dalam HashMap dulu, dan jika perlu dijejaki secara terurut, barulah anda konversi ke TreeMap.

    1. Build dan run aplikasi yang menggunakan HashMap
    2. Build dan run aplikasi yang menggunakan TreeMap
    3. Build dan run aplikasi yang menggunakan LinkedHashMap
    4. Map dan polymorphism

(3.1) Build dan run aplikasi yang menggunakan HashMap

1. Buat projek baru pada NetBeans.

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Map-HashMap sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java seperti code di bawah.

package maphashmap;

import java.util.HashMap;
import java.util.Map;

public class Main {

    private static final Integer ONE = new Integer(1);

    public static void main(String[] args) {

        // Set up testing data
String name[] = {
new String("Sang"),
new String("Shin"),
new String("Boston"),
new String("Passion"),
new String("Shin")
};

// Create a HashMap object
Map m = new HashMap();

// Initialize frequency table with testing data
for (int i=0; i<name.length; i++) {
Integer freq = (Integer) m.get(name[i]);

            // Adding an entry to the HashMap
m.put(name[i], (freq==null ? ONE :
new Integer(freq.intValue() + 1)));
}

// Display the size of the Map object
System.out.println(m.size() + " distinct words detected:");

// Display Map object
System.out.println("Display of the HashMap object = " + m);

    }

}

Code: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek Map-HashMap dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

4 distinct words detected:
Display of the HashMap object = {Shin=2, Sang=1, Passion=1, Boston=1}

Gambar: Hasil running program

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Map-HashMap . Anda dapat langsung menjalankan file sample tersebut.

4. For your own exercise, please do the following

  • Buat projek NetBeans dengan nama MyHashMap
  • Buat objek HashMap
  • Tambahkan hal-hal di bawah ke dalam objek HashMap
    • 2 String objek dengan pasangan key-value "1st"/"Hello", "2nd"/"Goodbye"
    • 2 MyOwnClass objek dengan key "3rd", "4th" dan value merupakan objek dari MyOwnClass
    • 1 Integer objek dengan pasangan "5th"/56

(3.2) Build dan run aplikasi yang menggunakan TreeMap

1. Buat projek baru pada NetBeans.

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Map-TreeMap sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java seperti code di bawah.

package maptreemap;

import java.util.Map;
import java.util.TreeMap;

public class Main {

    private static final Integer ONE = new Integer(1);

    public static void main(String[] args) {

        // Set up test data
String name[] = {
new String("Sang"),
new String("Shin"),
new String("Boston"),
new String("Passion"),
new String("Shin")
};

// Create TreeMap object
Map m = new TreeMap();

// Initialize frequency table with testing data
for (int i=0; i<name.length; i++) {
Integer freq = (Integer) m.get(name[i]);

            // Adding an entry to the TreeMap
m.put(name[i], (freq==null ? ONE :
new Integer(freq.intValue() + 1)));
}

// Display the size of the Map object
System.out.println(m.size() + " distinct words detected:");

// Display Map object
System.out.println("Display of the TreeMap object = " + m);

    }

}

Code: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek Map-TreeMap dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

4 distinct words detected:
Display of the TreeMap object = {Boston=1, Passion=1, Sang=1, Shin=2}

Gambar: Hasil running program

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Map-TreehMap . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise


(3.3) Build dan run aplikasi yang menggunakan LinkedHashMap

1. Buat projek baru pada NetBeans.

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Map-LinkedHashMap sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java seperti code di bawah.

package maplinkedhashmap;

import java.util.LinkedHashMap;
import java.util.Map;

public class Main {

    private static final Integer ONE = new Integer(1);

    public static void main(String[] args) {

// Set up testing data
String name[] = {
new String("Sang"),
new String("Shin"),
new String("Boston"),
new String("Passion"),
new String("Shin")
};

// Create a LinkedHashMap object
Map m = new LinkedHashMap();

// Initialize frequency table with testing data
for (int i=0; i<name.length; i++) {
Integer freq = (Integer) m.get(name[i]);

            // Adding an entry to the LinkedHashMap
m.put(name[i], (freq==null ? ONE :
new Integer(freq.intValue() + 1)));
}

// Display the size of the Map object
System.out.println(m.size() + " distinct words detected:");

// Display Map object
System.out.println("Display of the LinkedHashMap object = " + m);

    }

}

Code: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek Map-LinkedHashMap dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

4 distinct words detected:
Display of the LinkedHashMap object = {Sang=1, Shin=2, Boston=1, Passion=1}

Gambar: Hasil running program

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Map-LinkedHashMap . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise

(3.4) Map dan polymorphism

1. Buat projek baru pada NetBeans

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Map-Polymorphism sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java pada IDE seperti pada Code di bawah.

package mappolymorphism;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;

public class Main {

    public static void main(String[] args) {

        // Set up testing data
String names[] = {
new String("Sang"),
new String("Shin"),
new String("Boston"),
new String("Passion"),
new String("Shin")
};

        Map m = new HashMap();
MyOwnUtilityClass.checkDuplicate(m, names);

        m = new TreeMap();
MyOwnUtilityClass.checkDuplicate(m, names);

        m = new LinkedHashMap();
MyOwnUtilityClass.checkDuplicate(m, names);
}

}

Code: Main.java yang diubah

3. Buat file MyOwnUtilityClass.java.

import java.util.Map;

public class MyOwnUtilityClass {

    private static final Integer ONE = new Integer(1);

    public static void checkDuplicate(Map m, String[] names){

        for (int i=0; i<names.length; i++) {
Integer freq = (Integer) m.get(names[i]);

            // Adding an entry to the HashMap
m.put(names[i], (freq==null ? ONE :
new Integer(freq.intValue() + 1)));
}
System.out.println("Map type = " + m.getClass().getName() + " " + m);
}
}

Code: MyOwnUtilityClass.java

4. Build dan run projek

  • Klik kanan projek Map-Polymorphism dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

Map type = java.util.HashMap {Shin=2, Sang=1, Passion=1, Boston=1}
Map type = java.util.TreeMap {Boston=1, Passion=1, Sang=1, Shin=2}
Map type = java.util.LinkedHashMap {Sang=1, Shin=2, Boston=1, Passion=1}

Gambar: Hasil running program Map-Polymorphism

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Map-Polymorphism . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise

Summary

Pada latihan yang anda lakukan di atas, anda telah mempelajari beberapa class yang meng-implement interface Map yaitu HashMap dan TreeMap.

                                                                                                                     return to the top


Latihan 4: Iterator

Latihan dibawah akan menunjukkan cara untuk membuat objek Iterator yang dapat digunakan untuk meng-iterate objek Collection.

  1. Build dan run aplikasi yang menggunakan Iterator

(4.1) Build dan run aplikasi yang menggunakan Iterator

1. Buat projek baru pada NetBeans.

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Collection-Iterator sebagai nama projek .
  • Untuk teksfield Create Main Class ketik collectioniterator.OysterMonths.
  • Klik Finish.


Gambar: Buat projek baru

2. Ubah source code OysterMonths.java seperti code di bawah.

package collectioniterator;

import java.util.Collection;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.text.DateFormatSymbols;

public class OysterMonths {

    Collection  safeMonths;

    public Collection  filter(Collection c) {

        Collection  filteredCollection = new ArrayList();

  // Creator Iterator object from a Collection object
        // and do the iteration.
for (Iterator i = c.iterator(); i.hasNext(); ) {
String s = (String) i.next();

            if (condition(s)) {
filteredCollection.add(s);
}
}
return filteredCollection;
}

        public boolean condition(String s) {

        if (s.contains("r")) {
return true;
}
return false;
}

        public static void main(String[] args) {

        OysterMonths om = new OysterMonths();

        DateFormatSymbols dfs = new DateFormatSymbols();
String[] monthArray = dfs.getMonths();

        Collection  months = Arrays.asList(monthArray);

        om.safeMonths = om.filter(months);

        System.out.println("The following months are safe for oysters:");
System.out.println(om.safeMonths);
}

}

Code: OysterMonths.java

3. Build dan run projek

  • Klik kanan projek Collection-Iterator dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

The following months are safe for oysters:
[January, February, March, April, September, October, November, December]

Gambar: Hasil running program

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Collection-Iterator . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise


Exercise 5: Algoritma Sorting, Searching, Shuffling, Data Manipulation

Pada latihan berikut ini, anda akan mempelajari cara untuk melakukan proses sort, search, shuffle, dan manipulate items dalam Collection.

    1. Sort list menggunakan order bawaan
    2. Sort list menggunakan Comparator
    3. Shuffle list
    4. Data manipulation
    5. Binary search

(5.1) Sort list menggunakan order bawaah

1. Buat projek baru pada NetBeans.

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Sorting-NaturalOrder sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java pada IDE seperti pada Code di bawah.  Pelajari code tersebut dan perhatikan bagian yang dihitamkan.

package sortingnaturalorder;

import sortingnaturalorder.Name;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Main {

    public static void main(String[] args) {

        // Set up test data
String n[] = {
new String("John"),
new String("Karl"),
new String("Groucho"),
new String("Oscar")
};

        // Create a List from an array
List l = Arrays.asList(n);

// Perform the sorting operation
Collections.sort(l);

        System.out.println("Sorting list of strings = " + l);

         // Set up test data
Integer int1[] = {
new Integer(56),
new Integer(78),
new Integer(34),
new Integer(10)
};

        // Create a List from an array
List l2 = Arrays.asList(int1);

// Perform the sorting operation
        Collections.sort(l2);

        System.out.println("Sorting list of numbers = " + l2);
}

}

Code: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek Sorting-NaturalOrder dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

Sorting list of strings = [Groucho, John, Karl, Oscar]
Sorting list of numbers = [10, 34, 56, 78]

Gambar: Hasil running program

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Sorting-NaturalOrder . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise


(5.2) Sort list menggunakan Comparator

1. Buat projek baru pada NetBeans.

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Sorting- Comparator sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java seperti code di bawah.

package sortingcomparator;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;

public class Main {

    public static void main(String[] args) {

        // Create an ArrayList object and add items to it.
ArrayList a1 = new ArrayList();
a1.add("Boston");
a1.add("New York");
a1.add("Seoul");
a1.add("Tokyo");
a1.add("London");
a1.add("Bangkok");
System.out.println("Before sorting = " + a1);

        // Get String Comparator object and sort the list
Comparator comp = Comparators.stringComparator();
Collections.sort(a1, comp);

        // Display the sorted list
System.out.println("Sorted list using String Comparator = " + a1);

        // Create an ArrayList object and add items to it.
ArrayList a2 = new ArrayList();
a2.add(new Integer(33));
a2.add(new Integer(17));
a2.add(new Integer(45));
a2.add(new Integer(100));
a2.add(new Integer(3));
System.out.println("Before sorting = " + a2);

        // Get Integer Comparator object and sort the list
Comparator comp2 = Comparators.integerComparator();
Collections.sort(a2, comp2);

        // Display the sorted list
System.out.println("Sorted list using Integer Comparator = " + a2);
}
}

Code: Main.java yang diubah

3. Buat file Comparators.java.

package sortingcomparator;

import java.util.Comparator;
import java.util.Date;

public class Comparators {

    // String Comparator object
public static Comparator stringComparator() {

        return new Comparator() {

            public int compare(Object o1, Object o2) {
String s1 = (String)o1;
String s2 = (String)o2;
int len1 = s1.length();
int len2 = s2.length();
int n = Math.min(len1, len2);
char v1[] = s1.toCharArray();
char v2[] = s2.toCharArray();
int pos = 0;

                while (n-- != 0) {
char c1 = v1[pos];
char c2 = v2[pos];
if (c1 != c2) {
return c1 - c2;
}
pos++;
}
return len1 - len2;
}
};
}

    // Integer Comparator object
public static Comparator integerComparator() {
return new Comparator() {

            public int compare(Object o1, Object o2) {
int val1 = ((Integer)o1).intValue();
int val2 = ((Integer)o2).intValue();
return (val1<val2 ? -1 : (val1==val2 ? 0 : 1));
}
};
}

    // Date  Comparator object
public static Comparator dateComparator() {
return new Comparator() {

            public int compare(Object o1, Object o2) {
long val1 = ((Date)o1).getTime();
long val2 = ((Date)o2).getTime();
return (val1<val2 ? -1 : (val1==val2 ? 0 : 1));
}
};
}
}

Code: Comparators.java

4. Build dan run projek

  • Klik kanan projek Sorting-Comparator dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

Before sorting = [Boston, New York, Seoul, Tokyo, London, Bangkok]
Sorted list using String Comparator = [Bangkok, Boston, London, New York, Seoul, Tokyo]
Before sorting = [33, 17, 45, 100, 3]
Sorted list using Integer Comparator = [3, 17, 33, 45, 100]

Gambar: Hasil running program

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Sorting-Comparator . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise


(5.3) Shuffle list

1. Buat projek baru pada NetBeans.

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik Shuffling sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java seperti code di bawah.


package shuffling;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Main {

    public static void main(String[] args) {

        // Set up testing data
String name[] = {
new String("Sang"),
new String("Shin"),
new String("Boston"),
new String("Passion"),
new String("Shin"),
};

// Create a List object from an array
List l = Arrays.asList(name);
System.out.println("Before shuffling = " + l);

// Shuffle the list
        Collections.shuffle(l);
System.out.println("Shuffled list = " + l);

        // Sort the list
Collections.sort(l);
System.out.println("Sorted list = " + l);
}

}

Code: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek Shuffling dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

Before shuffling = [Sang, Shin, Boston, Passion, Shin]
Shuffled list = [Sang, Passion, Shin, Boston, Shin]
Sorted list = [Boston, Passion, Sang, Shin, Shin]

Gambar: Hasil running program

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ Shuffling . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise


(5.4) Data manipulation

1. Buat projek baru pada NetBeans.

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik DataManipulation sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java seperti code di bawah.


package datamanipulating;

import sortingnaturalorder.Name;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Main {

    public static void main(String[] args) {

        // Set up test data
String n[] = {
new String("Boston"),
new String("New York"),
new String("Seoul"),
new String("Shanghai")
};

        // Create a List from an array
List l = Arrays.asList(n);

        // Perform the sorting operation
Collections.sort(l);
System.out.println("Sorted list = " + l);

       // Reverse the list
        Collections.reverse(l);
        System.out.println("Reversed list = " + l);

    }

}

Code: Main.java yang diubah

3. Build dan run projek

  • Klik kanan projek DataManipulation dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

Sorted list = [Boston, New York, Seoul, Shanghai]
Reversed list = [Shanghai, Seoul, New York, Boston]

Gambar: Hasill running program

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ DataManipulation . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise


(5.5) Binary searching

1. Buat projek baru pada NetBeans.

  • Pilih File->New Project (Ctrl+Shift+N).
  • Window New Project akan muncul.
  • Pada bagian Choose Project window, pilih Java pada bagian Categories dan Java Application pada bagian Projects.
  • Klik Next.
  • Pada bagian Name and Location window, untuk teksfield Project Name ketik BinarySearching sebagai nama projek .
  • Untuk teksfield Create Main Class gunakan seperti yang muncul pada IDE.
  • Klik Finish.

2. Ubah source code Main.java seperti code di bawah.


package binarysearching;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Main {

    public static void main(String[] args) {

        // Set up testing data
String name[] = {
new String("Sang"),
new String("Shin"),
new String("Boston"),
new String("Passion"),
new String("Shin"),
};

        // Create a List object
List l = Arrays.asList(name);

       // Perform binary search
        int position = Collections.binarySearch(l, "Boston");
        System.out.println("Position of the searched item = " + position);
}

}

Code: Main.java yang diubah

  • Klik kanan projek BinarySearching dan pilih Run.
  • Amati hasilnya pada window Output. (Gambar di bawah)

Position of the searched item = 2

Gambar: Hasil running program

Solution: Lakukan latihan ini dengan menggunakan langkah-langkah di atas. Namun anda juga bisa melihat program yang sudah jadi di <LAB_UNZIPPED_DIRECTORY>/T6-Collections-Indo/samples/ BinarySearching . Anda dapat langsung menjalankan file sample tersebut.

                                                                                                              return to top of the exercise

Tugas

1. Buat projek Netbeans MyCollectionProject dengan melakukan hal-hal yang berikut.

  • Buat objek HashSet
  • Tambahkan hal-hal di bawah ke dalam objek HashSet
    • 2 String objek
    • 2 MyOwnClass objek (Anda buat MyOwnClass.java terlebih dahulu
      • Class MyOwnClass memiliki atribut nama (bertipe String) dan umur (bertipe int)
    • 3 Integer ojbek
  • Buat objek Iterator untuk meng-iterate objek HashSet di atas demi menampilkan isinya
  • Ulangi hal yang sama untuk class LinkedHashSet, ArrayList

2. Kirim file-file berikut melalui e-learning.

  • Print screen hasil running projek MyCollectionProject dan beri nama T6-Collection.gif  atau T6-Collection.jpg dan masukkan juga ke dalam zip file di bawah.
  • Compress file projek MyCollectionProject sebagai zip. Anda juga dapat menggunakan fasilitas "jar" pada JDK.
    • cd MyCollectionProject
    • jar cvf MyCollectionProject.zip MyCollectionProject

Write a Java Program That Will Make a Linked List From a List of Names

Source: https://informatika.unsyiah.ac.id/~viska/pjl/prak/T4-Collections-Indo/

0 Response to "Write a Java Program That Will Make a Linked List From a List of Names"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel