Insertion sort

download Insertion sort

of 41

  • date post

    17-Jun-2015
  • Category

    Education

  • view

    1.441
  • download

    0

Embed Size (px)

description

Salah satu metode pengurutan data. Oleh-oleh kuliah Perancangan dan Analisis Algoritma.

Transcript of Insertion sort

  • 1. (Salah Satu Metode Pengurutan Data)Aku_dan_Hidupku

2. Metode Metode penyisipan (Insertion sort)bertujuan untuk mengurutkanelemen-elemen dalam array. Metode ini mengurutkan bilangan-bilangan yang sedang dibaca danmembandingkannya secaraberulang dengan bilangan di sisikirinya yang belum terbaca hinggaterurut. Aku_dan_Hidupku 3. Contoh PenggunaanTerdapat setumpuk kartu bernomor 2 hingga 8Kartu-kartu ini akandiacak, dan kemudiandiurutkan kembali denganmetode insertion sortBerikut adalah penjelasanmengenai metodeinsertion sortAku_dan_Hidupku 4. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{key = A[j]i = j-1while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1}A[i+1] = keyPseudocode (inti kode)} } Aku_dan_Hidupku 5. Algoritma Insertion Sort InsertionSort (A, n) { for j = 2 to n {key = A[j]i = j-1Tempat menyimpan data Banyak data == tiap kartuwhile(i > 0) dan (A[i] > key)banyak kartu{ A[i+1]= A[i] i = i -1}A[i+1] = key } } Aku_dan_Hidupku 6. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) { j adalah indeks array AA[i+1]= A[i]i = i -1 Kita akan } mengurutkan kartu A[i+1] = key dari yang paling kiri} } j = 1 sudah urut terhadap dirinya, jadi kita mulai dari j = 2 Aku_dan_Hidupku 7. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1Key} A[i+1] = key} }Key adalah variabel penyimpan sementara untuk kartuyang sedang akan diurutkan. Aku_dan_Hidupku 8. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1Key} A[i+1] = key} }i adalah variabel penjelajah.i bermula dari nilai j-1.Aku_dan_Hidupku 9. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} }i menjelajah mulai dari j-1 hingga sebelum indeks ke 0.i akan tetap menjelajah bila A[i] lebih besar dari nilai key. Aku_dan_Hidupku 10. A[i+1] Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} } Nilai A[i+1] diganti dengan nilai A[i] Aku_dan_Hidupku 11. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1Key} A[i+1] = key} }i bergerak ke indeks sebelumnya Aku_dan_Hidupku 12. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1Key} A[i+1] = key} }Kembali ke while. Karena i bernilai 0, maka perulanganberhenti.Aku_dan_Hidupku 13. Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1Key }A[i+1] = key }}Nilai A[i+1] diisi dengan nilai pada key.Aku_dan_Hidupku 14. Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1}A[i+1] = key }}A[1] dan A[2] sudah urut, kita lanjut ke j = 3Aku_dan_Hidupku 15. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1Key} A[i+1] = key} }Key adalah variabel penyimpan sementara untuk kartuyang sedang akan diurutkan. Aku_dan_Hidupku 16. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1Key} A[i+1] = key} }nilai awal i adalah j-1. Aku_dan_Hidupku 17. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} }i menjelajah mulai dari j-1 hingga sebelum indeks ke 0.i akan tetap menjelajah bila A[i] lebih besar dari nilai key. Aku_dan_Hidupku 18. A[i+1] Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} } Nilai A[i+1] diganti dengan nilai A[i] Aku_dan_Hidupku 19. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1Key} A[i+1] = key} }i bergerak ke indeks sebelumnya Aku_dan_Hidupku 20. Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1 while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1Key }A[i+1] = key }}Kembali ke while. Nilai i sekarang adalah 1. Ternyata A[i] < key. while pun berhenti.Aku_dan_Hidupku 21. Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1Key }A[i+1] = key }}Nilai A[i+1] diisi dengan nilai pada key.Aku_dan_Hidupku 22. Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1}A[i+1] = key }}A[1] hingga A[3] sudah urut, kita lanjut ke j = 4Aku_dan_Hidupku 23. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} }Key adalah variabel penyimpan sementara untuk kartuyang sedang akan diurutkan. Aku_dan_Hidupku 24. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} }nilai awal i adalah j-1. Aku_dan_Hidupku 25. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1Key} A[i+1] = key} }i menjelajah mulai dari j-1 hingga sebelum indeks ke 0.i akan tetap menjelajah bila A[i] lebih besar dari nilai key. Aku_dan_Hidupku 26. A[i+1] Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1 Key}A[i+1] = key }}Nilai A[i+1] diganti dengan nilai A[i]Aku_dan_Hidupku 27. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} }i bergerak ke indeks sebelumnya Aku_dan_Hidupku 28. Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1 while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1 Key}A[i+1] = key }}Kembali ke while. Nilai i sekarang adalah 2. Ternyata A[i] < key. while pun berhenti.Aku_dan_Hidupku 29. Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1 while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1 Key}A[i+1] = key }}Nilai A[i+1] diisi dengan nilai pada key. Aku_dan_Hidupku 30. Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1}A[i+1] = key }}A[1] hingga A[4] sudah urut, kita lanjut ke j = 5Aku_dan_Hidupku 31. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} }Key adalah variabel penyimpan sementara untuk kartuyang sedang akan diurutkan. Aku_dan_Hidupku 32. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} }nilai awal i adalah j-1. Aku_dan_Hidupku 33. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1Key} A[i+1] = key} }i menjelajah mulai dari j-1 hingga sebelum indeks ke 0.i akan tetap menjelajah bila A[i] lebih besar dari nilai key. Aku_dan_Hidupku 34. Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1 Key}A[i+1] = key }}Nilai A[i+1] diganti dengan nilai A[i]Aku_dan_Hidupku 35. Algoritma Insertion SortInsertionSort (A, n){ for j = 2 to n {key = A[j]j 1 2 3 4 5 6 7 i = j-1while(i > 0) dan (A[i] > key){ A[i+1]= A[i] i = i -1 Key}A[i+1] = key }}Nilai A[i+1] diganti dengan nilai A[i]Aku_dan_Hidupku 36. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} }i bergerak ke indeks sebelumnya Aku_dan_Hidupku 37. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} }i bergerak ke indeks sebelumnya Aku_dan_Hidupku 38. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j]j 1 2 3 4 5 6 7i = j-1 while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 Key } A[i+1] = key} }i bergerak ke indeks sebelumnya Aku_dan_Hidupku 39. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j] i = j-1while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 } A[i+1] = key} }Lakukan hal yang sama untuk 7 dan 6Aku_dan_Hidupku 40. Algoritma Insertion Sort InsertionSort (A, n) {for j = 2 to n{ key = A[j] i = j-1while(i > 0) dan (A[i] > key) {A[i+1]= A[i]i = i -1 } A[i+1] = key} }Lakukan hal yang sama untuk 7 dan 6Aku_dan_Hidupku 41. Algoritma Insertion SortNah, sudahterurut kan Terima kasih sudah menyimak.Aku_dan_Hidupku