Jam Digital

Minggu, 14 April 2019

Sorting Algorithma,Merge sort,Quicksort dan Bubble Sort




Sorting Algorithma


Sorting Algorithma
Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif. Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data.
Salah satu bagian penting dari struktur data adalah sorting atau pengurutan data. Ada banyak sekali Algoritma pengurutan data di dunia computer, dan  Setiap algoritma memiliki kelebihan dan kekurangan masing – masing.

Dan langsung masuk yang pertama

1 Merge sort
Merge sort menggunakan pola divide and conquer. Dengan hal ini deskripsi dari algoritma dirumuskan dalam 3 langkah berpola divide-and-conquer. Berikut menjelaskan langkah kerja dari Merge sort.
1. Divide Memilah elemen – elemen dari rangkaian data menjadi dua bagian.
2. Conquer Conquer setiap bagian dengan memanggil prosedur merge sort secara rekursif
3. Kombinasi Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data berurutan
Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian.

AlGORITMA

 void mergeSort(Object array[],
int startIdx,
int endIdx)
{
 if (array.length != 1)
 { //Membagi rangkaian data, rightArr dan leftArr
     mergeSort(leftArr, startIdx, midIdx); mergeSort(rightArr, midIdx+1, endIdx);
    combine(leftArr, rightArr);
  }
  }


























2 Quicksort
Quicksort ditemukan oleh C.A.R Hoare. Seperti pada merge sort, algoritma ini juga berdasar pada pola divide-and-conquer. Berbeda dengan merge sort.

ALGORITMA

 void quickSort(Object array[],
 int leftIdx, int rightIdx)
{
 int pivotIdx;
/* Kondisi Terminasi */
if (rightIdx > leftIdx)
{
pivotIdx = partition(array, leftIdx, rightIdx);
quickSort(array, leftIdx, pivotIdx-1);
 quickSort(array, pivotIdx+1, rightIdx);
}



3 Bubble Sort
Algoritma Bubble Sort ini merupakan proses pengurutan yang secara berangsur-angsur berpindah ke posisi yang tepat karena itulah dinamakan Bubble yang artinya gelembung. Algoritma ini akan mengurutkan data dari yang terbesar ke yang terkecil (ascending) atau sebaliknya (descending).
Perhatikan kode berikut :




Task 1
1.       Apa yang dilakukan program diatas ?
2.       Lakukan untuk pengurutan sebaliknya!
3. Pengurutan diatas dilakukan dari depan atau belakangBuat program untuk sebaliknya!
4.  Buat program agar user bisa inputkan data secara dinamis, baik untuk ascending, maupun descending!
5.       Tambahkan kode agar user dapat melihat proses pengurutan data!
Note : Ascending adalah pengurutan data dari terkecil menuju terbesar, sedangkan descending adalah pengurutan dari data terbesar menuju terkecil.

Tidak ada komentar:

Posting Komentar

“Vpn”

KATA PENGANTAR Segala puji dan syukur penulis panjatkan ke hadirat Allah Swt.   atas limpahan rahmat dan karunia-Nya penulis dapat men...