(Salah Satu Metode Pengurutan Data)                                  Aku_dan_Hidupku
Metode• Metode penyisipan (Insertion sort)  bertujuan untuk mengurutkan  elemen-elemen dalam array.• Metode ini mengurutka...
Contoh PenggunaanTerdapat setumpuk kartu bernomor 2 hingga 8                  Kartu-kartu ini akan                  diacak...
Algoritma Insertion Sort                         InsertionSort (A, n)                         {                           ...
Algoritma Insertion Sort               InsertionSort (A, n)               {                   for j = 2 to n              ...
Algoritma Insertion Sort                                       InsertionSort (A, n)                                       ...
Algoritma Insertion Sort                                   InsertionSort (A, n)                                   {       ...
Algoritma Insertion Sort                                     InsertionSort (A, n)                                     {   ...
Algoritma Insertion Sort                                         InsertionSort (A, n)                                     ...
A[i+1]                     Algoritma Insertion Sort                                           InsertionSort (A, n)        ...
Algoritma Insertion Sort                                   InsertionSort (A, n)                                   {       ...
Algoritma Insertion Sort                                     InsertionSort (A, n)                                     {   ...
Algoritma Insertion Sort                                      InsertionSort (A, n)                                      { ...
Algoritma Insertion Sort                                      InsertionSort (A, n)                                      { ...
Algoritma Insertion Sort                                     InsertionSort (A, n)                                     {   ...
Algoritma Insertion Sort                                         InsertionSort (A, n)                                     ...
Algoritma Insertion Sort                                         InsertionSort (A, n)                                     ...
A[i+1]                       Algoritma Insertion Sort                                             InsertionSort (A, n)    ...
Algoritma Insertion Sort                                     InsertionSort (A, n)                                     {   ...
Algoritma Insertion Sort                                      InsertionSort (A, n)                                      { ...
Algoritma Insertion Sort                                        InsertionSort (A, n)                                      ...
Algoritma Insertion Sort                                      InsertionSort (A, n)                                      { ...
Algoritma Insertion Sort                                   InsertionSort (A, n)                                   {       ...
Algoritma Insertion Sort                                       InsertionSort (A, n)                                       ...
Algoritma Insertion Sort                                         InsertionSort (A, n)                                     ...
A[i+1]                     Algoritma Insertion Sort                                          InsertionSort (A, n)         ...
Algoritma Insertion Sort                                   InsertionSort (A, n)                                   {       ...
Algoritma Insertion Sort                                      InsertionSort (A, n)                                      { ...
Algoritma Insertion Sort                                      InsertionSort (A, n)                                      { ...
Algoritma Insertion Sort                                      InsertionSort (A, n)                                      { ...
Algoritma Insertion Sort                                   InsertionSort (A, n)                                   {       ...
Algoritma Insertion Sort                                       InsertionSort (A, n)                                       ...
Algoritma Insertion Sort                                         InsertionSort (A, n)                                     ...
Algoritma Insertion Sort                                      InsertionSort (A, n)                                      { ...
Algoritma Insertion Sort                                      InsertionSort (A, n)                                      { ...
Algoritma Insertion Sort                                   InsertionSort (A, n)                                   {       ...
Algoritma Insertion Sort                                   InsertionSort (A, n)                                   {       ...
Algoritma Insertion Sort                                   InsertionSort (A, n)                                   {       ...
Algoritma Insertion Sort                       InsertionSort (A, n)                       {                          for j...
Algoritma Insertion Sort                       InsertionSort (A, n)                       {                          for j...
Algoritma Insertion Sort              Nah, sudah              terurut kan Terima kasih sudah menyimak.                   ...
Upcoming SlideShare
Loading in …5
×

Insertion sort

1,840
-1

Published on

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

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,840
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
109
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Insertion sort

  1. 1. (Salah Satu Metode Pengurutan Data) Aku_dan_Hidupku
  2. 2. Metode• Metode penyisipan (Insertion sort) bertujuan untuk mengurutkan elemen-elemen dalam array.• Metode ini mengurutkan bilangan- bilangan yang sedang dibaca dan membandingkannya secara berulang dengan bilangan di sisi kirinya yang belum terbaca hingga terurut. Aku_dan_Hidupku
  3. 3. Contoh PenggunaanTerdapat setumpuk kartu bernomor 2 hingga 8 Kartu-kartu ini akan diacak, dan kemudian diurutkan kembali dengan metode “insertion sort” Berikut adalah penjelasan mengenai metode “insertion sort” Aku_dan_Hidupku
  4. 4. Algoritma Insertion Sort InsertionSort (A, n) { for j = 2 to n { key = A[j] i = j-1 while(i > 0) dan (A[i] > key) { A[i+1]= A[i] i = i -1 } A[i+1] = keyPseudocode (inti kode) } } Aku_dan_Hidupku
  5. 5. Algoritma Insertion Sort InsertionSort (A, n) { for j = 2 to n { key = A[j] i = j-1 Tempat menyimpan data Banyak data = = tiap kartu while(i > 0) dan (A[i] > key) banyak kartu { A[i+1]= A[i] i = i -1 } A[i+1] = key } } Aku_dan_Hidupku
  6. 6. Algoritma Insertion Sort InsertionSort (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) { j adalah indeks array A A[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. 7. Algoritma Insertion Sort InsertionSort (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 } } Key adalah variabel penyimpan sementara untuk kartu yang sedang akan diurutkan. Aku_dan_Hidupku
  8. 8. Algoritma Insertion Sort InsertionSort (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 } } i adalah variabel penjelajah. i bermula dari nilai j-1. Aku_dan_Hidupku
  9. 9. Algoritma Insertion Sort InsertionSort (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 } }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. 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 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] diganti dengan nilai A[i] Aku_dan_Hidupku
  11. 11. Algoritma Insertion Sort InsertionSort (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 } } i bergerak ke indeks sebelumnya Aku_dan_Hidupku
  12. 12. Algoritma Insertion Sort InsertionSort (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’. Karena i bernilai 0, maka perulangan berhenti. Aku_dan_Hidupku
  13. 13. Algoritma Insertion Sort InsertionSort (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
  14. 14. Algoritma Insertion Sort InsertionSort (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 } A[i+1] = key } } A[1] dan A[2] sudah urut, kita lanjut ke j = 3 Aku_dan_Hidupku
  15. 15. Algoritma Insertion Sort InsertionSort (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 } } Key adalah variabel penyimpan sementara untuk kartu yang sedang akan diurutkan. Aku_dan_Hidupku
  16. 16. Algoritma Insertion Sort InsertionSort (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 awal i adalah j-1. Aku_dan_Hidupku
  17. 17. Algoritma Insertion Sort InsertionSort (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 } }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. 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 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] diganti dengan nilai A[i] Aku_dan_Hidupku
  19. 19. Algoritma Insertion Sort InsertionSort (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 } } i bergerak ke indeks sebelumnya Aku_dan_Hidupku
  20. 20. Algoritma Insertion Sort InsertionSort (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 1. Ternyata A[i] < key. ‘while’ pun berhenti. Aku_dan_Hidupku
  21. 21. Algoritma Insertion Sort InsertionSort (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
  22. 22. Algoritma Insertion Sort InsertionSort (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 } A[i+1] = key } } A[1] hingga A[3] sudah urut, kita lanjut ke j = 4 Aku_dan_Hidupku
  23. 23. Algoritma Insertion Sort InsertionSort (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 } } Key adalah variabel penyimpan sementara untuk kartu yang sedang akan diurutkan. Aku_dan_Hidupku
  24. 24. Algoritma Insertion Sort InsertionSort (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 awal i adalah j-1. Aku_dan_Hidupku
  25. 25. Algoritma Insertion Sort InsertionSort (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 } }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. 26. A[i+1] Algoritma Insertion Sort InsertionSort (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] diganti dengan nilai A[i] Aku_dan_Hidupku
  27. 27. Algoritma Insertion Sort InsertionSort (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 } } i bergerak ke indeks sebelumnya Aku_dan_Hidupku
  28. 28. Algoritma Insertion Sort InsertionSort (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. 29. Algoritma Insertion Sort InsertionSort (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. 30. Algoritma Insertion Sort InsertionSort (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 } A[i+1] = key } } A[1] hingga A[4] sudah urut, kita lanjut ke j = 5 Aku_dan_Hidupku
  31. 31. Algoritma Insertion Sort InsertionSort (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 } } Key adalah variabel penyimpan sementara untuk kartu yang sedang akan diurutkan. Aku_dan_Hidupku
  32. 32. Algoritma Insertion Sort InsertionSort (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 awal i adalah j-1. Aku_dan_Hidupku
  33. 33. Algoritma Insertion Sort InsertionSort (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 } }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. 34. Algoritma Insertion Sort InsertionSort (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] diganti dengan nilai A[i] Aku_dan_Hidupku
  35. 35. Algoritma Insertion Sort InsertionSort (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] diganti dengan nilai A[i] Aku_dan_Hidupku
  36. 36. Algoritma Insertion Sort InsertionSort (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 } } i bergerak ke indeks sebelumnya Aku_dan_Hidupku
  37. 37. Algoritma Insertion Sort InsertionSort (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 } } i bergerak ke indeks sebelumnya Aku_dan_Hidupku
  38. 38. Algoritma Insertion Sort InsertionSort (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 } } i bergerak ke indeks sebelumnya Aku_dan_Hidupku
  39. 39. Algoritma Insertion Sort InsertionSort (A, n) { for j = 2 to n { key = A[j] i = j-1 while(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 “6” Aku_dan_Hidupku
  40. 40. Algoritma Insertion Sort InsertionSort (A, n) { for j = 2 to n { key = A[j] i = j-1 while(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 “6” Aku_dan_Hidupku
  41. 41. Algoritma Insertion Sort Nah, sudah terurut kan Terima kasih sudah menyimak. Aku_dan_Hidupku
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×