Logika dan Algoritma


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.

Tinggalkan komentar