Indonesia

Selasa, 01 Mei 2012

Tugas Pemrograman Jaringan


Program 1                  : D1-1
Nama Program          : getIP.java

Pada tugas program jaringan yang pertama ini, kita akan mengeksekusi sebuah koding yang bertujuan untuk mendapatkan IP address dari masig-masing computer/PC yang kita miliki. Koding yang akan dijalankan untuk mendapatkan IP address adalah sebagai berikut :
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();
      }
}

Koding tersebut dapat dijalankan pada cmd computer kita dengan bahasa java, jika belum memiliki bahasa java di computer, maka sebaiknya kita instal terlebih dahulu. Kita dapat menjalankan program tersebut dengan menggunakan cmd ataupun dengan aplikasi/software yang mendukung bahasa pemrograman java seperti netbean. Untuk lebih jelasnya kita lihat gambar di bawah ini  :




Program 2                  : D1-2
Nama Program          : getName.java

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());
    }
}

Koding diatas adalah koding yang kedua, koding ini bertujuan untuk mencetaj nama computer yang ada pada PC kita masing-masing, disini saya memang belum menamai PC saya, jadi masih menggunakan nama TOSHIBA-PC. Jadi, jika listing ini di running maka akan muncul nama computer kita.





Program 3                  : D1-3
Nama Program          : IPtoName.java

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 program yang ketiga ini, kita akan mendapatkan nama local computer yang kita miliki. Nama tersebut kita dapat dengan memasukkan IP yang sudah kita dapat pada program yang pertama. Berikut gamabr output yang dihasilkan :





Program 4                  : D1-4
Nama Program          : NsLookup.java

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();
}
}

Jika kita sudah mengetik program diatas di notepad/++ maka kita dapat menjalankannya melalui cmd yang ada pada computer. Program ini digunakan untuk melihat IP yang ada pada computer kita dengan memasukkan nama computer kita. Bisa ikatakan ini adalah kebalikan dari program sebelumnya. Hasil outputya sebagai berikut :





Program 5                  : D1-5
Nama Program          : Client- Server
Berikut adalah listing program untuk Server :
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();
}
}
}

Sedangkan listing program di bawah ini adalah program untuk Client :
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("Erorr io: " + e2);
}
// Menulis ke server
try {
System.out.print("Masukkan kata kunci: ");
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);
}
}
}



Penjelasan :

Untuk program yang ke lima ini ditujukan untuk 2 buah komputer, namun sebagai contoh kita dapat melakukan ini dengan satu PC dengan menggunakan 2 cmd. Disini kita akan membuat program seperti program chating dimana satu PC bertugas sebagai server dan satu lagi bertugas sebagai Client. Masing-masing koding sudah dituliskan diatas. dari ouptut yang kita dapat diatas, dapat kita simpulkan jika posisi client mengirim pesan teks kepada server, maka pada saat itu juga di layar server akan tercetak apa yang ditulis oleh client.

Tidak ada komentar:

Posting Komentar