Rabu, 03 Juni 2015

Searching

Didalam Pembahasan ini kita akan membahas proses pencarian / searching data pada suatu array / barisan data. Sebagai contoh sederhana :
Apabila 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.
Bisa diambil kesimpulan, kita sudah memahami proses pencarian data yang sederhana tersebut dalam pikiran kita, sekarang permasalahannya adalah bagaimana mengimplementasikannya kedalam program
Pada umumnya dikenal dua metode searching antara lain : Sequensial search dan binary search, Untuk lebih memahami kedua metode ini lebih baik kita mulai dari metode yang paling sederhana terlebih dahulu yaitu sequensial search.

Sequensial search
Metodenya seperti ini..
1. User diminta menentukan banyaknya data yang akan diinputkan
2. User menginputkan data sebanyak yang telah ditentukan pada langkah pertama
3. User diminta memasukkan data yang dicari
4. Program melakukan perulangan, mencari data yang dicari
5. Pada akhir perulangan ada 2 kondisi
5.1 Data yang tidak dicari tidak ditemukan
5.2 Data yang dicari ditemukan, kemudian tampilkan posisinya

Secara garis besarnya seperti itulah Algortima yang digunakan pada metode Sequential Search. Dapat disimpulkan bahwa sequential search, akan mencari data dengan cara membandingkannya satu-persatu dengan data yang ada. Prosesnya tentu saja akan singkat jika data yang diolah sedikit, dan akan lama jika data yang diolah banyak. Disarankan proses ini digunakan pada jumlah data yang sedikit saja.

Contoh studi kasus
1.Buatlah Program Sequencial search dengan mencari suatu data yang ada pada index tersebut !

Pembahasan dan contoh program :


 Output :



Binary search
Algoritma yang digunakan pada metode Binary seperti dibawah ini :
1. User diminta menentukan banyaknya data yang akan diinputkan
2. User menginputkan data sebanyak yang telah ditentukan pada langkah pertama
3. User diminta memasukkan data yang dicari
4. Mengurutkan data jika data belum terurut
5. User diminta memasukkan data yang dicari
6. Menentukan nilai tengah array
7. Pengecekan apakah nilai array pada index tengah sama dengan data yang dicari
8. Jika “sama”, data yang dicari ditemukan
8.1 jika “tidak”, periksa apakah data yang dicari lebih kecil dari nilai tengah
8.1.1 jika “true” lakukan pencarian dari i=0 sampai i=nilai tengah
8.2 jika 8.1 bernilai “false” berarti data yang dicari lebih besar dari nilai tengah
8.2.1 lakukan pencarian mulai dari i=nilaitengah+1 sampai data terakhir
9. Tampilkan hasil pencarian
Secara garis besarnya seperti itulah Algortima yang digunakan pada metode Binary Search. Proses pencarian binary search hanya dapat dilakukan pada kumpulan data yang sudah diurutkan terlebih dahulu. Jika terdapat N buah data yang akan dolah, data yang dicari akan dibandingkan dengan data ke-N jika data ke-N lebih besar dari data yang dicari maka akan dilakukan pembagian data menjadi dua bagian. Kemudian ujung data pada setiap bagian dibandingkan lagi dengan nilai yang akan dicari.
Bedanya metode Sequential dan Binary adalah keadaan datanya. Jika Sequential data tidak terurut pun bisa, namun jika menggunakan Binary data harus dalam keadaan urut.

Contoh Studi Kasus :

1.Buatlah Program Binary Search dengan mencari suatu data pada index tersebut !

Pembahasan : 


Output :


0 komentar:

Posting Komentar