[PROGJAR] ANALISA PROGRAM

09.55.00 Unknown 0 Comments


Kali ini saya akan menganalisa beberapa program yaitu getIP.java, getName.java, IptoName.java, NsLookup.java, dan program client-server sederhana. Berikut adalah analisanya

1.            getName.java
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());}}

ANALISA
Program diatas adalah program untuk mengetahui nama komputer yang sedang dipakai. Program ini berguna supaya kita bisa jalankan program lain (program simpleClient.java dan program NsLookup.java) yang berkolerasi dengan program ini. Program ini menggunakan library .net yang digunakan java untuk program yang terhubung dengan jaringan. Inti dari program ini terdapat pada kodingan host.getHostName() yang berfungsi untuk mendapatkan hostname komputer yang sedang dipakai.

OUTPUT PROGRAM


2.            getIP.java

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();}}

ANALISA

Program diatas adalah program untuk mengetahui alamat IP komputer yang sedang dipakai. Program ini berguna supaya kita bisa jalankan program lain (program IPtoName.java) yang berkolerasi dengan program ini. Program ini menggunakan library .net yang digunakan java untuk program yang terhubung dengan jaringan. Inti dari program ini terdapat pada kodingan byte ip[] = host.getAddress() yang berfungsi untuk mendapatkan alamat IP komputer yang sedang dipakai. Tipe data byte dipakai karena memiliki rentang nilai 0 s/d 255 yang memang dipakai untuk memberikan alamat IP komputer. Setelah itu terdapat blok for Untuk mengeluarkan output dari hasil perintah host.getAddress .

OUTPUT PROGRAM
3.            IptoName.java

import java.net.*;
public class IPtoName {
     public static void main(String args[]) {
           if (args.length == 0) {
       System.out.println("Pemakaian: java IPtoName ");
                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());}}

ANALISA
Program diatas adalah program untuk mengetahui nama komputer yang sedang dipakai menggunakan alamat IP komputer yang diinput. Program ini menggunakan library .net yang digunakan java untuk program yang terhubung dengan jaringan. Inti program diatas adalah System.out.println(address.getHostName()) untuk mengeluarkan input hostname yang diperoleh dari proses kodingan  address = InetAddress.getByName(host) yaitu kodingan proses pengambilan nama computer dengan alamat IP yang kita masukkan sebelumnya dan disimpan di variable host. Jika alamat yang diinput salah, maka akan menampilkan output error dengan tulisan “Invalid IP – Malformed IP” dan program akan berhenti dan keluar.

OUTPUT PROGRAM

4.            NsLookup.java

import java.net.*;
public class NsLookup {
     public static void main(String args[]) {
           if (args.length == 0) {
                System.out.println("Pemakaian: java NsLookup ");
                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();}}

ANALISA
Program diatas adalah kebalikan dari program IptoName.java. Program ini untuk mengetahui alamat IP komputer yang sedang dipakai menggunakan hostname komputer yang diinput. Sama seperti sebelumnya, program ini juga menggunakan library .net yang digunakan java untuk program yang terhubung dengan jaringan. Pada kodingan address = InetAddress.getByName(host) adalah kodingan proses pengambilan alamat IP komputer dengan hostname yang kita masukkan sebelumnya dan disimpan di variable host. Jika alamat yang diinput salah, maka akan menampilkan output error dengan tulisan “Unknown Host” dan program akan berhenti dan keluar. Lalu pada baris byte[] ip = address.getAddress() adalah untuk mengambil alamat IP komputer yang diperoleh dari proses sebelumnya. Untuk mengeluarkan output alamat IP tersebut digunakan blok for sama seperti program getIP.java

OUTPUT PROGRAM

5.            Program Client-Server sederhana
a.     simpleServer.java
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();}}}

ANALISA
Program diatas adalah program server untuk menyediakan layanan kepada client. Apabila program ini berhasil dijalankan akan mengeluarkan output "Aplikasi Server hidup ..." dan menunggu permintaan dari client. Dengan menggunakan perintah accept, berarti program ini menerima permintaan dari client. Apabila client telah mengirimkan pesan berupa tulisan “salam” maka otomatis server akan mengirimkan pesan “salam juga” ke client yang hanya ditampilkan pada tampilan client. Apabila bukan tulisan “salam” maka server akan mengirimkan pesan “maaf, saya tidak mengerti”. Program ini hanya dapat melakukan satu kali permintaan yang diterima setalah itu program akan berhenti dan keluar.

OUTPUT PROGRAM

b.     simpleClient.java

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);}}}


ANALISA
Program diatas adalah program client untuk meminta layanan kepada server. Saat dijalankan, program ini harus menyertakan hostname server agar terhubung dengan server yang sesuai dengan begitu client dapat mengirimkan permintaannya. Apabila program ini berhasil dijalankan akan mengeluarkan input "Masukkan kata kunci: "dan apabila kita input sesuai dengan kata kunci yang ada di program server maka server akan mengirimkan output “salam juga”.  Apabila bukan tulisan “salam” maka server akan mengirimkan pesan “maaf, saya tidak mengerti” di tampilan output client. Program ini hanya dapat melakukan satu kali permintaan yang diterima setalah itu program akan berhenti dan keluar.
             
           OUTPUT PROGRAM    




NAMA      : PUTRI NURHASANAH D
KELAS     : 4IA23
NPM         : 58414617

0 komentar: