Program insertion sort



CARA KERJA INSERTION SORT

Insertion Sort bekerja seperti banyak orang yang sedang mengurutkan kartu di tangan. Dimulai dengan tangan kiri yang kosong dan kartunya tertumpuk di meja. Selanjutnya kita ambil satu persatu kartu di meja dan diletakkan di tangan kiri dengan posisi yang benar (terurut). Untuk menemukan posisi yang banar, maka kita harus membandingkan satu persatu kartu yang ada (di tangan kiri) secara berurutan.
 https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjcYOhxW7zK_yXv9dXwPltZ9713yypyLZ0SCAT1DRzs2TwEhQKpRO0k-NjMs_7OZ1uv9m6F4ovP_iXbDLoabOUB3rZq_7l1-3Ov2XN8Mo5gCnQSXrDvPpf4_QamHoTkjUWR5NndgYQLNLG/s1600/insert1.png

Contoh Insertion Sort :

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdjH2bYzSgqCQBxQSIBjtryWbahleaGzHGcXdC5k73FMT3x1NNtmsn1Nal7FX110iKqOoWBKakBSVaLJ0mMVFFvpERxmIcB0-tq9i4YVJKz4veJLF0K5dGgKnKO9UW-OlcO-PLpSRg3pQM/s1600/insert2.png

Bagian biru/abu-abu (dua bilangan pertama) sekarang dalam keadaan terurut secara relatif.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgagi8Ue_-lGhceVNSpxVGFK_-l7zwYQ8Q8d8-rHIGC2FCN3wkoS0R_PvkT-pmd7k7BC-Sf4xPIePEdkh5DekwZt-reZbyiAcuGENW1eFFlqux8OYtkxM5thHsiDVfrpVjazHtiCryBBZ0K/s1600/insert4.png

Berikutnya, kita perlu menyisipkan bilangan ketiga (4) ke dalam bagian biru/abu-abu sehingga
setelah penyisipan tersebut, bagian biru/abu-abu tetap dalam keadaan terurut secara relatif;
CARANYA :
pertama : Ambil bilangan ketiga (4).
 https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnrrg_8hvet_nM7DLvRCgtIBqHJxE0FzsIxTfpkmHs1nBQcXDuJFN7RX-8oU83Iqm69Ef1YCYKmgmLguhVwx006Z1qojGuQlYpQRp89aO6gywlWIZNv9S7m5QPr0siUW00V5-hZdklRuvP/s1600/insert3.png

Kedua : Geser bilangan kedua (10) shg ada ruang untuk disisipi.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8CrScG7OEwpaFCaUUY9SJ8zq4k08VorKvPzXxoS_PRWwu3vO5fwh8JJHTYRCt19agcemcuhUHnwbOUK5qwxdGDgU0gZ_kWfrrF_7dc9xRwKESJ_JGnZaxM6V09nPujTdr1BxCw2TVJIhH/s1600/insert5.png

Ketiga : Sisipkan bilangan 4 ke posisi yang tepat
 https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc713b0cFRUl0B0tCrja975M_cmb-DnZCDoejil-idiBcIEOwJV92MfOMLDzc5ZwX-2fb7KnX1QEaP5l-qMCtwBNcp_EA-hVuXiiPb17deY1uR8JuyfIKq1GgqIm5VhFbANCupBqdQu1IM/s1600/insert6.png

Sekarang, tiga bilangan pertama sudah terurut secara relatif dan kita sisipkan bilangan keempat kepada tiga bilangan pertama tsb.  Setelah penyisipan, empat bilangan pertama haruslah dalam keadaan terurut secara relatif.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_m0fV-UGTVcOPa7wpRCzNSAHNvjoszK-oqQ0lrmWowIqXEWCQ-h-5wuKlne1NfWefJnIo8PU7zLOBZhlXy46M3pD4j4J7pO3i8nXgqxLcBjfmNOH7Qlbat4W5uSroFhVhHS_2QwZCUyMh/s1600/insert7.png

 Ulangi proses tsb sampai bilangan terakhir disisipkan
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNjSfUEXMV5p1CNKHVLepX2NnAvgvpQ0GMBtmFayBmIDUBxWuLXZCuf5HORuIaX3UlLI06AxXGGAg7CXNPfI6p3D8N5_j_Obze2ROUydnsOjoaJPXSDi0zFr7gjqpsurlbcKp_hn-h755i/s1600/insert8.png

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXWjlyTlv33JuprwjEoroKWunRfq7zCyU07_juG0mkab0u4ZE3YtXQiFCM961owUnrOKPaYR8FCs4y4Vu3J2o098lEbLOEafgYyCPrSVml_OuqcsPzgnHjJRLXX4uL2farlN8YiJpGR1t3/s1600/insert9.png

 Proses Sorting Selesai.


Contoh Skrip Insertion Sort :


program insertion_sort;
uses wincrt;
var
jmldata,i,j:integer;
data,x:array[1..100] of integer;
procedure asc_insert;
var temp:integer;
begin
for i:=2 to jmldata do
begin
temp:=data[i];
j:=i-1;
while (data[j]>temp)and(j>0)do
begin
data[j+1]:=data[j];
dec(j);
end;
data[j+1]:=temp;
end;
writeln('urutan datanya adalah : ');
for i:=1 to jmldata do
begin
write(data[i],' ');
end;
readln;
end;
begin
clrscr;
write('masukan berapa angka yang akan di urut : ');
readln(jmldata);
for i:=1 to jmldata do
begin                       
write('masukan angka ke-',i,':');
readln(data[i]);
end;
asc_insert;
readln;
end.
 


0 komentar:

Posting Komentar

Terima Kasih Kunjungannya. Jangan Lupa Tinggalkan Komentar yaa... salam sukses.

Blog Archive

Total Tayangan Blog

Translate