Selasa, 08 Mei 2012

Tugas Progjar


SOAL
1. Jelaskan secara singkat apa yang anda ketahui tentang UDP
2. Jelaskan perbedaan TCP dan UDP
3. Berikan contoh aplikasi –aplikasi yang menggunakan protokol UDP, dan jelaskan bagaimana kerja aplikasi tersebut.
4. Bagaimana konsep Client Server dalam jaringan komputer
5. Jelaskan secara singkat apa yang anda ketahui tentang Protokol Transport.
6. Dalam protokol transport terdapat dua protokol utama yaitu TCP and UDP, jelaskan perbedaan TCP dan UDP.
7. Berikan contoh aplikasi –aplikasi yang menggunakan protokol TCP, dan jelaskan bagaimana kerja aplikasi tersebut.
8. Jelaskan langkah dan prinsip kerja socket programming untuk komunikasi dua arah

Jawab :


        1. UDP (Unit Datagram Protocol) adalah protocol connectionless message-based yang lebih sederhana.  Di protocol connectionless, tidak ada usaha yang dibuat untuk koneksi end-to-end. Koumikasi dicapai dengan mengirimkan informasi satu arah, dari source ke destination tanpa mengecek untuk melihat apakah tujuan masih ada, atau apakah koneksi disiapkan untuk menerima informasi. Paket UDP melewati jaringan dalam unit-unit yang berdiri sendiri.

Ciri-ciri UDP adalah:
  • Tidak terpercaya
    Ketika pesan dikirimkan, tidak dapat diketahui apakah akan sampai tujuan. Paket dapat hilang di jalan. Tidak ada konsep acknoweledgment, retransimission, dan timeout.
  • Tidak terurutJika dua pesan dikirimkan ke penerima yang sama, urutan sampainya tidak dapat diprediksi.
  • Lightweight
    Tidak ada pemesanan pesan, tidak ada pelacakan koneksi, dll. Layer transport yang kecil yang didesain di atas IP.
  • Datagrams
    Paket yang dikirimkan secara individu dan dijamin akan utuh jika sampai. Paket-paket memiliki batas-batas yang pasti, dan tidak dipisan dan dibagi ke dalam data stream yang mungkin ada

2.   PERBEDAAN TCP DAN UDP


Berbeda dengan TCP, UDP merupakan connectionless dan tidak ada keandalan, windowing, serta fungsi untuk memastikan data diterima dengan benar. Namun, UDP juga menyediakan fungsi yang sama dengan TCP, seperti transfer data dan multiplexing, tetapi ia melakukannya dengan byte tambahan yang lebih sedikit dalam header UDP.


UDP melakukan multiplexing UDP menggunakan cara yang sama seperti TCP. Satu-satunya perbedaan adalah transport protocol yang digunakan, yaitu UDP. Suatu aplikasi dapat membuka nomor port yang sama pada satu host, tetapi satu menggunakan TCP dan yang satu lagi menggunakan UDP—hal ini tidak biasa, tetapi diperbolehkan. Jika suatu layanan mendukung TCP dan UDP, ia menggunakan nilai yang sama untuk nomor port TCP dan UDP.

UDP mempunyai keuntungan dibandingkan TCP dengan tidak menggunakan field sequence dan acknowledgement. Keuntungan UDP yang paling jelas dari TCP adalah byte tambahan yang lebih sedikit. Di samping itu, UDP tidak perlu menunggu penerimaan atau menyimpan data dalam memory sampai data tersebut diterima. Ini berarti, aplikasi UDP tidak diperlambat oleh proses penerimaan dan memory dapat dibebaskan lebih cepat. Pada tabel, Anda dapat melihat fungsi yang dilakukan (atau tidak dilakukan) oleh UDP atau TCP.


3.   Contoh protokol aplikasi yang menggunakan UDP :

• DNS (Domain Name System) 53
• SNMP, (Simple Network Management Protocol) 161, 162
• TFTP (Trivial File Transfer Protocol) 69
• SunRPC port 111.
Cara Kerja DNS (Domain Name System)

Secara sederhana cara kerja DNS bisa dilihat pada gambar berikut ini:




DNS menggunakan relasi client – server untuk resolusi nama. Pada saat client mencari satu host, maka ia akan mengirimkan query ke server DNS. Query adalah satu permintaan untuk resolusi nama yang dikirimkan ke server DNS.
  1. Pada komputer Client, sebuah program aplikasi misalnya http, meminta pemetaan IP Address (forward lookup query). Sebuah program aplikasi pada host yang mengakses domain system disebut sebagai resolver, resolver menghubungi DNS server, yang biasa disebut name server.
  2. Name server meng-cek ke local database, jika ditemukan, name server mengembalikan IP Address ke resolver jika tidak ditemukan akan meneruskan query tersebut ke name server  root server.
  3. Terakhir barulah si client bisa secara langsung menghubungi sebuah website / server yang diminta dengan menggunakan IP Address yang diberikan oleh DNS server.

4.   Konsep client server

Jaringan client atau server adalah jaringan dimana komputer client bertugas melakukan permintaan data dan server bertugas melayani permintaan tersebut.
Client
·         User akan membuat permintaan melalui software client. Aplikasi ini berfungsi :
·         Memberikan interface bagi user untuk melakukan jobs.
·         Format request data ke bentuk yang dapat dimengerti oleh server
·         Menampilkan hasil yang diminta pada layar
Server
Jaringan client atau server, server khusus digunakan untuk pemrosesan, penyimpanan dan manajemen data. Server bertugas menerima request dari client, mengolahnya, dan mengirimkan kembali hasilnya ke client. Untuk itu, server membutuhkan komputer khusus dengan spesifikasi hardware yang jauh lebih baik dan bertenaga dibandingkan hardware untuk client karena komputer harus mampu melayani :
·         Request secara simultan dalam jumlah besar
·         Aktivitas manajemen jaringan
·         Menjamin keamanan pada resource jaringan.

5.
Protokol transport = protocol tcp dan protocol udp
Protokol TCP ( Transmission Control Protocol ) adalah salah satu jenis protokol transfer data. TCP mempunyai karakteristik sebagai protokol yang berorientasi koneksi (Connection oriented). Sebelum terjadi proses tranfer data, maka yang pertama dilakukan adalah kedua belah pihak melakukan caal request dan call accept.
UDP ( User Datagram Protocol) adalah jenis transfer data yang lain dari TCP. UDP mempunyai karateristik connectionless (tidak berbasis koneksi). Dengan kata lain, data yang dikirimkan dalam bentuk packet tidak harus melakukan call setup seperti pada TCP.

6.
A.     Protokol TCP ( Transmission Control Protocol ) adalah salah satu jenis protokol transfer data. TCP mempunyai karakteristik sebagai protokol yang berorientasi koneksi (Connection oriented). Sebelum terjadi proses tranfer data, maka yang pertama dilakukan adalah kedua belah pihak melakukan caal request dan call accept. Protokol TCP menggunakan jalur data full duplex yang berarti antara kedua host terdapat dua buah jalur, jalur masuk dan jalur keluar sehingga data dapat dikirimkan secara simultan. Sebuah circuit virtual disiapkan sebelum packet-packet dikirimkan. Pada masing-masing packet terdapat virual circuit identifier yang berisi alamat tujuan packet tersebut. Data yang dikirimkan dalam sebuah protokol TCP maka akan diurutkan dengan sebuah nomor urut dan akan mengharap packet positive acknowledgment. Apabila tidak ada packet positive acknowledgment, maka packet akan dikirim ulang. Oleh karena itu, protokol TCP reliable. Akan tetapi karena harus mengecek setiap packet yang dikirmkan, maka protokol TCP relatif lambat. Pada TCP, hanya bisa melakukan koneksi one-to-one dan tidak bisa melakukan koneksi one-to-many. Karena rute-rute packet sudah ditentukan sebelumnya, maka akan lebih sulit bagi jaringan untuk beradaptasi dengan kemacetan. Apabila sebuah simpul/node mengalami kerusakan/kegagalan, maka seluruh virtual circuit yang melewati simpul tersebut akan hilang.

B.   Protokol UDP
UDP ( User Datagram Protocol) adalah jenis transfer data yang lain dari TCP. UDP mempunyai karateristik connectionless (tidak berbasis koneksi). Dengan kata lain, data yang dikirimkan dalam bentuk packet tidak harus melakukan call setup seperti pada TCP. Selain itu, data dalam protokol UDP akan dikirimkan sebagai datagram tanpa adanya nomor identifier. Sehingga sangat besar sekali kemungkinan data sampai tidak berurutan dan sangat mungkin hilang/rusak dalam perjalananan dari host asal ke host tujuan. Tergantung pada host penerima/tujuan, apakah akan meminta kembali pakcet yang rusak atau hilang. Kelebihan UDP adalah pada saat digunakan pada lightweight protokol, misalnya saja DNS(Domain Name Service). Selain itu protokol UDP lebih fleksibel karena misalnya saja terjadi kemacetan pada salah satu bagian jaringan, maka datagram dapat dialihkan menghindari bagian yang mengalami kemacetan tersebut. Kemudian apabila sebuah simpul(node) mengalami kerusakan/kegagalan, maka pacekt packet berikutnya dapat menemukan jalan/rute pengganti yang melewati simpul tersebut.

-       UDP adalah “datagram-oriented”, sedangkan TCP adalah “session-oriented”. Datagram adalah paket informasi self-contained. UDP berhubungan dengan datagram atau paket individu yang dikirim dari client ke server dan atau sebaliknya.
-       UDP adalah connection-less. Client tidak membangun koneksi ke server sebelum mengirim data, client hanya mengirim data secara langsung.
-       UDP adalah protokol yang tidak andal, dalam artian :
·         Paket dapat hilang. UDP tidak dapat mendeteksinya, sehingga pada program aplikasi client – server, metode transmisi ulang dikarenakan data rusak atau hilang harus dilakukan pada level aplikasi. Biasanya aplikasi menunggu hingga timeout habis, dan kemudian mencoba lagi
·         Paket dapat mengalami kerusakan. Paket UDP berisi checksum semua data dalam paket. Checksum ini memungkinkan UDP mendeteksi kapan suatu paket mengalami kerusakan. Jika hal ini terjadi, maka paket tersebut dikeluarkan, dan sebagaimana biasa aplikasilah yang mendeteksi hal ini dan melakukan transmisi ulang seperlunya.
·         Karena UDP adalah datagram-oriented dan pada level protokol setiap paket berdiri sendiri, maka UDP tidak memiliki konsep paket sesuai urutan, yang selanjutnya berarti tidak memerlukan nomor urut pada paket tersebut.
·         Karena UDP tidak memerlukan mekanisme kontrol yang rumit, maka UDP dapat dianggap lebih mudah dan lebih kecil ( dalam hal baris data dan memori ) untuk diimplementasikan. Namun hal tersebut juga membuat UDP tidak cocok untuk sejumlah besar data.

7.   Contoh protokol aplikasi yang menggunakan TCP :
  • HTTP (Hypertext Transfer Protocol)
  • FTP (File Transfer Protocol)
  • SMTP (Simple Mail Transfer Protocol)
Cara kerja http
Bila kita mengklik link hypertext atau kita mengetikkan suatu alamat atau URL pada internet browser, maka Anda sedang mentransfer URL ke browser, dan Dari URL ini browser Anda tahu server mana yang akan dihubungi dan file apa yang diminta kemudian web browser akan mengirimkan perintah HTTP ke web server. Web server selanjutnya akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser. Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada kita.

8.      Stream socket digunakan untuk sistem
komunikasi 2 arah dan menggunakan protokol TCP (Transmission Control
Protocol). Contoh aplikasi yang menggunakan stream socket adalah telnet dan
HTTP (web browser). TCP menjamin data terkirim secara urut dan bebas dari
error, sedangkan IP (Internet Protocol) bertugas untuk mengatur lalu-lintas routing.
Jenis socket yang kedua yaitu datagram socket disebut juga connectionless
socket sebab untuk interaksi client-server tidak harus selalu terhubung terus
menerus. Jika client mengirimkan data ke server, data tersebut ada kemungkinan
sampai ke server atau tidak. Untuk itu client menunggu sinyal ‘error free’ dari
client. Jika client tidak menerima sinyal ‘error free’ dalam suatu kurun waktu,
maka client akan mengirimkan lagi data tersebut. Contoh aplikasi yang
menggunakan datagram socket adalah tftp dan bootp.
Gambar 3. Enkapsulasi data
Data yang dikirimkan melalui datagram socket akan melalui proses yang diberi
nama enkapsulasi (data encapsulation). Data yang akan dikirimkan sebelumnya
dibungkus dulu dengan sebuah header dari protokol yang pertama (misalnya
TFTP), lalu dibungkus lagi dengan protokol berikutnya (misalnya UDP), lalu IP
dan yang terakhir dibungkus dengan ethernet protocol pada physical layer.

Kamis, 03 Mei 2012

TUGAS PEMROGRAMAN JARINGAN

DEMO D1-1
Program 1 : D1-1
Mengambil IP Komputer Lokal
Nama Program : getIP.java

Listing Program :
package tugaspakachsan;

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
            if (i > 0) {
                        System.out.print(".");
                  }
                  System.out.print(ip[i] & 0xff);
            }
            System.out.println();
      }
}


Pada Listing diatas ini, saya menjalankan kodingnya dengan menggunakan JAVA IDE Netbeans. Pada intinya program ini berfungsi untuk menampilkan IP local pada sebuah komputer.





Gambar dibawah ini adalah tamilan ketika saya menuliskan  listing program ke layar netbeans. Disini package projek saya beri nama tugaspakachsan dan nama class pada program ini adalah getIP.


Selanjtnya adalah gambar output dari program diatas :
Dan Inilah IP local pada computer saya sendiri.





DEMO D1-2
Program 2 : D1-2
Mencetak Nama Komputer Lokal
Nama Program : getName.java

Listing Program :
package tugaspakachsan;
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());
    }
}

Pada Listing diatas ini, saya menjalankan kodingnya dengan menggunakan JAVA IDE Netbeans. Pada intinya program ini berfungsi untuk mencetak nama komputer local yang sedang diaktifkan.
Gambar dibawah ini adalah tamilan ketika saya menuliskan  listing program ke layar netbeans. Disini saya membuat class baru yang bernama getName.java.



Selanjtnya adalah gambar output dari program diatas :
Dan Inilah nama komputer saya sendiri yang bernama BARRON-PC.



DEMO D1-3
Program 3 : D1-3
Nama Program : IPtoName.java
Mencetak Nama Komputer Lokal Dengan Memasukkan Alamat IP computer lokal

Listing Program :

package tugaspakachsan;

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

}

Pada Listing diatas ini, saya menuliskan listing program tersebut dengan menggunakan notepad. Setelah itu saya simpan notepad tersebut dengan format penyimpanan .java, Lalu saya beri nama file tersebut dengan nama IPtoName.java. Setelah file java ini disimpan dengan nama tersebut, langkah selanjutnya adalah mengcompile file .java tersebut dengan menggunakan command prompt yang ada pada computer local tersebut. Cara mengkompilenya adalah pertama kita lihat dulu letak file .java itu disimpan.

Gambar dibawah ini adalah ketika saya menyimpan file .java tersebut di drive d. Lalu, kita tulis perintah javac [nama_fileJava].java untuk mengkompile. Kita tunggu beberapa saat, kalau tidak ada yang error maka akan dilanjutkan dengan perintah untuk merunning program java yang telah kita buat listingnya didalam file IPtoName.java tersebut. Cara runningnya adalah java [nama_fileJava] [alamat_IP_Lokal] maka hasilnya akan keluar nama computer kita. Disini saya ambil contoh adalah IP saya dan yang keluat nama computer yang saya gunakan. Berikut adalah hasil running listing program diatas pada komputer saya :




DEMO D1-4
Program 4 : D1-4
Nama Program : NSLookup.java
Mencetak Alamat IP computer Lokal dengan memasukkan Nama Komputer Lokal

Listing Program :

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
      if (i > 0) System.out.print(".");
      System.out.print((ip[i]) & 0xff);
    }

    System.out.println();
  }
}

Pada Listing diatas ini, saya menuliskan listing program tersebut dengan menggunakan notepad. Setelah itu saya simpan notepad tersebut dengan format penyimpanan .java, Lalu saya beri nama file tersebut dengan nama NSLookup.java. Setelah file java ini disimpan dengan nama tersebut, langkah selanjutnya adalah mengcompile file .java tersebut dengan menggunakan command prompt yang ada pada computer local tersebut. Cara mengkompilenya adalah pertama kita lihat dulu letak fila .java itu disimpan.
Gambar dibawah ini adalah ketika saya menyimpan file .java tersebut di drive d. Lalu, kita tulis perintah javac [nama_fileJava].java untuk mengkompile. Kita tunggu beberapa saat, kalau tidak ada yang error maka akan dilanjutkan dengan perintah untuk merunning program java yang telah kita buat listingnya didalam file NSLookup.java tersebut. Cara runningnya adalah java [nama_fileJava] [alamat_IP_Lokal] maka hasilnya akan keluar alamat IP computer lokal kita. Disini saya ambil contoh adalah nama komputer saya dan yang keluar adalah alamat IP yang saya gunaan pada computer local ini. Jadi, inti dari listing ini adalah kebalikan dari file IPtoName.java. Berikut hasil yang saya dapat dari listing diatas :







DEMO D1-5
Program 5 : D1-5
Nama Program : simpleServer.java dan simpleClient.java
Melakukan proses client-server dengan menggunakan 2 cmd dalam 1 komputer

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

  }
}

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("Error io: " + e2);
        }
       
        //Menulis ke server
        try {
            System.out.println("Dari server: " + output);
            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);   
        }
    }
}

Pada Listing diatas ini, saya menuliskan listing program tersebut dengan menggunakan notepad. Setelah itu saya simpan notepad tersebut dengan format penyimpanan .java, Lalu saya beri nama file tersebut dengan nama simpleServer.java dan simpleClient.java. Setelah file java ini disimpan dengan nama tersebut, langkah selanjutnya adalah mengcompile file .java tersebut dengan menggunakan command prompt yang ada pada computer local tersebut. Cara mengkompilenya adalah pertama kita lihat dulu letak fila .java itu disimpan.
Kedua listing ini berfungsi untuk membuat sebuah jaringan client dan server. Dimana listing ini dijalankan dengan mengggunakan 2 buah command prompt yang 1 bertindak sebagai client dan 1 lagi bertindak sebagai server. Sekarang saya akan menjelaskan bagaimana cara menjalankan listing pertama yaitu simpleServer :

-Pertama, buka cmd computer kita
-Menuju lokasi file ini disimpan, disini saya taru di drive D dengan nama simpleServer.java
-kita compile dengan menggunakan perintah javac simpleServer.java
-lalu kita run program simpleServer.java ini dengan perintah java simpleServer lalu “enter”
-akan keluar hasilnya adalah “Aplikasi Server Hidup”

Selanjutnya saya akan membahas menjalankan simpleClient.java setelah menjalankan simpleServer.java :
-Pertama, buka cmd computer kita
-Menuju lokasi file ini disimpan, disini saya taru di drive D dengan nama simpleClient.java
-kita compile dengan menggunakan perintah javac simpleClient.java
-lalu kita run program simpleClient.java ini dengan perintah java simpleServer BARRON-PC lalu “enter”
-akan keluar hasilnya adalah “Masukkan kata kunci : ”
-kata kunci ini kita masukkan kata “salam” maka dari server akan membalas juga dengan kata “salam juga”
-Perlu diperhatikan juga ketika kita memasukan kata kuncinya dengan kata yang lain maka hasilnya akan keluar adalah “maaf, saya tidak mengerti” itu disebabkan pada listing program server hanya mengidentifikasikan kata kuncinya adalah kata “salam".




Gambar 1 cmd sebagai server



Gambar 2 cmd sebagai client



Gambar 3 ketiga client menyebutkan kata kunci yang berbeda dan server tidak mengerti








DEMO D1-7
Program 7 : D1-7
Nama Program : ObjectServer.java, Staff.java dan ObjectClient.java
Melakukan proses pengiriman data staff pegawai dari client menuju ke server


Tulis listing program ini pada lembar notepad dengan menyimpanya dengan format .java :


 ObjectServer.java

import java.net.*;
import java.io.*;


public class ObjectServer {
 private static int SRV_PORT=5000;
 private static ObjectInputStream is=null;


 public static void main(String argv[]) throws Exception{
  //membuat soket server dan menunggu koneksi
  ServerSocket soketServer= new ServerSocket(SRV_PORT);
  Socket soketClient= soketServer.accept();


  //membuat stream untuk baca obyek
  is= new ObjectInputStream(soketClient.getInputStream());


  //menunggu dan membaca obyek yang dikirimkan 
  Staff pegawai= (Staff) is.readObject();
  
  System.out.println("Server menerima data Pegawai");
  pegawai.print();


 }



Staff.java

import java.io.*;


public class Staff implements Serializable{
 String nama;
 String divisi;
 int    umur;


 public Staff(String nama, String divisi, int umur)
 {
  this.nama=nama;
  this.divisi=divisi;
  this.umur= umur;
 }


 public void print()
 {
  System.out.println("Data Staff: ");
  System.out.println("Nama : " + nama);
  System.out.println("Divis: " + divisi);
  System.out.println("Umur : "+ umur);
 }




ObjectClient.java

import java.net.*;
import java.io.*;
public class ObjectClient{
 private static int SRV_PORT = 5000;
 private static ObjectOutputStream os=null;


 public static void main(String argv[]) throws Exception{
  try{
   //membuat soket client
   Socket soketClient= new Socket("127.0.0.1", SRV_PORT);
   
   //membuat stream untuk pengiriman obyek
   os= new
                   ObjectOutputStream(soketClient.getOutputStream());
   
   //membuat obyek dan mengirimkannya lewat stream obyek
   Staff pegawai= new Staff("BARRON SATRIO","Teknik Informatika",22);
   os.writeObject(pegawai);
   
   System.out.println("Client mengirim data pegawai:");
   pegawai.print();
  }
  catch(Exception e){
   e.printStackTrace();
  }
 }




pada latihan tugas pemrogramman jaringan ke tujuh ini akan membuat kelas Staff yang berisi informasi data pegawai. Data staff akan dikirimkan dari suatu aplikasi client ke aplikasi server lewat sebuah soket. Disini yang pertama dijalankan pada layar command prompt adalah ObjectServer.java , pada saat Object Server dijalankan maka dia akan menunggu ObjectClient.java mengirim sebuah data. Selanjutnya yang akan kita jalankan adalah ObjectClient.java. Pada saat aplikasi client dijalankan, maka secara otomatis akan mengirim sebuah data pegawai ke aplikasi server. Disini data pegawai yang saya buat adalah :
Nama : barron satrio
Divisi : Teknik Informatika
Umur : 22

Untuk lebih jeasnya dapat dilihat pada layar output dibawah ini :




                                                    Gambar 1 Output ObjectServer.java






                                                    Gambar 2 Output ObjectClient.java