Pada kesempatan sebelumnya saya sudah membahas
tentang mendapatkan nama HOST dari nilai IP menggunakan java.net*. untuk
mengingatkan kembali java.net.* berfungsi untuk operasi – operasi network atau
internet contohnya untuk mendapatkan nilai IP dari sebuah PC atau mendapatkan
nama PC (host) pada sebuah PC. Disini akan saya tunjukkan program sederhana
untuk mendapatkan nilai IP dari nama HOST pada sebuah PC dengan bahasa
pemrograman JAVA :
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();
}
}
Source code di atas adalah source code dengan menggunakan bahasa
pemrograman java. Dalam source code tersebut sudah menggunakan import java.net.*; jadi source code
tersebut dapat mengakses fungsi – fungsi pada java.net dan nama class pada
source code tersebut adalah NsLookup (hanya untuk mengingatkan nama file source
code harus sama dengan nama class dalam bahasa java).
if (args.length == 0) {
System.out.println("Pemakaian: java
NsLookup <hostname>");
System.exit(0);
}
Selanjutnya kondisi if jika panjang variable string args sama dengan 0
(kosong), maka akan menampilkan informasi cara menjalankan programnya.
String host = args[0];
InetAddress address = null;
Berikutnya
mendeklarasikan variable host bertipe string dengan nilai array args 0 (nilai
array yang pertama adalah 0). Selanjutnya variable address dengan type
InetAddress dengan value null.
try {
address = InetAddress.getByName(host);
} catch(UnknownHostException e) {
System.out.println("Unknown host");
System.exit(0);
}
Berikutnya adalah try and catch untuk mencoba mencari kesalahan dari
nilai address yang di definisikan dengan fungsi InetAddress.getByName(host);
jika nilai input dalam variable host tidak cocok dengan nama HOST manapun maka
catch akan menerima error dan menampilkan informasi kesalahan nama HOST.
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();
}
Jika try and catch tida menerima error maka sintaks di atas akan di
eksekusi. Funsi sintaks di atas adalah untuk menyusun kembali nilai IP addres
pada byte[] ip = address.getAddress();
yang berbenuk array menjadi sebaris alamat IP yang dapat di tampilkan menggunakan
operasi prulangan FOR.
Dengan program di atas maka akan dapat di compile dan di jalankan
sepeti berikut :