You are on page 1of 8

LAPORAN PRAKTIKUM 5

PRAKTIKUM STRUKTUR DATA LINIER

SORTING

Dosen Pengampu
Kartono Pinaryanto, M.Cs

Disusun oleh :
Katharina Tyas Aprilia
195314031

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2020
A. Tujuan Laporan
- Mahasiswa mampu memahami dan menjelaskan apa yang dimaksud
dengan pengurutan (Sorting).
- Mahasiswa mampu memahami dan menjelaskan metode pengurutan
gelembung (BubbleSort)
- Mahasiswa mampu memahami dan menjelaskan metode pengurutan
seleksi (SelectionSort)
- Mahasiswa mampu memahami dan menjelaskan metode pengurutan sisip
(InsertionSort)

B. Pembahasan
1. Bubble Sort (Exchange Sort)
 Ide dasar metode buble sort adalah setiap melewati larik, dilakukan
pembandingan setiap elemen di larik dengan elemen sesudahnya (
larik[i] dengan larik[i+1] ) dan dilakukan penukaran antara kedua
elemen tersebut bila tidak terurut.
 Untuk urut naik, pada iterasi pertama akan diletakkan nilai paling
besar di posisi terakhir, kemudian pada iterasi berikutnya elemen
dengan nilai paling besar kedua diletakkan pada posisi N-1, dan
seterusnya

 Iterasi I 5 8 26 15 11 31

if (x[elemen] >= x[elemen + 1])  True


Temp = 5 8 26 15 11 31

8 5 26 15 11 31

if (x[elemen] >= x[elemen + 1])  True


Temp = 5 8 26 15 11 31
8 26 5 15 11 31

if (x[elemen] >= x[elemen + 1])  True


Temp = 5 8 26 15 11 31

8 26 15 5 11 31
if (x[elemen] >= x[elemen + 1])  False
8 26 15 5 11 31

if (x[elemen] >= x[elemen + 1])  True


Temp = 11 8 26 15 5 31

8 26 15 5 31 11

 Iterasi 2 8 26 15 5 31 11

if (x[elemen] >= x[elemen + 1])  True


Temp = 8 26 15 5 31 11

26 8 15 5 31 11

if (x[elemen] >= x[elemen + 1])  True


Temp = 8 26 15 5 31 11

26 15 8 5 33 11
if (x[elemen] >= x[elemen + 1])  False
26 15 8 5 31 11
if (x[elemen] >= x[elemen + 1])  True
Temp = 5 26 15 8 31 11

26 15 8 31 5 11

Iterasi 3 26 15 8 31 5 11
if (x[elemen] >= x[elemen + 1])  False
26 15 8 31 5 11
if (x[elemen] >= x[elemen + 1])  False

26 15 8 31 5 11

if (x[elemen] >= x[elemen + 1])  True


Temp = 8 26 15 31 5 11

26 15 31 8 5 11

 Iterasi 4 26 15 31 8 5 11
if (x[elemen] >= x[elemen + 1])  False
26 15 31 8 5 11
if (x[elemen] >= x[elemen + 1])  False
26 15 31 8 5 11

 Iterasi 5 26 15 31 8 5 11
if (x[elemen] >= x[elemen + 1])  False
26 15 31 8 5 11

2. Selection Sort (Pengurutan Seleksi)


 Metode ini disebut juga pengurutan maksimum/ minimum karena
didasarkan pada pemilihan elemen maksimum atau minimum larik
sebagai basis pengurutan .
 Idenya adalah memilih elemen maksimum/minimum kemudian
mempertukarkan elemen maksimum/minimum tersebut dengan
elemen terujung larik (elemen ujung kiri atau elemen ujung kanan)
 Pada proses selanjutnya, elemen terujung ini tidak diikut sertakan.
 Proses ini diulang untuk elemen larik yang tersisa untuk menentukan
elemen maksimum/minimum kedua untuk diletakkan pada eleme
ujung kedua.
 Demikian seterusnya sampai elemen larik yang tersisa tinggal satu
yang berarti data sudah dalam keadaan urut

 Iterasi 1 8 8 26 15 11 31
If (x[elemen] < x[minIndex])  True
5 8 26 15 11 31
If (x[elemen] < x[minIndex])  True
5 8 26 15 11 31
If (x[elemen] < x[minIndex])  False
5 8 26 15 11 31
If (x[elemen] < x[minIndex])  False
5 8 26 15 11 31
If (x[elemen] < x[minIndex])  False
Temp = 5 8 26 15 11 31

26 8 5 15 11 31

 Iterasi 2 26 8 5 15 11 31
If (x[elemen] < x[minIndex])  False
26 8 5 15 11 31
If (x[elemen] < x[minIndex])  True
26 8 5 15 11 31
If (x[elemen] < x[minIndex])  False
26 8 5 15 11 31
If (x[elemen] < x[minIndex])  False
Temp = 8 26 5 15 11 31

26 15 5 8 11 31
Iterasi 3 26 15 5 8 11 31
If (x[elemen] < x[minIndex])  True
26 15 5 8 11 31
If (x[elemen] < x[minIndex])  False
26 15 5 8 11 31
If (x[elemen] < x[minIndex])  True
Temp = 5 26 15 8 11 31

26 31 15 8 11 5

 Iterasi 4 26 31 15 8 11 5
If (x[elemen] < x[minIndex])  False

26 31 15 8 11 5
If (x[elemen] < x[minIndex])  False

26 31 15 8 11 5
 Iterasi 5 26 31 15 8 11 5
If (x[elemen] < x[minIndex])  True

Temp = 11 12 31 15 8 5

26 31 15 8 5 11

3. Insertion Sort
 Metode ini mengurutkan dengan cara menyisipkan elemen larik pada
posisi yang tepat.
 Dalam pencarian posisi yang tepat, dilakukan pergeseran elemen larik

 Iterasi 1 5 8 26 15 11 31

 Iterasi 2 8 5 26 15 11 31

 Iterasi 3 26 8 5 15 11 31

 Iterasi 4 26 8 15 5 11 31

 Iterasi 5 26 8 15 5 11 31

26 8 15 31 5 11

You might also like