Labsheet Jaringan Terdistribusi 02

4
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 }

description

Labsheet_Jaringan_Terdistribusi_02

Transcript of Labsheet Jaringan Terdistribusi 02

Page 1: 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 }

Page 2: 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 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());

Page 3: 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 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().

Page 4: 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 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.