Thursday 8 January 2015

PENCARIAN

No comments :
1 PENGANTAR
             Pencarian data (searching) adalah suatu proses untuk mengumpulkan sejumlah informasi didalam pengingat komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin.

2 METODA PENCARIAN DATA

2.1 Pencarian Berurutan (Sequential Searching)
            Metoda yang paling sederhana dari sejumlah metoda pencarian adalah metoda pencarian berurutan (sequential searching). Secara garis besar metoda ini bisa dijelaskan sebagai berikut :

  •  Dari vektor yang diketahui, data yang dicari dibandingkan satu persatu sampai data tersebut ditemukan atau tidak ditemukan. Pada saat data yang dicari sudah ketemu, maka proses pencarian langsung dihentikan.
  • Tetapi jika data yang dicari belum ketemu, maka pencarian diteruskan sampai seluruh data dibandingkan.

            Dalam algoritma berikut, jika data yang dicari tidak ditemukan maka data tersebut akan ditambahkan pada vektor yang sudah ada, dan diletakkan sebagai elemen paling akhir.

Algoritma CARI_BERURUTAN
Langkah 0     Baca vektor yang diketahui, misalnya vektor A dengan N elemen.
Langkah 1     Baca data yang akan dicari, misalnya Data.
Langkah 2     (Inisialisasi)
                      Tentukan : Ada = false.
Langkah 3     (Proses pencarian)
                      Untuk I = 1 sampai N kerjakan langkah 4.
Langkah 4     Test apakah : Data = A [I] ?
                      Jika ya, (berarti data ketemu), tentukan :
                             Ada = true, Posisi = I, dan I = N.
Langkah 5     (Menambahkan data pada vektor, jika diperlukan)
                      Test apakah Ada = false ?
                       Jika ya, (data tidak ketemu), tentukan :
                             N = N + 1, dan A [I] = Data.
Langkah 6 Selesai.

2.2 Pencarian Biner (Binary Search)
              Pencarian biner (binary search) adalah metoda pencarian untuk mencari data pada vektor yang elemennya telah diurutkan. Metoda pencarian biner dijelaskan sebagai berikut :

  • Setelah vektor yang diketahui diurutkan, vektor tersebut dibagi menjadi dua subvektor yang mempunyai jumlah elemen yang sama.
  •  Bandingkan data dengan data terakhir dari subvektor pertama. Jika data yang dicari lebih kecil, pencarian diteruskan pada subvektor pertama dengan terlebih dahulu membagi dua subvektor tersebut.
  • Jika data yang dicari lebih besar dari data terakhir pada subvektor pertama, berarti data yang dicari kemungkinan terletak pada subvektor kedua. Dengan demikian pencarian dilakukan pada subvektor kedua.
  • Ulangi proses sampai data yang dicari ditemukan atau tidak ditemukan.

Algoritma BINER
Langkah 0       Baca vektor yang diketahui, misalnya vektor A dengan N buah elemen, urutkan secara urut naik.
Langkah 1       Baca elemen yang akan dicari, misalnya Data.
Langkah 2       (Inisialisasi)
                        Tentukan : Ada = false,
                            Atas = N, dan Bawah = 1.
Langkah 3        Kerjakan langkah 4 dan 5 selama Atas >= Bawah.
Langkah 4        (Menentukan batas subvektor)
                         Tentukan : Tengah = (Atas + Bawah) div 2.
Langkah 5        Test nilai Data terhadap A [Tengah]
                          Jika Data > A [Tengah], (ada di subvektor 2),
                                 tentukan : Bawah = Tengah + 1
                         Jika Data < A [Tengah], (ada di subvektor 1),
                                 tentukan : Atas = Tengah – 1
                         Jika Data = A [Tengah], (ketemu),
                                  tentukan : Ada = true,
                                              Posisi = Tengah, dan Bawah = Atas + 1
Langkah 6        Selesai.

No comments :

Post a Comment