Rabu, 03 Mei 2017

Tugas Progjar individu 1



1. Get IP

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










Listing program diatas digunakan untuk menampilkan IP address dari PC. InetAddress host = null artinya terdapat object InetAddress yang bernilai kosong/null, host = InetAddress.getLocalHost(); artinya perintah InetAddress.getLocalHost(); ini untuk mengambil IP dari local host lalu disimpan dengan variabel host. byte ip[] = host.getAddress(); artinya host.getAddress(); untuk mengambil IP address lalu disimpan dengan variabel ip berbentuk array dan bertipe data byte. lalu Terdapat perulangan untuk dikoreksi untuk dicetak.

2. Get Name

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







Listing program diatas digunakan untuk menampilkan IP address dari PC. InetAddress host = null artinya terdapat object InetAddress yang bernilai kosong/null, host = InetAddress.getLocalHost(); artinya perintah InetAddress.getLocalHost(); ini untuk mengambil IP dari local host lalu disimpan dengan variabel host. host.getHostName(); untuk mengambil nama host lalu dicetak.


3. IP to Name

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





Listing program diatas digunakan untuk menampilkan Nama PC saat kita sudah mengetahui IPnya. Pada program ini terdapat percabangan if untuk mengecek panjang array pada fungsi utama jika sama dengan 0 maka program akan mencetak "pemakaian : java IPtoName <IP address>". Program akan keluar/dimatikan dan mendeklarasikan kembali nilai variabel host yaitu array 0 dan untuk variabel address pada object InetAddress bernilai null. Pada program ini juga terdapat try dan catch. Jika terdapat kesalahan maka program akan mencetak Invalid IP - malformed IP dan program akan keluar/dimatikan. Namun jika tidak ditemukan kesalahan maka program akan mencetak nama komputer user. 

4. NsLookup

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





Listing program diatas digunakan untuk menampilkan IP saat kita sudah mengetahui Nama PCnya. Pada program ini terdapat percabangan if untuk mengecek panjang array pada fungsi utama jika sama dengan 0 maka program akan mencetak "pemakaian : java NsLookup <hostname>". Program akan keluar/dimatikan dan mendeklarasikan kembali nilai variabel host yaitu array 0 dan untuk variabel address pada object InetAddress bernilai null. Pada program ini juga terdapat try dan catch. Jika terdapat kesalahan maka program akan mencetak Unknown host dan program akan keluar/dimatikan. Namun jika tidak ditemukan kesalahan maka program akan mencetak IP Address. 

 
5. Membangun aplikasi server dan client

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

b. Simple 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);
}
}
}

 




Tidak ada komentar:

Posting Komentar