Kali ini kita akan membahas tentang Sorting Array, Sorting adalah proses pengurutan data acak menjadi data yang berurutan, data yang diurutkan bisa secara abjad atau numerik. Untuk sorting sendiri sering digunakan untuk elemen dalam susunan dalam urutan numerik dari nilai tertinggi ke nilai terendah (descending order) atau sebaliknya (ascending order). Berikut adalah 3 cara pengurutan Sorting Array :
1. Bubble Sort
Pengertian dari Bubble Sort sendiri yaitu pengurutan suatu data dengan data yang disebelahnya secara terus menerus sampai data tersebut telah terurut. Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian maupun penerapannya. Ide dari algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemen
array dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu dilakukan penukaran lagi. Dibawah ini adalah contoh algoritma Bubble Sort =
Algoritma Bubble Sort :
1. Bandingkan data ke-x dengan data ke-(x+1), tukar jika data memenuhi kondisi (maksud dari memenuhi kondisi adalah bagaimana kita akan mengurutkan data tersebut, bisa dimulai dari data yang terkecil ke terbesar, atau sebaliknya)
2. Bandingkan data ke-(x+1) dengan data ke-(x+2), tukar jika memenuhi kondisi (lanjutkan pengulangan ini sampai data terakhir, seperti data ke-2 dibandingkan data ke-3, data ke-3 dibandingkan dengan data ke-4)
3. Selesai satu fase (jika kita sudah selesai membandingkan semua data yang ada, maka fase awal sudah selesai, tapi proses belum selesai, kita akan melakukan fase ke-2 dengan algoritma yang sama dengan point nomor 1 -3)
4. Stop proses (jika suatu proses fase sudah tidak ada yang ditukar, maka proses pengurutan data telah selesai)
Berikut adalah contoh soal dari Bubble Sort :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMy28a3e0vfYQQ2K_poVrUAJar6jk1YWnvMIrnRAxsiAAaWqvKaPC6fw_N4X8cWpQ-jGU14GJGxete9D4MC3acQzyI3FZnk38z38Q6BE9rvfURFEnHfhzvV6Vlrbmvt-4MM80Lbg84bMo7/s640/1.png)
Dan berikut adalah cara penyelesaiannya :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ5jD0KK7ryiX-tJlcqtkQYFP6SpFqJyJgHoP-FEpvRY6-CkE0wQUTjZvXx76K3e6xqkk-RutfKf-XbNCfU0cKAlJkBBgnUYhmm4gX_lXkePCTkMU138vbEXTUngEikztbI6OBwroOVVYg/s1600/2.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6abih_OLnOk3R-4hl4BNCEHQbe_7_TAEpX6_bjZ4GjxNUNFd2PrUDIpn3Q5eRMJwpDsrW4cqd_m2I7LcURVJb2EuLPO8CoP6cjCOjYn_ROx3bvlj7CRlnrfvcdR0kkw9G0FHctAfIg1Gb/s1600/3.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFvrnaaZFqnGO-YNkMPcRSnCa_nBfJDTsHPILCJ5SRz_K_jEQ0R-PvRUG7AdjCHsOSh2RHvqjdHKmvgz3QwfsrQ1xUxrYVwl2DIPw1klF7Qv3PfyEibcHEITq255DJ459zMkTl-7Cx0id2/s1600/4.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzDLLcwsOIweRsIzAVXDxKEIZOgOEBMC4pfeD3Fe0hAW6UShQH5htLUIDtEOaelKLn1Qa8wcBq44L8FO2Qknqjv-wXfl6rlodxWTPmFBZiQugv9pjzKWd6z-dV-wy6H1Y7Er0eDuGP210Z/s1600/5.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8okN_5gFbZWXNCKYb6L7L-9eF45MF6XuE-uMeBvC_jju5pFy96VmZF91eZqXmIcia3CC5j2uEtKlXnlvFrstCHQGQAkQ-hwbS37y1uihePM7-pMump2t2KLavMcU2zoNSaccF0MhDN_ZV/s1600/6.png)
Nah, begitulah cara pengerjaan Bubble Sort, sebuah pengurutan akan berakhir jika suatu fase tidak dapat lagi diubah / ditukar.
2. Selection Sort
Kegunaan Selection Sort adalah mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan, Selection Sort membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen yang terakhir.
Algoritma Selection Sort :
1. Bandingkan data ke-x sampai data terakhir
2. Jika ditemukan data yang ditentukan (Terbesar atau Terkecil) maka tukar posisi elemen data tersebut.
3. Bandingkan data ke-(x+1) sampai data terakhir (Ulangi proses ini sebanyak data x)
4. Selesai.
Berikut soal pengerjaan Selection Sort :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4fBYg4aOANP0xFRTBRuDdFuXyaCAAzdvGWBA0PRit91lroiJlS_veNoUZCCL1DZ6g8P0dS94Q9_I9BlD6up-_KOOfObV9JBMA7pcttS3dcd5PFr5PQ9KVYDk3Ca9D8CS6O9iVa29RIYJS/s640/1.png)
Dan berikut cara penyelesaiannya :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB5ikG79-kwfLI61aR0WkJzlQiYlrJUEMJyNCnEbaedErgZ8QXLnf0hfwMOSFp0wFLh6j1IJ4-lLG6MhEGV9A2QjI8Yf6gJV4pvED2MOaoy9L2xAKTV6uDIF2jOhUqMu7GZ5TruVi9bGlI/s1600/7.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzNBIDp7OUqslBKy3xweyNkE5uOMg6l4pXgHIJpUcbpVRmzy7oYsenffgYZ_Z7VtYaaraTYHcWNQG5anJgwnb2ZFKEOiV6naj4CtMnpXHHEHIk_BoLr8oVz0r4Az3bVvu4-Mo2NPzlQvs0/s1600/8.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqzZlRrIu0aeithRZpDJdAw7XAvfDFEL1hbqBEGsDnC51nzkbDsyGigUso38R9xOy9S07alwod0qnp0Rx0Rvm4_bxGldauFNlgb5-Q6BleCRqR4ZZZ1-oJd0M7qeWXcv7hK-4fyfLjHz94/s1600/9.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihudmfVXpS7WV4nIs1T-rHSuEUBwjO66HsSIaYywdv8jzK6Kyz76esqvvCRQc8vFLZRzNMU4ZAcX-PTPVHodWJCc0zBNgGSec7mRyI2hRfnMg9EPa8Xs1c2vnUfJpurAos1gWTlIeDHEn-/s1600/10.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxvnH-G-a0KmhM8Y8mgO3sWXYkHtENq4E4IJp0XhvsNmVQnQzzWPdb2OmcCImFoeXdelkI2XhyDUpn9QkEgXlhO61OO8NidbEbsedLeF6qBpe0y2bOsie6jUkrmAt176uXGKU2kDvrc4jx/s1600/11.png)
Diatas adalah cara pengurutan data menggunakan Selection Sort. Cara ini terlihat lebih mudah dari bubble sort, karena hanya membandingkan data ke-x dengan data ke-(x+1), sampai terakhir.
3. Insertion Sort
Proses pengurutan dengan menggunakan metode Insertion Sort adalah dimulai dari data ke-2 kemudian disisipkan pada tempat yang sesuai. Data pada posisi pertama diandaikan memang sudah pada tempatnya. Ilustrasinya mirip seperti saat menyisipkan kartu di permainan kartu.
Algoritma dari Insertion Sort :
1. Bandingkan data ke-2 dengan data ke-1, jika memenuhi syarat tukar posisi
2. Bandingkan data ke-3 dengan data ke-2, ke-1, jika salah satu elemen memenuhi syarat, tukar posisi (lanjutkan hingga data terakhir)
3. Selesai
Berikut soal pengerjaan Insertion Sort :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhXyVlIOnhkHNF4YZMu5QmIm5ERbwibwV8OqPoHzn9DGHT6oe_uQUcSiV_vQxrsrPPEpJYh1veu-ek8Cm54WYqBsBpbHHEpbn-sb5749sLRo-q1RDa-klP3dwAFmnBiVawNCFiYoJPqb-E/s640/1.png)
Dan berikut cara penyelesaiannya :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg000rRsZ2_CFt-cfVCTNMtTU8YR-7CFufSaFZHbhMsKe_IKxL_U0yjq5pFrdk7F8lnboCGrQ-AadryWf43WJrtZ4ROv-CdW_JW_TjVwN-aJkxbvmVO5c3A5nrh8FUDa-l5Sf6iuI4vGz3B/s1600/12.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdW3TOX4so88x-NWsI2xjW-mvCWqbg0av56xIpzlFLW9xpX5TdRghuiBUiIMKH9ITpGa4ofQ-sGRmjzTkinCaLy7QOXrZUCXShvr0L1HxNVnzjjChPJIAJy3zbL5dapq7321jTlevpthDB/s1600/13.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQJQvamIUscNJ128VOTzBSztWArdYFfHB_zMhbs6okVSfVLO8m0n31HIelqRgQg1_dlu2A3jNbV2kfM-zK3GtLIqp8gTAD3RoFrsa33nx8rqitwtpdfmVjCZEeOKC7fU7BVeMiFqigKtSj/s1600/14.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRYahloC3IlL0KiRm9w9KUR76YD_aCKyQqq07EoIR3GGMtttdWtjNP6xaVAopagLMILN-sH2yJGUxc0T19NocopPFO7aMd2wgSbFSG5yQnL-lyBT_w5yEqsGnfD5YJOj6_gKYUt_-Rh2Zw/s1600/15.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDohkjkhZl09IWqCMBGyYFRuJxnrxU5Pmu4l-74GYyyBv9_EijTRS08qumHAchhZl19BoVn0APPgNVFAvkTs_0P0TBbxbsJ-AErYTEb6lf2Q58L0cy52e7Rp0mg0LcLGKaMpxWYKmpIIeY/s1600/16.png)
Nah, begitualah cara penyelesain soal sorting menggunakan metode Insertion Sort.
Sekarang mari kita implementasikan salah satu sorting diatas ke dalam koding javascript. Kita akan menggunakan insertion sort sebagai contoh kali ini. Berikut soalnya :
Buatlah sebuah aplikasi insertion sort, dimana data didapatkan secara random sebanyak 5 data!
Pertama, kita buat dulu sebuah tampilan untuk aplikasinya :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZFzdCrHilKkXHam1fPySGwp3R1MJgd-eGX1J6xuN_Dr7h0aHb5sk6jh6NFlr1ysZosN-idPKCvo33FV8k7hE2ip6GWSGHQji-C06QW371-ABGn8arVjB7prrw9pRWiUWUQcR9ysJGFyoB/s1600/17.png)
Kedua, kita buat function untuk random data sebanyak 5 data :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF3YLy-e4IewGgWO3sMUhzpo5StbeorA9tVOC4ju2jVxw-VixOu8TR4ss2taqvUc7OaXXjclTAsLgdjooWarGIdAapy5cdjx2xFZ2WE8NBmDGwO4vNW2KsP9tRDuAagXYcjgdRMte65gqP/s1600/18.png)
Dari function diatas, data random didapat dari Math.random()*(batas akhir angka - 1). Dari data random tersebut langsung dimasukkan kedalam sebuah array bernama Jumlah.
Ketiga, kita buat function untuk sortingnya :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-aT0m9XnOPyCiahvQgyfrfxN8fm85h7xqnBhqCK1XceVYTE7-JDTkbMR-iwdVPGi9BDgXyTK4G5R32kLJ2mDmZa6sQBf8D4PY5cubpGTpvz6KzcejUXrPOt2iz0v-mtehshBOftC_Cnqo/s1600/19.png)
dari kodingan diatas dapat disimpulkan, jika logika dari kodingan tersebut sama seperti insertion sort, dimana dari data array ke - 1 dibandingkan dengan array ke - 0 begitu juga seterusnya.
Sekarang mari kita lihat hasilnya :
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLpnRKo86Ah07OpNGbiEEWZgrv6HrFvlPjfaZecwpXw2eBIWkx9CjTzXD51cyAOYTQyd2p7gMimZ3u3Wcif19gOijuMLbpj0qUabTyxqJNaMM1vGG_pcYNcJKLULXti_NZFBqy9eAzLDGs/s1600/20.png)
Sekian dulu untuk materi Sorting, semoga bermanfaat untuk teman - teman semua ^_^
Thank's For Visiting my Blog
Komentar
Posting Komentar