Langsung ke konten utama

Searching Menggunakan Sequential & Binary Array

                                    

Searching adalah proses pencarian suatu data, dalam array, pencarian data dibagi menjadi dua, yaitu Sequential dan Binary Array. Sequential Search sendiri digunakan disaat kondisi data dalam sebuah array tidak berurutan, sedangkan Binary Search digunakan jika kondisi data sebuah array sudah berurutan. Sekarang kita akan mempelajari, bagaimana cara penggunaan Sequential Search maupun Binary Search. Pertama - tama kita akan mempelajari bagaimana penggunaan Sequential Search.

1. SEQUENTIAL SEARCH
Proses penggunaan Sequential Search sendiri dilakukan dengan cara membandingkan sebuah data yang akan kita cari dengan isi sebuah array. Untuk membandingkannya, kita diharuskan memulai dari index ke - 0 sampai index - (n - 1). Dibawah adalah contoh pencarian Sequential Search :



Dari data acak diatas, seumpama kita akan mencari sebuah data yang berisi 21, nah bagaimana proses Pencarian data tersebut menggunakan Sequential Search? Mari kita bahas bersama.

Sebelum kita beranjak ke proses pencariannya, mari kita buat dulu pseudocode nya terlebih dahulu.
1. Index = 0
2. Input kriteria
3. While kriteria tidak sama dengan X[index]
4. index ++;
5. jika kriteria sama dengan X[index]
6. Output ketemu = X[index]
(Note : maksud dari X[index] sama dengan nama_array[index])

atau juga penulisan dalam code seperti berikut :
index = 0
kriteria = 21
While(kriteria = X[index];
{
     index++;
}
ketemu = X[index]

Sekarang kita memasuki tahap pencarian data :
Kriteria = 21


1. Apakah kriteria = 21 tidak sama dengan X[0] (77)
    ya maka index++
2. Apakah kriteria = 21 tidak sama dengan X[1] (34)
    ya maka index++
3. Apakah kriteria = 21 tidak sama dengan X[2] (21)
    bukan
    Ketemu = X[2] (21)

Nah, seperti itu lah cara pencarian menggunakan Sequential Search, itu baru ada 6 index, bayangin saja kalau ada 1000 index :D. Sekarang mari kita melanjutkan ke Binary Search.

2. BINARY SEARCH
Binary Search sendiri merupakan cara tercepat untuk pencarian data secara beruntun (data dalam array beraturan), dimana proses pencariannya sendiri dengan membandingkan data nilai tengah dari sebuah array, tetapi Binary Search tidak bisa digunakan mencari data secara acak. Dibawah adalah contoh pencarian menggunakan Binary Search :



Dari data berurutan diatas, kita akan mencari data 72. Sebelum mencari data nya, kita akan mencari dulu, dimana letak dari data tengahnya menggunakan cara seperti berikut :
(index awal + index akhir) / 2 =
(0 + 6) / 2 = 6 / 2 = 3
Dari cara diatas ditemukan index ke - 3 merupakan index tengah dari array diatas :



Seperti biasa, kita tulis dulu pseudocodenya terlebih dahulu :
1. Tengah = (index awal + index akhir) / 2
2. Input kriteria
3. Jika kriteria > Tengah, maka nilai awal = Tengah + 1
4. Jika kriteria < Tengah, maka nilai akhir = Tengah - 1
5. Jika kriteria == Tengah, ketemu Tengah

Sekarang mari kita cari data yang diinginkan :
1. Tengah = X[3]
2. Kriteria = 72
3. 72 > 67
    Awal = Tengah+1
    

4. Tengah = (4+6)/2 = 5
    

5. 72 < 113
    Akhir = Tengah-1
    
    (note = jika data yang dicari tinggal 1 data, maka data tersebut otomatis menjadi nilai tengah)
6. 72 = 72
    Ketemu = X[4] (72)

Begitulah cara pencarian menggunakan binary search. Jadi bagaimana sejauh ini? apa masih ada kesulitan dalam pengerjaan Sequential Search dan Binary Search? jika masih ada kesulitan, beritahu di kolom komentar ya temen - temen :D see you next time.

Komentar

Postingan populer dari blog ini

Cara Membuat Input dan Output menggunakan Javascript

                                         Halo semua, kali ini saya akan memposting sebuah tutorial yang diajarkan oleh dosen saya tentang Input dan Output menggunakan Javascript. KLIK GAMBAR UNTUK MEMPERBESAR !!! Pertama - tama kita membuat file bernama inputoutput.html (Perlu diketahui bahwa saya menggunakan aplikasi notepad++ ) Lalu, buatlah label dan juga textbox seperti gambar ini : Pengertian tag input type : Untuk menentukan inputan apa yang akan kita gunakan semisal TEXT berguna untuk inputan berjenis text jadi hanya menampilkan jenis text. Dan untuk kegunaan id sendiri selain untuk memudahkan manipulasi elemen input di sisi browser, dengan menggunakan JavaScript, dengan adanya id kita bisa mendefinisikan hubungan antara label dan inputan. Dan untuk kegunaan disable pada inputan output berfungsi untuk menonaktifkan textbox nya. Untuk disable sendiri bisa tidak digun...

Cara Membuat Penjumlahan Menggunakan Javascript

                                     Hari ini kita akan membahas cara pembuatan menggunakan javascript. Sebelumnya kita telah mempelajari tentang Input dan Output , sekarang mari kita belajar membuat penjumlahan dalam javascript ☺. Sebelumnya kita membuat file bernama "penjumlahan.html". Setelah itu mari kita membuat inputan tabel dan button terlebih dahulu. Perlu diperhatikan !!!  id pada label disesuaikan sesuai keinginan ya, mau diganti dengan nama lain gpp. Selanjutnya mari kita lihat hasil nya ! Jika hasil dari pembuatan label benar maka hasil saat dijalankan pasti sama. Sekarang mari kita membuat Javascript nya. Jika diperhatikan proses inputan di Javascipt ini sama seperti proses inputan Javascript sebelumnya yang kita pelajari "Proses Input Output", bedanya pada proses inputan kali ini kita menggunakan parseInt. Apa itu parseInt? parseInt berfungsi untuk merubah dari ...

Struktur Data Graph

                                          Hari ini kita akan melanjutkan materi struktur data dengan materi Graph, apa itu Graph? Graph adalah sekelompok simpul – simpul (nodes/vertices) V, dan sekelompok sisi (edges) E yang menghubungkan sepasang simpul. Bayangkan simpul tersebut sebagai lokasi, maka simpul tersebut adalah himpunan lokasi yang ada. Graph juga didefinisikan sebagai himpunan benda – benda yang disebut verteks (node) yang terhubung oleh sisi (edge/arc). Biasanya graph digambarkan sebagai kumpulan titik -titik (melambangkan verteks) yang dihubungkan oleh garis – garis. Graph didalam sistematis dinyatakan sebagai berikut : G = (V,E) Dimana : G = Graph V = Simpul atau Vertex, atau Node, atau Titik E = Busur atau Edge, atau arc Macam – Macam Graph : 1. Undirected Graph Graf yang sisinya tidak mempunyai orientasi arah disebut graph tak berarah. Pada g...