Labsheet Jaringan Terdistribusi 02
-
Upload
agus-purnama -
Category
Documents
-
view
14 -
download
0
description
Transcript of Labsheet Jaringan Terdistribusi 02
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET JARINGAN TERDISTRIBUSI
Semester 2 Networking: InetAddress 4 x 50mnt
No. LST/EKA/PTI208/01 Revisi : 02 Feb 2014 Hal 1 dari 4
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
Eko Marpanaji
A. Kompetensi Setelah mengikuti mata kuliah ini, mahasiswa memiliki kemampuan membuat program untuk mengidentifikasi IP Address dalam komunikasi client-server berbasis socket menggunakan kelas InetAddress.
B. Dasar Teori
Proses komunikasi client-server kadang-kadang membutuhkan program yang dapat mengidentifikasi IP Address, sehingga server dapat mengetahui IP Address setiap client yang melakukan permintaan koneksi. Misalkan skrip program untuk membangun server dan client seperti ditunjukkan pada LP-01 dan LP-02 berikut ini.
LP-01. ServerTCP
1 /*
2 (1) Networking butuh import:
3 */
4 import java.net.*;
5 import java.io.*;
6
7 public class ServerTCP {
8 public static void main(String[] args){
9
10 //(2) Define port number
11 int portNumber = 1000;
12
13 //(3) ServerSocket must be caught or declared to be thrown
14 try {
15 //(4) Create socket on portNumber
16 ServerSocket socket = new ServerSocket(portNumber);
17
18 //(5) Text message
19 System.out.println("Server is running.............");
20
21 while (true){
22 //(6) Listening
23 Socket clientSocket = socket.accept();
24
25 //(7) Issuing client request
26 System.out.println("Ada request dari client..........");
27 }
28
29 } catch(IOException e){
30 System.out.println("Listen: " + e.getMessage());
31 }
32
33 }
34 }
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET JARINGAN TERDISTRIBUSI
Semester 2 Networking: InetAddress 4 x 50mnt
No. LST/EKA/PTI208/01 Revisi : 02 Feb 2014 Hal 2 dari 4
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
Eko Marpanaji
LP-02. ClientTCP
1 /*
2 (1) Networking butuh import:
3 */
4 import java.net.*;
5 import java.io.*;
6
7 public class ClientTCP {
8 public static void main(String[] args){
9
10 //(2) Defining hostName
11 String hostName = "localhost";
12
13 //(3) Defining portNumber
14 int portNumber = 1000;
15
16 //(4) Socket must be caught or declared to be thrown
17 try {
18 //Create connection request
19 Socket connection = new Socket(hostName, portNumber);
20
21 } catch(IOException e){
22 System.out.println("Connection Status: " + e.getMessage());
23 }
24 }
25 }
Bahasa pemrograman Java menyediakan sebuah kelas yang dapat digunakan untuk
mengetahui IP Address yaitu kelas InetAddress. Kelas InetAddress membuat
model tentang IP Address.
Perintah berikut ini dapat digunakan untuk menghasilkan sebuah instan InetAddress
dari client yang melakukan permintaan koneksi dari socket server (perhatikan skrip
LP-01 baris 16) dengan nama inetAddressClient. IP Address dan Nama Host dapat
diperoleh dengan menjalankan method getInetAddress().
InetAddress inetAddressClient = socket.getInetAddress();
Selanjutnya, IP Address dan Host Name dari client yang diterima permintaan koneksinya
masing-masing dapat ditampilkan dengan menjalankan method getHostAddress() dan
getHostName().
System.out.println("Host Name Client adalah: " +
inetAddressClient.getHostName());
System.out.println("IP Address Client adalah " +
inetAddressClient.getHostAddress());
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET JARINGAN TERDISTRIBUSI
Semester 2 Networking: InetAddress 4 x 50mnt
No. LST/EKA/PTI208/01 Revisi : 02 Feb 2014 Hal 3 dari 4
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
Eko Marpanaji
LP-03. ServerTCPGetIP
1 /*
2 (1) Networking butuh import:
3 */
4 import java.net.*;
5 import java.io.*;
6
7 public class ServerTCPGetIP {
8
9 public static void main(String[] args){
10 //(2) Define port number
11 int portNumber = 1000;
12
13 //(3) ServerSocket must be caught or declared to be thrown
14 try {
15
16 //(3) Create socket on portNumber
17 ServerSocket socket = new ServerSocket(portNumber);
18
19 //(4) Text message
20 System.out.println("Server is running.............");
21
22 while (true){
23 //(5) Listening
24 Socket acceptedClient = socket.accept();
25
26 //(6) Issuing client request
27 System.out.println("Ada request dari client..........");
28
29 //(7) Mengetahui Host Name dan IP Address Client
30 InetAddress inetAddressClient =
31 acceptedClient.getInetAddress();
32 //InetAddress inetAddressClient =
33 // InetAddress.getByName("localhost");
34 System.out.println("Nama Host: " +
35 inetAddressClient.getHostName());
36 System.out.println("IP Address: " +
37 inetAddressClient.getHostAddress());
38
39 }
40 } catch(IOException e){
41 System.out.println("Listen: " + e.getMessage());
42 }
43
44 }
45 }
Skrip program LP-03 merupakan program untuk membangun server yang dapat mengidentidikasi host name dan IP Address client yang melakukan permintaan koneksi.
Baris 30 membuat InetAddress dengan nama inetAddressClient, dengan cara
menjalankan method getInetAddress() dari obyek acceptedClient. Baris 34 – 37
adalah perintah untuk mendapatkan Host Name dengan menjalankan method
getHostname() dan perintah untuk mendapatkan IP Address dengan menjalankan
getHostAddress().
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET JARINGAN TERDISTRIBUSI
Semester 2 Networking: InetAddress 4 x 50mnt
No. LST/EKA/PTI208/01 Revisi : 02 Feb 2014 Hal 4 dari 4
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta
Diperiksa oleh :
Eko Marpanaji
Kita juga dapat membuat instan dari InetAddress dari sebuah host name atau IP
Address dengan menggunakan method static getByName. Perintah berikut ini membuat
sebuah instan InetAddress untuk host liang.armstrong.edu:
InetAddress address = InetAddress.getByName("liang.armstrong.edu");
(perhatikan LP-03 baris 32).
C. Alat/ Bahan
1. Lab. Sheet Jaringan Terdistribusi #02 2. PC / Laptop with OS installed 3. JDK 1.5 or latest 4. Crimson atau text editor lainnya
D. Langkah Kerja
1. Baca dan pahami dasar teori di atas. 2. Lakukan kompilasi dan eksekusi terhadap contoh-contoh source code LP-01 dan
LP-02. 3. Catat hasilnya dan fahami cara kerja program server dan client. 4. Lakukan kompilasi dan eksekusi terhadap contoh-contoh source code LP-03. 5. Catat hasilnya dan fahami cara kerja program server dan client. 6. Beri tanda comment pada LP-03 baris 30-31, dan hilangkan tanda comment pada
LP-03 baris 32-33. 7. Kompilasi ulang dan eksekusi program tersebut, catat dan amati apa yang terjadi. 8. Kerjakan tugas individu di bawah ini.
E. Tugas Individu
1. Buatlah skrip program Client dan Server untuk menghitung luas lingkaran menggunakan GUI seperti pada Labsheet 01 sebelumnya, dengan tambahan server dapat menampilkan IP Address client.
2. Buat makalah (maks 2 halaman) untuk menjelaskan prinsip kerja program tersebut.
3. Kumpulkan file makalah dan skrip program tersebut melalui besmart.uny.ac.id dengan ketentuan:
a. File yang di-upload dalam bentuk zip-file dari sebuah folder tempat meletakkan file makalah dan skrip program.
b. Nama zip-file dan folder menggunakan aturan ”nama_nim”
F. Lampiran
-
Daftar Pustaka
Liang, Y. Daniel, 2007. Introduction to Java programming: comprehensive version 6th Edition, New Jersey: Prentice Hall.
Hariri, Salim, dan Parashar, Manish, 2004. Tools and Environments for Parallel and Distributed Computing. Canada: John Wiley & Sons.