Simple java ping

Dah lama vakum, gara – gara tertumpuknya tugas kuliah, bete juga waktu ngoprek jadi berkurang hehehe :D. alhamdulillah yang penting udah selesai.. artikel kali ini gue mw berbagi script sederhana untuk ping jaringan pake bahasa jowo, eh salah java maksudnya hehehe…

/**
* simple java ping
* 
* @author aBi71
* @version 0.1
*
* Email: l0g.bima@gmail.com
* Website: https://abi71.wordpress.com, http://projects.gxrg.org
*
* [G]unadarma [X]malang [R]esearch [G]roups
*
*/

//output example: 
//192.168.108.1 is live
//192.168.108.2 is unreachable

import java.net.InetAddress; //untuk ping yang dibutuhkan dari java.net hanya InetAddress

class javaPing {
int time = 0; //waktu untuk mencapai tujuan
int startHost = 0; //awal host
int endHost = 0; //akhir host

//kelas jaringan
String network = null;
//ip atau host
String host = null; 

//method help dipanggil jika argument penggunaan salah
public void help() {
System.out.println("Usage: java jping <timeout> <host>");
System.out.println("Ex: java jping 500 google.co.id");
System.out.println("    java jping 1000 192.168.1 1 10"); 
}

//ini adalah method untuk mulai melakukan ping 
public void runPing () {
try {
      InetAddress destination = InetAddress.getByName(host); //melakukan instansi 
      boolean reachable = destination.isReachable(time); // hanya akan menghasilkan 2 output true atau false
      if (reachable) { 
         System.out.println(host + " is alive"); //cetak ini, jika hasil reachable = true	
      }
      else {
         System.out.println(host + " is unreachable"); //cetak ini, jika hasil reachable = false
      }
  } catch (Exception e) {
      help(); //jika percobaan ping terjadi kesalahan maka jalankan method help 
      System.exit(0); //keluar dari program
   }
 }
}


//program utama
public class jping {
public static void main(String[] args) {
javaPing jp = new javaPing(); // instansi class javaPing, membuat constructor baru dengan nama jp
	try
        {
	    if (args.length < 3) { //jika jumlah argument command line kurang dari 3 
            	jp.time = Integer.parseInt(args[0]); //argument pertama time
            	jp.host = (args[1]); //argument kedua host
	    	jp.runPing(); //jalankan runping
	    }
	    else //jika jumlah argument command line lebih dari 2
	    {	
	    	jp.time = Integer.parseInt(args[0]); //argument pertama time
            	jp.network = (args[1]); //argument kedua network class
	    	jp.startHost = Integer.parseInt(args[2]); // argument ketiga host awal
	    	jp.endHost = Integer.parseInt(args[3]); // argument keempat host akhir
		
		// nilai awal i didapat dari starthost dan akan berhenti jika sudah sama dengan nilai dari endhost
		for (int i=jp.startHost;i<=jp.endHost;i++)
		{
		 jp.host = jp.network+"."+i; //menggabungkan jaringan dengan host
	         jp.runPing();//jalankan runPing
		}
	    }
  } 
	catch (Exception e) //jika penggunaan argument terjadi kesalahan maka jalankan method help
        {
	jp.help();
   }
 }
}
Advertisements
This entry was posted in java. Bookmark the permalink.

One Response to Simple java ping

  1. fathiraz arthuro says:

    ajarin java dong pak abi 😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s