Kamis, 03 Oktober 2013

Algoritma Sorting

       Algoritma merupakan suatu tahapan-tahapan perintah untuk menyelesaikan suatu permasalahan. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Algoritma sendiri berasal dari sebuah nama ahli matematika dari Uzbekistan yaitu Al Khawārizmi. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
  • Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  • Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  • Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
      Dengan algoritma kita dapat melakukan pengurutan data atau yang biasa dikenal dengan sebutan algoritma sorting. Sorting sendiri terdiri dari 2 macam yaitu sorting 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 terkecil. Algoritma sorting terdiri dari beberapa algoritma seperti Quick sort, Selection Sort, Bubble sort, Merge Sort, dan Insertion Sort.

  • Selection Sort
 
 
     Ide dasarnya dari selection sort adalah melakukan beberapa kali pengurutan untuk mendapatkan urutan data yang benar. Langkah-langkahnya adalah sebagai berikut:
  1. Untuk ascending sorting, simpanlah datum yang nilainya terkecil menggantikan datum yang ada di urutan paling depan. Sedangkan untuk descending sorting, simpanlah data yang bernilai paling besar.
  2. Dari datum yang belum terurut lakukan lagi langkah seperti langkah pertama berulang-ulang sampai mendapat urutan yang benar.
 
Contoh :
Data -----> 9 2 7 5 1

Pertama, cari datum yang bernilai paling kecil yaitu 1.
 
9 2 7 5 1
 
Tukarlah dengan datum pada urutan pertama yaitu 9.
 
 1 2 7 5 9
 
Dari datum yang belum terurut, tentukan kembali datum dengan nilai yang terkecil.
 
 1 2 7 5 9
 
Karena 2 sudah berada pada urutan yang benar maka tidak perlu untuk bertukar tempat. Lalu, tentukan lagi datum terkecil dan tukar dengan angka 7.

1 2 7 5 9
 
1 2 5 7 9

Setelah bertukar tempat kita sudah mendapatkan urutan data dari yang terkecil sampai terbesar yaitu 1 2 5 7 9.

  • Bubble Sort

           Cara kerja sorting menggunakan bubble sort adalah dengan membandingkan 2 datum yang berdekatan lalu melakukan pertukaran (swap).
 
Contoh :
Data -----> 9 2 7 5 10

Pertama, bandingkan angka 9 dan 2. Lalu pilih mana yang nilainya terkecil dan lakukan pertukaran bila angka 2 lebih kecil dari angka 9.

9 2 7 5 10

2 9 7 5 10

Lakukan lagi dengan membandingkan antara angka 9 dan 7.

2 9 7 5 10

2 7 9 5 10

Langkah seperti itu dilakukan berulang-ulang sampai mendapatkan urutan angka yang benar.
 
 2 7 9 5 10
  
  2 7 5 9 10
 
 2 7 5 9 10
 
 2 5 7 9 10
 
Setelah dilakukan berulang-ulang kita mendapatkan urutan yaitu 2 5 7 9 10.

Sumber :
http://10108253.blog.unikom.ac.id/algoritma-sorting.1td
http://andikafisma.wordpress.com/algoritma-dan-pemrograman/