Banner Java

Mencari Elemen Larik (Array) Dengan Pendekatan Linear Search

Tidak kalah penting dari proses pengurutan elemen larik adalah proses mencari elemen tertentu di larik. Pegawai bank perlu mencari nomor rekening nasabah untuk melakukan perubahan data terbaru. Sebuah mesin ATM perlu mencari nomor pin kartu ATM yang dimasukkan untuk dapat mengambil data saldo uang yang masih tersisa. Mencari elemen tertentu di larik adalah proses yang juga umum dalam pemrograman komputer.

Pencarian elemen tertentu di larik menggunakan pendekatan linear search umumnya hanya efektif apabila jumlah elemen larik tidak banyak. Linear search membandingkan nilai elemen yang dicari dengan nilai elemen yang terdapat di larik. Proses pencarian terus berlangsung sampai ditemukan kecocokan antara nilai elemen yang dicari dengan salah satu nilai elemen yang ada di larik atau sampai semua elemen di larik habis tanpa ditemukan kecocokan. Metoda akan mengembalikan indek elemen larik yang cocok dengan nilai dicari. Apabila tidak ditemukan kecocokan, metoda akan mengembalikan nilai -1. Untuk menggunakan pendekatan linear search, elemen larik bisa dalam keadaan terurut maupun acak. Berikut ini adalah contoh program untuk mencari elemen di larik menggunakan pendekatan linear search.

// Nama file : LinearSearch.java
// Mencari nilai elemen dengan metoda linear search

// Mengimpor kelas
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

// Deklarasi kelas
public class LinearSearch {

   // Metoda main
   public static void main(String[] args) {

      String tampilan;
      JTextArea areaTampilan;
      int nilai;
      int indek;
   
      // Mendeklarasi, membuat dan menginisialisasi
      // dan menampilkan elemen
      int[] nilaiInt = {4, 10, 8, 6, 7, 1, 5, 3, 9, 2};
      tampilan = "Menampilkan nilai elemen larik :\n";
      for (int x = 0; x < nilaiInt.length; x++)
         tampilan += nilaiInt[x] + "   ";

      // Nilai elemen dicari dan pemanggilan metoda
      nilai = 5;
      indek = mencariDenganLS(nilaiInt, nilai);

      // Menampilkan hasil
      tampilan += "\nNilai elemen yang dicari : " + nilai;
      tampilan += "\nNilai ditemukan pada indek : " + indek;
      areaTampilan = new JTextArea();
      areaTampilan.setText(tampilan);
      JOptionPane.showMessageDialog(null, areaTampilan, "Linear Search",
         JOptionPane.INFORMATION_MESSAGE);

      // Mengakhiri aplikasi
      System.exit(0);
  
   } // Akhir blok metoda main

   // Metode dengan pendekatan linear search
   public static int mencariDenganLS(int[] larikC, int nilaiDicari) {
      
      for (int j = 0; j < larikC.length; j++) {
         if (nilaiDicari == larikC[j])
            return j;
      }
  
      // Bila tidak ditemukan kecocokan
      return -1;
   
   } // Akhir blok metoda mencariDenganLS
}

Baris nomor 44 – 54 adalah deklarasi metoda mencariDenganLS untuk mencari elemen yang tersimpan di larik nilaiInt. Nilai dicari yang tersimpan di parameter nilaiDicari (nilaiDicari berisi nilai dari variabel nilai) dibandingkan dengan nilai elemen larik (baris nomor 47). Apabila nilai yang dicari ditemukan kecocokan dengan salah satu nilai elemen di larik, metode mencariDenganLS mengembalikan indek dari elemen larik (baris nomor 48). Apabila belum ditemukan kecocokan dan elemen larik masih ada, nilai kunci (nilai yang dicari) akan terus dibandingkan dengan nilai elemen larik yang tersisa melalui iterasi perulangan for. Apabila tidak ditemukan kecocokan, sedangkan semua elemen yang tersimpan telah habis dibandingkan, metode mencariDenganLS akan mengembalikan nilai -1 (baris nomor 52). 

Mencari elemen larik

Baca artikel terkait lainnya:

Untuk memperbaiki mutu konten, Anda dapat berpartisipasi dengan cara melaporkan apabila menemukan kesalahan ketik, kata-kata rangkap, redaksi kurang pas (jelas), gambar pendukung tidak ada dan sebagainya melalui form Kontak Kami untuk mendapatkan perbaikan. Terima kasih atas kerjasamanya.

Hindro HindriantoHindro adalah pendiri sekaligus admin termasmedia.com dan topikit.com, blog online yang mengulas teknologi informasi. Dunia web mulai ditekuni tahun 2012 dengan mempelajari CMS Joomla dan Wordpress. Beberapa buku yang sekarang dipelajari antara lain PHP, HTML5, ASP.NET 4.5, JavaScript, CSS3, MySQL, Adobe Dreamweaver, Adobe Photoshop dan Adobe Flash.