Minggu, 20 Mei 2012

Pemrograman Jaringan

1. Jelaskan secara singkat apa yang anda ketahui tentang UDP?
Jawab ::
UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antarhost dalam jaringan yang menggunakan TCP/IP.

2. Jelaskan perbedaan TCP dan UDP!
Jawab ::
Perbedaan TCP dengan UDP :
TCP :
• Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
• Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
• Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima
• Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi.
UDP:
• Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
• Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan.
• UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
• UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.

3. Berikan contoh aplikasi–aplikasi yang menggunakan protokol UDP, dan jelaskan bagaimana kerja aplikasi tersebut!
Jawab ::
Berbagai contoh aplikasi yang menggunakan protokol UDP, yaitu :
• Trivial File Transfer Protocol (TFTP). Cara kerja aplikasi ini yaitu TFTP client melakukan inisialisasi dengan mengirimkan permintaan untuk read/write melalui port 69, kemudian server dan client melakukan negosiasi tentang port yang akan digunakan untuk melakukan transfer file
• Domain Name System (DNS). Cara kerja aplikasi ini yaitu DNS resolver, sebuah program klien yang berjalan di komputer pengguna, membuat permintaan DNS dari program aplikasi. Kemudian, recursive DNS server melakukan pencarian melalui DNS sebagai tanggapan permintaan dari resolver dan mengembalikan jawaban kepada para resolver tersebut. Lalu, authoritative DNS server memberikan jawaban terhadap permintaan dari recursor, baik dalam bentuk sebuah jawaban maupun dalam bentuk delegasi (misalkan: mereferensikan ke authoritative DNS server lainnya)

4. Bagaimana konsep Client Server dalam jaringan komputer?
Jawab ::
Konsep client-server dalam jaringan komputer
Sesuai dengan namanya, client-server berarti adanya pembagian kerja pengolahan data antara client dan server. Saat ini, sebagian besar jaringan menggunakan model client/server.
Secara singkat, jaringan client/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
Komputer client menerima instruksi dari user melalui interface yang disediakan, merubah format instruksi ke bentuk yang dapat dimengerti oleh database server, dan mengirimkannya melalui jaringan ke server yang dituju. Server kemudian akan mengolah request, memilih informasi yang sesuai, dan mengirimkan kembali data hasil pengolahan ke client. Client kemudian mengolah data yang diterima untuk ditampilkan sebagai informasi yang berguna melalui interface yang tersedia.

Server
Pada jaringan client/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. Jelaskan secara singkat apa yang anda ketahui tentang Protokol Transport!
Jawab ::
Protokol transport adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pengiriman berkas (file) komputer antarmesin dalam sebuah jaringan. Setiap proses pada aplikasi harus mendefinisikan protokol transport mana yang akan digunakan. Contoh: HTTP, FTP, SMTP menggunakan TCP, sedangkan DNS dan Internet Telephony menggunakan UDP.

6. Dalam protokol transport terdapat dua protokol utama yaitu TCP and UDP, jelaskan perbedaan TCP dan UDP!
Jawab ::
Perbedaan TCP dengan UDP :
TCP :
• Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP (TCP connection termination).
• Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP (protocol data unit dalam protokol TCP) akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
• Memiliki layanan flow control: Untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat "macet" jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima
• Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi.
UDP:
• Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi.
• Unreliable (tidak andal): Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan.
• UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.
• UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil (tidak lebih besar dari nilai Maximum Transfer Unit/MTU) yang dimiliki oleh sebuah antarmuka di mana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.


7. Berikan contoh aplikasi–aplikasi yang menggunakan protokol TCP, dan jelaskan bagaimana kerja aplikasi tersebut!
Jawab ::
Aplikasi - aplikasi yang menggunakan protokol TCP dan cara kerjanya :
Telnet/TeleNetwork adalah remote login yang dapat terjadi di internet karena ada service dari protocol TELNET. Dengan Telnet memungkinkan kita untuk mengakses komputer lain secara remote melalui internet.
Dalam bahasa yang mudah kita dapat memberikan perintah kepada komputer lain baik membuat file, mengedit, menghapus dan menjalankan suatu perintah hanya melalui komputer di depan meja kita. Telnet banyak di pakai dalam mesin berbasis UNIX dan sangat jarang aplikasi telnet pada mesin berbasis Windows NT/200.

Cara Kerja Telnet

Untuk dapat mengakses telnet, biasanya (dan seharusnya) kita memiliki sebuah account atau login di komputer yang dituju. Dan login tersebut disertai password (kata kunci) sebagai verifikasi atau sebagai legalisasi dari account yang kita masukkan, dan account tersebut diberikan oleh sang administrator atau lembaga yang memiliki server yang dapat di-TELNET.

File Transfer Protocol (FTP).

Cara Kerja FTP

• Port standard FTP adalah 21 (pada server).
• Pada sisi server, ftp server menunggu incoming connection di port 21 (default).
• FTP client mencoba connect ke ftp server (daemon) dengan memasukan user password nya (biasanya FTP memang memiliki suatu autentikasi tersendiri.)
• FTP server men-check apakah si user dan password nya valid, Jika valid maka akan berlanjut ke step berikutnya, jika tidak valid maka akan diminta memasukan user/password yang lain beberapa kali, jika tetap invalid maka koneksi akan diputuskan.
• Setelah user tervalidasi maka ftp client dapat men-download/men-upload atau pun mendelete file yang terdapat di server, tergantung dari hak akses yang dimiliki.
Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan “mendengarkan” percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (control port) untuk
• membuat sebuah koneksi antara klien dan server,
• untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga
• mengembalikan respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mentransfer data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan.
FTP hanya menggunakan metode autentikasi standar, yakni menggunakan username dan password yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan password-nya untuk mengakses, men-download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori sehingga mereka dapat membuat berkas, direktori, dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login, yakni dengan menggunakan nama pengguna anonymous dan password yang diisi dengan menggunakan alamat e-mail.

8. Jelaskan langkah dan prinsip kerja socket programming untuk komunikasi dua arah!
Jawab ::
Socket dua arah merupakan mekanisme komunikasi yang memungkinkan terjadinya pertukaran data antarprogram atau proses baik dalam satu mesin maupun antarmesin.
Langkah dan prinsip kerja socket programming untuk komunikasi dua arah yang dilakukan pada client dan server adalah sebagai berikut :
di client :
a. Membuka koneksi client ke server, yang di dalamnya adalah :
• Membuat socket dengan perintah socket()
• melakukan pengalamatan ke server.
• Menghubungi server dengan connect()
b. Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah write() dan read()
c. Menutup hubungan dengan perintah close();

di server :
a. Membuat socket dengan perintah socket()
b. Mengikatkan socket kepada sebuah alamat network dengan perintah bind()
c. Menyiapkan socket untuk menerima koneksi yang masuk dengan perintah listen()
d. Menerima koneksi yang masuk ke server dengan perintah accept()
e. Melakukan komunikasi (mengirim dan menerima data), dengan menggunakan perintah write() dan read()


Daftar Pustaka:
http://id.wikipedia.org/wiki/Domain_Name_System
http://www.scribd.com/doc/12729861/95/Aplikasi-yang-menggunakan-UDP
http://ocw.gunadarma.ac.id/course/computer-science-and-information/information-system-s1-1/pengantar-teknologi-sistem-informasi-c/konsep-jaringan-komputer
http://id.wikipedia.org/wiki/Protokol_Transfer_Berkas
http://noorazam.dosen.narotama.ac.id/files/2011/04/Pertemuan-10-Transport-Layer-Protocol.ppt
http://ibnuy08.wordpress.com/2008/11/12/pengertiancara-kerja-contoh-telnet/
http://rifkiputra.com/portal/ftp-file-transfer-protocol/
http://lecturer.eepis-its.edu/~zenhadi/kuliah/Jarkom1/Prakt%20Modul%209%20Stream%20Socket%20Programming.pdf
http://yunus222.blogspot.com/

Sabtu, 05 Mei 2012

great song for now

seandainya kau ada disini denganku
mungkin ’ku tak sendiri
bayanganmu yg selalu menemaniku
hiasi malam sepiku
kuingin bersama dirimu

kutak akan pernah berpaling darimu
walau kini kau jauh dariku
‘kan slalu kunanti
karena kusayang kamu

hati ini selalu memanggil namamu
dengarlah melatiku
kuberjanji hanyalah untukmu cintaku
takkan pernah ada yg lain

adakah rindu di hatimu
seperti rindu yg kurasa
sanggupkah kuterus terlena
tanpamu di sisiku
kukan selalu menantimu

Rabu, 02 Mei 2012

jaringan inetaddress menggunakan java

untuk kali ini, kita akan membahas tentang jaringan inetaddress mengguanakn java
disini akan dibagi ke dalam beberapa bagian, diantaranya :
1. Melihat IP address di komputer lokal (T1)
2. Melihat hostname di komputer lokal (T2)
3. Translasi IP address ke hostname (T3)
4. Translasi hostname ke IP address (T4)
5. Client-Server sederhana menggunakan java (T5)

check it out, semoga membantu
Disini kita akan membahas sebuah syntaxt java untuk melihat IP address di komputer lokal yang kita gunakan. Berikut akan di sediakan sebuah syntax, lalu simpan di sebuah directory dengan nama ObtainIP.java. Berikut syntaxnya :
import java.net.*;
public class ObtainIP {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
byte ip[] = host.getAddress();
for (int i=0; i 0) {
System.out.print(".");
}
System.out.print(ip[i] & 0xff);}
System.out.println();}}
1. Setelah disimpan, lalu kita compail dengan cmd lalu pindah ke directory tempat kita menyimpan file java tersebut, setelah itu jalankan syntax javac(spasi)namafile.java, berarti kita compail dengan javac ObtainIP.java
2. Setelah proses compail berhasil maka kita jalankan dengan syntax java(spaci)namafile, berarti kita jalankan dengan java ObtainIP
3. Setelah itu akan keluar sebuah output berisikan IP address dari komputer yang kita gunakan. Disini saya menggunakan IP address 10.164.114.90

Disini kita akan membahas sebuah syntaxt java untuk melihat hostname di komputer lokal yang kita gunakan. Berikut akan di sediakan sebuah syntax, lalu simpan di sebuah directory dengan nama ObtainName.java. Berikut syntaxnya :
import java.net.*;
public class ObtainName {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
System.out.print("Your Computer Name is : " + host.getHostName());
}}
1. Setelah disimpan, lalu kita compail dengan cmd lalu pindah ke directory tempat kita menyimpan file java tersebut, setelah itu jalankan syntax javac(spasi)namafile.java, berarti kita compail dengan javac ObtainName.java
2. Setelah proses compail berhasil maka kita jalankan dengan syntax java(spaci)namafile, berarti kita jalankan dengan java ObtainName
3. Setelah itu akan keluar sebuah output berisikan hostname dari komputer yang kita gunakan. Disini saya menggunakan hostname amtrizone

Disini kita akan membahas sebuah syntaxt java untuk melihat hostname di komputer lokal yang kita gunakan dengan memasukan IP dari komputer tersebut. Berikut akan di sediakan sebuah syntax, lalu simpan di sebuah directory dengan nama IPtoName.java. Berikut syntaxnya :
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());
}}
1. Setelah disimpan, lalu kita compail dengan cmd lalu pindah ke directory tempat kita menyimpan file java tersebut, setelah itu jalankan syntax javac(spasi)namafile.java, berarti kita compail dengan javac IPtoName.java
2. Setelah proses compail berhasil maka kita jalankan dengan syntax java(spaci)namafile, berarti kita jalankan dengan java IPtoName
3. Setelah itu akan keluar sebuah output berisikan cara penggunaan IPtoName ini ; java(spasi)IPtoName(spasi)IPaddress kita masukkan java IPtoName 10.164.114.90 (IP address yang terdapat pada T1)
4. Setelah itu akan keluar sebuah hostname yang menggunakan IP address terserbut. Dimana IP address yang saya masukkan yang terdapat di T1 dengan hostname yang keluar amtrizone, sama dengan T2.

Disini kita akan membahas sebuah syntaxt java untuk melihat IP di komputer lokal yang kita gunakan dengan memasukan hostname dari komputer tersebut. Berikut akan di sediakan sebuah syntax, lalu simpan di sebuah directory dengan nama NsLookup.java. Berikut syntaxnya :
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");
}
byte[] ip = address.getAddress();
for (int i=0; i 0) System.out.print(".");
System.out.print((ip[i]) & 0xff);
}
System.out.println();
}}
1. Setelah disimpan, lalu kita compail dengan cmd lalu pindah ke directory tempat kita menyimpan file java tersebut, setelah itu jalankan syntax javac(spasi)namafile.java, berarti kita compail dengan javac NsLookup.java
2. Setelah proses compail berhasil maka kita jalankan dengan syntax java(spaci)namafile, berarti kita jalankan dengan java NsLookup
3. Setelah itu akan keluar sebuah output berisikan cara penggunaan NsLookup ini ; java(spasi)NsLookup(spasi)IPaddress kita masukkan java IPtoName 10.164.114.90 (IP address yang terdapat pada T1)
4. Setelah itu akan keluar sebuah IP address yang menggunakan hostname tersebut. Dimana hostname yang saya masukkan yang terdapat di T2 dengan IP address yang keluar 10.164.114.90, sama dengan T1.

Disini kita akan membahas syntaxt java untuk Server-Client dengan Java, jadi ini digunakan untuk sebuah jaringan sederhana. Berikut akan di sediakan dua buah syntax, lalu simpan di sebuah directory dengan nama SimpleServer.java dan SimpleClient.java. Berikut syntaxnya :
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);
}
}
}




1. Setelah disimpan dengan masing masing nama, lalu kita compail dan jalankan dengan cmd yang berbeda, dimasing-masing cmd masuk ke directory tempat kita menyimpan file java tersebut, setelah itu masing - masing jalankan syntax compail javac(spasi)namafile.java, berarti kita compail dengan javac SimpleServer.java dan SimpleClient.java
2. Setelah proses compail berhasil maka kita jalankan dengan syntax java(spaci)namafile, berarti kita jalankan dengan java SimpleServer dan java SimpleClient
3. Setelah itu akan keluar sebuah output dari server berisikan server aktif dan menunggu client
4. Setelah client juga dijalankan maka akan terlihat balasan dari client, maka server dan client tersebut telah saling terhubung.