Terdapat dua algoritma pencarian elemen array yaitu algoritma linear search dan binary search. Dalam artikel pertama ini ditulis contoh program yang menggunakan pencarian elemen array dengan algoritma linier search.
Ada dua contoh program, linear search berbasis teks dan GUI (graphical
user interface). Untuk algoritma yang lain akan ditulis pada artikel
berikutnya.
LINEAR SEARCH – NON GUINama Program: linearSearch.Java
public class linearSearch {
public static void main(String[] args) {
int array[] = new int[5];
array[0] = 10;
array[1] = 25;
array[2] = 15;
array[3] = 35;
array[4] = 5;
for(int index=0; index<array.length; index++) {
System.out.print(array[index] + ” “);
}
System.out.println(“”);
int cari = 25;
boolean ketemu = false;
for(int index=0; index<array.length; index++) {
if(array[index] == cari){
ketemu = true;
break;
}
}
if(ketemu == true) {
System.out.println(“elemen ” + cari + ” ditemukan…”);
} else {
System.out.println(“elemen ” + cari + ” tidak ditemukan…”);
}
}
}
Output program:
10 25 15 35 5
elemen 25 ditemukan…
LINEAR SEARCH – GUI
Nama Program: LinearSearchGui.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class LinearSearchGui {
JPanel panelKiri = new JPanel();
JPanel panelKanan = new JPanel();
JPanel panelSemua = new JPanel();
JTextField[] fieldArray = new JTextField[10];
JLabel[] label = new JLabel[10];
JTextField sisipElemen = new JTextField(5);
JButton buttonSisip = new JButton(“Sisip”);
JTextField hapusElemen = new JTextField(5);
JButton buttonHapus = new JButton(“Hapus”);
JTextField cariElemen = new JTextField(5);
JButton buttonCari = new JButton(“Cari”);
LinearSearchGui() {
BorderLayout bl = new BorderLayout();
panelSemua.setLayout(bl);
GridLayout gl = new GridLayout(10,2);
panelKiri.setLayout(gl);
for(int x=0; x<fieldArray.length; x++) {
panelKiri.add(label[x] = new JLabel(Integer.toString(x)));
panelKiri.add(fieldArray[x] = new JTextField(5));
}
panelSemua.add(“Center”,panelKiri);
GridLayout gl2 = new GridLayout(3,2);
panelKanan.setLayout(gl2);
panelKanan.add(sisipElemen);
panelKanan.add(buttonSisip);
panelKanan.add(hapusElemen);
panelKanan.add(buttonHapus);
panelKanan.add(cariElemen);
panelKanan.add(buttonCari);
panelSemua.add(“North”,panelKanan);
JFrame jendela = new JFrame(“Array GUI”);
jendela.setContentPane(panelSemua);
jendela.setSize(200,400);
jendela.setResizable(false);
//jendela.pack();
jendela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jendela.setVisible(true);
LinearSearchProcess proses = new LinearSearchProcess(this);
buttonSisip.addActionListener(proses);
buttonHapus.addActionListener(proses);
buttonCari.addActionListener(proses);
}
public static void main(String[] args) {
LinearSearchGui linearSearch = new LinearSearchGui();
}
}
Nama Program: LinearSearchProcess.java
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class LinearSearchProcess implements ActionListener {
int array[] = new int[10];
int nElemen = 0;
LinearSearchGui induk;
LinearSearchProcess(LinearSearchGui induk) {
this.induk = induk;
}
public void actionPerformed(ActionEvent kejadian) {
if(kejadian.getSource() == induk.buttonSisip) {
array[nElemen] = Integer.parseInt(induk.sisipElemen.getText());
induk.fieldArray[nElemen].setText(Integer.toString(array[nElemen]));
induk.fieldArray[nElemen].setBackground(Color.green);
induk.sisipElemen.setText(“”);
nElemen++;
tampil();
}
else if(kejadian.getSource() == induk.buttonHapus){
int j;
for(int x=0; x<nElemen; x++) {
induk.fieldArray[x].setText(“”);
}
for(j=0; j<nElemen; j++){
if( Integer.parseInt(induk.hapusElemen.getText()) == array[j] )
break;
}
if(j==nElemen)
JOptionPane.showMessageDialog(null, “tidak ada”);
else
{
for(int k=j; k<nElemen; k++) {
array[k] = array[k+1];
//nElemen–;
}
nElemen–;
induk.fieldArray[nElemen].setBackground(Color.white);
}
induk.hapusElemen.setText(“”);
tampil();
}
else if(kejadian.getSource() == induk.buttonCari) {
int cari = Integer.parseInt(induk.cariElemen.getText());
//int cari = 35;
boolean ketemu = false;
int index;
for(index=0; index<nElemen; index++) {
if(array[index] == cari){
ketemu = true;
break;
}
}
if(ketemu == true) {
JOptionPane.showMessageDialog(induk.panelSemua, “elemen ” + cari + ” ditemukan…”);
} else if (ketemu == false) {
JOptionPane.showMessageDialog(induk.panelSemua,”elemen ” + cari + ” tidak ditemukan…”);
}
induk.cariElemen.setText(“”);
}
}
public void tampil(){
for(int x=0; x<nElemen; x++) {
induk.fieldArray[x].setText(” “);
}
for(int x=0; x<nElemen; x++) {
induk.fieldArray[x].setText(Integer.toString(array[x]));
}
}
}
Output program:
Penyisipan elemen array
Pencarian elemen array
0 komentar:
Posting Komentar
Please Give Your Feedback Or Message.
Thank You!!?