Sorting (pengurutan)
Praktikum Algoritma dan Pemrograman
Jurusan Teknik Informatika UIN SGD Bandung
Agus Andri Putra, ST.
Pengertian Sorting
 Sorting merupakan proses mengurutkan atau menyusun kembali elemen-
elemen dengan urutan tertentu dan proses pengurutan tersebut
diimplementasikan ke beberapa macam aplikasi.
 biasanya sorting atau algoritma pengurutan pada java sering kita temui
pada berbagai aktifitas, seperti pada project atau tugas yang difungsikan
untuk mengurutkan Nim, Nama Mahasiswa, Kota dan lainya.
Contoh penggunaan sorting
Aplikasi perbankan mampu menampilkan daftar account yang aktif. Hampir seluruh
pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi
kenyamanan dalam penelusuran data. Dalam artian sorting digunakan untuk
mengurutkan sesuatu
( misalnya : kata, buku telepon , dll ).
Sorting yang kita terapkan menggunakan tipe data array agar pemahaman serta
pengimplementasiannya lebih mudah.
Pada umumnya terdapat dua jenis pengurutan :
– Ascending (Naik).
– Descending (Turun).
Pengurutan Internal dan External
 Pengurutan Internal
Pengurutan terhadap sekumpulan Data yang disimpan didalam memori
utama komputer. Umumnya struktur internal yang dipakai untuk pengurutan
internal adalah ARRAY/LARIK, sehingga pengurutan Internal disebut juga
pengurutan ARRAY/LARIK
 Pengurutan External
Pengurutan Data yang disimpan didalam memori sekunder, biasanya data
bervolume besar sehingga tidak mampu dimuat semuanya didalam memori
komputer, struktur external yang dipakai adalah FILE/ARSIP, sehingga pengurutan
External di sebut juga pengurutan ARSIP
Jenis-jenis Pengurutan
 Dalam pemrograman Java terdapat tiga algoritma sorting yang biasa
digunakan yakni antara lain:
 - Bubble Sort (Pengurutan Gelembung)
 - Selection sort (Pengurutan Pilih)
 - Insertion Sort (Pengurutan Sisip)
BUBBLE SORT
 Metode pengurutan Gelembung {Bubble Sort} diinspirasi oleh gelembung
sabun yang berada diatas permukaan air. Karena berat jenis gelembung
lebih ringan dari pada berat jenis air, maka gelembung selalu terapung
keatas permukaan. Secara umum, benda berat akan terbenam dan benda
ringan akan terapung
 Atau bisa dikatakan juga : Algoritma Pengurutan Bubble Sort merupakan
metode pengurutan elemen array dengan membandingkan elemen array
pertama untuk memperoleh elemen terbesar, Kemudian elemen array
tersebut di tempatkan pada posisi paling akhir.
Urutan dalam Bubble Sort
 Lakukan pengulangan (pass) pada array, kemudian tukar elemen yang
bersebelahan jika diperlukan (perbandingan nilainya tidak sesuai); jika tidak ada
pertukaran nilai maka array sudah terurut.
 Dalam pass pertama, temukan elemen dengan nilai tertinggi (maksimal) dalam
array dan tukarkan dengan elemen di sebelah kanannya dan seterusnya sampai
dengan mencapai posisinya di ujung array sebelah kanan.
 Kemudian dalam pass kedua, nilai tertinggi kedua dalam array akan ditempatkan
dalam posisinya (di sebelah kiri elemen dengan nilai tertinggi/maksimal).
 Teruskan untuk pass ketiga dan seterusnya sampai pass n-1
 Jika sebelum pass n-1 sudah tidak ada pertukaran data maka pertukaran langsung
dihentikan.
Ilustrasi Bubble Sort
Contoh Bubble Sort
public class BubbleSort
{
public static void main(String args[])
{
int a[]={8,5,9,6,3,4,2,1,7};
for(int i=1; i<a.length; i++)
{
for(int h=0; h<a.length-1; h++)
{
if(a[h+1]<a[h])
{
int tmp=a[h+1];
a[h+1]=a[h];
a[h]=tmp;
}
}
}
// mencetak hasil
for(int h=0;h<a.length;h++)
{
System.out.print(a[h]+"
");
}
}
}
Kesimpulan Bubble Sort
 Metode sorting paling mudah, namun paling lambat dibandingkan dengan yang
lain.
 Bisa dilakukan baik dari kepala array maupun ekor array.
 Bubble sort mengurutkan data dengan cara membandingkan elemen sekarang
dengan elemen berikutnya.
 Proses yang berlangsung, jika: Ascending: jika elemen sekarang lebih besar
daripada elemen berikutnya, maka kedua elemen tersebut ditukar. Descending: jika
elemen sekarang lebih kecil daripada elemen berikutnya, maka kedua elemen
tersebut ditukar.
 Hal ini akan terlihat seperti penggeseran angka, perbandingan, kemudian jika
memenuhi syarat kemudian tukar.
 Proses penukaran ini akan terus dilakukan hingga seluruh array telah diperiksa.
Latihan Bubble Sort
 Kerjakan latihan berikut dengan algoritma Bubble Short, angka yang berada di
bawah diinputkan secara manual oleh user
 4, 3, 5, 9, 1, 6, 7, 8, 12 (Ascending)
 7, 5, 3, 1, 12, 20, 50, 40, 23, 2, 4 (Descending)

Pertemuan viii Sorting

  • 1.
    Sorting (pengurutan) Praktikum Algoritmadan Pemrograman Jurusan Teknik Informatika UIN SGD Bandung Agus Andri Putra, ST.
  • 2.
    Pengertian Sorting  Sortingmerupakan proses mengurutkan atau menyusun kembali elemen- elemen dengan urutan tertentu dan proses pengurutan tersebut diimplementasikan ke beberapa macam aplikasi.  biasanya sorting atau algoritma pengurutan pada java sering kita temui pada berbagai aktifitas, seperti pada project atau tugas yang difungsikan untuk mengurutkan Nim, Nama Mahasiswa, Kota dan lainya.
  • 3.
    Contoh penggunaan sorting Aplikasiperbankan mampu menampilkan daftar account yang aktif. Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data. Dalam artian sorting digunakan untuk mengurutkan sesuatu ( misalnya : kata, buku telepon , dll ). Sorting yang kita terapkan menggunakan tipe data array agar pemahaman serta pengimplementasiannya lebih mudah. Pada umumnya terdapat dua jenis pengurutan : – Ascending (Naik). – Descending (Turun).
  • 4.
    Pengurutan Internal danExternal  Pengurutan Internal Pengurutan terhadap sekumpulan Data yang disimpan didalam memori utama komputer. Umumnya struktur internal yang dipakai untuk pengurutan internal adalah ARRAY/LARIK, sehingga pengurutan Internal disebut juga pengurutan ARRAY/LARIK  Pengurutan External Pengurutan Data yang disimpan didalam memori sekunder, biasanya data bervolume besar sehingga tidak mampu dimuat semuanya didalam memori komputer, struktur external yang dipakai adalah FILE/ARSIP, sehingga pengurutan External di sebut juga pengurutan ARSIP
  • 5.
    Jenis-jenis Pengurutan  Dalampemrograman Java terdapat tiga algoritma sorting yang biasa digunakan yakni antara lain:  - Bubble Sort (Pengurutan Gelembung)  - Selection sort (Pengurutan Pilih)  - Insertion Sort (Pengurutan Sisip)
  • 6.
    BUBBLE SORT  Metodepengurutan Gelembung {Bubble Sort} diinspirasi oleh gelembung sabun yang berada diatas permukaan air. Karena berat jenis gelembung lebih ringan dari pada berat jenis air, maka gelembung selalu terapung keatas permukaan. Secara umum, benda berat akan terbenam dan benda ringan akan terapung  Atau bisa dikatakan juga : Algoritma Pengurutan Bubble Sort merupakan metode pengurutan elemen array dengan membandingkan elemen array pertama untuk memperoleh elemen terbesar, Kemudian elemen array tersebut di tempatkan pada posisi paling akhir.
  • 7.
    Urutan dalam BubbleSort  Lakukan pengulangan (pass) pada array, kemudian tukar elemen yang bersebelahan jika diperlukan (perbandingan nilainya tidak sesuai); jika tidak ada pertukaran nilai maka array sudah terurut.  Dalam pass pertama, temukan elemen dengan nilai tertinggi (maksimal) dalam array dan tukarkan dengan elemen di sebelah kanannya dan seterusnya sampai dengan mencapai posisinya di ujung array sebelah kanan.  Kemudian dalam pass kedua, nilai tertinggi kedua dalam array akan ditempatkan dalam posisinya (di sebelah kiri elemen dengan nilai tertinggi/maksimal).  Teruskan untuk pass ketiga dan seterusnya sampai pass n-1  Jika sebelum pass n-1 sudah tidak ada pertukaran data maka pertukaran langsung dihentikan.
  • 8.
  • 9.
    Contoh Bubble Sort publicclass BubbleSort { public static void main(String args[]) { int a[]={8,5,9,6,3,4,2,1,7}; for(int i=1; i<a.length; i++) { for(int h=0; h<a.length-1; h++) { if(a[h+1]<a[h]) { int tmp=a[h+1]; a[h+1]=a[h]; a[h]=tmp; } } } // mencetak hasil for(int h=0;h<a.length;h++) { System.out.print(a[h]+" "); } } }
  • 10.
    Kesimpulan Bubble Sort Metode sorting paling mudah, namun paling lambat dibandingkan dengan yang lain.  Bisa dilakukan baik dari kepala array maupun ekor array.  Bubble sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.  Proses yang berlangsung, jika: Ascending: jika elemen sekarang lebih besar daripada elemen berikutnya, maka kedua elemen tersebut ditukar. Descending: jika elemen sekarang lebih kecil daripada elemen berikutnya, maka kedua elemen tersebut ditukar.  Hal ini akan terlihat seperti penggeseran angka, perbandingan, kemudian jika memenuhi syarat kemudian tukar.  Proses penukaran ini akan terus dilakukan hingga seluruh array telah diperiksa.
  • 11.
    Latihan Bubble Sort Kerjakan latihan berikut dengan algoritma Bubble Short, angka yang berada di bawah diinputkan secara manual oleh user  4, 3, 5, 9, 1, 6, 7, 8, 12 (Ascending)  7, 5, 3, 1, 12, 20, 50, 40, 23, 2, 4 (Descending)