Langsung ke konten utama

Sorting Algorithm

Sorting adalah proses pengurutan suatu barisan secara ascending (a-z) atau descending (z-a). Algorithma adalah cara untuk menyelesaikan suatu masalah. Dalam tulisan ini akan saya bahas 3 algoritma pengurutan yaitu Buble Sort, Insertion sort, dan Selection sort.

Problems:
Diberikan barisan bilangan finite: 91, 76, 33, 12, 3, 77, 78, 81, 9, 0, 11
Urutkan barisan tersebut secara ascending!

Definition:
0. Elemen barisan adalah bilangan bulat/integer.
1. State awal adalah barisan paling awal. Contoh: 91.
2. Jumlah state/kondisi ada n! Contoh: 11! Namun ini tidak efisien.
3. Goal state terdefinisikan sebagai barisan yang terurut secara ascending. Contoh: 0, 3, 9, 11, 12, 33, 76, 77, 78, 81, 91.

Solution:
1. Buble Sort



  • Proses sorting dimulai dari bilangan pertama (n), jika bilangan selanjutnya (n+1) lebih kecil maka swap dilakukan 1 kali. Begitu pula untuk bilangan lainnya, proses dilakukan sampai pernyataan n+1 < n tidak berlaku.
  • Penerapan algoritma ini dalam c++:


2. Insertion Sort
  • Proses sorting dilakukan pertamakali di state 2. Idenya: Akan dilakukan perbandingan, jika bilangan di kiri lebih besar, lakukan swap. Begitu seterusnya sampai bilangan n tidak lebih kecil dari n-1. Untuk worst case, proses membandingkan ini dilakukan sampa n-1 kali. jadi misalnya Head ada di bilangan ke 4, proses membandingkan dilakukan sebanyak 3 kali: bil. ke 4 dengan bil. ke 3, dengan bil. ke 2, ... sampai n=1.
  • Penerapan algoritma ini dalam c++:

3. Selection Sort
  • Metode ini sederhana saja. Dilakukan proses sebanyak n buah data/bilangan sampai diperoleh bilangan paling kecil. Setelah berhasil ditemukan, bilangan terkecil tersebut di swap dengan bilangan pertama (atau bilangan ke n=0, untuk akhir proses, n++). Begitu seterusnya sehingga untuk langkah/proses berikutnya dilakukan sebanyak n-1 (berkurang satu langkah).
  • Penerapan algoritma ini dalam c++:
 
Selesai. 

Notes: Catatan ini adalah catatan belajar. Jadi tidak mutlak (100%) tepat, dan program c++ juga adalah hasil latian saya. Sharing dan semoga bermanfaat. 

Komentar

Postingan populer dari blog ini

Sport task: SQUASH

“Squash adalah salah satu cabang olahraga yang tergolong baru di Indonesia. Itu sebabnya masih banyak orang yang kurang begitu mengetahui tentang Squash.” Sumber: andihasanudin weblog (wordpress) ; oleh Andihasanudin pada April 17, 2008. Sejarah Squash  Squash sebenarnya telah ada pada abad ke-19, di daerah Fleet Prison London. Seorang murid sekolah di daerah itu mengadopsi permainan tenis dengan melakukan gerakan memantul-mantulkankan bola ke dinding. Awalnya gerakan tersebut merupakan warming up atau pemanasan sebelum bermain tenis lapangan. Belakangan, gerakan tersebut dikembangkan di sebuah sekolah di Inggris yang bernama Horrow pada tahun 1820. Meski terlahir dan besar di Inggris, namun justru Amerika Serikatlah yang pertama kali mendirikan asosiasi squash pada tahun 1907 dengan nama United States Squash Racquets Association. Padahal, di negeri asalnya Inggris squash pada awalnya merupakan cabang dari tenis lapangan. Squash baru berdiri sendiri di Inggris pada tahun 1928 dengan

You should find the mouse!

Hari ini ada kucing yang biasanya datang. Tapi beda, dia berani masuk rumah dan orang dirumah udah gak galak lagi ngusir malahan dikasiin makan hha, Kucing yang udah tua ini sering datang lewat pintu belakang rumah pagi hari. Ibuku pernah cerita kalo anaknya juga pernah datang, bagus banget katanya. Tapi ane sendiri belum pernah liat kayak apa. Oh kucing haha fyi: cat=neko=kucing,

Cousin's Cats

[lucky Update 1] Elegant & Love it!