Monday, October 20, 2008

Mendapatkan IP Address dan Host Name

Java menyediakan fungsi InetAddress untuk mendapatkan alamat IP maupun nama host suatu komputer. Alamat IP maupun nama host yang didapatkan tidak tergantung pada alamat ip dan nama host komputer lokal saja, namun juga dapat digunakan untuk mengecek alamat IP dan nama host di Internet, tentu dengan syarat komputer kita terhubung dengan internet. Penggunaan fungsi ini juga terkait erat dengan setting DNS pada komputer yang kita gunakan.

Berikut adalah contoh program yang menunjukkan fungsionalitas tersebut :

  1. Buatlah sebuah project baru Netbeans
  2. Tambahkan sebuah JFrame Form
  3. Lengkapi dengan 2 buah label, 2 buah TextField (txtIPAddress dan txtNamaHost) dan 3 buah Button (btnCheckIPAddress, btnCheckHostName dan btnCheckLokal). Lihat contoh pada gambar berikut :
  4. Ketikkan kode berikut pada btnCheckHostName, event actionPerformed
    1. private void btnCheckHostNameActionPerformed(java.awt.event.ActionEvent evt) {
    2. try {
    3. String strHostName = InetAddress.getByName(txtIPAddress.getText()).getHostName();
    4. JOptionPane.showMessageDialog(null, "Host name dari IP Address '" + txtIPAddress.getText() +"' = "+ strHostName);
    5. } catch (UnknownHostException ex) {
    6. JOptionPane.showMessageDialog(null, ex);
    7. Logger.getLogger(frmIpAddress.class.getName()).log(Level.SEVERE, null, ex);
    8. }
    9. }
  5. Lakukan import library yang diperlukan (import java.net.InetAddress; import javax.swing.JOptionPane;)
  6. Ketikkan kode berikut pada btnCheckIPAddress, event actionPerformed
    1. private void btnCheckIPAddressActionPerformed(java.awt.event.ActionEvent evt) {
    2. try {
    3. String strIPAddress = InetAddress.getByName(txtHostName.getText()).getHostAddress() ;
    4. JOptionPane.showMessageDialog(null, "Alamat IP dari '"+txtHostName.getText() +"' ="+ strIPAddress);
    5. } catch (UnknownHostException ex) {
    6. JOptionPane.showMessageDialog(null, ex);
    7. Logger.getLogger(frmIpAddress.class.getName()).log(Level.SEVERE, null, ex);
    8. }
    9. }
  7. Ketikkan kode berikut pada btnCheckLokal event actionPerformed
    1. private void btnCheckLocalActionPerformed(java.awt.event.ActionEvent evt) {
    2. try {
    3. InetAddress AlamatInternet = InetAddress.getLocalHost();
    4. JOptionPane.showMessageDialog(null, "Host name lokal : " +AlamatInternet.getHostName());
    5. JOptionPane.showMessageDialog(null, "IP Address lokal : " +AlamatInternet.getHostAddress() );
    6. } catch (UnknownHostException ex) {
    7. JOptionPane.showMessageDialog(null, ex);
    8. Logger.getLogger(frmIpAddress.class.getName()).log(Level.SEVERE, null, ex);
    9. }
    10. }
  8. Simpan dan jalankan aplikasi (SHIFT + F6). Masukkan IP Address dan klik pada “Check Host Name” atau masukkan host name dan klik “Check IP Address”. Check IP dan Host Lokal tidak membutuhkan masukan. Berikut adalah beberapa screenshot pesan yang tampil :

Program ini tidak secara smart mendeteksi masukan apakah itu alamat IP ataukah host name. Untuk kemudahan, saya menggunakan 2 buah TextField sebagai contoh. Pada aplikasi terapan, input IP Address ataupun Host Name bisa didapatkan melalui variabel.


No comments:

Post a Comment