Struktur Data - Searching Array
Struktur Data - Searching Array
SEARCHING ARRAY
Sesuai dengan judulnya, dalam modul ini kita akan membahas proses
pencarian / searching data pada suatu array / barisan data. Jika diketahui ada sebuah
array / barisan data bernama A yang menampung 10 data yang bertipe integer sbb
A={1,2,3,4,8,5,7,9,6,0} dan kita diberi tugas untuk mencari beberapa data misal:
Jika data yang akan dicari dalam array A adalah 6, maka dengan cepat dapat
kita ketahui bahwa data 6 ada dalam array A pada index ke-9 (index pada
array dimulai dari 0).
Sedangkan jika data yang akan dicari dalam array A adalah 12, maka dapat
disimpulkan bahwa array A tidak memiliki data 12 tersebut.
Nah, kita sudah memahami proses pencarian data yang sederhana tersebut
dalam
pikiran
kita,
sekarang
permasalahannya
adalah
bagaimana
Tentukan banyaknya data yang akan di olah, missal banyak data adalah N.
Tentukan data apa yang akan dicari, missal data yang akan dicari adalah C.
Inisialisasikan K =0
Dalam tiap proses perulangan tersebut periksalah apakah data yang sedang
Jika nilai K lebih dari 0, artinya data yang dicari ada dalam data /array dan
tampilkan nilai K ke layer sebagai jumlah data yang ditemukan.
Jika nilai K=0, artinya data yang dicari tidak ditemukan dalam data / array dan
tampilkan ke layar bahwa data tidak ditemukan
Proses selesai.
Dapat disimpulkan bahwa sequential search, akan mencari data dengan
GAMBARAN KERJA
Pada program diatas jumlah data yang akan diolah berjumlah 10 data dan
disimpan kedalam array A[10] yang bejenis integer, array index[10] digunakan untuk
mencatat index pada array A dimana data ditemukan daya tampung array sama
dengan array A karena ada kemungkinan data yang akan dicari adalah semua data
yang ada dalam array A. sedangkan variable I digunakan sebagai counter dalam
proses perulangan, variable j digunakan sebagai counter untuk menghitung jumlah
3
1
5
2
8
3
6
4
5
5
7
6
11
7
9
8
0
9
5
5
7
6
11
7
9
8
0
9
3
1
5
2
8
3
6
4
5
1
Proses 1
11 13 15 18 23 27 29 31 54 58 59 61 lebih besar dengan data yg akan
dicari , lakukan pembagian data
Proses 2
11 13 15 18 23 27 lebih besar dari data yang dicari, bagi 2 29 31 54 58
59 61
Proses 3
11 13 15 lebih besar dari data yang dicari, bagi 2 18 23 27 29 31 54 58
59 61
Proses 4
11 lebih kecil dari data yang dicari, abaikan saja 13 15 lebih besar
dari data yang dicari, bagi 2 18 23 27 29 31 54 58 59 61
Proses 5
13 sesuai data yang dicari
11
dicari 18 23 27 29 31 54 58 59 61
Dari proses diatas dapat disimpulkan bahwa binary search akan membagi-bagi
sekumpulan data menjadi 2 bagian sampai data yang dicari ditemukan.
Kesimpulan
Sequential search lebih efektif jika digunakan pada sekumpulan data yang sedikit,
sedangkan binary search efektif jika digunakan pada sekumpulan data yang berjumlah
banyak.
Sequential search dapat digunakan pada sekumpulan data yang urut ataupun tidak
urut, sedangkan binary search harus pada data yang sudah urut.
Judul
Buku Pengarang
025
James Wood
034
Mastering Delphi 6
Marcopolo
041
Professional C#
Simon Webe
056
Pure JavaScript v2
Michael Bolton
063
David Dunn
072
Gunner Christian
088
Antonie
096
Gloria Virginia
10
P
0
A
1
P
0
0
K
2
A
0
1
3
K
0
2
A
4
N
5
A
1
0
T
6
N
1
1
O
7
T
1
2
N
8
O
1
3
N
1
4
11
}
if(c!=-1)
{
printf("Kata %s yang dicari ada di indeks [%d][%d] sampai [%d]
[%d]\n",cari,c,0,c,a-1);
}
else
printf("Kata tidak ada dalam string!\n");
}
12
Soal:
Buat array rekening bank dengan ketentuan :
- Gunakan Struct (int no_rek, char nama[100], long saldo)
Buatlah fungsi-fungsi sebagai berikut :
- Add
- Edit
- Cari (Sequential)
- Setor
- Ambil
- Transfer
- Tutup Rekening (Delete)
13