Anda di halaman 1dari 9

PEMROGRAMAN JARINGAN DENGAN JAVA

Get IP
Get IP merupakan cara yang digunakan untuk mendapatkan alamat IP dari komputer pribadi kita.
Source code untuk mendapatkan IP dapat dilihat pada program getIP.java dibawah ini :

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

Pada baris pertama source code diatas merupakan import library java.net.* yang digunakan
untuk mengimplementasikan aplikasi berbasis jaringan. Kemudian pada main method di class
getIP diberikan throws exception untuk menangani kesalahan. 
Pada baris empat mendeklarasikan objek InetAddress dengan nama host yang diberi nilai awal
null. Kemudian pada baris lima diberikan nilai kepada host dengan InetAddress.getLocalHost()
yang digunakan untuk mendapatkan IP address. Lalu IP address tersebut disimpan kedalam
variabel array bernama ip dengan tipe data byte.
Untuk menampilkan IP address yang telah didapatkan, menggunakan perulangan for dengan
inisialisasi i sama dengan nol, dengan kondisi i kurang dari panjang karakter ip, dan iterasi yang
bertambah. Pada perulangan ini akan dicetak ip sesuai array pada iterasi perulangan, yang jika
nilai i lebih besar dari nol maka akan mencetak titik " . ", kemudian dilanjutkan dengan mencetak
ip pada iterasi selanjutnya hinga mencetak IP Address secara lengkap.

Compile file getIP.java, maka akan menampilkan output seperti pada gambar berikut. Pada gambar
tersebut IP lokal yang diberikan oleh komputer pribadi saya adalah 127.0.0.1
Output Get IP

Get Name
Get Name merupakan cara yang digunakan untuk mendapatkan atau melihat nama komputer
pribadi kita. Source code untuk mendapatkan nama komputer dapat dilihat pada program
getName.java dibawah ini :

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());
}
}
Nama class program diatas yaitu getName. Selanjutnya, program mendeklarasikan variabel yang
ada yaitu InetAddress host bernilai nul, variabel host yang bernilai InetAddress. Program akan
mencetak output dengan memanggil host.getHostName().

Compile file getName.java, maka akan menampilkan output seperti pada gambar berikut. Pada
gambar tersebut dapat diketahui nama komputer saya adalah DANOPA.

Output Get Name


IP to Name
IP to Name merupakan cara yang digunakan untuk melihat nama komputer berdasarkan alamat
IP. Source code untuk melihat nama komputer berdasarkan IP dapat dilihat pada
program IPtoName.java dibawah ini :

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

Nama class program diatas yaitu IPtoName. Pada program, terdapat percabangan if dimana
kondisi panjang string sama dengan 0 dengan nilai true, maka akan mencetak nama pemakai dan
IPtoName. Tapi, jika bernilai false maka program akan kembali ke semula. Selanjutnya,
mendeklarasikan String host bernilai 0 dan InetAddress dengan nilai null. Perintah try dan catch
digunakan jika terdapat kesalahan program, akan mencetak invalid IP – malformed IP. Bila tidak
ditemukan kesalahan, program akan mencetak nama komputer user.

Compile file IPtoName.java, maka akan menampilkan output seperti pada gambar berikut. Pada
gambar tersebut dapat diketahui nama komputer dengan alamat IP 127.0.0.1 adalah DANOPA.

Output IP to Name
NsLookup
NsLookup merupakan cara yang digunakan untuk mengetahui IP dari sebuah domain. Source
code NsLookup dapat dilihat pada program NsLookup.java dibawah ini :

<hostname><ip .length="" i="" if="">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();
}
}</ip></hostname>

Nama class program diatas yaitu NsLookup. Program akan mencetak (“Pemakaian: java
NsLookup <hostname>”). Kemudian, mendeklarasikan string host = 0, InetAddress bernilai null,
dan jika host tidak dikenal maka tampil Unknown host. Bagian byte ip didapat dai address, jika i
> 0 maka program mengimport java.net kemudian akan masuk ke class NsLookup. Program
utama mencetak pemakai java NsLookup kemudian mendeklarasikan string dan InetAddress.
Apabila host tidak dikenal maka tampil Unknown host. Pada bagian byte ip nilai didapat dari
address apabila i > 0.

Compile file NsLookup.java, maka akan menampilkan output seperti pada gambar berikut.
Output NsLookup

Aplikasi Client-Server TCP Sederhana


Program simple client dan simple server ini merupakan contoh aplikasi sederhana pemrograman
jaringan untuk sistem client-server.

1.     simpleServer.java

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();
}
}
}<span style="font-family: Times New Roman;"><span style="white-space:
normal;">
</span></span>

Program ini berfungsi sebagai server. Untuk bisa menggunakan method yang berhubungan
dengan jaringan (network), maka library untuk network di-import terlebih dahulu dengan
menggunakan perintah import java.net.*. Pada aplikasi ini juga terdapat perintah untuk meminta
masukkan dari user, maka untuk menggunakan perintah yang berhubungan dengan input-output,
maka package java.io.* di-import terlebih dahulu. Aplikasi ini di-compile terlebih dahulu. 

Kemudian akan menunggu pesan dan koneksi dari program client. Jika client berhasil
mengirimkan pesannya, kemudian server akan mencetak pesan, lalu server akan langsung
menutup koneksi dan program akan berhenti. Pesan yang akan dicetak adalah kata kunci “salam”
yang disimpan pada variabel “line”, jika pesan yang dikirim sesuai, maka program pada client
akan mencetak “salam juga”, tetapi jika tidak sesuai maka program pada client akan mencetak
“Maaf, saya tidak mengerti”.

2.     simpleClient.java

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

Program ini berfungsi sebagai client. Untuk bisa menggunakan method yang berhubungan
dengan jaringan (network), maka library untuk network di-import terlebih dahulu dengan
menggunakan perintah import java.net.*. Pada aplikasi ini juga terdapat perintah untuk meminta
masukkan dari user, maka untuk menggunakan perintah yang berhubungan dengan input-output,
maka package java.io.* di-import terlebih dahulu.

Aplikasi ini di-compile setelah server dan pastikan server sedang berjalan. Program ini akan
meminta kata kunci yang telah ditetapkan pada program client. Kemudia akan mencetak “Dari
server :” diikuti dengan “salam juga” maupun “Maaf, saya tidak mengerti”, tergantung dari
masukkan dari user. Jika pesan dari server sudah dicetak, maka koneksi akan terputus dan
program akan terhenti.
Menjalankan Aplikasi Simple Server dan Simple Client

Buka dua buah command prompt (cmd), compile file simpleServer.java pada cmd yang pertama
lalu compile file simpleClient.java pada cmd yang kedua. Maka output aplikasi client-server
dapat dilihat pada gambar berikut.

Setelah aplikasi server hidup, ketikkan kata "salam" pada simpleClient, maka server akan
menjawab dengan "salam juga". Lebih detailnya dapat dilihat pada Output Simple Server [1] dan
Output Simple Client [1]

Output Simple Server [1]

Output Simple Client [1]


Ketika program server tidak mengenali kata yang dikirimkan oleh client, maka sisi server akan
menjawab dengan "Maaf, saya tidak mengerti". Lebih detailnya dapat dilihat pada Output Simple
Server [2] dan Output Simple Client [2].

Output Simple Server [2]

Output Simple Client [2]

Anda mungkin juga menyukai