Kamis, 26 April 2012

TUGAS PEMROGRAMMAN JARINGAN

DEMO D1-1
Program 1 : D1-1
Mengambil IP Komputer Lokal
Nama Program : getIP.java

Listing Program :
package tugaspakachsan;

import java.net.*;
public class getIP {
      public static void main(String args[]) throws Exception {
            InetAddress host = null;
            host = InetAddress.getLocalHost();
            byte ip[] = host.getAddress();
            for(int i=0; i<ip.length; i++) {
            if (i > 0) {
                        System.out.print(".");
                  }
                  System.out.print(ip[i] & 0xff);
            }
            System.out.println();
      }
}


Pada Listing diatas ini, saya menjalankan kodingnya dengan menggunakan JAVA IDE Netbeans. Pada intinya program ini berfungsi untuk menampilkan IP local pada sebuah komputer.





Gambar dibawah ini adalah tamilan ketika saya menuliskan  listing program ke layar netbeans. Disini package projek saya beri nama tugaspakachsan dan nama class pada program ini adalah getIP.


Selanjtnya adalah gambar output dari program diatas :
Dan Inilah IP local pada computer saya sendiri.





DEMO D1-2
Program 2 : D1-2
Mencetak Nama Komputer Lokal
Nama Program : getName.java

Listing Program :
package tugaspakachsan;
import java.net.*;
public class getName {
    public static void main(String args[]) throws Exception {
    InetAddress host = null;
    host = InetAddress.getLocalHost();
    System.out.println("Nama komputer anda: " + host.getHostName());
    }
}

Pada Listing diatas ini, saya menjalankan kodingnya dengan menggunakan JAVA IDE Netbeans. Pada intinya program ini berfungsi untuk mencetak nama komputer local yang sedang diaktifkan.
Gambar dibawah ini adalah tamilan ketika saya menuliskan  listing program ke layar netbeans. Disini saya membuat class baru yang bernama getName.java.



Selanjtnya adalah gambar output dari program diatas :
Dan Inilah nama komputer saya sendiri yang bernama BARRON-PC.



DEMO D1-3
Program 3 : D1-3
Nama Program : IPtoName.java
Mencetak Nama Komputer Lokal Dengan Memasukkan Alamat IP computer lokal

Listing Program :

package tugaspakachsan;

import java.net.*;
public class IPtoName {
    public static void main(String args[]) {

        if (args.length == 0) {
            System.out.println("Pemakaian: java IPtoName <IP address>");
            System.exit(0);
        }

        String host = args[0];
        InetAddress address = null;

        try {
            address = InetAddress.getByName(host);
        }   catch (UnknownHostException e) {
            System.out.println("Invalid IP - malformed IP");
            System.exit(0);
        }
          System.out.println(address.getHostName());
    }

}

Pada Listing diatas ini, saya menuliskan listing program tersebut dengan menggunakan notepad. Setelah itu saya simpan notepad tersebut dengan format penyimpanan .java, Lalu saya beri nama file tersebut dengan nama IPtoName.java. Setelah file java ini disimpan dengan nama tersebut, langkah selanjutnya adalah mengcompile file .java tersebut dengan menggunakan command prompt yang ada pada computer local tersebut. Cara mengkompilenya adalah pertama kita lihat dulu letak file .java itu disimpan.

Gambar dibawah ini adalah ketika saya menyimpan file .java tersebut di drive d. Lalu, kita tulis perintah javac [nama_fileJava].java untuk mengkompile. Kita tunggu beberapa saat, kalau tidak ada yang error maka akan dilanjutkan dengan perintah untuk merunning program java yang telah kita buat listingnya didalam file IPtoName.java tersebut. Cara runningnya adalah java [nama_fileJava] [alamat_IP_Lokal] maka hasilnya akan keluar nama computer kita. Disini saya ambil contoh adalah IP saya dan yang keluat nama computer yang saya gunakan. Berikut adalah hasil running listing program diatas pada komputer saya :




DEMO D1-4
Program 4 : D1-4
Nama Program : NSLookup.java
Mencetak Alamat IP computer Lokal dengan memasukkan Nama Komputer Lokal

Listing Program :

import java.net.*;
public class NsLookup {
  public static void main(String args[]) {
    if (args.length == 0) {
      System.out.println("Pemakaian: java NsLookup <hostname>");
      System.exit(0);
    }
    String host = args[0];
    InetAddress address = null;
    try {
      address = InetAddress.getByName(host);
    } catch(UnknownHostException e) {
      System.out.println("Unknown host");
      System.exit(0);
    }
    byte[] ip = address.getAddress();
    for (int i=0; i<ip.length; i++) {
      if (i > 0) System.out.print(".");
      System.out.print((ip[i]) & 0xff);
    }

    System.out.println();
  }
}

Pada Listing diatas ini, saya menuliskan listing program tersebut dengan menggunakan notepad. Setelah itu saya simpan notepad tersebut dengan format penyimpanan .java, Lalu saya beri nama file tersebut dengan nama NSLookup.java. Setelah file java ini disimpan dengan nama tersebut, langkah selanjutnya adalah mengcompile file .java tersebut dengan menggunakan command prompt yang ada pada computer local tersebut. Cara mengkompilenya adalah pertama kita lihat dulu letak fila .java itu disimpan.
Gambar dibawah ini adalah ketika saya menyimpan file .java tersebut di drive d. Lalu, kita tulis perintah javac [nama_fileJava].java untuk mengkompile. Kita tunggu beberapa saat, kalau tidak ada yang error maka akan dilanjutkan dengan perintah untuk merunning program java yang telah kita buat listingnya didalam file NSLookup.java tersebut. Cara runningnya adalah java [nama_fileJava] [alamat_IP_Lokal] maka hasilnya akan keluar alamat IP computer lokal kita. Disini saya ambil contoh adalah nama komputer saya dan yang keluar adalah alamat IP yang saya gunaan pada computer local ini. Jadi, inti dari listing ini adalah kebalikan dari file IPtoName.java. Berikut hasil yang saya dapat dari listing diatas :







DEMO D1-5
Program 5 : D1-5
Nama Program : simpleServer.java dan simpleClient.java
Melakukan proses client-server dengan menggunakan 2 cmd dalam 1 komputer

Listing Program : 
simpleServer.java
import java.io.*;
import java.net.*;

public class simpleServer {
  public final static int TESTPORT = 5000;
  public static void main(String args[]) {
    ServerSocket checkServer = null;
    String line;
    BufferedReader is = null;
    DataOutputStream os = null;
    Socket clientSocket = null;

    try {
      checkServer = new ServerSocket(TESTPORT);
      System.out.println("Aplikasi Server hidup ...");
    } catch (IOException e) {
      System.out.println(e);
    }

    try {
      clientSocket = checkServer.accept();
      is = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
      os = new DataOutputStream(clientSocket.getOutputStream());
    } catch (Exception ei) {
      ei.printStackTrace();
    }
  try {
      line = is.readLine();
      System.out.println("Terima : " + line);
      if (line.compareTo("salam") == 0) {
        os.writeBytes("salam juga");
      } else {
        os.writeBytes("Maaf, saya tidak mengerti");
      }
    } catch (IOException e) {
      System.out.println(e);
    }
 try {
      os.close();
      is.close();
      clientSocket.close();
    } catch (IOException ic) {
      ic.printStackTrace();
    }

  }
}

simpleClient.java
import java.io.*;
import java.net.*;

public class SimpleClient {
    public final static int REMOTE_PORT = 5000;
    public static void main(String args[]) throws Exception {
        Socket cl = null;
        BufferedReader is = null;
        DataOutputStream os = null;
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
        String userInput = null;
        String output = null;
       
        //Membuka koneksi ke server pada port REMOTE-PORT
        try {
            cl = new Socket(args[0], REMOTE_PORT);
            is = new BufferedReader(new InputStreamReader(cl.getInputStream()));
            os = new DataOutputStream(cl.getOutputStream());
        } catch (UnknownHostException e1) {
            System.out.println("Unknown Host: " + e1);
        } catch (IOException e2) {
            System.out.println("Error io: " + e2);
        }
       
        //Menulis ke server
        try {
            System.out.println("Dari server: " + output);
            userInput = stdin.readLine();
            os.writeBytes(userInput + "\n");
        } catch (IOException ex) {
            System.out.println("Error writing to server..." + ex);
        }
       
        //Menerima tanggapan dari server
        try {
            output = is.readLine();
            System.out.println("Dari Server: " + output);
        } catch (IOException e) {
            e.printStackTrace();
        }
       
        //close input stream, output stream dan koneksi
        try {
            is.close();
            os.close();
            cl.close();
        } catch (IOException x) {
            System.out.println("Error writing..." + x);   
        }
    }
}

Pada Listing diatas ini, saya menuliskan listing program tersebut dengan menggunakan notepad. Setelah itu saya simpan notepad tersebut dengan format penyimpanan .java, Lalu saya beri nama file tersebut dengan nama simpleServer.java dan simpleClient.java. Setelah file java ini disimpan dengan nama tersebut, langkah selanjutnya adalah mengcompile file .java tersebut dengan menggunakan command prompt yang ada pada computer local tersebut. Cara mengkompilenya adalah pertama kita lihat dulu letak fila .java itu disimpan.
Kedua listing ini berfungsi untuk membuat sebuah jaringan client dan server. Dimana listing ini dijalankan dengan mengggunakan 2 buah command prompt yang 1 bertindak sebagai client dan 1 lagi bertindak sebagai server. Sekarang saya akan menjelaskan bagaimana cara menjalankan listing pertama yaitu simpleServer :

-Pertama, buka cmd computer kita
-Menuju lokasi file ini disimpan, disini saya taru di drive D dengan nama simpleServer.java
-kita compile dengan menggunakan perintah javac simpleServer.java
-lalu kita run program simpleServer.java ini dengan perintah java simpleServer lalu “enter”
-akan keluar hasilnya adalah “Aplikasi Server Hidup”

Selanjutnya saya akan membahas menjalankan simpleClient.java setelah menjalankan simpleServer.java :
-Pertama, buka cmd computer kita
-Menuju lokasi file ini disimpan, disini saya taru di drive D dengan nama simpleClient.java
-kita compile dengan menggunakan perintah javac simpleClient.java
-lalu kita run program simpleClient.java ini dengan perintah java simpleServer BARRON-PC lalu “enter”
-akan keluar hasilnya adalah “Masukkan kata kunci : ”
-kata kunci ini kita masukkan kata “salam” maka dari server akan membalas juga dengan kata “salam juga”
-Perlu diperhatikan juga ketika kita memasukan kata kuncinya dengan kata yang lain maka hasilnya akan keluar adalah “maaf, saya tidak mengerti” itu disebabkan pada listing program server hanya mengidentifikasikan kata kuncinya adalah kata “salam".




Gambar 1 cmd sebagai server



Gambar 2 cmd sebagai client



Gambar 3 ketiga client menyebutkan kata kunci yang berbeda dan server tidak mengerti








DEMO D1-7
Program 7 : D1-7
Nama Program : ObjectServer.java, Staff.java dan ObjectClient.java
Melakukan proses pengiriman data staff pegawai dari client menuju ke server


Tulis listing program ini pada lembar notepad dengan menyimpanya dengan format .java :


 ObjectServer.java

import java.net.*;
import java.io.*;


public class ObjectServer {
 private static int SRV_PORT=5000;
 private static ObjectInputStream is=null;


 public static void main(String argv[]) throws Exception{
  //membuat soket server dan menunggu koneksi
  ServerSocket soketServer= new ServerSocket(SRV_PORT);
  Socket soketClient= soketServer.accept();


  //membuat stream untuk baca obyek
  is= new ObjectInputStream(soketClient.getInputStream());


  //menunggu dan membaca obyek yang dikirimkan 
  Staff pegawai= (Staff) is.readObject();
  
  System.out.println("Server menerima data Pegawai");
  pegawai.print();


 }



Staff.java

import java.io.*;


public class Staff implements Serializable{
 String nama;
 String divisi;
 int    umur;


 public Staff(String nama, String divisi, int umur)
 {
  this.nama=nama;
  this.divisi=divisi;
  this.umur= umur;
 }


 public void print()
 {
  System.out.println("Data Staff: ");
  System.out.println("Nama : " + nama);
  System.out.println("Divis: " + divisi);
  System.out.println("Umur : "+ umur);
 }




ObjectClient.java

import java.net.*;
import java.io.*;
public class ObjectClient{
 private static int SRV_PORT = 5000;
 private static ObjectOutputStream os=null;


 public static void main(String argv[]) throws Exception{
  try{
   //membuat soket client
   Socket soketClient= new Socket("127.0.0.1", SRV_PORT);
   
   //membuat stream untuk pengiriman obyek
   os= new
                   ObjectOutputStream(soketClient.getOutputStream());
   
   //membuat obyek dan mengirimkannya lewat stream obyek
   Staff pegawai= new Staff("BARRON SATRIO","Teknik Informatika",22);
   os.writeObject(pegawai);
   
   System.out.println("Client mengirim data pegawai:");
   pegawai.print();
  }
  catch(Exception e){
   e.printStackTrace();
  }
 }




pada latihan tugas pemrogramman jaringan ke tujuh ini akan membuat kelas Staff yang berisi informasi data pegawai. Data staff akan dikirimkan dari suatu aplikasi client ke aplikasi server lewat sebuah soket. Disini yang pertama dijalankan pada layar command prompt adalah ObjectServer.java , pada saat Object Server dijalankan maka dia akan menunggu ObjectClient.java mengirim sebuah data. Selanjutnya yang akan kita jalankan adalah ObjectClient.java. Pada saat aplikasi client dijalankan, maka secara otomatis akan mengirim sebuah data pegawai ke aplikasi server. Disini data pegawai yang saya buat adalah :
Nama : barron satrio
Divisi : Teknik Informatika
Umur : 22

Untuk lebih jeasnya dapat dilihat pada layar output dibawah ini :




                                                    Gambar 1 Output ObjectServer.java






                                                    Gambar 2 Output ObjectClient.java

Tidak ada komentar:

Posting Komentar