Rabu, 09 Mei 2018

TUGAS PEMOGRAMAN JARINGAN



1.      getIP

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

LOGIKA PROGRAM

Program getIP ini akan memanggil kelas inetAddress yang berisi perintah untuk berbagai fungsi jaringan, pada kelas ini dideklarasikan dengan objek baru yaitu host yang bernilai null. Selanjutnya program akan diberikan hak akses local host dari komputer, yang kemudian akan diproses sehingga mendapatkan alamat IP yang berasal dari host address.

Hasilnya :






2.      getName

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


LOGIKA PROGRAM

Program getName diatas berisi kelas yang akan mengizinkan perintah untuk berkomunikasi melalui jaringan. Kemudian akan memanggil kelas sebagai fungsi untuk pengambilan alamat IP pada suatu komputer yang bernilai null. Dan pada perintah getHostName ini digunakan untuk mendapatkan nama host pada komputer kita sendiri.


Hasilnya :






3.      IPtoName

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


LOGIKA PROGRAM

Program ini akan mendeklarasikan fungsi library pada java.net. kemudian program akan masuk pada kondisi dimana args.length sama dengan nilai null. Selanjutnya diberikan nilai host yang akan ditampung dalam bentuk array, lalu program akan melakukan pengujian lewat informasi host dari IP yang diinput oleh user dengan perintah getbyname. Jika percobaan pada baris program sebelumnya gagal, maka akan ditampilkan sebuah error "invalid IP - malformed IP" yang berarti IP yang dimasukkan bukanlah suatu host. Dan pada baris terakhir untuk menampilkan nama host sesuai dengan host object addressnya.


Hasilnya :





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

LOGIKA PROGRAM

Program diatas merupakan pendeklarasian package java yang digunakan untuk memanggil fungsi. Kemudian terdapat sebuah percabangan untuk mengantisipai jika user tidak memasukkan nama perangkatnya maka program akan berhenti. Lalu perintah akan mendeklarasikan variabel address sebagai variabel untuk memanggil fungsi InetAddress dengan nilai null. Terdapat kondisi try dimana digunakan untuk mendapatkan nama komputer yang IP nya sudah dimasukkan oleh user, dan pada kondisi kedua untuk menghandle error yang berhubungan dengan host. Perintah selanjutnya yaitu untuk mendapatkan alamat IP pada perangkat masing – masing kelas  yg akan disimpan kedalam variabel array. Bagian terakhir kondisi perulangan yang berfungsi untuk mencetak alamat IP perangkat, dimana program akan terus mengulang selama nilai i masih kurang dari nilai panjang kelas IP dan nilai tersebut akan diiterasikan.


Hasilnya :





5.      Client – Server TCP

a.      simpleServer

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


LOGIKA PROGRAM

Pada saat program dijalankan, program akan mengecek jika port 5000 sedang digunakan atau tidak. Kemudian terdapat kondisi try yang memiliki server socket untuk mengirim response, jika status pada serversocket bernilai null maka program akan menghasilkan aplikasi server hidup. Lalu pada baris program try berikutnya berfungsi untuk menerima permintaan client dengan clientsocket. Try selanjutnya akan membandingkan dengan pesan yang diterima jika salam maka server akan menulis salam juga, lalu jika pesan lainnya yang diterima server akan mengirimkan maaf, saya tidak mengerti. Dan pada baris program terakhir untuk menutup koneksi yang sedang berjalan.

b.      simpleClient

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

LOGIKA PROGRAM


Program ini merupakan program client untuk mengirim pesan atau permintaan data ke server. Pertama program akan meminta memasukkan kata kunci, dan disini kata kuncinya telah ditentukan yaitu salam. Namun jika user memasukkan kata kunci yang lain maka client akan mendapatkan data dari server yaitu maaf, saya tidak mengerti. kemudian terdapat sisi server dan client, bagian server untuk mendeteksi adanya permintaan koneksi dari client, dan pada bagian client berfungsi untuk membuat inisialisasi koneksi ke welcoming socket milik server. Selanjutnya ada connection socket yang digunakan untuk berinteraksi satu sama lain untuk mengirim dan menerima data. 

Tidak ada komentar:

Posting Komentar

Contact us

Nama

Email *

Pesan *