Mencari elemen tertentu di larik menggunakan pendekatan linear search akan efektif bila jumlah elemen larik tidak banyak. Linear search akan membandingkan nilai elemen yang dicari dengan nilai elemen yang ada di dalam 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.
Baca artikel Mencari Elemen Larik (Array) Dengan Pendekatan Binary Search Di Java
Metoda akan mengembalikan indek elemen larik yang cocok dengan nilai yang dicari. Apabila tidak ditemukan kecocokan, metoda akan mengembalikan nilai -1. Untuk pencarian dengan pendekatan linear search, elemen larik bisa dalam keadaan terurut atau acak. Berikut ini adalah contoh program Java mencari elemen di larik menggunakan pendekatan linear search.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | // 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 blok metoda mencariDenganLS untuk mencari elemen di larik nilaiInt. Nilai dicari yang tersimpan di parameter nilaiDicari kemudian dibandingkan dengan nilai elemen larik (baris nomor 47). Bila telah ditemukan kecocokan dengan salah satu nilai elemen larik, metode mencariDenganLS mengembalikan (return) indek dari elemen larik (pernyataan baris nomor 48).
Baca artikel:
- Pengertian Dan Deklarasi Larik (Array) Di Java
- Menggunakan Notasi Pendek Larik (Array Initializer) Di Java
Bila belum ditemukan kecocokan dan elemen larik masih ada, nilai kunci atau nilai yang dicari akan terus dibandingkan dengan nilai elemen larik yang tersisa melalui iterasi perulangan for. Bila tidak ditemukan kecocokan, sedangkan semua elemen yang tersimpan sudah habis dibandingkan, metode mencariDenganLS akan mengembalikan nilai -1 (baris nomor 52).