Sort Insert Sort Insertion Sort Metode Insertion Sort

  • Slides: 11
Download presentation
Sort Insert Sort

Sort Insert Sort

Insertion Sort Metode Insertion Sort mirip dengan cara mengurutkan kartu, kartu diambil selembar demi

Insertion Sort Metode Insertion Sort mirip dengan cara mengurutkan kartu, kartu diambil selembar demi selembar dan disisipkan (insert) pada posisi seharusnya. n Proses pengurutan dimulai dari data ke 2 sampai data terakhir. n Data akan dibandingkan dengan posisi sebelumnya dan disisipkan pada posisi yang sesuai. n Pada proses penyisipan data, maka data-data yang lain akan bergeser ke belakang (kanan). n

Insertion Sort n Misalkan kita memiliki data acak sebagai berikut : 95, 34, 32,

Insertion Sort n Misalkan kita memiliki data acak sebagai berikut : 95, 34, 32, 25, 75, 42, 22

Insertion Sort Data sebelumnya : 95, 34, 32, 25, 75, 42, 22 n Langkah

Insertion Sort Data sebelumnya : 95, 34, 32, 25, 75, 42, 22 n Langkah 1, Temp = 34 n – J = 0 Temp < 95? YA Data Ke 1 = 95 95, 32, 25, 75, 42, 22 – J = -1 STOP n Hasil : Data ke J+1 (0) = Temp (34) 34, 95, 32, 25, 75, 42, 22

Insertion Sort Data sebelumnya : 34, 95, 32, 25, 75, 42, 22 n Langkah

Insertion Sort Data sebelumnya : 34, 95, 32, 25, 75, 42, 22 n Langkah 2, Temp = 32 n – J = 1 Temp < 95? YA Data ke 2 = 95 34, 95, 25, 75, 42, 22 – J = 0 Temp < 34? YA Data ke 1 = 34 34, 95, 25, 75, 42, 22 – J = -1 STOP n Hasil : Data ke J+1 (0) = Temp (32) 32, 34, 95, 25, 75, 42, 22

Insertion Sort Data sebelumnya : 32, 34, 95, 25, 75, 42, 22 n Langkah

Insertion Sort Data sebelumnya : 32, 34, 95, 25, 75, 42, 22 n Langkah 3, Temp = 25 n – J = 2 Temp < 95? YA Data ke 3 = 95 32, 34, 95, 75, 42, 22 – J = 1 Temp < 34? YA Data ke 2 = 34 32, 34, 95, 75, 42, 22 – J = 0 Temp < 32? YA Data ke 1 = 32 32, 34, 95, 75, 42, 22 – J = -1 STOP n Hasil : Data ke J+1 (0) = Temp (25) 25, 32, 34, 95, 75, 42, 22

Insertion Sort Data sebelumnya : 25, 32, 34, 95, 75, 42, 22 n Langkah

Insertion Sort Data sebelumnya : 25, 32, 34, 95, 75, 42, 22 n Langkah 4, Temp = 75 n – J = 3 Temp < 95? YA Data ke 4 = 95 25, 32, 34, 95, 42, 22 – J = 2 Temp < 34? TIDAK STOP n Hasil : Data ke J+1 (3) = Temp (75) 25, 32, 34, 75, 95, 42, 22

Insertion Sort Data sebelumnya : 25, 32, 34, 75, 95, 42, 22 n Langkah

Insertion Sort Data sebelumnya : 25, 32, 34, 75, 95, 42, 22 n Langkah 5, Temp = 42 n – J = 4 Temp < 95? YA Data ke 5 = 95 25, 32, 34, 75, 95, 22 – J = 3 Temp < 75? YA Data ke 4 = 75 25, 32, 34, 75, 95, 22 – J = 2 Temp < 34? TIDAK STOP n Hasil : Data ke J+1 (3) = Temp (42) 25, 32, 34, 42, 75, 95, 22

Insertion Sort n n n Data sebelumnya : 25, 32, 34, 42, 75, 95,

Insertion Sort n n n Data sebelumnya : 25, 32, 34, 42, 75, 95, 22 Langkah 6, Temp = 22 – J = 5 Temp < 95? YA Data ke 6 = 95 25, 32, 34, 42, 75, 95 – J = 4 Temp < 75? YA Data ke 5 = 75 25, 32, 34, 42, 75, 95 – J = 3 Temp < 42? YA Data ke 4 = 42 25, 32, 34, 42, 75, 95 – J = 2 Temp < 34? YA Data ke 3 = 34 25, 32, 34, 42, 75, 95 – J = 1 Temp < 32? YA Data ke 2 = 32 25, 32, 34, 42, 75, 95 – J = 0 Temp < 25? YA Data ke 1 = 25 25, 32, 34, 42, 75, 95 – J = -1 STOP Hasil : Data ke J+1 (0) = Temp (22) 22, 25, 32, 34, 42, 75, 95

Insertion Sort n Data Awal : 22, 25, 32, 34, 42, 75, 95 n

Insertion Sort n Data Awal : 22, 25, 32, 34, 42, 75, 95 n Data Akhir :

Insertion Sort //program 22. cpp #include <iostream. h> #include <conio. h> void insertion_sort(int data[])

Insertion Sort //program 22. cpp #include <iostream. h> #include <conio. h> void insertion_sort(int data[]) { int temp, j; for(int i=1; i<10; i++) { temp = data[i]; j = i-1; while(temp < data[j] && j>=0) { data[j+1] = data[j]; j--; } data[j+1] = temp; } } void main() { int data[10]={5, 34, 32, 25, 75, 42, 2, 9, 1}; insertion_sort(data); for (int i=0; i<10; i++) cout<<"data["<<i<<"]= : "<<data[i]<<endl; getch(); }