Insertion sort
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Insertion sort

on

  • 895 views

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

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

Statistics

Views

Total Views
895
Views on SlideShare
895
Embed Views
0

Actions

Likes
0
Downloads
51
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Insertion sort Presentation Transcript

  • 1. (Salah Satu Metode Pengurutan Data) Aku_dan_Hidupku
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Algoritma Insertion Sort Nah, sudah terurut kan Terima kasih sudah menyimak. Aku_dan_Hidupku