Post on 16-Feb-2018
7/23/2019 4. Sequential Search
1/11
STMIK IKMI Cirebon Raditya Danar Dana
Sequential Search(Pencarian secara Berurut)
Pencarian (searching) adalah salah satu hal penting dalam banyak kasus
pemrograman. Terdapat bermacam macam algoritma pencarian yang telah
dikembangkan dengan ide dasar yang berbeda beda. Pada pembahasan kali ini
akan dikususkan membahas algoritma pencarian menggunakan metode
Sequentiqal, atau Teknik Pencarian dengan cara berurutMisalkan, jika dalam sebuah Array bernama ektorA! mempunyai sejumlah
elemen yang sudah terisi dengan nilai integer. Akan dicari nilai " pada elemen
elemen Array ektorA! tersebut. #ika nilai " ditemukan, maka algoritma yang
dibuat akan memberikan hasil berupa $ndeks ( pada elemen Array ke berapa )
nilai " ditemukan. %edangkan jika nilai " tidak ditemukan di setiap elemen Array
ektorA! maka algoritma yang dibuat akan memberikan hasil berupa messagenilai " tidak ditemukan!
A. Pencarian Secara Sequential$de dasar algoritma pencarian berurutan (sequential search) sangat alamiah,
yaitu dengan melakukan pembandingan nilai yang dicari (dide&nisikan)
dengan setiap elemen array, mulai dari indeks terkecil sampai indeks
terbesar yang terde&nisi. 'ntuk memperjelas, berikut diberikan sebuah
contoh kasusiketahui sebuah Array berisi elemen elemen bernilai integer dengan nama
Arr$nt* . . +- yang telah terisi. /uatlah program dengan
mengimplementasikan sebuah methode yang jika diberikan sebuah " bernilai
integer, maka akan dicari secara berurutan apakah nilai " ada didalam Array
Arr$nt. Proses pencarian akan dilakukan mulai dari elemen atau indeks Arr$nt
yang terkecil sampai indeks yang terbesar. Methode yang dibuat akan
menghasilkan nilai berupa $ndeks dimana " ditemukan, jika " tidak ditemukan
maka methode yang dibuat akan memberikan sebuah message 0+ilai " tidak
ditemukan!%ebagai ilustrasi, berhatikan gambar berikut
Indeks
Ke
0 ! " # $ % &
'iai - 1 2 3 -4 5* 1 2
Tabe , arrray Arr$nt!, dengan 3 elemen, indeks * sampai dengan 6
7/23/2019 4. Sequential Search
2/11
STMIK IKMI Cirebon Raditya Danar Dana
Misal dicari " 7 1, maka hasilnya
+ilai " 7 1 ditemukan pada indeks ke-2
Misal dicari " 5, maka hasilnya
+ilai " 7 5 ditemukan
engan menggunakan so8t9are +etbeans $: 6.- kita akam membuat program
%earching dengan sebuah methode di dalamnya dengan nama
se;uential%earch(). lass baru dengan nama %earching!
7/23/2019 4. Sequential Search
3/11
STMIK IKMI Cirebon Raditya Danar Dana
7/23/2019 4. Sequential Search
4/11
STMIK IKMI Cirebon Raditya Danar Dana
void sequentialSearchint /" {
System.out.println$$"; System.out.println$5ASI4 %&'6A)IA'$";
boolean is7ound # +alse ; +orint i # ,; i - t!is.ArrInt.lengt!; i"{
i+ t!is.ArrInt[i] ## /" { is7ound # true;
System.out.println$'ilai / # $ / $ ditemukan di
Indeks ke 89 $ i ";
0 0
i+ is7ound ## +alse"{ System.out.println$'ilai / # $ / $ tidak ditemukan$";
0
0
0
. /uatlah Main >lass untuk mende&nisikan object dan untuk memanggil
methode dari >lass %earching, lakukanlah langkah langkah berikut ini
7/23/2019 4. Sequential Search
5/11
STMIK IKMI Cirebon Raditya Danar Dana
ode :ditor Tulislah
7/23/2019 4. Sequential Search
6/11
STMIK IKMI Cirebon Raditya Danar Dana
0
B.
7/23/2019 4. Sequential Search
7/11
STMIK IKMI Cirebon Raditya Danar Dana
7/23/2019 4. Sequential Search
8/11
STMIK IKMI Cirebon Raditya Danar Dana
B. Pencarian Secara Seuentia *ada +e,en Array yan- Suda
Terurut
#ika nilai dalam elemen eleman array Arr$nt* . . + - sudah terurut, maka
dapat dibuat sebuah algoritma yang lebih e&sien yaitu dengan
meman8aatkan keterurutan nilai tersebut. Teknik pencarian ini disebut
Sequential Search Sorted.%ebagai contoh , perhatikan ilustrasi diba9ah ini
Indeks
Ke
0 ! " # $ % &
'iai - 1 2 3 -4 5* 1-- 2**Tabe , arrray Arr$nt!, dengan 3 elemen, indeks * sampai dengan 6
+ilai yang ingin dicari adalah " 7 2, maka pemeriksaan akan berjalan hanya
sampai pada indekks 1, karena nilai pada indeks ke 1 adalah 3, dimana 3 C
" , sehingga tidak mungkin pada indeks indeks selanjutnya ditemukan nilai
7/23/2019 4. Sequential Search
9/11
STMIK IKMI Cirebon Raditya Danar Dana
" 7 2. #adi proses pencarian akan berlangsung selama nilai yang ditemukan
masih lebih kecil atau sama dengan nilai yang dicari, sedangkan jika nilai
yang ditemukan sudah lebih besar dari nilai yang dicari maka proses
pencarian dihentikan. Dal ini membuat proses komputasi menjadi lebih
e&sien'ntuk mengimplementasikan algoritma ini, lakukanlah langkah langkah
berikut-. Modi&kasilah #aEa >lass dengan nama %earching! dengan menambah
sebuah methode dengan nama se;uential%earch%ort()!
void sequentialSearchSortedint /"{ boolean is7ound # +alse;
int i # ,; w!ile/ 9# t!is.ArrInt[i] "{
i+t!is.ArrInt[i] ## /"{
is7ound # true; System.out.println$'ilai / # $ / $ ditemukan di
Indeks ke 89 $ i ";
0i;
0
i+ is7ound ## +alse"{
System.out.println$'ilai / # $ / $ tidak
ditemukan$";0
System.out.println$%roses %encarian ?er!enti pada indeks ke# $ i";
0
4. Modi&kasilah Main >lass dengan nama demo%e;uential%earch! untuk
memanggil methode sequentialSearchSorted()
package KelasKaryawan;
import java.util.Scanner;
public class demoSequentialSearch{
public static void mainString[] args" {
Searc!ing demo # new Searc!ing";
int n
7/23/2019 4. Sequential Search
10/11
STMIK IKMI Cirebon Raditya Danar Dana
System.out.println$$";
System.out.print$'I4AI *A'( 1I6A)I # $";
/ # input.ne/tInt"; demo.se:uentialSearc!Sorted/";
00
1.
7/23/2019 4. Sequential Search
11/11
STMIK IKMI Cirebon Raditya Danar Dana