Anda di halaman 1dari 21

STRUKTUR DATA

ARRAY STATIS & PENGURUTAN DATA

OPERASI PENGURUTAN
Metode-metode Pencarian (sorting):
a. Bubble Sort
b. Selection Sort
c. Insertion Sort
d. Radix Sort
e. Merge Sort
f. Quick Sort

BUBBLE SORT
Proses menyusun data acak dengan cara
menggelembungkan data yang kecil.
Jika akan disusun secara ascending, maka
penggelembungan dilakukan dari kanan ke
kiri (bawah ke atas).
Tapi jika akan disusun secara descending,
maka penggelembungan dilakukan dari kiri
ke kanan (atas ke bawah)

Bubble Sort Secara Ascending


Mis. Data yang akan diurutkan secara ascending :
6
3
9
1
5
j

Tahap 1 :

3
j

Bubble Sort Secara Ascending (lanjutan)


j

Tahap 2 :

Bubble Sort Secara Ascending (lanjutan)


j

Tahap 3 :

9
j

Tahap 4 :

Data telah terurut secara ascending:


1
3
5
6
9

Algoritma Bubble Sort Secara Asc.


Procedure bubble_sort_asc(I/O nama_var_array : nama_tipe_array)
{I.S. : array(1..n) sudah terdefinisi}
{F.S. : menghasilkan array(1..n) yang sudah tersusun secara ascending}
Kamus:
i, j : integer
temp : tipedata
Algoritma:
for i 1 to n-1 do
for j n downto i+1 do
if(nama_var_array(j) < nama_var_array(j-1))
then
temp nama_var_array(j)
nama_var_array(j) nama_var_array(j-1)
nama_var_array(j-1) temp
endif
endfor
endfor
EndProcedure

Bubble Sort Secara Descending


Mis. Data yang akan diurutkan secara descending :
6
3
9
1
5
j

Tahap 1 :

Bubble Sort Secara Descending (lanjutan)


j

Tahap 2 :

Bubble Sort Secara Descending (lanjutan)


j

Tahap 3 :

Tahap 4 :

Jadi , data telah teurut secara descending:


9
6
5
3
1

Algoritma Bubble Sort Secara Dsc.


Procedure bubble_sort_dsc(I/O nama_var_array : nama_tipe_array)
{I.S. : array(1..n) sudah terdefinisi}
{F.S. : menghasilkan array(1..n) yang sudah tersusun secara
descending}
Kamus:
i,j : integer
temp : tipedata
Algoritma:
for i 1 to n-1 do
for j 1 to n-i do
if(nama_var_array(j) < nama_var_array(j+1))
then
temp nama_var_array(j)
nama_var_array(j) nama_var_array(j+1)
nama_var_array(j+1) temp
endif
endfor
endfor
EndProcedure

SELECTION SORT (1)


Proses menyusun data acak dengan cara
menyeleksi atau menentukan data terbesar
atau data terkecil dari elemen array yang
ditinjau.
- Maximum Sort
- Minimum Sort

12

Maximum Sort Secara Ascending


Mis. Data yang akan diurutkan secara ascending :
6
3
9
1
5

Tahap 1 :

max

max

max

max

5
j

max

Maximum Sort Secara Asc. (lanjutan)


Tahap 2 :

max

3
3

max

max

max

Maximum Sort Secara Asc. (lanjutan)


Tahap 3 :

max

max

Tahap 4 :

max

max j

max j

Jadi , data telah terurut secara ascending:


1
3
5
6
9

Algoritma Maximum Sort Secara Asc.


Procedure Maximum_sort_asc(I/O nama_var_array : nama_tipe_array)
{I.S. : array(1..n) sudah terdefinisi}
{F.S. : menghasilkan array(1..n) yang sudah tersusun secara ascending}
Kamus:
i, j, max, x : integer
temp : tipedata
Algoritma:
x n
for i 1 to n-1 do
max 1
for j 2 to x do
if(nama_var_array(j) > nama_var_array(max))
then
max j
endif
endfor
temp nama_var_array(max)
nama_var_array(max) nama_var_array(j)
nama_var_array(j) temp
xx-1
endfor
EndProcedure

Algoritma Minimum Sort Secara Asc.


Procedure Minimum_sort_asc(I/O nama_var_array : nama_tipe_array)
{I.S. : array(1..n) sudah terdefinisi}
{F.S. : menghasilkan array(1..n) yang sudah tersusun secara ascending}
Kamus:
i, j, min : integer
temp : tipedata
Algoritma:
for i 1 to n-1 do
min i
for j i+1 to n do
if(nama_var_array(j) < nama_var_array(min))
then
min j
endif
endfor
temp nama_var_array(min)
nama_var_array(min) nama_var_array(i)
nama_var_array(i) temp
endfor
EndProcedure

Insertion Sort
Pengurutan yang dilakukan dengan
cara menyisipkan elemen larik pada
posisi yang tepat
Contoh Ilustrasi
Angka 5 2 8 1 3

TUGAS (1)
Buatlah Algoritma Insertion Sort
menggunakan subrutin !

19

TUGAS (2)

Pengerjaan tugas terdiri 2 kelompok pengerjaan berdasarkan dua angka


belakang NIM
- Untuk NIM Ganjil kerjakan soal ganjil
- Untuk NIM Genap kerjakan soal Genap

Diketahui array sebagai berikut :

Lakukanlah
Pengurutan Data
Ganjil : lakukan pengurutan menggunakan metode bubble sort dan Selection
sort (Minimum ) sehingga menghasilkan data yang terurut secara Ascending
Genap : lakukan pengurutan menggunakan metode bubble sort dan Selection
sort (maximumn ) sehingga menghasilkan data yang terurut secara Descending
Pencarian data (berdasarkan hasil data yang sudah diurutkan di no 1)
Ganjil : lakukan Pencarian Data menggunakan metode binary search jika data
yang dicari x = 2
Genap lakukan Pencarian Data menggunakan metode binary search jika data
yang dicari x =7

1.

2.

OPERASI PENGHANCURAN

Penghancuran (destroy) array adalah


proses mengembalikan data array ke nilai
awal.

21

Anda mungkin juga menyukai