7 Mei 2018

Hasil Analisis #TugasPemrogramanJaringan



1. Mendapatkan alamat IP Local


Listing


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


Listing diatas digunakan untuk melakukan Get IP local computer. Dimana program akan mendapatkan alamat IP Local dari Komputer atau PC yang sedang kita gunakan. Pada tahap awal akan dilakukan import library java.net yang akan berfungsi untuk penggunaan library java net. Kemudian akan dilakukan pendeklarasian variable InetAddress dengan nama host yang nantinya akan digunakan untuk menyimpan alamat IP Local dari Komputer atau PC yang sedang digunakan.


Output






2. Mendapatkan Host Name Komputer


Listing


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


       Pada listing diatas dijelaskan tentang bagaimana cara program dalam mendapatkan nama host komputer yang kita gunakan. Program akan melakukan pendeklarasian sebuah variable kembali yang nantinya akan digunakan untuk InetAddress dengan nama “host”. Dimana dengan objek tersebut, Program nantinya akan menjalankan method getHostName() yang ada pada class untuk mencetak nama dari perangkat yang sedang kita gunakan.


Output





3. Mendapatkan Host Name berdasarkan IP


Listing


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


Listing diatas berfungsi untuk menampilkan menampilkan Nama PC yang sedang digunakan ketika kita sudah mengetahui IP yang terdapat di dalamnya dengan menggunakan IptoName. Dimana pada program ini terdapat sebuah percabangan if yang nantinya akan digunakan untuk mengecek panjang dari array yang terdapat pada fungsi utama. Jika pada saat pengecekean nilai == 0, maka program akan mencetak suatu statement berupa “pemakaian : java IPtoName “. Selanjutnya program akan keluar dan mendeklarasikan kembali nilai variabel host yaitu array 0 dan untuk variabel address pada object InetAddress bernilai null. Kemudian pada listing ini juga terdapat try catch yang nantinya akan berguna jika terdapat kesalahan pada saat program dijalankan, maka program akan menampilkan statement Invalid IP – malformed IP dan program akan otomatis keluar. Namun jika tidak ditemukan kesalahan pada saat program dijalankan, maka program akan mencetak nama komputer yang sedang digunakan.


Output






4. Mendapatkan IP berdasarkan Host Name


Listing


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


     Listing diatas berfungsi untuk menampilkan alamat local IP dari PC yang sedang digunakan ketika kita sudah mengetahui nama PCnya. Dimana Pada program ini terdapat sebuah percabangan if yang nantinya akan digunakan untuk mengecek panjang dari array yang terdapat pada fungsi utama. Jika nilainya == 0, maka program nantinya akan menampilkan statement berupa “pemakaian : java NsLookup“. Kemudian jika terdapat suatu kesalahan ketika program dijalankan, maka program akan menampilkan statement Unknown host dan program akan secara otomatis keluar. Namun jika tidak ditemukan kesalahan maka program akan mencetak IP Local dari PC yang sedang digunakan.


Output





5. Aplikasi Client-Server Sederhana


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


Logika (Server)


Simple Server

Listing diatas berfungsi untuk membuat aplikasi Client-Server sederhana pada bagian Server. Langkah awal yang harus dilakukan yaitu jalankan file simpleServer.java. Kemudian tunggu beberapa detik hingga program memunculkan statement berupa “Aplikasi Server hidup..”. Selanjutnya setelah Aplikasi Sever hidup, jalankan file simpleClient.java (disini saya menggunakan dua PowerShell dan menjalankan masing – masing file secara terpisah). Kemudian jika program menampilkan statement berupa “masukkan kata kunci : ” maka client, diharuskan menginputkan kata  “salam”. Jika kata yang diinputkan berbeda atau selain dari kata “salam”, maka server akan memunculkan statement berupa “Maaf, saya tidak mengeri.”. Berikut ini merupakan langkah – langkah yang harus dilakukan dalam menjalankan program tersebut :
  • Buka folder dari listing file Server (simpleServer.java) yang sudah dibuat.
  • Tekan Shift + Klik Kanan.
  • Pilih Open PowerShell Window Here.
  • Jelankan program dengan cara ketik javac simpleServer.java kemudian dilanjutkan dengan java  simpleServer pada PowerShell.
  • Selanjutnya server akan menerima inputan dari client dan nantinya server akan menampilkan kata yang sudah diinputkan oleh client. Jika client menginputkan kata “salam” maka server akan membalas dengan kata “salam juga”  akan tetapi jika client menginputkan kata selain dari kata “salam”, maka server akan membalas inputan tersebut dengan kata “Maaf , saya tidak mengerti”. Hal ini dikarenakan keyword yang terdapat dalam server adalah “salam”.


Output (Server) 1



Output (Sever) 2



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


Logika (Client)


Simple Client

Listing diatas berfungsi untuk membuat aplikasi Client-Server sederhana pada bagian Server. Langkah awal yang harus dilakukan yaitu jalankan file simpleServer.java. Kemudian tunggu beberapa detik hingga program memunculkan statement berupa “Aplikasi Server hidup..”. Selanjutnya setelah Aplikasi Sever hidup, jalankan file simpleClient.java (disini saya menggunakan dua PowerShell dan menjalankan masing – masing file secara terpisah). Kemudian jika program menampilkan statement berupa “masukkan kata kunci : ” maka client, diharuskan menginputkan kata  “salam”. Jika kata yang diinputkan berbeda atau selain dari kata “salam”, maka server akan memunculkan statement berupa “Maaf, saya tidak mengeri.”. Berikut ini merupakan langkah – langkah yang harus dilakukan dalam menjalankan program tersebut :
  • Buka folder dari listing file Client (simpleClient.java) yang sudah dibuat.
  • Tekan Shift + Klik Kanan.
  • Pilih Open PowerShell Window Here.
  • Jelankan program dengan cara ketik javac simpleClient.java kemudian dilanjutkan dengan java  simpleClient pada PowerShell.
  • Selanjutnya server akan menerima inputan dari client dan nantinya server akan menampilkan kata yang sudah diinputkan oleh client. Jika client menginputkan kata “salam” maka server akan membalas dengan kata “salam juga”  akan tetapi jika client menginputkan kata selain dari kata “salam”, maka server akan membalas inputan tersebut dengan kata “Maaf , saya tidak mengerti”. Hal ini dikarenakan keyword yang terdapat dalam server adalah “salam”.


Output (Client) 1



Output (Client) 2



0 komentar:

Posting Komentar

 

My university

Blogroll