Merge Sort Algoritma , Contoh soal dan pemrogramannya di PHP , JAVA, C dan C++

Merge sort merupakan sebuah algoritma yang digunakan untuk melakukan sebuah pengurutan dalam imlu computer yang dirancang untuk mengurutkan suatu urutan data atau rangkaian data yang tidak memungkinkan bisa untuk ditampung didalam sebuah memori dalam komputer karena jumlahnya yang tinggi dan terlalu besar. Algoritma merge sort ditemukan oleh John von Neumann tahun 1945.

Algoritma pengurutan ini dilakukan dengan cara  memecah data kemudian menyelesaikan setiap bagian data kemudian data tersebut digabungkan kembali.

  • hal Pertama yang dilakukan adalah data dipecah menjadi 2 bagian, pertama bagian ini merupakan setengah genap(jika datanya adalah genap) atau setengah minus satu (jika datanya adalah ganjil) dari seluruh data yang ada.
  •  kemudian dipecah kembali untuk masing-masing blok tadi sampai terdiri dari satu data tiap blok.
  • kemudian digabungkan kembali dengan cara membandingkan pada bagian blok yang sama, apakah data pertama itu lebih besar dari pada data ke-tengah+1, jika iya maka data yang ke-tengah+1 dipindah sebagai data yang pertama, kemudian data pertama sampai tengah digeser menjadi data kedua sampai ketengah+1.
  • demikian seterusnya sampai selesai menjadi suatu blok sedia kala. Sehingga didalam sebuah metode merge sort itu merupakan metode yang menggunakan fungsi rekursi untuk melakukan suatu penyelesaiannya.


Contoh penerapan merge sort.

 Data sumber yang akan diurutkan adalah sebagai berikut:


  • langkah pertama kita bagi menjadi 3 bagian susunan elemen data yaitu 4 dengan 7, 1 dengan 2 dan 9 dengan 5.


  • kemudian kita bandingan elemen pertama yaitu 4 dan 7. karena 4 sudah lebih kecil dari 7 maka posisi tetap.


  • kemudian bandingkan elemen data ke 2 yaitu angka 1 dan 2. karena angka 1 lebih kecil dari 2 maka posisi tetap.


  • kemudian bandingkan elemen data ke 3 yaitu angka 9 dan 5. karena angka 5 lebih kecil dari 9 maka posisi 9 ditukar dengan angka 5.




  • langkah selanjutnya adalah kita bandingkan angka pertama pada elemen pertama dengan elemen 2 dan elemen 3 pertama kita bandingkan angka 4 dengan element 2 yaitu 1.


  • cek angka 4 dan 1. lebh besar mana angka 4 dibandingkan dengan angka 1. karena angka 1 lebih kecil dari angka 4 maka angka 1 akan menempati posisi baru di elemen pertama.



  • kemudian bandingkan angka 4 dengan 2. cek lebih kecil mana antara angka 4 dan 2? 



  • karena angka 2 lebih kecil dari 4 maka angka 2 ke elemen baru di posisi ke 2



  • kemudian bandingkan angka 4 dengan elemen ke 3 yaitu 5. 


  • cek lebih kecil mana angka 4 dengan angka 5. karena angka 4 lebih kecil dari 5 maka angka 4 menempati posisi ke 3.


  • lanjut ke urutan angka ke 2 pada elemen pertama yaitu angka 7. bandingkan angka 7 dan 5. lebih kecil mana antara angka 7 dan 5. 



  • karena angka 5 lebih kecil dari 7 maka angka 5 menempati posisi ke 4.


  • lanjut ... bandingkan angka 7 dengan angka 9. lebih kecil mana antara angka 7 dan 9? 



  • karena angka 7 lebih kecil dari 9 maka angka 7 menempati urutan ke 5.


  • karena angka 9 adalah angka terakhir maka angka 9 menempati posisi ke 6



  • pengurutan dengan merge telah selesai.


contoh pemrograman merge sort.


  • merge sort dalam bahasa pemrograman java


hasilnya adalah :



  • Merge Sort dalam bahasa pemrograman C++


hasilnya adalah :

  • Merge Sort dalam bahasa pemrograman C


hasilnya adalah :



  • Merge sort dalam bahasa pemrograman PHP


hasilnya adalah :


demikian tutorial ini dibuat. semoga bermanfaat dan dapat dimanfaatkan


BACA JUGA teknik sorting yang lainnya.



SORTING 
  1. Buble sort  algoritma dan contoh koding dalam php, java, C dan C++
  2. Selection sort  algoritma dan contoh koding dalam php, java, C dan C++
  3. Insertion sort  algoritma dan contoh koding dalam php, java, C dan C++
  4. Quick sort  algoritma dan contoh koding dalam php, java, C dan C++
  5. Merge Sort algoritma dan contoh koding dalam php, java, C dan C++





REFERENSI DAFTAR PUSTAKA

  1. https://www.w3resource.com/php-exercises/searching-and-sorting-algorithm/searching-and-sorting-algorithm-exercise-17.php
  2. https://www.tutorialspoint.com/data_structures_algorithms/merge_sort_program_in_c.htm
  3. https://www.youtube.com/watch?v=80jFlbbKp7s
  4. http://ilmuduniainformatika.blogspot.com/2013/03/merge-sorting-algorithm.html





Post a Comment

2 Comments