Laman

Tampilkan postingan dengan label Java. Tampilkan semua postingan
Tampilkan postingan dengan label Java. Tampilkan semua postingan

Sabtu, 23 Juni 2012

Knight Tour menggunakan algoritma Depth First Search(DFS)

Sudah lama sejak terakhir posting karena disibukan oleh tugas-tugas dan project yang menumpuk semester kemaren akhirnya bisa posting lagi..

Apa sih Knight Tour itu?? pasti uda pada tau semuanya kan. Bagi yang belum tau Knight Tour itu adalah semacam permainan yang mengharuskan kita menjalankan bidak kuda (itu loh yang ada di catur yang bentuk kuda pastinya. Yang jalannya bentuk “L”) melewati semua kotak yang ada di papan catur tanpa ada satu kotak yang dilewati 2 kali. Ngertikan?? pasti pada ngerti dong..
Oke aku bikin program ini menggunakan algoritma Depth First Search, penjelasannya teman-teman bisa lihat disini.

Jadi program yang saya bikin kayak gini


  1. public void processKnightTour(int indexX, int indexY, int size){  
  2.     int[] x={2,2,-2,-2,1,1,-1,-1};  
  3.     int[] y={1,-1,1,-1,2,-2,2,-2};  
  4.     countStep=0;  
  5.     int indexList,i,j;  
  6.     int sizeBoard=size;  
  7.     workList = new ArrayList();  
  8.     node[indexX][indexY] = 1;  
  9.     workList.add(new Coordinate(indexX, indexY));  
  10.     current =(Coordinate) workList.get(workList.size()-1);  
  11.     boolean statusChild;  
  12.     //int nilaiCurrent;  
  13.     while(node[current.getRow()][current.getColumn()] != sizeBoard*sizeBoard){  
  14.         //nilaiCurrent = node[current.getRow()][current.getColumn()];  
  15.         statusChild = false;  
  16.         for(int loop=0; loop<8; loop++){  
  17.             if(current.getRow()+x[loop]>=0 && current.getRow()+x[loop] < sizeBoard && current.getColumn()+y[loop]>=0 && current.getColumn()+y[loop] < sizeBoard){  
  18.                 if(node[(current.getRow()+x[loop])][(current.getColumn()+y[loop])]==0){   
  19.                     workList.add(new Coordinate(current.getRow()+x[loop], current.getColumn()+y[loop], current));  
  20.                     statusChild = true;  
  21.                 }  
  22.             }      
  23.         }  
  24.           
  25.         if(statusChild == true){  
  26.             workList.remove(workList.indexOf(current));  
  27.         }else{  
  28.             after = (Coordinate) workList.get(workList.size()-2);  
  29.             if(!current.getParent().equals(after.getParent())){  
  30.                 for(i=0; i<sizeBoard; i++){  
  31.                     for(j=0;j<sizeBoard;j++){  
  32.                         if(node[i][j]>node[after.getParent().getRow()][after.getParent().getColumn()]){  
  33.                             node[i][j]=0;  
  34.                         }  
  35.                     }  
  36.                 }  
  37.             }  
  38.             node[current.getRow()][current.getColumn()] = 0;                  
  39.             workList.remove(workList.size()-1);                  
  40.         }  
  41.         current = (Coordinate) workList.get(workList.size()-1);  
  42.         node[current.getRow()][current.getColumn()] = (node[current.getParent().getRow()][current.getParent().getColumn()])+1;              
  43.         countStep++;  
  44.     }          
  45. }  
penjelasannya gini..

Selasa, 15 Februari 2011

Program Terbilang by BlackAnt "JAVA"

karna uda ngga ada kerjaan di kosan maka saya membuat program ini untuk menghabiskan waktu.

program ini cukup simpel yaitu agan tinggal masukan nilai kedalam textfield dan tekak button terbilang maka hasil dari penerjemahan akan ditampilkan di textarea.






dan berikut ini programnya...


<<<<<<<<<<++++++++++>>>>>>>>>>

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.event.ActionEvent;
public class coba0100{
   

Senin, 14 Februari 2011

Tugas Program Kelas Visual Programing

Inilah hasil dari kelas Visual Programing 14 Februari 2011.



<<<<<<<<<<++++++++++>>>>>>>>>>

import java.awt.*;
import javax.swing.*;

public class coba0011 extends JFrame{
    public static void main(String [] args){
        coba0011 coba = new coba0011();
        coba.setVisible(true);
    }
   
    coba0011(){
        this.setSize(300,200);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setTitle("-------------");
        this.setLocationRelativeTo(null);
       
        aturpanel1();
        aturpanel2();
        aturpanel3();
    }
   
    JTextField textfield(){
        JTextField text = new JTextField(50);
        text.setPreferredSize(new Dimension (30,40));
        return text;
    }
   

Minggu, 13 Februari 2011

Program untuk Summary Visual Programing 0001



ini gan program yang mengandung semua yang ada di posting sebelumnya <<<summary visual programing 0001>>>.
soalnya tugas ini barengan...
kalau ada yang mau copy di buat beda-beda yah biar ngga ketahuan gitu.. hehehehee...

brikut programnya...

Summary Visual Programing 0001


JButton
JButton merupakan komponen GUI yang menyerupai tombol dan ketika tombol ini diklik, perintah tertentu akan dijalankan
JButton() -> membuat JButton tanpa teks maupun icon
JButton(String teks) -> membuat JButton dengan teks
JButton(Icon icon) -> membuat JButton dengan icon
JButton(String teks, Icon icon) -> membuat JButton dengan teks dan icon


JLabel
JLabel merupakan komponen grafik yang dapat menampung tulisan dan/atau icon. Pembuatan JLabel dapat dilakukan dengan konstruktor berikut.
JLabel(String teks) -> JLabel dengan teks
JLabel(String teks, Int i) -> JLabel dengan teks dan alignment (perataan). Terdapat tiga jenis alignment: LEFT, CENTER, dan RIGHT.
JLabel(String teks, Icon icon, Int i) -> Jlabel dengan teks, iconm dan alignment(perataan).


JPanel

JFrame baru dapat diisi dengan komponen setelah lebih dahulu diletakkan Kontainer, kontainer merupakan komponen khusus yang berguna untuk menampung komponen GUI lainnya

JPanel() -> membuat JPanel.

JToolBar

Seperti menu bar, class JToolBar merupakan wadah untuk berbagai komponen. Anda dapat menambahkan komponen apapun di toolbar, termasuk buttom, combo box, dan bahkan menu tambahan. Seperti menu, toolbar bekerja dengan ketika dipasangkan dengan objek Action.

JToolBar() -> JToolBar tanpa nama dan orientasi.Terdapat 2 orientasi yaitu HORIZONTAL  atau VERTICAL.
JToolBar(String name) -> JToolBar dengan teks.
JToolBar(int orientation) -> JToolBar dengan orientasi tanpa teks.
JToolBar(String name,int orientation) -> JToolBar dengan teks dan orientasi.

Program Calculator Sederhana


Aku buat program ini karna ngga ada kerjaan di kosan.
karna mumpung ada  waktu luwang jadi coba coba buat.

buat agan-agan sekalian tolong di lihat kalo ada yang salah atau ada cara yang lebih singkat.
di share yah ke aku.. soalnya baru dalam tahap belajar bahasa java..
mohon bantuannya....


berikut ini programnya...