Pertemuan viii Sorting

11
Sorting (pengurutan) Praktikum Algoritma dan Pemrograman Jurusan Teknik Informatika UIN SGD Bandung Agus Andri Putra, ST.

Transcript of Pertemuan viii Sorting

Page 1: Pertemuan viii Sorting

Sorting (pengurutan)Praktikum Algoritma dan PemrogramanJurusan Teknik Informatika UIN SGD Bandung

Agus Andri Putra, ST.

Page 2: Pertemuan viii Sorting

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.

Page 3: Pertemuan viii Sorting

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).

Page 4: Pertemuan viii Sorting

Pengurutan Internal dan External

Pengurutan InternalPengurutan 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

Page 5: Pertemuan viii Sorting

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)

Page 6: Pertemuan viii Sorting

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.

Page 7: Pertemuan viii Sorting

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.

Page 8: Pertemuan viii Sorting

Ilustrasi Bubble Sort

Page 9: Pertemuan viii Sorting

Contoh Bubble Sortpublic 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 hasilfor(int

h=0;h<a.length;h++){

System.out.print(a[h]+" ");}

}}

Page 10: Pertemuan viii Sorting

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.

Page 11: Pertemuan viii Sorting

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)