You are on page 1of 17

Arip Mulyanto

Pokok bahasan ini mempelajari beberapa metode pencarian data (searching) untuk menemukan suatu informasi dari sejumlah data yang ada.

Searching adalah suatu proses untuk mengumpulkan sejumlah informasi di dalam memori komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin.

Sejumlah N rekaman telah tersimpan dalam memori komputer. Dalam setiap rekaman, terdiri dari sejumlah data yang disebut field. Untuk membedakan antara rekaman yang satu dengan rekaman lain, maka pada setiap rekaman terdapat field yang mempunyai nilai tertentu.

Field yang nilainya bisa membedakan satu rekaman dengan rekaman lain, disebut field kunci, atau disingkat sebagai kunci. Kumpulan semua rekaman disebut berkas (file). Jika dalam suatu file, semua rekamannya bisa dibedakan oleh sebuah kunci dalam setiap rekaman, maka kunci tersebut dinamakan kunci primer (primary key). Contoh: NIM.

Kunci yang digunakan untuk membedakan setiap kunci tidak selalu terdiri dari sebuah field saja, tapi bisa juga terdiri dari beberapa field sekaligus. Contoh: selain NIM, asal kota mahasiswa bisa dijadikan sebagai kunci. Dengan demikian, akan ada sejumlah mahasiswa yang berasal dari kota yang sama Kunci seperti itu disebut kunci sekunder. (secondary key).

Algoritma searching adalah algoritma yang menerima argumen K (sebagai kunci), dan dengan langkah tertentu akan mencari rekaman yang kuncinya bernilai K. Algoritma tersebut bisa menemukan rekaman secara utuh atau hanya memperoleh pointer yang menunjuk ke rekaman yang dimaksud.

Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan atau tidak ditemukan. Pencarian yang berhasil menemukan rekaman yang dimaksud, disebut retrieval. Pencarian yang gagal, seringkali perlu menambahkan data tersebut ke dalam file yang sudah ada.

Array merupakan tipe data terstruktur. Array diumpamakan seperti sekumpulan kotak yang menyimpan sekumpulan elemen bertipe sama secara berurutan (squential) di dalam memori utama komputer. Setiap elemen array diacu melalui indeksnya. Setiap elemen array langsung diakses dengan menspesifikasikan nama array berikut indeksnya.

Contoh pendefenisian array di dalam bagian deklarasi:

DEKLARASI D: array[1..11] of integer Kar: array[1..8] of character const N=5 {jumlah data siswa} type Data=record<Nama: string, Usia: integer> Siswa: aray[1..N] of Data

a. D b. Kar c. Siswa

21

36

10

36

68

32

12

10

36

10

11

3
Ali Lia Ila Lai Ail

6
18 24 30 21 22

Gambar 1. Contoh Array

Contoh cara mengacu elemen array: D [2] D [k], mengacu elemen ke-k, dengan syarat k sudah terdefinisi nilainya Kar [5] Siswa [1].Nama Siswa [1].Usia Siswa [j].Nama, mengacu elemen ke-j, dengan syarat j sudah terdefinisi nilainya.

Persoalan Diberikan array dengan nama L, yang sudah terdefinisi elemen-elemennya, dan X adalah elemen yang bertipe sama dengan elemen larik L. Carilah apakah X terdapat dalam array L?

Indeks elemen array Jika X ditemukan, maka simpan indeks array tempat X ditemukan ke dalam variabel IDX. Jika tidak terdapat dalam array L, IDX diisi dengan harga 0. Perhatikan gambar 1a. Misal : X=68, maka IDX=7 X=100, maka IDX=0

Hasil atau keluaran dari persoalan pencarian dapat bermacam-macam, tergantung kebutuhan, misalnya: Pesan bahwa X ditemukan atau tidak ditemukan dalam array.
Write (X, ditemukan!) atau Write (X, tidak ditemukan)

Variabel boolean Jika X ditemukan, maka sebuah variabel boolean, misalnya ketemu, diisi dengan nilai true, sebaliknya ketemu disi dengan nilai false. Perhatikan gambar 1a. Misal : X=68, maka ketemu=true X=100, maka ketemu=false

Pencarian Beruntun (Squential Searching) Pencarian Bagidua (Binary Searching)

You might also like