Anda di halaman 1dari 5

TUGAS PRA UAS STRUKTUR DATA

KELOMPOK 11
AKBAR P
MUTIARA
DEVI

PROGRAM STUDI INFORMATIKA


FAKULTAS TEKNIK KOMPUTER
UNIVERSITAS COKROAMINOTO PALOPO
2023
1. INSERTION SORT
Insertion Sort merupakan sebuah teknik pengurutan dengan cara
membandingkan dan mengurutkan dua data pertama pada array, kemudian
membandingkan data para array berikutnya apakah sudah berada di tempat
semestinya. Algorithma insertion sort seperti proses pengurutan kartu yang
berada di tangan kita. Algorithma ini dapat mengurutkan data dari besar ke
kecil (Ascending) dan kecil ke besar (Descending). Algoritma ini tidak cocok
untuk set data dengan jumlah besar karena kompleksitas dari algorithma ini
adalah Ο() di mana n adalah jumlah item

a) 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

Contoh Insertion Sort :

Bagian biru/abu-abu (dua bilangan pertama) sekarang dalam keadaan


terurut secara relatif.

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).
 

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

Ketiga : Sisipkan bilangan 4 ke posisi yang tepat

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.

 Ulangi proses tsb sampai bilangan terakhir disisipkan

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.

Anda mungkin juga menyukai