(Java) Jelaskan penggunaan Interface Comparator untuk melakukan sorting (pengurutan data)​

Berikut ini adalah pertanyaan dari arman4612o pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

(Java) Jelaskan penggunaan Interface Comparator untuk melakukan sorting (pengurutan data)​

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Jawaban:

Interface Comparator di Java adalah sebuah interface yang digunakan untuk membandingkan dua objek yang berbeda. Comparator digunakan untuk mengurutkan objek dalam sebuah koleksi dengan mengimplementasikan metode compare(). Metode ini digunakan untuk membandingkan dua objek dan mengembalikan hasil perbandingan antara objek pertama dan objek kedua.

Untuk melakukan sorting menggunakan Comparator, langkah-langkahnya adalah sebagai berikut:

1.Buat kelas untuk objek yang akan diurutkan

public class Mahasiswa {

   private String nama;

   private int nilai;

   public Mahasiswa(String nama, int nilai) {

       this.nama = nama;

       this.nilai = nilai;

   }

   public String getNama() {

       return nama;

   }

   public int getNilai() {

       return nilai;

   }

}

2.Buat kelas Comparator untuk melakukan perbandingan antar objek berdasarkan atribut tertentu (misalnya, nilai)

import java.util.Comparator;

public class NilaiComparator implements Comparator<Mahasiswa> {

   @Override

   public int compare(Mahasiswa m1, Mahasiswa m2) {

       return m1.getNilai() - m2.getNilai();

   }

}

3.Buat objek ArrayList yang berisi objek Mahasiswa dan lakukan sorting menggunakan Collections.sort() dan NilaiComparator

import java.util.ArrayList;

import java.util.Collections;

public class Main {

   public static void main(String[] args) {

       ArrayList<Mahasiswa> mahasiswaList = new ArrayList<>();

       mahasiswaList.add(new Mahasiswa("Budi", 80));

       mahasiswaList.add(new Mahasiswa("Andi", 90));

       mahasiswaList.add(new Mahasiswa("Cindy", 75));

       mahasiswaList.add(new Mahasiswa("Dodi", 85));

       mahasiswaList.add(new Mahasiswa("Elsa", 95));

       Collections.sort(mahasiswaList, new NilaiComparator());

       for (Mahasiswa m : mahasiswaList) {

           System.out.println(m.getNama() + " - " + m.getNilai());

       }

   }

}

Dalam contoh di atas, kita membuat kelas Mahasiswa yang memiliki atribut nama dan nilai. Kemudian, kita membuat kelas NilaiComparator yang mengimplementasikan Comparator<Mahasiswa> dan melakukan perbandingan antar objek Mahasiswa berdasarkan nilai. Akhirnya, kita membuat objek ArrayList yang berisi objek Mahasiswa dan melakukan sorting dengan menggunakan Collections.sort() dan NilaiComparator.

Hasil output dari program ini akan mengeluarkan daftar mahasiswa yang telah diurutkan berdasarkan nilai dari yang terkecil hingga yang terbesar. Dalam contoh ini, outputnya adalah:

Cindy - 75

Budi - 80

Dodi - 85

Andi - 90

Elsa - 95

Semoga dengan pertanyaan yang sudah terjawab oleh onihsusilawsti79 dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.

Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact

Last Update: Sat, 01 Jul 23