Get
IP
Berikut
ini akan di jelaskan bagaimana caranya mendapat kan ip address atau dikatakan
sebagai internet protokol dari komputer kita. Pertama untuk dapat melakukan hal
tersebut yaitu dengan mengcopy listing di bawah ini ke dalam suatu notepad. Save
file tersebut berupa esktensi java dengan nama file sama dengan nama class dari
listing tersebut. Jalankan file tersebut melalui command prompt.
Listring 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
Listing di atas
menjelaskan bagaimana cara mendapatkan ip dari komputer kita. IP adalah alamat
dari komputer dalam suatu jaringan, dimana alamat tersebut tercetak dalam
bentuk deretan bilangan biner. Pertama diperlukannya suatu paket yang dapat menangani program untuk berkomunikasi atau melakukan
aktifitas melalui jaringan menggunakan paket “import java.net.*;”. Pada program
getIP, dimulai dengan pembuatan class dengan nama getIP yang bersifat public
pada perintah “public class getIP”. Dengan adanya sifat public tersebut,
membuat class getIP ini dapat di akses oleh semua bagian di dalam program. IP
dari program ini di dapat memanggil alamat dari variabel host dengan fungsi “getAddress”dimana
host mendapatkan nilai tersebut melalui InetAddress yang di definisikan dengan
nilai null dan mendapatkan nilai tersebut melalui perintah getLocalHost. Proses
tersebut tercetak melalui perintah for dengan kondisi dari 0 sampai panjang
dari alamat ip tersebut. Jika nilai I lebih besar dari 0 maka address akan
tercetak.
Output
Get
Name
Berikut
ini akan di jelaskan bagaimana caranya mendapat kan nama dari suatu host
komputer. Pertama untuk dapat melakukan hal tersebut yaitu dengan mengcopy
listing di bawah ini ke dalam suatu notepad. Save file tersebut berupa esktensi
java dengan nama file sama dengan nama class dari listing tersebut. Jalankan file
tersebut melalui command prompt.
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
Listing di atas menjelaskan bagaimana
caranya untuk mendapatkan nama atau identitas dari host komputer. Pertama diperlukannya
suatu paket yang dapat menangani program untuk
berkomunikasi atau melakukan aktifitas melalui jaringan menggunakan paket
“import java.net.*;”. Pada program getIP, dimulai dengan pembuatan class dengan
nama getIP yang bersifat public pada perintah “public class getIP”. Dengan
adanya sifat public tersebut, membuat class getIP ini dapat di akses oleh semua
bagian di dalam program. Cara kerja dari program tersebut tidak jauh berbeda
hanya saja jika ip address kita perlu menelusuri alamat dari komputer yang
bersangkutan dalam bentuk deretan biner dengan menggunakan perintah “getAddress”
sedangkan untuk pencarian nama atau identitas dari host komputer hanya
memerlukan perintah “getHostname” dari variabel host tersebut dan nama host
komputer tersebut akan tercetak melalui perintah “System.out.println”.
Output
IP
to Name
Berikut
ini akan di jelaskan bagaimana caranya mendapat kan nama dari alamat ip suatu
komputer. Pertama untuk dapat melakukan hal tersebut yaitu dengan mengcopy
listing di bawah ini ke dalam suatu notepad. Save file tersebut berupa esktensi
java dengan nama file sama dengan nama class dari listing tersebut. Jalankan file
tersebut melalui command prompt.
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
Pertama dimulai dengan penggunaan library
atau paket java.net.* untuk membuat program dapat melakukan komunikasi atapun
aktifitas dalam suatu jaringan. Setelah itu di lanjutkan dengan pembuatan class
nya dengan nama IPtoName yang bersifat public yang artinya fungsi di dalamnya
dapat di akses dari luar. Jika panjang string suatu host komputer sama dengan 0
yang berarti bersifat true maka nama dari ip address akan tercetak melalui
perintah “System.out.println("Pemakaian: java IPtoName <IP
address>");” dan program secara otomatis menyelesaikan pencarian dan keluar
dari pencarian atau pencetakan melalui perintah “System.exit(0);” Jika tidak di
temukan ia akan menjalankan program catch untuk mengatasi terjadinya kesalahan
dengan mencetak perintah “System.out.println("invalid IP - malformed
IP");”.
Output
Nslookup
Berikut
ini akan di jelaskan bagaimana caranya mendapat kan IP dengan host name
komputer. Pertama untuk dapat melakukan hal tersebut yaitu dengan mengcopy
listing di bawah ini ke dalam suatu notepad. Save file tersebut berupa esktensi
java dengan nama file sama dengan nama class dari listing tersebut. Jalankan file
tersebut melalui command prompt.
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
Pertama diperlukannya suatu paket yang
dapat menangani program untuk berkomunikasi atau
melakukan aktifitas melalui jaringan menggunakan paket “import java.net.*;”.Setelah
itu di lanjutkan dengan pembuatan class nya dengan nama NsLookup yang bersifat
public yang artinya fungsi di dalamnya dapat di akses dari luar. Jika panjang
string suatu host komputer sama dengan 0 yang berarti bersifat true maka nama
dari ip address akan tercetak melalui perintah “System.out.println("Pemakaian:
java NsLookup <hostname>");” dan program secara otomatis menyelesaikan
pencarian dan keluar dari pencarian atau pencetakan melalui perintah “System.exit(0);”
Jika tidak di temukan ia akan menjalankan program try yang menyatakan bahwa
nama host tidak di ketahui dan mencetak perintah “System.out.println("Unknown
host");. Alamat IP sendiri di dapat dengan memanggil fungsi dari
InteAddress yaitu address menggunakan perintah “getAddress” ke dalam suatu
variabel array berupa “byte [] ip” dengan tipe data byte. Alamat tersebut akan
tercetak melalui perulangan for yaitu dengan kondisi perulangan 0 sampai kurang
dari panjang nilai ip tersebut. Jika variabel i lebih besar dari 0 maka akan
tercetak perintah “System.out.print((ip[i]) & 0xff);” untuk mencetak alamat
ip tersebut.
Output
Client-Server
Berikut
ini akan di jelaskan bagaimana Kedua program tersebut dapat saling
berkomunikasi yaitu antara program server dengan client. Pertama untuk dapat
melakukan hal tersebut yaitu dengan mengcopy listing di bawah ini ke dalam
suatu notepad. Save file tersebut berupa esktensi java dengan nama file sama dengan
nama class dari listing tersebut. Jalankan file tersebut melalui command
prompt.
Listing Program 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();
}
}
}
Listing Program 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 Program
komunikasi yang
dilakukan antara server dan client dimana client akan mengirim pesan kepada
server dan server menerima pesan dari client. Agar client dan server dapat
saling berkomunikasi, pertama diperlukannya suatu paket yang dapat memberikan
fungsi input dan output yaitu proses ketika server atau client saling menginput
pesan untuk dikirm dan menampilkan output pesan tersebut baik kepada server
ataupun client menggunakan paket “import java.io.*;”. Proses komunikasi kedua
host tersebut, diperlukan adanya paket yang menangani program untuk
berkomunikasi melalui jaringan menggunakan paket “import java.net.*;”. Pada
program chatServer, dimulai dengan pembuatan class dengan nama chatServer yanng
bersifat public pada perintah “public class chatServer”. Dengan adanya sifat
public tersebut, membuat class chatServer ini dapat di akses oleh semua bagian
di dalam program.
Selanjutnya
pembuatan objek ServerSocket dengan nama sersock yang digunakan untuk
menghubungkan kedua host komputer tersebut kedalam port 5000. Server akan membaca inputan yang dikirim oleh
user sehingga dibuatlah objek dari InputStreamReader serta output pesan yang
akan ditampilkan pada server melalui OutputStream dengan objeknya yaitu ostream.
Berikutnya dibuat sebuah variabel untuk menerima pesan yaitu “line”. Variabel tersebut
akan menggunakan perintah atau fungsi “readLine” untuk mendapatkan masukan
client melalui variabel dari BufferedReader yaitu is dan akan tercetak melalui
perintah “System.out.println("Terima : " + line);”
Output