SlideShare uma empresa Scribd logo
1 de 11
Oleh Drs KH.BUDI YONO
Insertion Sort
 Metode Insertion Sort mirip dengan cara
mengurutkan kartu, kartu diambil selembar demi
selembar dan disisipkan (insert) pada posisi
seharusnya.
 Proses pengurutan dimulai dari data ke 2 sampai
data terakhir.
 Data akan dibandingkan dengan posisi
sebelumnya dan disisipkan pada posisi yang
sesuai.
 Pada proses penyisipan data, maka data-data yang
lain akan bergeser ke belakang (kanan).
Insertion Sort
 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
 Langkah 1, Temp = 34
 J = 0  Temp < 95? YA  Data Ke 1 = 95
95, 95, 32, 25, 75, 42, 22
 J = -1  STOP
 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
 Langkah 2, Temp = 32
 J = 1  Temp < 95? YA  Data ke 2 = 95
34, 95, 95, 25, 75, 42, 22
 J = 0  Temp < 34? YA  Data ke 1 = 34
34, 34, 95, 25, 75, 42, 22
 J = -1  STOP
 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
 Langkah 3, Temp = 25
 J = 2  Temp < 95? YA  Data ke 3 = 95
32, 34, 95, 95, 75, 42, 22
 J = 1  Temp < 34? YA  Data ke 2 = 34
32, 34, 34, 95, 75, 42, 22
 J = 0  Temp < 32? YA  Data ke 1 = 32
32, 32, 34, 95, 75, 42, 22
 J = -1  STOP
 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
 Langkah 4, Temp = 75
 J = 3  Temp < 95? YA  Data ke 4 = 95
25, 32, 34, 95, 95, 42, 22
 J = 2  Temp < 34? TIDAK  STOP
 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
 Langkah 5, Temp = 42
 J = 4  Temp < 95? YA  Data ke 5 = 95
25, 32, 34, 75, 95, 95, 22
 J = 3  Temp < 75? YA  Data ke 4 = 75
25, 32, 34, 75, 75, 95, 22
 J = 2  Temp < 34? TIDAK  STOP
 Hasil :
Data ke J+1 (3) = Temp (42)
25, 32, 34, 42, 75, 95, 22
Insertion Sort
 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, 95
 J = 4  Temp < 75? YA  Data ke 5 = 75
25, 32, 34, 42, 75, 75, 95
 J = 3  Temp < 42? YA  Data ke 4 = 42
25, 32, 34, 42, 42, 75, 95
 J = 2  Temp < 34? YA  Data ke 3 = 34
25, 32, 34, 34, 42, 75, 95
 J = 1  Temp < 32? YA  Data ke 2 = 32
25, 32, 32, 34, 42, 75, 95
 J = 0  Temp < 25? YA  Data ke 1 = 25
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
 Data Awal :
22, 25, 32, 34, 42, 75, 95
 Data Akhir :
#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,22,2,9,1};
insertion_sort(data);
for (int i=0;i<10;i++)
cout<<"data["<<i<<"]= : "<<data[i]<<endl;
getch();
}

Mais conteúdo relacionado

Destaque

2 d character idea
2 d character idea2 d character idea
2 d character ideaDaniel1Nye
 
Materi kuliah 15 array part 1
Materi kuliah 15   array part 1Materi kuliah 15   array part 1
Materi kuliah 15 array part 1Budi Yono
 
Materi kuliah 08 sort part 3
Materi kuliah 08   sort part 3Materi kuliah 08   sort part 3
Materi kuliah 08 sort part 3Budi Yono
 
พระอนุรูทธ
พระอนุรูทธพระอนุรูทธ
พระอนุรูทธKrusupharat
 
Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3Budi Yono
 
Materi kuliah 13 pernyataan dasar part 2
Materi kuliah 13   pernyataan dasar part 2Materi kuliah 13   pernyataan dasar part 2
Materi kuliah 13 pernyataan dasar part 2Budi Yono
 
Estructura antonio g
Estructura antonio gEstructura antonio g
Estructura antonio gASIGNACIONUFT
 
Wellness- & Spa-Urlaub im Thermenhotel Ronacher - Therme in Bad Kleinkirchheim
Wellness- & Spa-Urlaub im Thermenhotel Ronacher - Therme in Bad KleinkirchheimWellness- & Spa-Urlaub im Thermenhotel Ronacher - Therme in Bad Kleinkirchheim
Wellness- & Spa-Urlaub im Thermenhotel Ronacher - Therme in Bad KleinkirchheimMarkus Ronacher
 
Publicidad Carpinteria HR, c.a 2
Publicidad Carpinteria HR, c.a 2Publicidad Carpinteria HR, c.a 2
Publicidad Carpinteria HR, c.a 2loimarAracor
 
Prez bio 5kl_ur17-korr
Prez bio 5kl_ur17-korrPrez bio 5kl_ur17-korr
Prez bio 5kl_ur17-korrolga0108
 
Jacques de Beaufort: MEN & WOMEN
Jacques de Beaufort:  MEN & WOMENJacques de Beaufort:  MEN & WOMEN
Jacques de Beaufort: MEN & WOMENJacques de Beaufort
 
OpenStack Summit Tokyo Sponsor Webinar
OpenStack Summit Tokyo Sponsor Webinar OpenStack Summit Tokyo Sponsor Webinar
OpenStack Summit Tokyo Sponsor Webinar OpenStack Foundation
 
Podoby vnitřního hodnocení výzkumu na vybraných zahraničních institucích a po...
Podoby vnitřního hodnocení výzkumu na vybraných zahraničních institucích a po...Podoby vnitřního hodnocení výzkumu na vybraných zahraničních institucích a po...
Podoby vnitřního hodnocení výzkumu na vybraných zahraničních institucích a po...MEYS, MŠMT in Czech
 
M ilktea diapositivas finales
M ilktea diapositivas finalesM ilktea diapositivas finales
M ilktea diapositivas finalesAdriana Guerrero
 

Destaque (19)

2 d character idea
2 d character idea2 d character idea
2 d character idea
 
Materi kuliah 15 array part 1
Materi kuliah 15   array part 1Materi kuliah 15   array part 1
Materi kuliah 15 array part 1
 
Materi kuliah 08 sort part 3
Materi kuliah 08   sort part 3Materi kuliah 08   sort part 3
Materi kuliah 08 sort part 3
 
พระอนุรูทธ
พระอนุรูทธพระอนุรูทธ
พระอนุรูทธ
 
Descripción productos
Descripción productosDescripción productos
Descripción productos
 
La Didáctica
La DidácticaLa Didáctica
La Didáctica
 
Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3
 
Materi kuliah 13 pernyataan dasar part 2
Materi kuliah 13   pernyataan dasar part 2Materi kuliah 13   pernyataan dasar part 2
Materi kuliah 13 pernyataan dasar part 2
 
Estructura antonio g
Estructura antonio gEstructura antonio g
Estructura antonio g
 
Publicação2
Publicação2Publicação2
Publicação2
 
Wellness- & Spa-Urlaub im Thermenhotel Ronacher - Therme in Bad Kleinkirchheim
Wellness- & Spa-Urlaub im Thermenhotel Ronacher - Therme in Bad KleinkirchheimWellness- & Spa-Urlaub im Thermenhotel Ronacher - Therme in Bad Kleinkirchheim
Wellness- & Spa-Urlaub im Thermenhotel Ronacher - Therme in Bad Kleinkirchheim
 
tech girl
tech girltech girl
tech girl
 
Publicidad Carpinteria HR, c.a 2
Publicidad Carpinteria HR, c.a 2Publicidad Carpinteria HR, c.a 2
Publicidad Carpinteria HR, c.a 2
 
Prez bio 5kl_ur17-korr
Prez bio 5kl_ur17-korrPrez bio 5kl_ur17-korr
Prez bio 5kl_ur17-korr
 
Jacques de Beaufort: MEN & WOMEN
Jacques de Beaufort:  MEN & WOMENJacques de Beaufort:  MEN & WOMEN
Jacques de Beaufort: MEN & WOMEN
 
Ahorrar agua ayuda al planeta
Ahorrar agua ayuda al planetaAhorrar agua ayuda al planeta
Ahorrar agua ayuda al planeta
 
OpenStack Summit Tokyo Sponsor Webinar
OpenStack Summit Tokyo Sponsor Webinar OpenStack Summit Tokyo Sponsor Webinar
OpenStack Summit Tokyo Sponsor Webinar
 
Podoby vnitřního hodnocení výzkumu na vybraných zahraničních institucích a po...
Podoby vnitřního hodnocení výzkumu na vybraných zahraničních institucích a po...Podoby vnitřního hodnocení výzkumu na vybraných zahraničních institucích a po...
Podoby vnitřního hodnocení výzkumu na vybraných zahraničních institucích a po...
 
M ilktea diapositivas finales
M ilktea diapositivas finalesM ilktea diapositivas finales
M ilktea diapositivas finales
 

Mais de Budi Yono

Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3Budi Yono
 
Materi kuliah 01 array part 1
Materi kuliah 01   array part 1Materi kuliah 01   array part 1
Materi kuliah 01 array part 1Budi Yono
 
Materi kuliah 04 pointer part 2
Materi kuliah 04   pointer part 2Materi kuliah 04   pointer part 2
Materi kuliah 04 pointer part 2Budi Yono
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3Budi Yono
 
Materi kuliah 08 sort part 3
Materi kuliah 08   sort part 3Materi kuliah 08   sort part 3
Materi kuliah 08 sort part 3Budi Yono
 
Materi kuliah 02 array part 2
Materi kuliah 02   array part 2Materi kuliah 02   array part 2
Materi kuliah 02 array part 2Budi Yono
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3Budi Yono
 
Materi kuliah 19 fungsi part 2
Materi kuliah 19   fungsi part 2Materi kuliah 19   fungsi part 2
Materi kuliah 19 fungsi part 2Budi Yono
 
01 pengenalan algoritma
01   pengenalan algoritma01   pengenalan algoritma
01 pengenalan algoritmaBudi Yono
 
Materi kuliah 04 sekilas c++
Materi kuliah 04   sekilas c++Materi kuliah 04   sekilas c++
Materi kuliah 04 sekilas c++Budi Yono
 
05 pengenalan c++
05   pengenalan c++05   pengenalan c++
05 pengenalan c++Budi Yono
 
08 elemen dasar c++ part 3
08   elemen dasar c++ part 308   elemen dasar c++ part 3
08 elemen dasar c++ part 3Budi Yono
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2Budi Yono
 
09 operator dan ungkapan part 1
09   operator dan ungkapan part 109   operator dan ungkapan part 1
09 operator dan ungkapan part 1Budi Yono
 
Materi kuliah 12 pernyataan dasar part 1
Materi kuliah 12   pernyataan dasar part 1Materi kuliah 12   pernyataan dasar part 1
Materi kuliah 12 pernyataan dasar part 1Budi Yono
 
02 flowchart
02   flowchart02   flowchart
02 flowchartBudi Yono
 
Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3Budi Yono
 
07 elemen dasar c++ part 2
07   elemen dasar c++ part 207   elemen dasar c++ part 2
07 elemen dasar c++ part 2Budi Yono
 
Fungsi part 4
Fungsi part 4Fungsi part 4
Fungsi part 4Budi Yono
 
Materi kuliah 21 pointer part 1
Materi kuliah 21   pointer part 1Materi kuliah 21   pointer part 1
Materi kuliah 21 pointer part 1Budi Yono
 

Mais de Budi Yono (20)

Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3
 
Materi kuliah 01 array part 1
Materi kuliah 01   array part 1Materi kuliah 01   array part 1
Materi kuliah 01 array part 1
 
Materi kuliah 04 pointer part 2
Materi kuliah 04   pointer part 2Materi kuliah 04   pointer part 2
Materi kuliah 04 pointer part 2
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3
 
Materi kuliah 08 sort part 3
Materi kuliah 08   sort part 3Materi kuliah 08   sort part 3
Materi kuliah 08 sort part 3
 
Materi kuliah 02 array part 2
Materi kuliah 02   array part 2Materi kuliah 02   array part 2
Materi kuliah 02 array part 2
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3
 
Materi kuliah 19 fungsi part 2
Materi kuliah 19   fungsi part 2Materi kuliah 19   fungsi part 2
Materi kuliah 19 fungsi part 2
 
01 pengenalan algoritma
01   pengenalan algoritma01   pengenalan algoritma
01 pengenalan algoritma
 
Materi kuliah 04 sekilas c++
Materi kuliah 04   sekilas c++Materi kuliah 04   sekilas c++
Materi kuliah 04 sekilas c++
 
05 pengenalan c++
05   pengenalan c++05   pengenalan c++
05 pengenalan c++
 
08 elemen dasar c++ part 3
08   elemen dasar c++ part 308   elemen dasar c++ part 3
08 elemen dasar c++ part 3
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2
 
09 operator dan ungkapan part 1
09   operator dan ungkapan part 109   operator dan ungkapan part 1
09 operator dan ungkapan part 1
 
Materi kuliah 12 pernyataan dasar part 1
Materi kuliah 12   pernyataan dasar part 1Materi kuliah 12   pernyataan dasar part 1
Materi kuliah 12 pernyataan dasar part 1
 
02 flowchart
02   flowchart02   flowchart
02 flowchart
 
Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3
 
07 elemen dasar c++ part 2
07   elemen dasar c++ part 207   elemen dasar c++ part 2
07 elemen dasar c++ part 2
 
Fungsi part 4
Fungsi part 4Fungsi part 4
Fungsi part 4
 
Materi kuliah 21 pointer part 1
Materi kuliah 21   pointer part 1Materi kuliah 21   pointer part 1
Materi kuliah 21 pointer part 1
 

Materi kuliah 09 sort part 4

  • 2. Insertion Sort  Metode Insertion Sort mirip dengan cara mengurutkan kartu, kartu diambil selembar demi selembar dan disisipkan (insert) pada posisi seharusnya.  Proses pengurutan dimulai dari data ke 2 sampai data terakhir.  Data akan dibandingkan dengan posisi sebelumnya dan disisipkan pada posisi yang sesuai.  Pada proses penyisipan data, maka data-data yang lain akan bergeser ke belakang (kanan).
  • 3. Insertion Sort  Misalkan kita memiliki data acak sebagai berikut : 95, 34, 32, 25, 75, 42, 22
  • 4. Insertion Sort  Data sebelumnya : 95, 34, 32, 25, 75, 42, 22  Langkah 1, Temp = 34  J = 0  Temp < 95? YA  Data Ke 1 = 95 95, 95, 32, 25, 75, 42, 22  J = -1  STOP  Hasil : Data ke J+1 (0) = Temp (34) 34, 95, 32, 25, 75, 42, 22
  • 5. Insertion Sort  Data sebelumnya : 34, 95, 32, 25, 75, 42, 22  Langkah 2, Temp = 32  J = 1  Temp < 95? YA  Data ke 2 = 95 34, 95, 95, 25, 75, 42, 22  J = 0  Temp < 34? YA  Data ke 1 = 34 34, 34, 95, 25, 75, 42, 22  J = -1  STOP  Hasil : Data ke J+1 (0) = Temp (32) 32, 34, 95, 25, 75, 42, 22
  • 6. Insertion Sort  Data sebelumnya : 32, 34, 95, 25, 75, 42, 22  Langkah 3, Temp = 25  J = 2  Temp < 95? YA  Data ke 3 = 95 32, 34, 95, 95, 75, 42, 22  J = 1  Temp < 34? YA  Data ke 2 = 34 32, 34, 34, 95, 75, 42, 22  J = 0  Temp < 32? YA  Data ke 1 = 32 32, 32, 34, 95, 75, 42, 22  J = -1  STOP  Hasil : Data ke J+1 (0) = Temp (25) 25, 32, 34, 95, 75, 42, 22
  • 7. Insertion Sort  Data sebelumnya : 25, 32, 34, 95, 75, 42, 22  Langkah 4, Temp = 75  J = 3  Temp < 95? YA  Data ke 4 = 95 25, 32, 34, 95, 95, 42, 22  J = 2  Temp < 34? TIDAK  STOP  Hasil : Data ke J+1 (3) = Temp (75) 25, 32, 34, 75, 95, 42, 22
  • 8. Insertion Sort  Data sebelumnya : 25, 32, 34, 75, 95, 42, 22  Langkah 5, Temp = 42  J = 4  Temp < 95? YA  Data ke 5 = 95 25, 32, 34, 75, 95, 95, 22  J = 3  Temp < 75? YA  Data ke 4 = 75 25, 32, 34, 75, 75, 95, 22  J = 2  Temp < 34? TIDAK  STOP  Hasil : Data ke J+1 (3) = Temp (42) 25, 32, 34, 42, 75, 95, 22
  • 9. Insertion Sort  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, 95  J = 4  Temp < 75? YA  Data ke 5 = 75 25, 32, 34, 42, 75, 75, 95  J = 3  Temp < 42? YA  Data ke 4 = 42 25, 32, 34, 42, 42, 75, 95  J = 2  Temp < 34? YA  Data ke 3 = 34 25, 32, 34, 34, 42, 75, 95  J = 1  Temp < 32? YA  Data ke 2 = 32 25, 32, 32, 34, 42, 75, 95  J = 0  Temp < 25? YA  Data ke 1 = 25 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
  • 10. Insertion Sort  Data Awal : 22, 25, 32, 34, 42, 75, 95  Data Akhir :
  • 11. #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,22,2,9,1}; insertion_sort(data); for (int i=0;i<10;i++) cout<<"data["<<i<<"]= : "<<data[i]<<endl; getch(); }