Pemberitahuan:

1. Selamat Datang!.

2. Harap Menikmati Ilmu Yang Ada Di Blog Ini.

3. Manfaatkan Dengan Sebaik-baiknya.

4. Terima Kasih Telah Berkunjung ^o^

Latest Post

Program-Program Java

|
Read more »
Ambil IP

import java.net.*;
public class AmbilIP {
public static void main(String[] args) {
try {
InetAddress ip =
InetAddress.getByName("localhost");
System.out.println(ip.getHostAddress());
System.out.println(ip.getHostName());
}
catch(UnknownHostException e) {
System.out.println(e);
}
}
}


Menu Browser

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.Scanner;
public class Browser{
public static void main(String[] args){
try {
BufferedReader input = new BufferedReader(new
InputStreamReader(System.in));
int menu=0;
int pil;
Scanner masuk = new Scanner(System.in);
while(menu==0){
System.out.println("*******************************");
System.out.println("*       M.S Hadi Prasetyo     *");
System.out.println("*******************************");
System.out.println("1. Membuka URL web *");
System.out.println("2. Pencarian Google *");
System.out.println("3. Pencarian Gambar di Google *");
System.out.println("4. Membuka Google Translate *");
System.out.println("5. Batal *");
System.out.print("");
System.out.print("Ketikkan Pilihan Anda:");
pil = masuk.nextInt();
if(pil < 1 || pil > 5){
System.out.print("");
System.out.println("Input Salah Woyy!");
} else if (pil==5){
System.exit(0);}
switch (pil) {
case 1:
String URL = null;
System.out.print("Ketikkan URL yang ingin Anda cari: ");
URL = input.readLine();
java.awt.Desktop.getDesktop().browse(java.net.URI.create("http://"+URL));
break;
case 2:
String src2 = null;
System.out.print("Ketikkan Kata Pencarian : ");
src2 = input.readLine();
java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://www.google.co.id/#sclient=psy-ab&q="+ src2));
break;
case 3:
String gmbr3 = null;
System.out.print("Ketikkan Nama Gambar : ");
gmbr3 = input.readLine();
java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://www.google.co.id/search?site=imghp&tbm=isch&source=hp&biw=1360&bih=642&q="+ gmbr3));
break;
case 4:
java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://translate.google.co.id/?hl=id&tab=wT#"));
break;
}
}
}
catch (Exception ex) {System.out.println("Error");}
}
}



 Chat Client dan Chat Server

- Chat Client
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ChatClient extends JFrame{
JLabel lblPesan = new JLabel ("Kirim Pesan:");
TextArea taPesan = new TextArea(4,50);
JLabel lblBlasan = new JLabel ("Dari Teman:");
TextArea taBlasan = new TextArea(4,50);
JButton btnSend = new JButton("Send");
JButton btnOpen = new JButton("Open Connection");
JButton btnClose = new JButton("Close Connection");
Socket con = null;
ObjectOutputStream toServer;
ObjectInputStream fromServer;
String Blasan = null;
String inputIPServer;

public void openConnection(){
try{
inputIPServer=JOptionPane.showInputDialog("Inputkan IP Server");
con = new Socket(InetAddress.getByName(inputIPServer),2000);
toServer = new ObjectOutputStream(con.getOutputStream());
}
catch(EOFException ex){
;
}
catch(IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public void sendData(){
try{
toServer.writeObject(taPesan.getText());
taPesan.setText("");
taPesan.requestFocus();
}
catch(EOFException ex){
;
}
catch(IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public void getData(){
try{
fromServer = new ObjectInputStream(con.getInputStream());
Blasan = (String) fromServer.readObject();
taBlasan.setText(Blasan);
}
catch(ClassNotFoundException ex){
    System.out.println("Error");
}
catch(EOFException ex){
;
}
catch(IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public void closeConnection(){
try{
toServer.writeObject("bye");
con.close();
con = null;
}
catch (EOFException ex){
;
}
catch (IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public ChatClient(){
Container c = getContentPane();
c.setLayout(new FlowLayout());
c.add(lblPesan);
c.add(taPesan);
c.add(lblBlasan);
c.add(taBlasan);
c.add(btnOpen);
c.add(btnSend);
c.add(btnClose);

btnOpen.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
openConnection();
}
});

btnSend.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
sendData();
getData();
}
});

btnClose.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
closeConnection();
}
});
}

public static void main(String[]args)
{
ChatClient klien = new ChatClient();
klien.setTitle("Chatting - Client");
klien.setLocation(300,300);
klien.setSize(500,200);
klien.setVisible(true);
klien.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
}

- Chat Server 
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ChatServer extends JFrame{
JLabel lblPesan = new JLabel ("Kirim Pesan:");
TextArea taPesan = new TextArea(4,50);
JLabel lblBlasan = new JLabel ("Dari Teman:");
TextArea taBlasan = new TextArea(4,50);
JButton btnSend = new JButton("Send");
JButton btnClose = new JButton("Close Connection");
ServerSocket sktServer;
Socket conClient;

ObjectInputStream fromClient;
ObjectOutputStream toClient;
String s = null;
Container c;

public void sendData(){
try{
toClient = new ObjectOutputStream(conClient.getOutputStream());
toClient.writeObject(taPesan.getText());
System.out.println(taPesan.getText());
taPesan.requestFocus();
}
catch (EOFException ex){
;
}
catch(NullPointerException npe){
JOptionPane.showMessageDialog(null, "Koneksi Belum Tersambung ! ", "Pesan", JOptionPane.ERROR_MESSAGE);
}
catch (SocketException se){
JOptionPane.showMessageDialog(null, "Koneksi Putus !", "Pesan",JOptionPane.ERROR_MESSAGE);
}
catch (IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public void closeConnection(){
try{
conClient.close();
conClient = null;
System.exit(0);
}
catch (EOFException ex){
;
}
catch (IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
}

public ChatServer()throws IOException{
c = getContentPane();
c.setLayout(new FlowLayout());
c.add(lblPesan);
c.add(taPesan);
c.add(lblBlasan);
c.add(taBlasan);
c.add(btnSend);
c.add(btnClose);

btnSend.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
sendData();
}
});

btnClose.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
closeConnection();
}
});
}

public void terimaKoneksi() throws IOException{
sktServer = new ServerSocket(2000);
conClient = sktServer.accept();
JOptionPane.showMessageDialog(null, "Tersambung dengan Client" + conClient.getInetAddress().toString(), "Pesan", JOptionPane.INFORMATION_MESSAGE);
sktServer.close();

try{
fromClient = new ObjectInputStream(conClient.getInputStream());
do{
try{
s=(String) fromClient.readObject();
taBlasan.setText(s);
}
catch(ClassNotFoundException ex){
System.out.println("Error");
}
}
while(!s.equals("bye"));
}
catch (EOFException ex){
;
}
catch (IOException io){
System.out.println("IO Exception");
io.printStackTrace();
}
finally{
System.out.println("Closed");
conClient.close();
}
}

public static void main(String[] args) throws IOException{
ChatServer svr = new ChatServer();
svr.setTitle("Chatting - Server");
svr.setLocation(300,300);
svr.setSize(500,250);
svr.setVisible(true);
svr.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
svr.terimaKoneksi();
}
}


DisplayNet
 
 import java.io.*;
import java.net.*;
import java.util.*;
public class DisplayNet {
public static void main(String argv[])
throws Exception
{

//panggil method getNetworkInterface0
//untuk mendapatkan semua antarmuka jaringan
//yang digunakan di computer local
Enumeration e = NetworkInterface.getNetworkInterfaces();
//perulangan untuk mengambil tiap antarmuka jaringan
//hasil da\ri method getNetworkInterface0
while(e.hasMoreElements()) {
NetworkInterface netface = (NetworkInterface)e.nextElement();
System.out.println("Net Interface:"+netface.getName());
//ambil semua informasi alamat IP dari
//tiap antarmuka jaringan
Enumeration e2 = netface.getInetAddresses();
//lakukan perulangan untuk tiap alamat IP dari
//yang didapat pada tiap   antarmuka jaringannya
while(e2.hasMoreElements()) {
InetAddress ip = (InetAddress)e2.nextElement();
System.out.println("IP Address:"+ip.toString());
}
}
}
 
}


Hello World 

 public class hello {

    public static void main (String args [] ){
    System.out.println("Hello World");
    }
}


Info Client dan Info Server

- Info Client
 import java.net.*;
import java.io.*;
import java.util.*;
public class InfoClient {
private final int INFO_PORT = 50000;
private final String TargetHost="localhost";
private final String QUIT ="QUIT";

public InfoClient() {
try {

BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
Socket clientSocket = new Socket(TargetHost, INFO_PORT);

DataOutputStream outToServer = new DataOutputStream( clientSocket.getOutputStream());

BufferedReader inFromServer = new BufferedReader( new InputStreamReader( clientSocket.getInputStream()));

System.out.println(inFromServer.readLine());
System.out.println(inFromServer.readLine());
System.out.println(inFromServer.readLine());
System.out.println("");
boolean isQuit = false;
while (!isQuit) {

System.out.print("Perintah Anda :");
String cmd = inFromUser.readLine();
cmd = cmd.toUpperCase();
if (cmd.equals(QUIT)) {
isQuit = true;
}

outToServer.writeBytes(cmd + "\n");

String result = inFromServer.readLine();
System.out.println("Dari Server :" + result);
}

outToServer.close();
inFromServer.close();
clientSocket.close();
}
catch (IOException ioe) {
System.out.println("Error: " + ioe);
}
catch (Exception e) {
System.out.println("Error:" + e);
}
}

public static void main(String[]args) {
new InfoClient();
}
}

- Info Server 
import java.net.*;
import java.io.*;
import java.util.*;
public class InfoServer {
private final int INFO_PORT= 50000;
private String datafromClient;

public InfoServer (){
BufferedReader inFromClient;
DataOutputStream outToClient;
Socket serverSocket;
try{

ServerSocket infoServer=
new ServerSocket(INFO_PORT);
System.out.println("Menunggu Cinta Darimu~ . . . . ");
while(true){

serverSocket=infoServer.accept();
System.out.println("Ada clien"+"yang terkoneksi !!");
inFromClient=
new BufferedReader(
new InputStreamReader(
serverSocket.getInputStream()));
outToClient=
new DataOutputStream(
serverSocket.getOutputStream());

outToClient.writeBytes("InfoServer versi0.1\n"+"hanya untuk testing..\n"+"Silahkan berikan TIME|NET|QUIT\n");

boolean isQuit = false;
while(!isQuit){

datafromClient = inFromClient.readLine();
if(datafromClient.startsWith("TIME")){
outToClient.writeBytes(new
Date().toString()+"\n");


}else if (datafromClient.startsWith("NET")){
outToClient.writeBytes(
InetAddress.getByName("localhost").toString()+"\n");

} else if (datafromClient.startsWith("QUIT"))
{

isQuit = true;
}
}
outToClient.close();
inFromClient.close();
serverSocket.close();
System.out.println("Teknik Komputer 4CF");
}
}
catch(IOException ioe){
System.out.println("error:"+ioe);
}
catch(Exception e){
System.out.println("error:"+e);
}
}
public static void main(String[]args){
new InfoServer();
}
}
 


Perintah

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.Scanner;

public class quis{
public static void main(String[] args){
try {

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
int menu=0;
int pil;
Scanner masuk = new Scanner(System.in);
while(menu==0){
System.out.println("===================");
                System.out.println("========MENU=======");
                System.out.println("===================");
                System.out.println("1. Perintah Shutdown");
                System.out.println("2. Perintah www.Facebook.com");
                System.out.println("3. Exit");
                System.out.println("");
                System.out.println("Masukkan Angka Pilihan Anda");
                System.out.print("Pilih :");

pil = masuk.nextInt();
if(pil<1 || pil<3){
System.out.print("");
System.out.println("Input Benar!!");
} else if(pil==3){
System.exit(0);}

switch (pil) {
case 1:
Runtime rt = Runtime.getRuntime();

                            Process proc;

                            try {
                            proc = rt.exec("CMD /C START Shutdown -s");
                            }
                            catch(Exception e) {
                            System.out.println("Cannot execute application");
}
    break;

case 2:
String src2 = null;

java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://www.facebook.com"));
break;

case 3:
System.exit(0);

}
}
}
catch (Exception ex) {System.out.println("Error");}
}
}
 

 Multichat Client dan Multichat Server 
- Multichat Server
 import java.io.*;
import java.net.*;
import java.util.*;
public class ChatServer {
private static int uniqueld;
private ArrayList<ChatServer.ClientThread> clients;
private int port;
private boolean keepGoing;
public ChatServer() {
this.port=9999;
clients = new ArrayList<>();
}
public void start() {
keepGoing = true;
try {
ServerSocket serverSocket = new ServerSocket(port);
while (keepGoing) {
System.out.println("ChatServer waiting for Clients on port "+port+".");
Socket socket = serverSocket.accept();
if(!keepGoing) {
break;
}
ChatServer.ClientThread t = new ChatServer.ClientThread(socket);
clients.add(t);
t.start();
send("login~"+t.username+"~"+t.username+"sedang login..~Server~\n");
}
try {
serverSocket.close();
for(int i = 0; i<clients.size(); ++i) {
ChatServer.ClientThread tc = clients.get(i);
try {
tc.sInput.close();
tc.sOutput.close();
tc.socket.close();
} catch (IOException ioE) {
}
}
} catch (Exception e) {
System.out.println("Exception closing the server and clients: "+e);
}
} catch (IOException e) {
String msg = "Exception on new ServerSocket: "+e+"\n";
System.out.println(msg);
}
}
private synchronized void send(String message) {
for (int i = clients.size(); --i>=0;) {
ChatServer.ClientThread ct = clients.get(i);
if(!ct.writeMsg(message)) {
clients.remove(i);
System.out.println("Disconnected Client"+ct.username+"removed from list.");
}
}
}
private String getClients() {
String s = "";
for (ClientThread clientThread : clients) {
s+=clientThread.username+":";
}
s+="--";
System.out.println(s);
return s;
}
private synchronized void remove(int id) {
for (int i = 0; i<clients.size(); ++i) {
ChatServer.ClientThread ct = clients.get(i);
if(ct.id == id) {
clients.remove(i);
return;
}
}
}
public static void main(String[] args) {
ChatServer server = new ChatServer();
server.start();
}
private class ClientThread extends Thread {
private Socket socket;
private ObjectInputStream sInput;
private ObjectOutputStream sOutput;
private int id;
private String username;
public ClientThread(Socket socket) {
id = ++uniqueld;
this.socket = socket;
System.out.println("Menciptakan Object Input/Output Streams");
try {
sOutput = new ObjectOutputStream(socket.getOutputStream());
sInput = new ObjectInputStream(socket.getInputStream());
String message = (String) sInput.readObject();
username = message.split("~")[1];
System.out.println(username +"masuk");
} catch (IOException e) {
System.out.println("Exception creating new Input/output Streams: "+e);
} catch (ClassNotFoundException e) {
}
}
@Override
public void run() {
boolean keepGoing = true;
while (keepGoing) {
String message;
try {
message = sInput.readObject().toString();
} catch (IOException e) {
System.out.println(username + "Exception reading Streams: "+e);
break;
} catch (ClassNotFoundException e2) {
break;
}
String type = message.split("~")[0];
String pengirim = message.split("~")[1];
String text = message.split("~")[2];
String kepada = message.split("~")[3];
String response;
switch (type) {
case "postText":
response = "recieveText~"+pengirim+"~"+text+"~"+kepada+"~\n";
send(response);
break;
case "postPrivateText":
response = "receivePrivateText~"+pengirim+"~"+text+"~"+kepada+"~\n";
send(response);
break;
case "login":
response = "login~"+pengirim+"~"+text+"~"+kepada+"~\n";
send(response);
break;
case "logout":
response = "logout~"+pengirim+"~"+text+"~"+kepada+"~\n";
send(response);
break;
case "list":
response = "list-server~"+getClients()+"~~~~~\n";
send(response);
break;
}
}
remove(id);
close();
}
private void close() {
try {
if (sOutput != null) {
sOutput.close();
}
} catch (Exception e) {
}
try {
if (sInput != null) {
sInput.close();
}
} catch (Exception e) {
}
try {
if(socket != null) {
socket.close();
}
} catch (Exception e) {
}
}
private boolean writeMsg(String msg) {
if(!socket.isConnected()) {
close();
return false;
}
try {
sOutput.writeObject(msg);
} catch (IOException e) {
System.out.println("Error sending message to "+username);
System.out.println(e.toString());
}
return true;
}
}
}

- Multichat Client
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.table.DefaultTableModel;

public class ChatClient extends javax.swing.JFrame {
/**
* Creates new form ChatClient
*/
private ObjectInputStream input;
private ObjectOutputStream output;
private Socket socket;
private String server, username;
private int port;
private List<String> clients;



public ChatClient() {

clients = new ArrayList();

initComponents();



}



public boolean start() {

try {

socket = new Socket(server, port);

} catch (Exception ec) {

System.out.println("Error connectiong to server:" + ec);

return false;

}



String msg = "Connection accepted " + socket.getInetAddress() + ":" + socket.getPort();

System.out.println(msg);



try {

input = new ObjectInputStream(socket.getInputStream());

output = new ObjectOutputStream(socket.getOutputStream());

} catch (IOException eIO) {

System.out.println("Exception creating new Input/output Streams: " + eIO);

return false;

}



new ChatClient.ListenFromServer().start();



try {

output.writeObject("login~" + username + "~" + username + " sedang login…~server~\n");

output.writeObject("list~" + username + "~" + username + " sedang login…~server~\n");



} catch (IOException eIO) {

System.out.println("Exception doing login : " + eIO);

disconnect();

return false;

}



return true;

}



private void disconnect() {

try {

// TODO add your handling code here:

output.writeObject("logout~" + username + "~"+ username + " sudah logout…~Server~\n");

} catch (IOException ex) {

//Logger.getLogger(ChatClient.class.getName()).log(Level.SEVERE, null, ex);

}



try {

if (input != null) {

input.close();

}

} catch (Exception e) {

}

try {

if (output != null) {

output.close();

}

} catch (Exception e) {

}

try {

if (socket != null) {

socket.close();

}

} catch (Exception e) {

}

}



/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")


private void initComponents() {



jScrollPane1 = new javax.swing.JScrollPane();

viewTextArea = new javax.swing.JTextArea();

jScrollPane2 = new javax.swing.JScrollPane();

clientTable = new javax.swing.JTable();

postTextField = new javax.swing.JTextField();

kirimButton = new javax.swing.JButton();

lbljpg   = new javax.swing.JLabel(new ImageIcon("Documents:fb.jpg"));

jLabel2 = new javax.swing.JLabel();

serverTextField = new javax.swing.JTextField();

jLabel3 = new javax.swing.JLabel();

portTextField = new javax.swing.JTextField();

masukButton = new javax.swing.JButton();

jLabel4 = new javax.swing.JLabel();

usernameTextField = new javax.swing.JTextField();



setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);



viewTextArea.setEditable(false);

viewTextArea.setColumns(20);

viewTextArea.setLineWrap(true);

viewTextArea.setRows(5);

viewTextArea.setFocusable(false);

jScrollPane1.setViewportView(viewTextArea);



jScrollPane2.setViewportView(clientTable);



postTextField.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

postTextFieldActionPerformed(evt);

}

});



kirimButton.setText("Kirim");

kirimButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

kirimButtonActionPerformed(evt);

}

});



jLabel2.setText("Server");



serverTextField.setText("10.17.0.0");



jLabel3.setText("Port");



portTextField.setText("9999");



masukButton.setText("Masuk");

masukButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

masukButtonActionPerformed(evt);

}

});



jLabel4.setText("Username");



usernameTextField.setText("4 CF");



javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addComponent(postTextField)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(kirimButton))

.addComponent(jScrollPane1))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 259, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGroup(layout.createSequentialGroup()

.addComponent(lbljpg)

.addComponent(jLabel2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(serverTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(jLabel3)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(portTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addComponent(jLabel4)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(usernameTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(masukButton)))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(lbljpg)

.addComponent(jLabel2)

.addComponent(serverTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel3)

.addComponent(portTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(masukButton)

.addComponent(jLabel4)

.addComponent(usernameTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 427, Short.MAX_VALUE)

.addGroup(layout.createSequentialGroup()

.addComponent(jScrollPane1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(postTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(kirimButton))))

.addContainerGap())

);



pack();

}// </editor-fold>



private void masukButtonActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

this.server = serverTextField.getText();

this.port = new Integer(portTextField.getText());

this.username = usernameTextField.getText();

start();

}



private void kirimButtonActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

try {

String message = "postText~" + username + "~" + postTextField.getText() + "~all~\n";

output.writeObject(message);

postTextField.setText("");

} catch (IOException ex) {

Logger.getLogger(ChatClient.class.getName()).log(Level.SEVERE, null, ex);

}

}



private void postTextFieldActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

kirimButtonActionPerformed(evt);

}



/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(ChatClient.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>



/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

@Override

public void run() {



new ChatClient().setVisible(true);

}

});

}

// Variables declaration – do not modify

private javax.swing.JTable clientTable;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private javax.swing.JButton kirimButton;

private javax.swing.JButton masukButton;

private javax.swing.JTextField portTextField;

private javax.swing.JTextField postTextField;

private javax.swing.JTextField serverTextField;

private javax.swing.JTextField usernameTextField;

private javax.swing.JTextArea viewTextArea;

private JLabel lbljpg ;

// End of variables declaration



class ListenFromServer extends Thread {



@Override

public void run() {

while (true) {

try {

String msg = (String) input.readObject();

String res;

String type = msg.split("~")[0];

String pengirim = msg.split("~")[1];

String text = msg.split("~")[2];

String kepada = msg.split("~")[3];

switch (type) {

case "recieveText":

res = pengirim + ": " + text;

viewTextArea.setText(viewTextArea.getText() + res + "\n");

break;

case "recievePrivateText":

res = pengirim + ": "+ text;

if (kepada.equals(username)) {

viewTextArea.setText(viewTextArea.getText() + res + "\n");

}

break;

case "login":

viewTextArea.setText(viewTextArea.getText() + pengirim + " sudah login…" + "\n");

clients.add(pengirim);

break;

case "logout":

viewTextArea.setText(viewTextArea.getText() + pengirim + " telah logout…" + "\n");

clients.remove(pengirim);

break;

case "list":

setTable(text);

break;

}

} catch (IOException e) {

System.out.println("Server has close the connection: " + e);

break;

} catch (ClassNotFoundException e2) {

}

}

}



private void setTable(String text) {

int rows = text.split(":").length  -1;

Object[][] data = new Object[rows][1];

for (int i = 0; i < rows; i++) {

String t = text.split(":")[i];

data[i][0] = t;

}



String[] header = {"Clients"};



clientTable.setModel(new DefaultTableModel(data, header));

}

}

}


 

Program-Program Java

Posted by : hadi on : With 0komentar

Proses Pembuatan PCB (Mode Setrika)

|
Read more »
Langkah 5: Proses penyetrikaan
Setelah itu, lakukan proses menyetrika kertas gloosy yang diletakkan diatas PCB polos tadi seperti halnya kita menyetrika pakaian kita. Pastikan merata proses penyetrikaan kita, terutama pada bagian-bagian tepi. Dalam penyetrikaan, jangan meletakkan setrika kita terlalu lama diatas PCB. Sesekali angkatlah supaya PCB tidak menerima panas yang terlalu tinggi. Jika terlalu panas, maka dapat menyebabkan lapisan tembaga pada PCB mengelupas (menggelembung) dan mungkin juga bahan PCB kita melengkung.

Langkah 6: Proses pendinginan
Jika proses penyetrikaan dirasa sudah merata (menggunakan perasaan), tunggulah sampai dingin. Jangan melepaskan kertas gloosy dari PCB polos ketika keadaanya masih panas, karena hal ini akan menyebabkan kegagalan perekatan tinta pada PCB polos.

Langkah 8: Proses pengelupasan kertas glosy
Siapkan nampan yang berukuran sesuai dengan ukuran PCB yang kita buat. Tidak terlalu besar dan juga tidak terlalu kecil. Isilah nampan tersebut dengan air dingin secukupnya. Selanjutnya, masukkan PCB yang tertempel padanya kertas glosy kedalam nampan berisi air dingin yang telah kita siapkan. Diamkan sejenak, kira-kira 10 sampai dengan 15 menit. Setelah itu, kemudian lakukan pengelupasan kertas glosy secara perlahan-lahan dengan menggunakan jari tangan. Dalam proses pengelupasan ini, ada kemungkinan kegagalan (tinta tidak melekat sempurna). Apabila tidak terlalu banyak jalur yang rusak, maka bagian-bagian yang rusak dapat ditutupi atau diperbaiki dengan menggunakan pena waterproof atau juga spidol permanen. Namun bila jalur yang rusak lebih dari 40%, maka mau tidak mau kita harus mengulang proses sablon tersebut dari awal.

Langkah 9:
Apabila proses-proses diatas berhasil dilakukan, selanjutnya proses yang harus dilakukan adalah melarutkan lapisan tembaga pada PCB polos yang tidak diperlukan dengan larutan ferriclorit (FeCl3).


B. Melarutkan Lapisan Tembaga
Langkah selanjutnya setelah melakukan proses pelekatan desain layout PCB diatas lapisan tembaga PCB polos adalah melarutkan lapisan tembaga yang tidak diperlukan, yaitu lapisan yang tidak tertutup oleh warna hitam (tinta hasil setrika), sehingga nantinya akan didapatkan jalur-jalur penghantar yang diperlukan untuk merangkai komponen elektronik. Langkah pelarutan lapisan tembaga tersebut adalah sebagai berikut:

Langkah 1: Siapkan tempat pelarutan
Siapkan nampan yang berukuran sesuai dengan ukuran PCB yang kita buat. Tidak terlalu besar dan juga tidak terlalu kecil. Isilah nampan tersebut dengan air secukupnya. Air yang digunakan dalam pelarutan lapisan tembaga dapat menggunakan air biasa (tidak panas) atau juga air panas.

Langkah 2: Siapkan larutan ferriclorit (FeCl3)
Masukkan bubuk ferriclorit (FeCl3) kedalam air dalam nampan yang telah dipersiapkan. Aduk hingga bubuk ferriclorit rata tercampur (larut) dalam air.

Langkah 3: Proses pelarutan lapisan tembaga pada PCB
Masukan PCB polos yang telah disablon kedalam larutan ferriclorit. Sebagai tindakan kehati-hatian, sebelum dimasukan sebaiknya kita melakukan pemeriksaan ulang keadaan jalur-jalur PCB (hasil setrika), pastikan bahwa jalur yang akan kita buat sudah benar, tidak ada kesalahan. Setelah dimasukan, untuk mempercepat proses pelarutan lapisan tembaga, maka goyanglah nampan berisi larutan ferriclorit secara perlahan bersama-sama dengan papan PCB tersebut. Langkah ini dilakukan dilakukan selama kurang lebih 10 sampai dengan 15 menit.

Langkah 4: Periksa jalur PCB
Apabila sudah mulai terlihat terbentuknya jalur-jalur tembaga pada PCB, maka angkatlah PCB yang kita buat. Periksa apakah masih ada lapisan tembaga yang tidak diperlukan yang belum terlarutkan. Jika masih, masukan kembali PCB tersebut dan goyanglah lagi nampan beberapa saat lagi sampai semua lapisan tembaga yang tidak dibutuhkan terlarut secara sempurna.

Langkah 5: Bersihkan tinta
Cuci PCB yang masih terdapat noda hitam dari tinta mesin fotocopy dengan menggunakan air. Untuk membersihkan tinta tersebut, gunakan minyak thiner ,bensin, solar, atau minyak sejenisnya. Apabila masih belum bersih sempurna, gunakan amplas halus untuk membantu supaya permukaan PCB benar-benar bersih. Hal ini supaya timah (tenol) mudah menempel ketika proses penyolderan komponen.

Langkah 6: Pelapisan permukaan tembaga PCB
Agar lapisan PCB yang telah jadi tidak mudah kotor atau terkorosi, maka lapisilah permukaan tembaganya dengan cairan pelapis PCB. Setelah dilapisi, jemur PCB hingga cairan lapisan tersebut kering sempurna. Sampai dengan proses ini, PCB buatan kita telah selesai dibuat dan siap digunakan (/fiq).

Proses Pembuatan PCB (Mode Setrika)

Posted by : hadi on : With 0komentar

Rangkaian Audio Video

|
Read more »
Baiklah kali ini saya akan memberikan cara membuat rangkaian logic probe di proteus 8, dimana kita sudah membuat rangkaian tersebut di schematic capture, sehingga kita sudah mengetahui komponen-komponen yang di butuhkan



Langsung saja,,
1. Buka aplikasi Proteus 8
2. Buatlah sebuah project baru, klik File - New
3.Ikuti proses selanjutnya sampai keluar lebar kerja pada proteus 8
4. Kemudian kita menambahkan komponen dengan cara dibawah ini :
5.Ketikkan kode komponen kita pada kolom keywords kemudian klik ok
6. Komponen yang dibutuhkan
  1. ATMEGA 16
  2. BATTERY
  3. BUTTON
  4. BUZZER
  5. CAP
  6. CAP-POL
  7. CRYSTAL
  8. LM016L
  9. OMIH-SH-124D
  10. RELAY
  11. RES
  12. RT114012F
  13. SWITCH
7.Susun komponen , dan kemudian sambungkan dengan wire , sehingga akan tampak seperti gambar di bawah ini
Sekian tutorial dari saya, jika ada kesalahan kata saya mohon maaf , kepada Allah SWT. saya mohon ampun.

Rangkaian Audio Video

Posted by : hadi on : With 0komentar

IR Sensor Micro Controller

|
Read more »
Assalamualaikum Wr.Wb Adapun langkah-langkah yang harus kitaa lakukan untuk membuat skema pengaturan kecepatan motor DC dengan ATMEGA16 dan L293D.





  • Selanjutnya klik aplikasi Proteus 8, dan akan muncul gambar seperti dibawah ini. 
  • Lalu klik File - New Project


  • Pilih ikon ISIS yang berwarna biru pada menu toolbar, akan muncul seperti ini yaitu lembar kerja Schematic Capture.
  •  Klik Device pada menu di Proteus 8, dan masukkan komponen komponen yang akan dibuat pada skema pengaturan kecepatan Motor DC dengan ATMEGA16 dan L293D.
  •  Pada posting kali ini dilakukan uji coba pengaturan kecepatan putaran motor DC, menggunakan mikrokontroler ATMEGA16 sebagai prosesor, dan driver menggunakan ICL293D yang dapat di inputkan tegangan maksimum 32V, LCD karakter 16x2 sebagai user interface, berikut skema rangkaian tersebut: 
  • masukan nama rangkaian tersebut pada keyword seperti dibawah ini. 
     
  • Inilah gambar-gambar komponen yang dibutuhkan untuk membuat skema pengaturan kecepatan motor DC.
  • Setelah itu sambungkan rangkaian tersebut dengan ikon dibawah ini.
     
  • ada yang perlu di perhatikan :
  • Motor DC yang di kontrol berjumlah 2 buah, dengan pengaturan dengan 4buah push button, yang berfungsi menaikan dan menurunkan kecepatan.

     
  •   Driver motor menggunakan IC L293D yang sudah biasa digunakan, dengan fungsi sebagai berikut :
    - IN1 & IN2 = arah putaran motor 1 misal (IN1=High & IN2=Low) maka motor forward dan sebaliknya
    - IN3 & IN4 = arah putaran motor 2 misal (IN3=High & IN4=Low) maka motor forward dan sebaliknya
    - EN1 = Pengatur kecepatan motor 1 dengan metode PWM (Pulse Width Modulation)
    - EN1 = Pengatur kecepatan motor 2 dengan metode PWM (Pulse Width Modulation)
    • Dengan memanfaatkan fitur Fast PWM yang terdapat dalam mikrokontroler ATMEGA16, pemrograman diawali dengan mengaktifasi Fast PWM mode OCR1A untuk motor 1, dan OCR1B untuk motor 2, kemudian nilai OCR1A dan OCR1B ditampilkan melalui LCD sebagai parameter. Berikut merupakan program lengkapnya yang saya tulis dengan bahasa C pada CodeVision AVR :
      #include
      // Alphanumeric LCD Module functions
      #include
      #include
      //Deklarasi variabel
      int SA,SB;
      char MA[8];
      char MB[8];
      void main(void)
      {
      PORTA=0xFF;
      DDRA=0x00;
      PORTD=0x00;
      DDRD=0xFF;

      // Timer/Counter 1 initialization
      // Clock source: System Clock
      // Clock value: 12000.000 kHz
      // Mode: Fast PWM top=0x00FF
      // OC1A output: Non-Inv.
      // OC1B output: Non-Inv.
      // Noise Canceler: Off
      // Input Capture on Falling Edge
      // Timer1 Overflow Interrupt: Off
      // Input Capture Interrupt: Off
      // Compare A Match Interrupt: Off
      // Compare B Match Interrupt: Off
      TCCR1A=0xA1;
      TCCR1B=0x09;
      TCNT1H=0x00;
      TCNT1L=0x00;
      ICR1H=0x00;
      ICR1L=0x00;
      OCR1AH=0x00;
      OCR1AL=0x00;
      OCR1BH=0x00;
      OCR1BL=0x00;

      / Alphanumeric LCD initialization
      // Connections specified in the
      // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
      // RS - PORTC Bit 0
      // RD - PORTC Bit 1
      // EN - PORTC Bit 2
      // D4 - PORTC Bit 4
      // D5 - PORTC Bit 5
      // D6 - PORTC Bit 6
      // D7 - PORTC Bit 7
      // Characters/line: 8
      lcd_init(8);

      while (1)
            {   
            lcd_gotoxy(0,0);lcd_putsf("M1=");lcd_gotoxy(0,1);lcd_putsf("M2=");  
            PORTD.0=1;   //Motor 1 Forward
            PORTD.1=0; 
            PORTD.3=1;   //Motor 2 Reverse
            PORTD.4=0; 
            if(PINA.0==0){SA++;}  //Jika pushbutton A0 ditekan naikan kecepatan motor 1
            if(PINA.1==0){SA--;}   //Jika pushbutton A1 ditekan turunkan kecepatan motor 1
            if(PINA.2==0){SB++;}   //Jika pushbutton A2 ditekan naikan kecepatan motor 2
            if(PINA.3==0){SB--;}    //Jika pushbutton A3 ditekan turunkan kecepatan motor 2
            lcd_gotoxy(5,0);itoa(SA,MA);lcd_puts(MA); //Tampilkan nilai kecepatan Motor 1
            lcd_gotoxy(5,1);itoa(SB,MB);lcd_puts(MB);  //Tampilkan nilai kecepatan Motor 2
            OCR1A=SA; 
            OCR1B=SB;
            // Place your code here.
      Setelah itu  klik icon RRES yang terletak disebelah icon ISIS. 
      kita akan masuk kedalam lembar kerja PCB layout
      • Klik ikon yang terlihat pada gambar dibawah ini,disana terdapat nama-nama komponen yang sudah kita buat sebelumnya pada lembar Schematic Capture.
      • Disini kita tinggal memasukkan/memindahakan komponen yang ada pada lembar kerja PCB.
      • Masukkanlah komponen-komponen tersebut. (ada komponen yang tidak bisa ditampilkan pada layar PCB). Aturlah Komponen-komponen tersebut.
        Setelah tersusun rapi sesuai yang diinginkan, klik menu Tool - Auto Route

        Setelah itu pilih Begin Routing
      dan rangkaian tersebut terllihat serperti ini (catatan jangan sampai ada wire yang bewarna merah).
      Setelah itu kitabisa melihat bentuk rangkaian tersebut dalam bentuk 3D visualizer,dengan cara kilk icon 3D visualizer yang terletak disebelah icon RRES.

      maka kita bisa melihat bentuknya sepeti gambar dibawah ini.

      Usahakan pada rangkaian tersebut tidak ada error message.
      Terima Kasih, semoga membantu.

IR Sensor Micro Controller

Posted by : hadi on : With 0komentar
Prev
▲Top▲