AdityaDees: collections

Hot

https://publishers.chitika.com/

Contact us for advertising.
Showing posts with label collections. Show all posts
Showing posts with label collections. Show all posts

16 January 2017

Ask Sorting pada Kelas Collections AdityaDees

09:00 0
Sorting pada Kelas Collections
Bismillah...

Pada saat menambahkan data kedalam Array List terkadang kita ingin mengurutkan data tersebut untuk beberapa keperluan seperti agar data mudah untuk dibaca atau untuk keperluan lainnya. Untuk pengurutan data pada Array List ini kita bisa memanfaatkan sebuah method static dengan nama sort() dari kelas Collections.

Method sort() pada kelas Collections memiliki dua buah model. Model pertama dengan satu buah parameter dan yang kedua dengan dua buah parameter. Untuk lebih jelasnya lihat penjelasan dari masing-masing method tersebut berikut ini :
Collections.sort(List list);
Collections.sort(List list, Comparator c);
Perjelasan Parameter :
  • list - the list to be sorted
    Adalah list yang akan dilakukan pengurutan (sorting)
  • c - the comparator to determine the order of the list. A null value indicates that the elements' natural ordering should be used.
    Variabel yang digunakan sebagai komparator untuk pengurutan list. Jika berisi nilai null, maka elemen tersebut akan di urutkan secara natural.
Berikut adalah contoh dari penggunaan masing-masing method diatas dimulai dari method sort() dengan satu buah parameter.

  1. Sorting List dengan 1 buah parameter
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;

    public class Sorting1 {
    private List nama = new ArrayList<>();

    public void inisial(){// method ini digunakan untuk melakukan inisialisasi/pemberian nilai pada variabel nama
    nama.add("Fauzan Alfaris");
    nama.add("Andi Sujadi");
    nama.add("Farihana");
    nama.add("Ferdi Ali");
    nama.add("Ahmad Sumardi");
    nama.add("Rina Mariana");
    nama.add("Zulfikar");
    }

    public void print(){// method print digunakan untuk menampilkan hasil dari program yang dibuat
    System.out.println("Nama Sebelum dilakukan Sorting :");
    for(String name:nama)
    System.out.println(name);

    System.out.println("=========================");
    System.out.println("Nama Setelah dilakukan Sorting :");
    Collections.sort(nama);// method sort dengan 1 buah parameter yang digunakan untuk pengurutan data
    for(String name:nama)
    System.out.println(name);
    }

    public static void main(String[]args){
    Sorting1 sort1 = new Sorting1();
    sort1.inisial();
    sort1.print();
    }
    }

    Pada saat dijalankan, hasil dari kode program diatas adalah seperti berikut ini :
    hasil sorting dengan 1 parameter


  2. Sorting List dengan 2 buah parameter
    Dengan menggunakan method sort() dengan dua parameter memungkinkan kita untuk memilih variabel mana yang akan kita jadikan sebagai komparatornya. Untuk mempermudah, pada contoh ini kita akan mencoba membuat sebuah kelas yang memuat identitas mahasiswa yang terdiri dari nim, nama, jurusan dan fakultas. Kemudian kita akan menggunakan masing-masing variabel dari kelas Mahasiswa tersebut secara bergantian untuk dilakukan proses pengurutan berdasarkan variabel nim hingga variabel fakultas. Pengurutan dengan menggunakan dua buah parameter ini juga memungkinkan kita untuk mengurutkan data secara menaik (ascending) atau menurun (descending).

    Untuk mengimplementasikan penggunaan method sort() dengan dua buah parameter ini, terlebih dahulu kita buat sebuah kelas dengan nama Mahasiswa.java. Pada kelas ini berisi informasi mengenai nim, nama, jurusan dan fakultas mahasiswa bersangkutan.
    public class Mahasiswa {
    private String nim;
    private String nama;
    private String jurusan;
    private String fakultas;

    public Mahasiswa(String nim, String nama, String jurusan, String fakultas){
    this.nim = nim;
    this.nama = nama;
    this.jurusan = jurusan;
    this.fakultas = fakultas;
    }

    public String getNim() {
    return nim;
    }

    public void setNim(String nim) {
    this.nim = nim;
    }

    public String getNama() {
    return nama;
    }

    public void setNama(String nama) {
    this.nama = nama;
    }

    public String getJurusan() {
    return jurusan;
    }

    public void setJurusan(String jurusan) {
    this.jurusan = jurusan;
    }

    public String getFakultas() {
    return fakultas;
    }

    public void setFakultas(String fakultas) {
    this.fakultas = fakultas;
    }
    }

    Setelah selesai membuat kelas diatas, selanjutnya kita akan menggunakan method sort() dengan dua parameter tersebut.
    Berikut adalah contoh programnya.
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;

    public class Sorting2 {
    private final List list_mhs = new ArrayList<>();

    public void inisial(){// method ini digunakan untuk melakukan inisialisasi/pemberian nilai pada variabel list_mhs
    list_mhs.add(new Mahasiswa("1102","Fauzan Alfaris","Teknik Elektro\t\t", "Teknik"));// penambahan data mahasiswa dengan memanfaatkan constructur pada kelas Mahasiswa.java
    list_mhs.add(new Mahasiswa("1101","Andi Sujadi","Teknik Informatika\t", "Teknik"));
    list_mhs.add(new Mahasiswa("1105","Farihana","Bahasa Indonesia\t", "Bahasa dan Sastra"));
    list_mhs.add(new Mahasiswa("1103","Ferdi Ali","Teknologi Hasil Perikanan", "Kelautan dan Perikanan"));
    list_mhs.add(new Mahasiswa("1107","Ahmad Sumardi","Administrasi Negara\t", "Sosial dan Ilmu Politik"));
    list_mhs.add(new Mahasiswa("1104","Rina Mariana","Bahasa Inggris\t\t", "Bahasa dan Sastra"));
    list_mhs.add(new Mahasiswa("1106","Zulfikar","Sosiologi\t\t", "Sosial dan Ilmu Politik"));
    }

    public void print(){// method print digunakan untuk menampilkan hasil dari program yang dibuat
    System.out.println("Daftar Mahasiswa Sebelum di Sorting :");
    for(Mahasiswa mhs:list_mhs)
    System.out.println(mhs.getNim()+"\t"+mhs.getNama()+"\t"+mhs.getJurusan()+"\t"+mhs.getFakultas());

    System.out.println("===============================================================================");
    System.out.println("Daftar Mahasiswa di Sorting Berdasarkan Nim: \nAscending:");
    sort(list_mhs, 0, true);// pemanggilan method sort berdasarkan nim dengan index 0 dan diurut secara ascending
    for(Mahasiswa mhs:list_mhs)
    System.out.println(mhs.getNim()+"\t"+mhs.getNama()+"\t"+mhs.getJurusan()+"\t"+mhs.getFakultas());

    System.out.println("-------------------------------------------------------------------------------");
    System.out.println("Descending:");
    sort(list_mhs, 0, false);;// pemanggilan method sort berdasarkan nim dengan index 0 dan diurut secara descending
    for(Mahasiswa mhs:list_mhs){
    System.out.println(mhs.getNim()+"\t"+mhs.getNama()+"\t"+mhs.getJurusan()+"\t"+mhs.getFakultas());
    }

    System.out.println("===============================================================================");
    System.out.println("Daftar Mahasiswa di Sorting Berdasarkan Nama:\nAscending:");
    sort(list_mhs, 1, true);;// pemanggilan method sort berdasarkan nama dengan index 1 dan diurut secara ascending
    for(Mahasiswa mhs:list_mhs)
    System.out.println(mhs.getNim()+"\t"+mhs.getNama()+"\t"+mhs.getJurusan()+"\t"+mhs.getFakultas());

    System.out.println("-------------------------------------------------------------------------------");
    System.out.println("Descending:");
    sort(list_mhs, 1, true);// pemanggilan method sort berdasarkan nama dengan index 1 dan diurut secara descending
    for(Mahasiswa mhs:list_mhs)
    System.out.println(mhs.getNim()+"\t"+mhs.getNama()+"\t"+mhs.getJurusan()+"\t"+mhs.getFakultas());

    System.out.println("===============================================================================");
    System.out.println("Daftar Mahasiswa di Sorting Berdasarkan Jurusan:\nAscending:");
    sort(list_mhs, 2, true);// pemanggilan method sort berdasarkan jurusan dengan index 2 dan diurut secara ascending
    for(Mahasiswa mhs:list_mhs)
    System.out.println(mhs.getNim()+"\t"+mhs.getNama()+"\t"+mhs.getJurusan()+"\t"+mhs.getFakultas());

    System.out.println("-------------------------------------------------------------------------------");
    System.out.println("Descending:");
    sort(list_mhs, 2, false);// pemanggilan method sort berdasarkan jurusan dengan index 2 dan diurut secara descending
    for(Mahasiswa mhs:list_mhs)
    System.out.println(mhs.getNim()+"\t"+mhs.getNama()+"\t"+mhs.getJurusan()+"\t"+mhs.getFakultas());

    System.out.println("===============================================================================");
    System.out.println("Daftar Mahasiswa di Sorting Berdasarkan Fakultas:\nAscending:");
    sort(list_mhs, 3, true);// pemanggilan method sort berdasarkan fakultas dengan index 3 dan diurut secara ascending
    for(Mahasiswa mhs:list_mhs){
    System.out.println(mhs.getNim()+"\t"+mhs.getNama()+"\t"+mhs.getJurusan()+"\t"+mhs.getFakultas());
    }
    System.out.println("-------------------------------------------------------------------------------");
    System.out.println("Descending:");
    sort(list_mhs, 3, false);// pemanggilan method sort berdasarkan fakultas dengan index 3 dan diurut secara descending
    for(Mahasiswa mhs:list_mhs)
    System.out.println(mhs.getNim()+"\t"+mhs.getNama()+"\t"+mhs.getJurusan()+"\t"+mhs.getFakultas());

    }

    public void sort(List list, int idx, boolean asc){
    Collections.sort(list, new Comparator() {// method yang digunakan untuk sorting kelas Collections dengan menggunakan comparator Mahasiswa
    @Override
    public int compare(Mahasiswa mhs1, Mahasiswa mhs2){
    switch(idx){
    case 0:
    if(asc)// jika pengurutan secara ascending
    return mhs1.getNim().compareTo(mhs2.getNim());
    else // jika pengurutan secara descending
    return mhs2.getNim().compareTo(mhs1.getNim());
    case 1:
    if(asc)
    return mhs1.getNama().compareTo(mhs2.getNama());
    else
    return mhs2.getNama().compareTo(mhs1.getNama());
    case 2:
    if(asc)
    return mhs1.getJurusan().compareTo(mhs2.getJurusan());
    else
    return mhs2.getJurusan().compareTo(mhs1.getJurusan());
    case 3:
    if(asc)
    return mhs1.getFakultas().compareTo(mhs2.getFakultas());
    else
    return mhs2.getFakultas().compareTo(mhs1.getFakultas());
    default:
    return -1;
    }
    }
    });
    }

    public static void main(String[]args){
    Sorting2 sort2 = new Sorting2();
    sort2.inisial();
    sort2.print();
    }
    }

    Hasil dari kode program diatas pada saat dijalankan adalah sebagai berikut ini :
    hasil sorting dengan 2 buah parameter

Anda juga bisa mengganti kelas Mahasiswa tersebut dengan kelas-kelas lainnya sesuai dengan yang dibutuhkan pada aplikasi yang anda buat.

Demikianlah tutorial mengenai Sorting pada Kelas Collections ini saya buat. Semoga ada manfaatnya bagi anda dan saya. Jika ada pertanyaan mengenai tutorial diatas, silahkan bertanya melalui form komentar dibawah. Kemudian jika ingin meng-update secara rutin artikel yang kami posting dari web ini, silahkan isi email anda pada isian Follow by Email dibawah.

Terima kasih... wassalam
Read More

22 November 2016

Ask Mengambil Key dari Map Java AdityaDees

17:44 0
mengambil Key dari Map Java

Bismillah…

Pada saat menggunakan kelas collections Map dan HashMap, terkadang kita ingin mengambil key-nya saja bukan value-nya. Kelas HashMap maupun interface Map tidak menyediakan method yang secara khusus digunakan untuk mengambil key-nya. Nah, cara untuk mengambil key tersebut adalah dengan membuat method sendiri yang akan me-return key bersangkutan yang terdapat pada list Map tersebut.

Berikut adalah contoh method yang dibuat untuk mengambil key dari Map yang kita buat.

public Object getKey(Map map, Object nilai){
for(Object key:map.keySet()){
if(map.get(key).equals(nilai))
return key;
}
return null;
}
Untuk menggunakan method diatas caranya adalah sebagai berikut :

String key = (getKey(map, "ANDI").toString(); // contoh untuk key dengan tipe data String
int key = Integer.valueOf(getKey(map, 5).toString());// contoh untuk key dengan tipe data int
double key = Double.valueOf(getKey(map, 0.5).toString());// contoh untuk key dengan tipe data double
Read More

Ask Unique Input dengan Map dan HashMap Java AdityaDees

09:35 0
unique input dengan Map dan HashMap java

Bismillah…

Pada suatu kondisi terkadang kita diminta untuk membuat sebuah program dimana data yang dimasukkan kedalam sebuah list tidak boleh terjadi duplikasi. Hal ini semacam primary key pada database, hanya saja disini kita diminta untuk langsung memasukkannya kedalam aplikasi yang kita buat. Nah, pada bahasa pemrograman java untuk memasukkan data tersebut kita bisa memanfaatkan kelas collections Map dan HashMap.

HashMap merupakan kelas implementasi dari Map, dimana kelas Map itu sendiri digunakan untuk memetakan nilai dengan key unique. HashMap berfungsi sebagai memory record yang dapat disimpan dalam sebuah Map.

Disini saya akan memberikan contoh cara memasukkan data mahasiswa dimana key yang sama tidak akan dimasukkan lagi.

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

/*
data dengan id 1101 tidak akan dimasukkan dua kali,
dan data yang dengan id 1101 yang diambil adalah data yang terakhir ditambahkan
*/

public class CollectionMap {
private Map mhs = new HashMap<>();

public CollectionMap(){
mhs.put("1101", "ANDI");
mhs.put("1102", "DONI");
mhs.put("1103", "ALAM");
mhs.put("1104", "DERI");
mhs.put("1101", "ANDI");

Iterator it = mhs.entrySet().iterator();
while(it.hasNext())
System.out.println(it.next());

System.out.println("\nMahasiswa dengan nim 1101 adalah "+mhs.get("1101"));
}

public static void main(String[]args){
new CollectionMap();
}
}

Pada program diatas terdapat method put yang digunakan untuk memasukkan data kedalam list data. Kemudian untuk menampilkan seluruh data yang terdapat pada list tersebut saya gunakan interface Iterator. Sementara method get digunakan untuk mengambil nilai berdasarkan key.
Read More

https://payclick.com/

Contact us for advertising.