MODUL VI
SORTING
6.1 TUJUAN
1. Mengetahui konsep sorting data dalam kumpulan data
2. Mengetahui macam-macam algoritma yang dapat digunakan untuk mengurutkan
data
3. Mengimplementasikan sorting ke dalam program
Selanjutnya, anda menyusun angka-angka tersebut dari nilai terkecil sampai nilai
terbesar, maka anda akan memperoleh suatu output, dengan pengertian :
Output : Permutasi (Pengurutan kembali) dari (c’1, c’2, c’3…cn) yang sudah
tersusun sehingga memenuhi kondisi c’1 <= c’2 <= c3 <=…<=cn.
Angka yang kita harapkan untuk disusun juga dikenal dengan istilah keys.
Walaupun secara konsep anda mensorting suatu urutan, namun input yang datang
adalah dalam bentuk array dengan jumlah n element.
Kemudian, bagian yang terpenting yaitu cara anda melakukan sorting tersebut
sehingga masalah terpecahkan disebut dengan algoritma.
kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelahkiri, maka
ambil kartu tersebut dan sisipkan di tempat yang sesuai. Pengurutan ini
menggunakan sistem berdasarkan penyisipan dan penjagaan terurut (insert and
keep sorted method).
6.2.7 Merge Sort
Metode penggabungan biasa digunakan pada pengurutan berkas. Prinsip dari
metode penggabungan adalah mula-mula diberikan dua kumpulan data yang sudah
dalam keadaan urut. Kedua kumpulan data tersebut harus dijadikan satu tabel
sehingga dalam keadaan terurut. Pengurutan ini menggunakan sistem berdasarkan
pembagian dan penguasaan (divide and conquer method).
6.2.8 Heap Sort
Heap sort adalah sorting yang menggunakan struktur data heap, dengan nilai parent
selalu lebih besar dari pada nilai childnya.
Algoritma:
1. Buat suatu heap.
2. Ambil isi dari root masukkan kedalam sebuah array.
3. Hapus element root dengan mempertahankan properti heap.
4. Ulangi sampai tree menjadi kosong
6.2.9 Bucket Sort
Bucket sort adalah algoritme berbasis perbandingan yang beroperasi pada elemen
dengan mengelompokkannya pada beberapa bucket berbeda lantas bucket
tersebut diurutkan secara terpisah. Setiap bucket dapat diurutkan secara terpisah
menggunakan algoritme sorting yang berbeda atau dengan menerapkan algoritme
bucket sort secara rekursif. Bucket sort amat sangat berguna saat digunakan pada
input yang terdistribusi secara seragam dalam rentangan.
6.2.10 Radix Sort
Radix Sort adalah metode/algoritma pengurutan dengan cara Non-Camparation
(pengurutan tanpa perbandingan). Prosesnya dengan cara menyelesaikan data
sesuai dengan kategori terurut hingga terus-menerus hingga sesuai dengan yang
dibutuhkan kemudian bagian-bagian kategori digabungkan kembali.
6.3 JOBSHEET
No. Latihan Script dan Analisa
package algodatp6;
import java.util.Random;
public class J1_BubbleSort
{
void bubbleSort(int arr[])
{
System.out.println("--------------------Bubble Sorting-------------------");
System.out.print("Data Sebelum di Sorting : ");
for(int x = 0; x < 13; x++)
System.out.print(arr[x]+" ");
Buatlah Proses sorting int n = arr.length;
1 dan jumlah data sesuai System.out.print("\n-----------------------ITERASI-----------------------");
dengan akhiran NIM
for (int i = 0; i < n-1; i++)
{
System.out.print("\nIterasi ke-"+(i+1)+" : ");
}
for (int k=0; k<n; k++)
{
System.out.print(arr[k]+" ");
}
}
}
int r3 = 1+angkaRandom.nextInt(30);
int r4 = 1+angkaRandom.nextInt(30);
int r5 = 1+angkaRandom.nextInt(30);
int r6 = 1+angkaRandom.nextInt(30);
int r7 = 1+angkaRandom.nextInt(30);
int r8 = 1+angkaRandom.nextInt(30);
int r9 = 1+angkaRandom.nextInt(30);
int r10 = 1+angkaRandom.nextInt(30);
int r11 = 1+angkaRandom.nextInt(30);
int r12 = 1+angkaRandom.nextInt(30);
int r13 = 1+angkaRandom.nextInt(30);
int arr[] = {r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13};
ob.bubbleSort(arr);
System.out.println("\n-----------------------HASIL-----------------------");
System.out.print("Data Setelah di Sorting : ");
ob.printArray(arr);
}
}
Berdasarkan script tersebut dapat dianalisa bahwa script tersebut merupakan program sorting untuk mengurutkan
13 angka menggunakan bubble sort dan setiap angkanya di generate secara random. Pada script tersebut juga dapat
dilihat bahwa script in hanya memiliki 1 buah class dan didalamnya terdapat 3 buah method yang dimana masing –
masing method mempunyai fungsi masing – masing, method bubbleSort digunakan sebagai tempat inisialisasi
dan logika bubble sort, method printArray digunakan sebagai perantara antara fungsi main dan printArray
untuk merapikan dan menampilkan keluaran program, dan method main digunakan untuk melakukan proses
generate angka random beserta manampilkan keluaran program.
6.4 KESIMPULAN
DAFTAR PUSTAKA
http://www.nahrowi.com/2016/05/01/macam-macam-sorting-pada-java/
http://web.if.unila.ac.id/muhammadalif/2015/11/12/jenis-jenis-sorting/
http://bahasajava.com/algoritma-pemrograman-java-sorting-insertion-sort/
https://indonesia.hackerearth.com/konsep-dasar-bucket-sort/
LAMPIRAN
No. Latihan Flowchart Screenshot