Minggu, 30 April 2017

PROGRAM MENDAPATKAN NILAI IP DARI NAMA HOST PADA PC MENGGUNAKAN BAHASA JAVA

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 :

Tidak ada komentar:

Posting Komentar