• RexDev Learn Web Design

  • Sinau WEb Design Bebarengan

  • #WEB_DESIGN

Friday, 2 March 2018

Hallo semua kali ini kita akan belajar apa itu searching  ????
haaaaaah searching ??

ya searching.  Searching adalah pencarian data dengan cara menelusuri data-data tersebut. Tempat pencarian data dapat berupa array dalam memori(pencarian internal), bisa juga pada file pada external storage(pencarian external). yah itu saya kutip dari blog made yoga , 

dan kali ini saya akan jelasin 2 macam methode searching , apa itu ???
pertama adalah Metode Pencarian Beruntun (Sequential Search) dan 
kedua adalah metode Pencarian Bagi Dua (Binary Search).

Oke mari Kita Bahas , langsung ke prakteknya 



1. Sequential Search (Pencarian berurutan)
                Adalah suatu teknik pencarian data dalam array (1 dimensi) yang akan menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu. Pencarian berurutan menggunakan prinsip sebagai berikut : data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan. 
Algoritma pencarian berurutan dapat dituliskan sebagai berikut :

kita mencari data 5 dari array [,1,2,4,3,5]

maka akan mengecek dari awal sampai data ketemu, jadi akan di periksa satu persatu , 
dengan cara membandingkan seperti ini 

apakah 5 = 1 False
apakah 5 = 2 False
apakah 5 = 4 False
apakah 5 = 3 False
apakah 5 = 5 True

jika ada ada di tengah maka akan berhenti ketika kondis menjadi true, dan tidak akan di ualang lagi  contoh  kita mencari data 5 dari array [,1,2,5,3,4]

apakah 5 = 1 False
apakah 5 = 2 False
apakah 5 = 5 True

Jika data sudah ketemu maka tdk akan diproses lagi :-)


oke kita cari dengan perulangan ekarang dengan soal di bawah , carilah data 40

didefinisikan 
diatas adalah aray X
x[0] = 100
x[1] = 50
x[2] = 40
x[3] = 66
x[4] = 20
x[5] = 10

kita cari dengan cara mengurutkan dengen perulangan 

i=0;
while(i <= 5){
     if(x[i]==40){
        alert("Data Ketemu");
     }else{
         i++;
      }
}

dari perulangan di atas akan mengecek satu persatu data array dan menyamakannya dengan data yg akan di cari .......
oke itu sedikit penjelasan tentang Sequential Search (Pencarian berurutan)

2. Pencarian Bagi Dua (Binary Search)
Merupakan salah satu metode pencarian yang menangani kasus terburuk (worst case) pada pencarian secara berurutan. Proses pencarian binary search hanya dapat dilakukan pada data yang sudah berurutan. Cara pencarian binary ini adalah dengan membagi dua elemen penampung nilai dan membandingkan nilainya.
Algoritma dari binary search adalah:
1.      Tentukan posisi awal = 0 dan posisi akhir = N – 1
2.      Hitung posisi tengah = (posisi awal + posisi akhir) / 2
3.      Bandingkan data yang dicari dengan elemen posisi tengah
·      Jika data yang dicari sama maka catat posisi dan cetak kemudian berhenti
·      Jika lebih besar maka akan dilakukan pencarian kembali ke bagian kiri dengan nilai posisi awal = posisi tengah + 1 dan posisi akhir tetap kemudian ulangi mulai poin 2
·      Jika nilai datanya lebih kecil maka akan dilakukan pencarian kembali ke bagian kiri dengan nilai posisi awal tetap dan nilai posisi akhir = posisi tengah – 1 kemudian ulangi mulai poin 2.

Contoh soal


Carilah dengan menggunakan metode Sequansial search dan Binary search

1.      
Mencari x[17]
·         Sequansial Search
1. 17 != x[0] = yes = indeks ++
2. 17 != x[1] = no = Temukan x[1]  x[1] = 17

·         Binary Search
1. 0 + 7/2 = 3,5 = 3
2. 0 + 3/2 = 1,5 = 1
2.      Mencari x[23]
·         Sequensial Search
1. 23 != x[0] = yes = indeks ++
2. 23 != x[1] = yes = indeks ++
3. 23 != x[2] = no = Temukan x[2]   x[2] = 23
·         Binary Search
1. 0 + 7/2 = 3,5 = 3

2. 0 + 4/2 = 2

3.      Mencari x[78]
·           Sequansial Search
1. 78 != x[0] = yes = indeks ++
2. 78 != x[1] = yes = indeks ++
3. 78 != x[2] = yes = indeks ++
4. 78 != x[3] = yes = indeks ++
5. 78 != x[4] = yes = indeks ++
6. 78 != x[5] = no = Ketemu x[5]

·           Binary Search
1. 0 + 7/2 = 3,5 = 3

2. 0 + 5/2 = 2,5 = 2

Kesimpulan :
Dari pembahasan contoh soal di atas dapat disimpulkan bahwa jika mencari data yang sudah terurut maka metode yang paling efisien digunakan adalah metode Binary Search dan sebaliknya jika kita ingin mencari data yang teracak metode yang sebaiknya digunakan adalah metode Sequantial Search


penjeleasan binary search di dapat dari laman berikut INi

Oke guys kali ini cukup penjelasan saya untuk searching Terimakasih dan salam ShareCode

4 comments:

  1. gan itu kalo ada inputan angka yang sama terus mau menampilkan kedua angka itu gimana ya

    ReplyDelete
  2. MAKASIHHH BANGETTT KAKKKK TUGASKU JADI KEBANTU
    ^_^

    ReplyDelete
  3. Bagaimana kalau yang dicari ternayata terfapat 2 elemen??
    Bagaimna cara menampilkan keduanya??

    ReplyDelete