BAB I
TUJUAN DAN LANDASAN TEORI
1.1
TUJUAN
1. Mengetahui implementasi beberapa metode pengurutan data.
2. Mampu menerapkan metode pengurutan data pada sebuah program.
1.2
3. Mengetahui perbandingan
pengurutan data.
LANDASAN TEORI
kompleksitas
dari beberapa metode
Pengurutan data adalah proses yang dilakukan terhadap himpunan
data, disusun sedimikian rupa sehingga diperoleh himpunan data yang
terurut. Ada dua jenis data terurut yaitu terurut membesar(ascending) dan
data terurut mengecil(descending).Bila dalam proses pengurutan data
berada dalam memori disebut internal sorting sedangkan bila tidak
seluruhnya berada dalam memori disebut external sorting.
Masalah utama dalam pengurutan data adalah bagaimana
mendapatkan metode yang terbaik yang akan memberikan jumlah operasi
perbandingan dan jumlah operasi pemindahan data yang paling minimal.
Kedua operasi tersebut akan mempengaruhi algoritma pengurutan data.
Umumnya kompleksitas algoritma bias dilihat dari waktu (time
complexity) atau ruang memori (space complexity).
Terdapat banyak metode pengurutuan data. beberapa diantaranya dan
akan dilakukan di dalam praktikum ini adalah :
1. Insertion Sort (Metode Penyisipan)
2. Selection Sort (Metode Pemilihan)
3. Bubble Sort (Metode Gelembung)
Insertion Sort
Prinsip kerja dari metode ini adalah membagi dua data sedemikian rupa sehingga
pada bagian pertama adalah data yang sudah terurut dan bagian kedua data yang
belum terurut. Selanjutnya diambil satu data dari bagian yang belum terurut dan
dilakukan penyisipan ke bagian data yang sudah terurut.
Selection Sort
Prinsip kerja selection sort adalah memiliki dua metode yang tergolong selection
sort, yaitu minimum sort dan maksimum sort. Pada metode minimum sort, untuk
meletakan data pada posisi yang ke-i maka dicari nilai minimum data mulai dari
posisi ke-i sampai posisi ke-N dengan N adalah banyak data.
Bubble sort
Prinsip kerja dari metode bubble sort adalah untuk meletakan nilai pada posisi ke-
i adalah dengan menggelembungkan/ mengangkat nilai minimum dari i+1 sampai
dengan N.
BAB II
LANGKAH KERJA
2.1
HAL-HAL YANG DILAKUKAN
1. Mengerjakan Pre test yang diberikan selama 15 menit.
2. Mengerjakan tugas praktikum yaitu membuat program untuk
mengurutkan data secara descending dengan metode :
a. Insertion sort
b. Selection sort
c. Buble sort
BAB III
PEMBAHASAN
3.1
PEMBAHASAN PROGRAM
Pengurutan data descending dengan menggunakan metode
insertion sort selection sort, bubble sort, mempunyai empat procedure
yaitu procedure insertionsort, procedure switch ,procedure selection sort
yang menggunakan metode minimum sort, procedure bubblesort.
Jumlah data maximum dideklarasikan sampai 1000 data yang
menjadi batas dalam table yang menggunakan array bertipe data integer.
juga variabel A dan B jumlah data N ,i untuk perlambangan data pada
index data array .
Uses crt
Const max=1000;
Type table = array[1..max] of integer;
var A:table;
B:table;
N,i:integer;
Procedure insertion didalamnya terdapat pengurutan dengan
menyisipkan data pada data yang terurut terlihat pada perintah yang ada
dalam procedure insertion sort, dimana jika temp kurang dari A[i] maka
akan terjadi penyusunan data sesuai besar data dan akan dilakukan
penyisipan A[I+1]:= temp.
Procedure insertsort (var A : table ;N : integer);
Var pass,I : integer;
Temp: integer;{variabel sementara}
Begin
For pass := 2 to N do
Begin temp:= A[pass];
i:= pass-1;
While ((temp<A[i] and do
Begin A[i+1]:=a[i];
i:=i-1;
if (temp<A[i]) then
begin A[i+1]:=A[i];
i:=i-1;end;
A[i+1] := temp;
End;End;
Procedure Switch berguna untuk penukaran data di dalam
procedure selection sort.
Procedure switch(var A,B : integer);
Var temp : integer;
Begin temp :=A;
A:=B;
B:=temp;end;
Pada procedure selection sort dimana terjadi pengurutan data
dimana di dalamnya terdapat perintah perbandingan data tersebut lebih besar
dari data sebelumnya jika ya maka akan terjadi penukaran di procedure
switch dan seterusnya sampai dengan data ke N .
Procedure minsort (var A :table ; N integer);
Var pass,I :integer;
min: integer;
begin
for pass := 1 to N-1 do
begin
min:= pass;
for i:= pass+1 to N do
if (A[min]>A[i] )then min:=i;
if (min<>pass) then switch (A[pass],A[min]);
end;end;
Pada procedure bubble sort dimana di dalam procedure
terjadi pertukaran dan setiap pertukaran akan bernilai true kemudian jika
data A[i] lebih kecil dari data A[i-1] akan terjadi pertukaran urutan data dan
akan terus terjadi sampai data ke N..
procedure bubblesort(var A : table ;N : integer);
var pass,i:integer;
tukar:boolean;
Begin
tukar:=true;
pass:=1;
while((tukar) and (pass<N)) do
begin tukar := false ;
for i:=N downto pass+1 do
if ( A[1]<A[i-1] then
begin switch (A[i] ,A[i-1]) ;
tukar:=true;end;
end;end;
Pemanggilan dalam program utama dimana tiga procedure
tersebut dipanggil dengan menuliskan nama procedure dan parameter
keluaran sehingga tidak perlu lagi menulis perintah untuk mengeluarkan
hasil pengurutan.
Begin
Clrscr;
Writeln(‘ ‘:5,’$$ PROGRAM TUGAS $$’);
writeln(‘ ‘:9,’MODUL 8’);
Writeln(‘ ‘:5,’PENGURUTSN ( SORTING )’); writeln;
Writeln;
Write(‘Masukan Jumlah Data : ‘);readln(N);Writeln;
For 1:=1 to N do
Begin write(‘data ke-‘,i,’:’);readln(A[i]);end;Writeln;
B:=A;
Insertsort(B,A,N);
Writeln(‘Pengurutan dengan metode Insertion sort : ‘);
Minsort(A,B,N);
Writeln(‘Pengurutan data dengan metode selectionsort(minimumsort) : ‘);
Bubblesort(A,B,N);
Writeln(‘Pengurutan data dengan metode bubble sort
end;
:’);Readkey;
BAB V
KESIMPULAN
5.1
KESIMPULAN
1. Pengurutan data adalah proses yang dilakukan terhadap himpunan
data, disusun sedemikian rupa sehingga diperoleh himpunan data yang
terurut.
2. Ada dua jenis data terurut yaitu terurut membesar(ascending) dan data
terurut mengecil(descending).
3. Bila dalam proses pengurutan data berada dalam memori disebut
internal sorting.
4. Bila pengurutan tidak seluruhnya didalam memori disebut dengan
external sorting.
5. Metode yang terbaik adalah metode yang memberikan proses
perbandingan dan pemindahan yang paling minimal.
6. Beberapa pengurutan adalah insert sort, selection sort, bubble sort.
7. Insertion sort adalah metode dimana data dibagi dua yaitu yang terurut
dan tidak terurut kemudian diambil suatu bagian dari data yang tidak
terurut lalu disispkan ke bagian data yang terurut sehingga menjadi
data yang lengkap.
8. Selection sort adalah metode yang mempunyai golongan yaitu
minimum sort pengurutan data dari yang terkecil, dan maksimum sort
pengurutan data dari maksimum ke minimum.
9. Bubble sort yaitu metode penggelembungan data untuk meletakkan
nilai pada posisi ke-i dengan menggelembungkan data nilai minimum
dari i+1 ke data n dengan n banyak data.
10. Kompelksitas pengurutan algoritma bias dilihat dari waktu (time
complexity) atau ruang memori(space complexity).
DAFTAR PUSTAKA
Tim penyusun,2007.Modul Praktikum Struktur Data Palangka Raya. Universitas
Palangkaraya: Fakultas Teknik Jurusan/Program Studi Teknik
Informatika.
Bahan Mata Kuliah Struktur Data.
LAMPIRAN
Program sort;
Uses crt;
Const max=1000;
Type table = array[1..max] of integer;
var A:table;
B:table;
N,i:integer;
Procedure insertsort(var A : table ;N : integer);
Var pass,I : integer;
Temp: integer;
Begin
For pass := 2 to N do
Begin temp:= A[pass];
i:= pass-1;
While ((temp<A[i] and do
Begin A[i+1]:=a[i];
i:=i-1;
if (temp<A[i]) then
begin A[i+1]:=A[i];
i:=i-1;end;
A[i+1] := temp;
End;
End;
Procedure switch(var A,B : integer);
Var temp : integer;
Begin temp :=A;
A:=B;
B:=temp;end;
Procedure minsort (var A :table ; N integer);
Var pass,I :integer;
min: integer;
begin
for pass := 1 to N-1 do
begin
min:= pass;
for i:= pass+1 to N do
if (A[min]>A[i] )then min:=i;
if (min<>pass) then switch (A[pass],A[min]);
end;
end;
procedure bubblesort(var A : table ;N : integer);
var pass,i:integer;
tukar:boolean;
Begin
tukar:=true;
pass:=1;
while((tukar) and (pass<N)) do
begin tukar := false ;
for i:=N downto pass+1 do
if ( A[1]<A[i-1] then
begin switch 9A[i] ,A[i-1]) ;
tukar:=true;end;
end;
end;
Begin
Clrscr;
Writeln(‘ ‘:5,’$$ PROGRAM TUGAS $$’);
writeln(‘ ‘:9,’MODUL 8’);
Writeln(‘ ‘:5,’PENGURUTSN ( SORTING )’);
writeln;
Writeln;
Write(‘Masukan Jumlah Data : ‘);readln(N);Writeln;
For 1:=1 to N do
Begin write(‘data ke-‘,i,’:’);readln(A[i]);
end;
Writeln;
B:=A;
Insertsort(B,A,N);
Writeln(‘Pengurutan dengan metode Insertion sort : ‘);
Minsort(A,B,N);
Writeln(‘Pengurutan data dengan metode selectionsort(minimumsort) : ‘);
Bubblesort(A,B,N);
Writeln(‘Pengurutan data dengan metode bubble sort :’);
Readkey;
End.