Pengertian Algoritma :
• Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. (ilmukomputer.com)
• Algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. (wikipedia)
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma
ALGORITMA SORTING
• Istilah sorting tentu tidak asing di telinga kita, yaitu istilah untuk mengurutkan data. Mengatur elemen berdasar urutan tertentu . Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi.
• Ada dua bentuk sorting yaitu secara ascending dan descending. Sorting secara ascending adalah cara mengurutkan data mulai data bernilai terkecil sampai terbesar. Sedangkan descending mengurutkan data mulai dari data terbesar sampai terk
• Beberapa algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan
• Pengurutan data dalam struktur data sangat penting untuk data yang beripe data numerik ataupun karakter.
• Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun)
• Pengurutan (Sorting) adalah proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu.
Contoh:
• Data Acak : 5 6 8 1 3 25 10
• Ascending : 1 3 5 6 8 10 25
• Descending : 25 10 8 6 5 3 1
Aplikasi dalam Java
Sorting misalnya digunakan untuk mengurutkan isi dalam array (dalam Java API, Array merupakan class dalam package java.util
- static void sort(array) : mengurutkan isi array
- static String toString(array) : mengubah nilai array menjadi String
Sorting secara Ascending mengurutkan data dimulai dari data yang terkecil
public class Sorting {
public static void main(String[] args){
String[] huruf = { "D", "A", "C", "F", "H" };
System.out.println("SEBELUM DI LAKUKAN SORTING/PENGURUTAN");
for (int i= 0; i<5; i++){
System.out.println(huruf[i] );
}
Arrays.sort(huruf);
System.out.println("SETELAH DI SORTING/ DIURUTKAN");
for (int j = 0; j < 5; j++){ System.out.println(huruf[j]);
} } }
Metode Pengurutan Data
• Pengurutan berdasarkan perbandingan (comparison-based sorting)
Bubble sort, exchange sort
• Pengurutan berdasarkan prioritas (priority queue sorting method)
Selection sort, heap sort (menggunakan tree)
• Pengurutan berdasarkan penyisipan dan penjagaan terurut (insert and keep sorted method)
Insertion sort, tree sort
• Pengurutan berdasarkan pembagian dan penguasaan (devide and conquer method)
Quick sort, merge sort
• Pengurutan berkurang menurun (diminishing increment sort method)
Shell sort (pengembangan insertion)
Insertion Sort
Salah satu algoritma paling sederhana
Cukup intuitif dan prosesnya mirip dengan mengurutkan kartu
Tujuan: mengurutkan kartu dari paling kecil hingga terbesar
Terdapat: kartu, meja 1, meja 2
Awal: Kartu acak diletakkan pada meja 1
Teknik: Kartu berurutan diletakkan pada meja 2
Ambil kartu pertama dari meja 1, bandingkan dengan tabel 2 dan tempatkan sesuai posisi urutan di meja 2
Ulangi hingga seluruh kartu terletak pada meja 2
• Bagi elemen data yang akan diurutkan menjadi dua
Bagian yang belum diurutkan
Bagian yang telah terurutkan
• Ulangi langkah tersebut hingga tidak ada elemen tersisa dalam array
Elemen pertama dipilih dari bagian yang belum diurutkan
Tempatkan elemen terpilih sesuai urutan pada array
void insertionSort(Object array[], int startIdx,
int endIdx) {
for (int i = startIdx; i < endIdx; i++) {
int k = i;
for (int j = i + 1; j < endIdx; j++) {
if (((Comparable) array[k]).compareTo(
array[j])>0) {
k = j;
}
}
swap(array[i], array[k]);
}
}
Kamis, 07 Mei 2009
Langganan:
Posting Komentar (Atom)

_2.jpg)
Tidak ada komentar:
Posting Komentar