Perhatikan class diagram dari Mahasiswa dan DaftarMahasiswaBerprestasi berikut ini,
Gambar 4.1.1. Class Diagram Mahasiswa
Gambar 4.1.2. Class Diagram DaftarMahasiswaBerprestasi
Berdasarkan kedua class diagram tersebut, pada percobaan ini kita akan membuat array of objects berisi mahasiswa berprestasi. Jumlah mahasiswa beprestasi yang disimpan didalam objek adalah 5. Terdapat beberapa fungsi didalam class Mahasiswa dan DaftarMahasiswaBerprestasi yang akan digunakan pada proses sorting.
Sorting dengan Selection Sort
Langkah-langkah Percobaan
Buatlah sebuah proyek baru dengan nama "Sorting".
Buatlah sebuah class baru dengan nama "Mahasiswa". Gunakan kode dibawah ini untuk membuat class Mahasiswa.
Buatlah class "DaftarMahasiswaBerprestasi" sesuai dengan class diagram yang telah disediakan.
Buatlah method "tambah()" didalam class DaftarMahasiswaBerprestasi
Tambahkan method "tampil()". Method ini digunakan untuk menampilkan semua daftar mahasiswa berprestasi.
Kemudian buatlah method "selectionSort()" yang digunakan untuk melakukan pengurutan data mahasiswa berprestasi dengan algoritma selectionSort.
Buatlah main class untuk mengeksekusi program sorting yang Anda buat.
Verifikasi Hasil Percobaan --> Sebelum Sorting
Verifikasi Hasil Percobaan --> Setelah Sorting
Sorting dengan Insertion Sort
Langkah-langkah Percobaan
Pada percobaan ini, kita akan menggunakan seluruh komponen utama pada class Mahasiswa dan DaftarMahasiswaBerprestasi yang telah dibuat. Dalam praktrikum ini kita hanya menambahkan method "insertionSort()" dan sedikit modifikasi pada main class.
Tambahkan method "insertionSort()" pada class DaftarMahasiswaBerprestasi.
Kemudian tambahkan kode berikut kedalam main class
Verifikasi hasil percobaan. Apakah menghasilkan hasil yang sama dengan selection sort? Mana yang lebih cepat?
public class Mahasiswa {
public String nama;
public int thnMasuk, umur;
public double ipk;
Mahasiswa(String n, int t, int u, double i {
this.nama = n;
this.thnMasuk = t;
this.umur = u;
this.ipk = i;
}
public void tampil() {
System.out.println("Nama = "+nama);
System.out.println("Tahun Masuk = "+thnMasuk);
System.out.println("Umur = "+umur);
System.out.println("IPK = "+ipk);
}
}
public class DaftarMahasiswaBerprestasi {
Mahasiswa listMhs[] = new Mahasiswa[5];
int idx;
// method tambah()
// method tampil()
// method selectionSort()
}
// method tambah()
public void tambah(Mahasiswa m) {
if(idx<listMhs.length) {
listMhs[idx] = m;
idx++;
} else {
System.out.println("Data sudah penuh!");
}
}
// method tampil()
public void tampil() {
// fungsi loop for berikut
// akan melakukan looping
// sejumlah objek didalam list
// secara langsung
for (Mahasiswa m : listMhs) {
m.tampil()
System.out.println("----------------------");
}
}