Anda di halaman 1dari 16

PENCARIAN DAN

PENGURUTAN
DATA
PEMROGRAMAN DASAR XI
PENCARIAN
Proses pencarian (searching) adalah
menemukan nilai (data) tertentu di
dalam sekumpulan data yang bertipe
sama (baik bertipe dasar atau bertipe
bentukan).

Pencarian data dibagi 2 :


1. Linier Search (Pencarian beruntun)
2. Binary Search (Pencarian bagi dua)
1. PENCARIAN LINIER
proses membandingkan setiap elemen
larik satu persatu secara beruntun,
mulai dari elemen pertama, sampai
elemen yang dicari ditemukan atau
seluruh elemen sudah diperiksa.
CONTOH:
Perhatikan larik di bawah ini :
23 45 23 57 12
1 2 3 4 5

Misalkan nilai yang dicari : x = 57


Elemen yang dibandingkan : 23, 45, 23, 57
(ditemukan)
Indeks larik yang dikembalikan : IDX = 4

Misalkan nilai yang dicari : x = 67


Elemen yang dibandingkan : 23, 45, 23, 57, 12
(tidak ditemukan)
Indeks larik yang dikembalikan : IDX = -1
2. PENCARIAN BINARY
Digunakan untuk kebutuhan pencarian
dengan waktu yang cepat.
Prinsip pencariannya dengan membagi data
menjadi dua bagian.
Data yang disimpan di dalam larik harus
sudah terurut.
Fungsi:
memperkecil jumlah operasi pembandingan
yang harus dilakukan antara data yang dicari
dengan data yang ada di dalam tabel,
khususnya untuk jumlah data yang sangat
besar ukurannya.
CONTOH:
Perhatikan larik di bawah ini : (sudah terurut)
0 5 6 10 11 12 32 34 56 99

Posisi data yang dicari : 56.


Larik di atas dapat kita bagi menjadi 2 sublarik
sebagai berikut:
0 5 6 1 1 1 3 3 5 9
0 1 2 2 4 6 9
Sublarik 1 Sublarik 2

Data (56) dibandingkan dengan elemen terakhir


pada sublarik1 (11). Jika data tersebut (56) lebih
kecil dari elemen terakhir pada sublarik 1 (11)
maka data akan dicari di sublarik 1. Jika tidak,
berarti data akan dicari di sublarik 2 dan sublarik
1 tidak perlu dihiraukan lagi.
Proses di atas diulangi lagi.
CONTOH:
Sublarik 2 dibagi 2 lagi, menghasilkan sublarik di
bawah ini:
1 3 3 5 9
2 2 4 6 9
Sublarik 2. 1 Sublarik
2.2
Kita bandingkan lagi data (56) dengan elemen
terakhir sublarik2.1 (34). Ternyata data (56) lebih
besar dari (34), maka pasti data yang dicari ada
di sublarik 2.2. terakhir, sublarik 2.2 dipecah lagi.
Hasilnya adalah5sebagai berikut:
9
6 9
Sublarik Sublarik
2.2.1 2.2.2

Demikian dengan 4 langkah kita sudah


menemukan data yang kita cari.
PENGURUTAN
Pengurutan (sorting) adalah proses
mengatur sekumpulan objek menurut
urutan atau susunan tertentu.
Urutan objek tersebut dapat menaik
(ascending) atau menurun
(descending).
Misal : N buah objek atau data disimpan di
dalam larik L

Pengurutan menaik berarti menyusun elemen


larik :
L[1] L[2] L[3 L[N]

Pengurutan menurun berarti menyusun


elemen larik :
L[1] L[2] L[3 L[N]

Data yang diurut dapat berupa data bertipe


dasar atau tipe terstruktur (record). Jika data
bertipe terstruktur, maka harus
dispesifikasikan berdasarkan field apa data
tersebut diurutkan. Field yang dijadikan dasar
Macam-macam Metode
Pengurutan:
1. Metode Pengurutan Gelembung
(Bubble Sort)
2. Metode Pengurutan Pilih (Selection
Sort)
3. Metode Pengurutan Sisip (Insertion
Sort)
4. Merge Sort
5. Metode Pengurutan Shell (Shell Sort)
6. Heap Sort
7. Quick Sort
8. Radix Sort
9. Tree Sort
Metode pengurutan dapat
diklasifikasikan sebagai berikut:
Metode pengurutan internal
Metode pengurutan untuk data yang disimpan
di dalam memori komputer. Umumnya struktur
internal yang dipakai untuk pengurutan
internal adalah larik, sehingga pengurutan
internal disebut juga pengurutan larik.

Metode pengurutan eksternal


Metode pengurutan untuk data yang disimpan
di dalam disk storage, disebut juga pengurutan
arsip (file), karena struktur eksternal yang
dipakai adalah arsip.
1. Pengurutan Gelembung (Bubble
Sort)
Metode ini memiliki prinsip
pengapungan.
Apabila kita menginginkan larik terurut
menaik, maka elemen larik yang
bernilai paling kecil diapungkan,
artinya diangkat ke atas (atau ke ujung
kiri larik) melalui proses pertukaran.
CONTOH:
Dimisalkan larik L dengan N=10 sebagai berikut :

25 27 10 8 76 21
1 2 3 4 5 6
maka langkah-langkah pengurutannya adalah:

Semula 25 27 10 8 76 21
Langkah 1 8 25 27 10 21 76
Langkah 2 8 10 25 27 21 76
Langkah 3 8 10 21 25 27 76
Langkah 4 8 10 21 25 27 76
Langkah 5 8 10 21 25 27 76 Teruru
t
TUGAS
Carilah index data 75 pada larik data berikut ini.
Gunakan metode binary search.
(Ingat, binary search akan mencari data
apabila larik data sudah terurut)

0 80 61 10 24 75 43 33 2 13 70 41 99 7
2. Pengurutan Pilih (Selection Sort)

Metode ini memilih elemen maksimum/


minimum dari larik, lalu menempatkan
elemen itu pada awal atau akhir larik
(elemen terujung).
Selanjutnya elemen terujung tersebut
diisolasi dan tidak disertakan pada
proses selanjutnya.
Proses yang sama diulang untuk
elemen larik yang tersisa, yaitu
memilih elemen maksimum/ minimum
berikutnya dan mempertukarkannya
dengan elemen terujung larik sisa.

Anda mungkin juga menyukai