Header Ads

Latihan Program Jaringan

Latihan 

1. Mendapatkan IP dengan java

Listing Program

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



Source code ini merupakan awal dari pemrograman java. Dalam source code ini terdapat java net yang diimpor dari package java yang berfungsi untuk mengambil socket/jaringan. Pada program ini diberi nama getIP yang terdapat pada class program, dan pada line ketiga merupakan method yang harus ada dalam program utama. 



  • Pada line ke empat, berguna untuk membuat objek inetAddress dan bernilai null
  • Pada line ke lima, variable host akan menyimpan ip dari inetaddress yang dipanggil dari getlocalhost
  • Pada line keenam terdapat variabel ip dengan type data byte yang akan menyimpan ip dalam bentuk array
  • Dan dari line ke 7 hingga 15 merupakan perulangan yang berguna untuk mencetak ip yang sudah dicheck

Output 



2. Mendapatkan Nama Desktop dengan java

Listing Program

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


  • Pada line ke 4 dan 5, berfungsi seperti pada latihan 1. 
  • Pada line ke 6, berfungsi sebagai output
  • Pada line ke 7, memanggil nama desktop yang disimpan di host


Output



3. Mendapatkan Nama Desktop dari IP 

Listing Program

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

Pada listing program diatas, source code berfungsi menampilkan nama desktop dari ip yang digunakan atau diatur dalam komputer. Pada line ke-10, merupakan percabangan try catch pada java yang digunakan dalam program ini untuk berfungsi menyimpan alamat ip dalam variabel address dan memanggil nama desktop (host) untuk sebagai output. Sedangkan catch berfungsi ketika IP tidak invalid.


Output




4. Mendapatkan IP dari nama Desktop

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

}

 Logika Program

Source code pada latihan 4 ini berfungsi untuk menampilkan IP dari nama desktop yang digunakan. Logika program dalam source ini hampir sama dengan Source code pada latihan 3. Pada Source code terdapat percabangan try catch. Try untuk mengeksekusi apakah nama Desktop sesuai dengan IP yang telah disimpan dalam array byte ip. Sedangkan catch digunakan ketika nama host tidak terdapat dalam program.

Output



5. Aplikasi Client-Server


  • Membuat Program Server Sederhana
Listing Program

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

Source code diatas merupakan source code untuk membuat aplikasi server hidup. Agar program bisa berjalan, langkah awal ialah membuat file baru pada editor dan letakkan blok program diatas ke dalam file kemudian simpan dengan nama simpleServer.java. Pada Program diatas, terdapat 4 percabangan try-catch. Percabangan try 1 berfungsi untuk menghidupkan server program, try 2 berfungsi untuk menghubungan dan di terima dalam program client, try 3 berfungsi untuk  kata kunci program, dan try 4 berfungsi untuk menutup program setelah aplikasi selesai berjalan.

  • Membuat Program Client Sederhana
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

Source code ini lanjutan dari aplikasi server, soruce code ini sebagai client yang dimana akan mengirimkan pesan ke server dan diterima server kemudian server membalas pesan client. Dalam source code diatas, terdapat 4 percabangan yang dimana semua percabangannya sama dengan server yaitu try-catch. Pada try 1 berfungsi untuk menerima koneksi dari server, try 2 berfungsi untuk menulis pesan dan dikirim ke server, pada try 3 berfungsi untuk server menerima pesan dari client dan memberikan respon atau tanggapan atau balasan kepada client dan try 4 berfungsi untuk menghentikan koneksi, input dan output dan program selesai/keluar.

Output

Server


Client



Tidak ada komentar

Diberdayakan oleh Blogger.