Pages

Subscribe:

Ads 468x60px

♪ ♥ Get Paid Daily - The Best Sites PTC ♥ ♪
DonkeyMails.com: No Minimum Payout
AyuWage Services - Get Paid to Visits Sites and Complete Surveys

Minggu, 15 Juli 2012

Array (Sorting)

methode rekursif adalah perulangan dengan menggunakan teknik memanggil methode itu sendiri. reskursif tidak mengunakan teknik perulangan iteratif (misalnya for atau while). berikut contoh programnya:SORTING – NON GUI
Nama program: bubbleSort.java


public class BubbleSort {

public static void main(String[] args) {

int array[] = new int[5];

array[0] = 7;
array[1] = 5;

array[2] = 3;

array[3] = 8;

array[4] = 2;

for(int index=0; index<array.length; index++) {

System.out.print(array[index] + ” “);

 }

System.out.println(“”);<!--more-->

int kanan;

int kiri;
for(kanan=array.length-1; kanan>0; kanan–) {

for(kiri=0; kiri<kanan; kiri++) {

if( array[kiri] > array[kiri+1] ) {

int temp = array[kiri];

array[kiri] = array[kiri+1];

array[kiri+1] = temp;

}

}
}
Output program:
7 5 3 8 2
2 3 5 7 8

Nama program: SelectionSort.java

<strong>
</strong>

public class SelectionSort {

public static void main(String[] args) {

int array[] = new int[5];

for(int index=0; index<array.length; index++) {

array[index] = (int) (Math.random()*100);

 }

for(int index=0; index<array.length; index++) {

System.out.print(array[index] + ” “);

}

System.out.println();
18
19int x, y, min;
20 for(x=0; x<array.length; x++) {
21 min = array[x];
22 for(y=x+1; y<array.length; y++) {
23 if(array[y] < array[x]) {
24 min = array[y];
25 int temp = min;
26 array[y] = array[x];
27 array[x] = temp;
28 }
29 }
30 }
31
32for(int index=0; index<array.length; index++) {
33 System.out.print(array[index] + ” “);
34 }
35 System.out.println();
36 }
37
38}
Output program:
9 69 96 97 47
9 47 69 96 97
Nama program: InsertionSort.java
01public class InsertionSort {
02
03public static void main(String[] args) {
04
05int array[] = new int[5];
06 array[0] = 7;
07 array[1] = 5;
08 array[2] = 3;
09 array[3] = 8;
10 array[4] = 2;
11
12int a;
13 int b;
14
15for(int index=0; index<array.length; index++) {
16 System.out.print(array[index] + ” “);
17 }
18 System.out.println(“”);
19
20for(a=1; a<array.length; a++)
21 {
22 int temp = array[a];
23 b = a;
24 while(b>0 && array[b-1] >= temp)
25 {
26 array[b] = array[b-1];
27 –b;
28 }
29 array[b] = temp;
30 }
31
32for(int index=0; index<array.length; index++) {
33 System.out.print(array[index] + ” “);
34 }
35 System.out.println(“”);
36 }
37 }
Output program:
7 5 3 8 2
2 3 5 7 8
SORTING – GUI

Nama program: SortingGui.java
01import javax.swing.*;
02 import java.awt.*;
03 import java.awt.event.ActionListener;
04 import java.awt.event.ActionEvent;
05
06public class SortingGui {
07
08JPanel panelTengah = new JPanel();
09 JPanel panelKanan = new JPanel();
10 JPanel panelBawah = new JPanel();
11 JPanel panelSemua = new JPanel();
12 JTextField[] fieldArray = new JTextField[10];
13 JLabel[] label = new JLabel[10];
14 JTextField sisipElemen = new JTextField(5);
15 JButton buttonSisip = new JButton(“Sisip”);
16 JTextField hapusElemen = new JTextField(5);
17 JButton buttonHapus = new JButton(“Hapus”);
18 JButton buttonLinearSort = new JButton(“Linear Sort”);
19 JButton buttonInsertionSort = new JButton(“Insertion Sort”);
20 JButton buttonBubbleSort = new JButton(“Bubble Sort”);
21
22SortingGui() {
23 BorderLayout bl = new BorderLayout();
24 panelSemua.setLayout(bl);
25
26GridLayout gl = new GridLayout(10, 2);
27 panelTengah.setLayout(gl);
28 for (int x = fieldArray.length-1; x >=0; x–) {
29 panelTengah.add(label[x] = new JLabel(Integer.toString(x)));
30 panelTengah.add(fieldArray[x] = new JTextField(5));
31 }
32 panelSemua.add(“Center”, panelTengah);
33
34GridLayout gl2 = new GridLayout(2, 2);
35 panelKanan.setLayout(gl2);
36 panelKanan.add(sisipElemen);
37 panelKanan.add(buttonSisip);
38 panelKanan.add(hapusElemen);
39 panelKanan.add(buttonHapus);
40 panelSemua.add(“North”, panelKanan);
41
42GridLayout gl3 = new GridLayout(2, 2);
43 panelBawah.setLayout(gl3);
44 panelBawah.add(buttonLinearSort);
45 panelBawah.add(buttonInsertionSort);
46 panelBawah.add(buttonBubbleSort);
47 panelSemua.add(“South”, panelBawah);
48
49JFrame jendela = new JFrame(“Sorting GUI”);
50 jendela.setContentPane(panelSemua);
51 //jendela.setSize(200,400);
52 //jendela.setResizable(false);
53 jendela.pack();
54 jendela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
55 jendela.setVisible(true);
56
57ProsesSorting proses = new ProsesSorting(this);
58 buttonSisip.addActionListener(proses);
59 buttonHapus.addActionListener(proses);
60 buttonLinearSort.addActionListener(proses);
61 buttonInsertionSort.addActionListener(proses);
62 buttonBubbleSort.addActionListener(proses);
63 }
64
65public static void main(String[] args) {
66 SortingGui sort = new SortingGui();
67 }
68 }
Nama program: ProsesSorting
001import java.awt.Color;
002 import javax.swing.JOptionPane;
003 import java.awt.event.*;
004 public class ProsesSorting implements ActionListener {
005
006SortingGui induk;
007 int array[] = new int[10];
008 int nElemen = 0;
009
010ProsesSorting(SortingGui induk) {
011 this.induk = induk;
012 }
013
014public void actionPerformed(ActionEvent kejadian) {
015
016if(kejadian.getSource() == induk.buttonSisip) {
017 array[nElemen] = Integer.parseInt(induk.sisipElemen.getText());
018 //int sisip = Integer.parseInt(induk.sisipElemen.getText());
019 induk.fieldArray[nElemen].setText(Integer.toString(array[nElemen]));
020 induk.fieldArray[nElemen].setBackground(Color.green);
021 induk.sisipElemen.setText(“”);
022 nElemen++;
023 tampil();
024 }
025 else if(kejadian.getSource() == induk.buttonHapus){
026 int j;
027
028for(int x=0; x<nElemen; x++) {
029 induk.fieldArray[x].setText(“”);
030 }
031
032for(j=0; j<nElemen; j++){
033 if( Integer.parseInt(induk.hapusElemen.getText()) == array[j] )
034 break;
035 }
036 if(j==nElemen)
037 JOptionPane.showMessageDialog(null, “tidak ada”);
038 else
039 {
040 for(int k=j; k<nElemen; k++) {
041 array[k] = array[k+1];
042 //nElemen–;
043 }
044 nElemen–;
045 induk.fieldArray[nElemen].setBackground(Color.white);
046 }
047 induk.hapusElemen.setText(“”);
048 tampil();
049 } else if(kejadian.getSource() == induk.buttonLinearSort) {
050 for(int x = 0; x<nElemen-1; x++) {
051 for(int y = x+1; y<nElemen; y++) {
052 if(array[x] > array[y]){
053 int temp = array[x];
054 array[x] = array[y];
055 array[y] = temp;
056 }
057 }
058 }
059 tampil();
060 } else if(kejadian.getSource() == induk.buttonInsertionSort) {
061 int in, out;
062 for(out=1; out<nElemen; out++)
063 {
064 int temp = array[out];
065 in = out;
066 while(in>0 && array[in-1] >= temp)
067 {
068 array[in] = array[in-1];
069 –in;
070 }
071 array[in] = temp;
072 }
073 tampil();
074
075} else if(kejadian.getSource() == induk.buttonBubbleSort) {
076 for (int x = nElemen-1; x > 1; x–) {
077 for (int y = 0; y < x; y++) {
078 if (array[y] > array[y + 1]) {
079 int temp = array[y];
080 array[y] = array[y + 1];
081 array[y + 1] = temp;
082 }
083 }
084 }
085 tampil();
086 }
087
088}
089
090public void tampil(){
091 for(int x=0; x<nElemen; x++) {
092 induk.fieldArray[x].setText(” “);
093 }
094
095for(int x=0; x<nElemen; x++) {
096 induk.fieldArray[x].setText(Integer.toString(array[x]));
097 }
098 }
099
100}
Output program:
Elemen array sebelum diurutkan
Elemen array sebelum diurutkan
Elemen array setelah diurutkan
Elemen array setelah diurutkan

0 komentar:

Posting Komentar

Please Give Your Feedback Or Message.
Thank You!!?

Unique 1:1 Traffic Exchange

♪ ♥ Ma liste de blogs ♥ ♪

♪ ♥ Please Votes! Thanks. ♪ ♥
×