Professional Documents
Culture Documents
Searching
Searching
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.
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
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