4. Sequential Search

download 4. Sequential Search

of 11

Transcript of 4. Sequential Search

  • 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