• Tidak ada hasil yang ditemukan

BAB 10 Jaringan - JENI Intro2 Bab10 Jaringan

N/A
N/A
Protected

Academic year: 2018

Membagikan "BAB 10 Jaringan - JENI Intro2 Bab10 Jaringan"

Copied!
9
0
0

Teks penuh

(1)

BAB 1 0

Ja r in g a n

Jav a m em per boleh kan Anda dalam m em per m u dah pengem bang an aplikasi yan g m enger j akan ber bagai peker j aan m el alui j ar ingan . I ni adalah suat u cit a- cit a pem buat an Java yang m enj adi salah sat u keku at an Jav a sej ak d ap at dibuat u ntu k dit am pilkan m el alui int er net . Sebelu m m em pel aj ar i t en t an g j ar in gan dalam Java. Pert am a- t am a An da akan diper ken al kan kepad a beber ap a kon sep dasar j ar ingan.

Pada akhi r pem bah asan , dihar apkan pem baca dapat : 1.Menger t i konsep dasar j ar ingan

 I P addr ess

 pr ot okol

 por t s

 par adigm a clien t / ser ver

 socket

2.Mem buat aplikasi m enggun ak an pack age j ar ingan Java

Ser ver Socket

Socket

Mult icast Socket

Dat agr am Pack et

1 0 .1 Kon se p Da sa r Ja r inga n

Jika sebel um nya Anda t elah m enget ahui, bah wa int ern et adalah j ar in gan global dengan ber bagai j eni s kom put er yang ber beda y an g t er sam bu ng dalam ber b ag ai car a. Walaupun t er d ap at p er bed aan dalam soft w ar e dan h ar dwar e yang t er sam bu ng ber sam a- sam a, h al t er sebut sangat lah bagus bahwa in t er n et m asih dapat ber fun gsi. Hal ini m em un gkin kan k ar en a st an dar kom uni kasi m em ili ki ket et ap an d an j u ga kesel ar asan. St andar ini m enj am in kesesuaian dan keku at an kom u nikasi dian t ar a lu asny a sist em pada int er net . Mar i kit a pelaj ar i beber ap a st andar yang berlaku .

1 0 . 1 .1 I P Add re ss

Pada set iap kom pu t er y an g t er sam bun g den gan in t er net m em ili ki alam at I P yang u ni k. Alam at I P secar a logika ham pir sam a dengan alam at pengirim an su r at t r adi sional dim an a m em ili ki ar t i bahwa alam at y an g ber sif at unik t ersebut m ewakili dari ket er an gan sebu ah obj ect . Alam at t er sebut diwakil kan dalam 3 2- bi t nom or yan g digunakan seb ag ai pen genal yang ber sifat unik dar i set iap kom pu t er y an g t ersam bung dengan int er net . 192 .1.1 .1 adalah cont oh dari sebuah al am at I P. Mer eka j u ga bisa dit ulis den gan ben t uk si m bol seper t i docs.r inet .r u.

1 0 . 1 .2 Prot ok ol

(2)

" Hallo. "

" Hallo. Selam at siang. Bolehkah saya ber bicar a den gan Joan?" " Okay, m ohon t un ggu seben t ar ."

" t er im a kasih." ...

I ni adalah pr otokol sosial yan g digun ak an k et ika d al am p em bicar aan m elalui t elepon . Jeni s pr ot okol tipe ini m em ber ikan kit a k eper cay aan un t uk m en get ah ui apa y an g har us dilakukan dalam sit u asi t er sebu t . Mar i kit a lihat beber ap a pr ot okol penti ng yang digunakan pada in t er net . Hyp er t ext Tr ansfer Pr ot ocol ( HTTP) ad alah salah sat u pr ot okol yang ser i ng di gun ak an . Digunak an unt u k m en t r an sf er doku m en HTML pada Web. Kem udian , ada j u ga File Tr ansfer Pr ot ocol ( FTP) dim an a lebih um um di bandingkan dengan HTTP dan m em per bolehkan Anda u nt u k m ent r ansfer file biner lewat int enet . Kedua pr ot okol t er sebu t m em iliki per at u r an m asing- m asi ng dan st an dar dalam pengirim an dat a. Java j u ga m en du kun g kedu a pr ot okol t er sebut .

1 0 . 1 .3 Por t

Sekar an g, pr otokol hanya bisa di per t im ban gkan j i ka digunakan dalam kon t ek s su at u j asa. Sebagai cont oh, pr ot okol HTTP digun ak an ket ika Anda m en yediakan isi Web m elal ui lay anan HTTP. Set iap kom put er p ad a i nt er net dapat m eny ediakan ber b ag ai j en is layanan m elalui ber bagai j enis pr ot okol yan g m en dukun g. Masalahnya, bag ai m an apun j uga, kit a har u s m enget ahui j enis l ay an an sebelum sebuah infor m asi dapat dit ransfer . Unt u k it ulah por t di gun ak an .

Por t adalah 16 - bit nom or dim ana m engen al set iap lay an an yang dit aw ar kan oleh ser v er j ari ngan. Un t uk m en ggunakan layan an khu sus dan oleh kar en a it u , j alu r kom unikasi yang m elew at i prot okol t er t ent u , Anda per lu m enyam bun gkan pad a por t yang sesu ai . Por t di hubun gkan den gan nom or dan beber ap a n om or ber si fat spesifik yang ber h ubungan dengan j enis layanan kh usus. Por t den gan layanan peker j aan t er t en t u disebu t por t st an dar . Seb ag ai cont oh, lay an an FTP t er let ak pada por t 21 sedangkan layanan HTTP t erl et ak p ad a por t 8 0. Jik a Anda ingin m enggunakan file t r an sf er FTP, Anda perlu t er hu bun g dengan por t 21 pada kom put er Anda. Sek ar ang, sem ua st andar layanan t er t ent u di berikan nilai por t dibawah 102 4. por t dengan nilai di at as 102 4 disediakan u nt u k kom unikasi cust om . Jika t er dap at kasu s di m ana por t dengan nilai diat as 10 24 t elah digun ak an oleh beber apa kom u nikasi cu st om , Anda har us m encar i nilai lain yang t idak digun ak an .

1 0 . 1 .4 Pa r a digm a clie n t / se rv e r

Par adigm a clien t / ser ver ad al ah dasar unt u k f ram ewor k j ar ingan Jav a. Ten t unya, penet apan i ni t er diri dari dua el em en besar , yait u client dan ser ver . Client adalah m esin yang m em but u hkan beber ap a j en is infor m asi sedangkan ser ver adalah m esin yang m enyim pan i nfor m asi dan m enu nggu unt u k m eny am paikann ya pada client .

(3)

Gam bar1 .1.4: Model Client / Ser v er

1 0 . 1 .5 sock e ts

Konsep um um j ar ingan yan g t er akhir sebelum kit a m em bah as lebih dalam t ent ang Jav a net wor king adalah dengan m em p er h at ikan socket s. Kebany ak an pem r ogr am an Java net wor k m enggu nakan j enis khu su s dari kom uni kasi j aringan yang diket ahui seb ag ai socket s.

Socket adalah soft war e abst r ak unt u k m edia input at au out put kom unikasi. Socket digunakan ol eh Jav a u nt u k m en gat asi kom unikasi pada j ar in gan l evel r en dah. Jalur kom unikasi ini m em ungkinkan u ntu k m en t r ansfer dat a m elalui port khu su s. Singkat ny a, sock et adalah point t er akhir u ntuk kom uni kasi an t ar a du a m esin .

1 0 .2 The Ja va N e t w or k in g Pa ck a g e

(4)

Con st ru ct or Se rve rSo ck e t

ServerSocket(int port)

Ket ika sebu ah ser ver m enet apk an su at u por t t er t ent u , sebuah por t 0 m enugask an sebu ah ser v er kepada por t bebas m an apun. Pan j an g an t r ian m aksim um u nt uk koneksi yang akan dat ang diat ur seban yak 50 sebagai default n ya.

ServerSocket(int port, int backlog)

Ket ika sebu ah ser v er m enet ap kan su at u por t t er t ent u, panj ang ant r ian m aksim um u ntu k kon eksi yang ak an dat an g ber d asar k an pada par am et er backlog.

Tabel 1.2. 1a: Con st ruct or Ser ver Sock et

Ber iku t ini adalah beber ap a m et h od class pada Ser ver Socket :

Me t h od Se rve rSo ck e t

public Socket accept()

Meny ebabk an ser v er u nt uk m en unggu dan m endengar k an dar i koneksi clien t , kem udian m en er im anya.

public void close()

Menut u p socket ser ver . Cli en t tidak dapat lagi t er hubung ke ser ver hingga dibuka kem bali

public int getLocalPort()

Mengem balikan port dim ana socket j uga m em bat asi

public boolean isClosed()

Mendet eksi apakah sock et t er t ut u p at au belum

Tabel 1.2.1 b: Met hod Ser v er Sock et

Contoh yan g ber h asil m elakuk an im plem en t asi sebu ah ser ver sed er h an a, dim an a sebuah infor m asi seder han a dikirim ol eh client dapat dilihat pada listin g program ber iku t ini :

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

public class EchoingServer {

public static void main(String [] args) { ServerSocket server = null;

Socket client;

try {

(5)

//1234 nomor port yang belum digunakan } catch (IOException ie) {

System.out.println("Cannot open socket."); System.exit(1);

}

while(true) { try {

client = server.accept();

OutputStream clientOut = client.getOutputStream();

PrintWriter pw = new PrintWriter(clientOut, true); InputStream clientIn = client.getInputStream();

BufferedReader br = new BufferedReader(new

InputStreamReader(clientIn)); pw.println(br.readLine());

} catch (IOException ie) { }

} }

}

Ket ika class Ser v er Socket m engim plem ent asi kan ser v er socket , Class Sock et m engim plem ent asikan socket client . Class Socket m em iliki del apan const r uct or , dua di an t ar anya siap dipanggil. Langsung saj a kit a lihat dua const r uct or t er sebut .

Con st ru ct or Sock e t

Socket(String host, int port)

Mem bu at sebu ah socket client dim ana dihu bungk an dengan di berikan n om or por t pada h ost t er t en t u.

Socket(InetAddress address, int port)

Mem bu at sebu ah socket client dim ana dihu bungk an dengan di berikann ya nom or por t pada alam at I P t er t en t u.

Tabel 1.2.1c: Const ruct or Sock et

Ber iku t adal ah beber ap a d ar i m et hod class pada Socket :

M e t h od Sock e t

public void close()

Menut u p socket clien t

(6)
(7)

Con st ru ct or M u lt ica st Sock e t

MulticastSocket(int port)

Mem bu at m u lticast sock et dibat asi dengan pem ber ian n om or por t

Tabel 1. 2. 2a: Con st ruct or Mul t icast Socket

Tabel ber ikutn ya m em ber ikan pen j el asan beber ap a m et h od Mult icast Sock et.

M e t h o d M u lt ica st Sock e t

public void joinGroup(InetAddress mcastaddr)

Ber gabu ng dengan kelom pok m ulticast pad a alam at t er t ent u

public void leaveGroup(InetAddress mcastaddr)

Menin ggalkan k elom pok m ulti cast pada alam at t er t en t u

public void send(DatagramPacket p)

Met ode t u r unan dar i cl ass Dat agr am Socket . Men gi rim p dar i socket ini.

Tabel 1.2.2 b: Met hod Mult i cast Sock et

Sebelum seseor an g dapat m engi rim pesan kepada su at u k el om pok, per t am a k ali yang h ar u s dilakuk an oleh or an g t er sebu t adalah har us m enj adi an ggot a d ar i m ul ticast kelom pok dengan m enggu nakan m et hod j oinGr oup. Sek ar an g seor ang anggot a dapat m engirim pesan m elalui m et hod sen d. Jika An da t elah selesai ber bicar a deng an k el om pok, An da dapat m en ggunak an m et hod leaveGr ou p u nt uk m elepaskan keanggot aan An da.

Sebelum m elih at con t oh dal am m enggun ak an cl ass m ult icast Socket , p er t am a- t am a m ar i kit a lih at pada cl ass Dat agr am Packet . Per hat ikan bahwa dalam m et h od send dar i class m ult iSocket , di butu hkan par am et er y ait u obj ect Dat agr am Packet . Sehingga, ki t a har us m en ger t i obj ect j enis ini sebelum m enggu nakan m et h od send.

Class Dat agr am Packet digun ak an unt u k m en girim d at a m elalui prot okol connect ionless sep er t i m ulticast . Masal ah yang diti m bulkan bahwa pengirim an packet t idak t er j am i n. Mari kit a per hat ikan dua dar i enam const r uct or .

Con st ru ct o r Da t a g ra m Pa ck e t

DatagramPacket(byte[] buf, int length)

(8)

Ber iku t adal ah beber ap a m et h od dari class Dat agr am Pack et .

M e t h od- m e t hod Da t a gra m Pa ck e t

public byte[] getData()

Mengem balikan bu ffer dim an a dat a t el ah disim pan

public InetAddress getAddress()

Mengem balikan alam at I P m esin dim an a paket y an g dikirim at au y ang dit er im a

public int getLength()

Mengem balikan panj ang dat a y an g dikirim at au dit er im a

public int getPort()

Mengem balikan nom or port pada r em ot e host dim an a p ak et yang dikirim at au yang dit er im a

Tabl e 1. 2.2 d: Met hod Dat agram Pack et

Contoh m ulticast kit a j uga m engan du ng dua cl ass, ser ver dan client . Ser ver m ener im a pesan dar i client dan m encet ak pesan t er sebut .

Ber iku t adal ah class ser ver

import java.net.*;

public class ChatServer {

public static void main(String args[]) throws Exception { MulticastSocket server = new MulticastSocket(1234); InetAddress group = InetAddress.getByName("234.5.6.7");

//getByName – Mengembalikan alamat IP yang diberikan oleh Host server.joinGroup(group);

boolean infinite = true;

/* Server terus-menerus menerima data dan mencetaknya*/ while(infinite) {

byte buf[] = new byte[1024];

DatagramPacket data = new DatagramPacket(buf, buf.length); server.receive(data);

String msg = new String(data.getData()).trim(); System.out.println(msg);

}

server.close(); }

}

Ber iku t adal ah class client

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

public class ChatClient {

(9)

InetAddress group = InetAddress.getByName("234.5.6.7"); chat.joinGroup(group);

String msg = "";

System.out.println("Type a message for the server:"); BufferedReader br = new BufferedReader(new

InputStreamReader(System.in)); msg = br.readLine();

DatagramPacket data = new DatagramPacket(msg.getBytes(), 0, msg.length(), group, 1234);

chat.send(data); chat.close(); }

}

1 0 .3 La t iha n

1 0 . 3 .1 Tr iv ia Se r v e r

Buat lah sebuah ser ver y an g ber isi sat u set per t any aan y an g m udah. Secar a seder hana, akan ad a sekit ar 5- 10 per t any aan.

Cli en t yang t er hu bung ke ser v er m en giri m sebuah per m int aan unt uk sebu ah per t any aan at au j awaban sebuah per t any aan, Client m en girim pesan “ per m in t aan” . Un t uk j aw aban dar i sebu ah per t an yaan , cli en t m en gi rim pesan “ j aw ab an ” . Ket ika m en er im a pesan “ per m int aan” , secar a acak ser v er akan m em ilih sat u per t anyaan dar i koleksi yang ada. Dia m en girim kan per t any aan yang di pilih sesu ai dengan nom or yang ber sangku t an kepada clien t .

Ket ika ser ver m ener im a pesan “ j aw ab an ” d ar i client , dia m en ginform asi kan user b ah w a user per lu m engirim kan j awaban sesuai den gan nom or per t an yaan k epada ser ver . Jaw aban it u har us dalam f or m at < n o per t anyaan> # < j aw aban Anda> .

Ber iku t adal ah cont oh sken ar io : Cli en t : "per m in t aan"

Ser ver : "3 # Siapa pem bu at Jav a?" Cli en t : "j aw aban"

Ser ver : "Ber ikan j aw ab anm u dengan for m at : < nomor per t an yaan r > # < j aw aban An da> " Cli en t : "3 # Jam es Gosling"

Gambar

Tabel 1.2.1a:  Constructor ServerSocket
Tabel 1.2.1c:  Constructor Socket
Table 1.2.2d:  Method Datagram Packet

Referensi

Dokumen terkait

Dengan memperhatikan ketenyuan-ketenyuan dalam Peraturan Presiden Republik I ndonesia Nomor 54 Tahun 2010 tentang Pengadaan Barang/ Jasa Pemerintahan yang terakhir diubah

Dalam acara dimaksud harus membawa dokumen asli yang saudara upload pada Aplikasi LPSE Kabupaten Deli Serdang dan membawa Surat Keterangan Domisili Perusahaan dari Lurah/ Kepala

(Rp) Januari Februari Maret April Mei Juni Juli Agustus September Oktober Nopember Desember. Kode

bahan bakar (dual fuel) yaitu solar dan biogas pada mesin diesel yang ditujukan.. untuk menghemat bahan bakar solar dan meningkatkan efisiensi dari mesin

pada penelitian ini dibuat sistem yang dapat melakukan peramalan menggunakan metode JST backpropagation dengan Artificial Bee Colony untuk mengetahui tingkat

Pada penelitian ini nilai kalor briket tertinggi sebesar 3.045,8271 kal/g diperoleh dengan proses pengarangan sekam padi dan ketaman kayu menggunakan metode 1,

diketahui kecepatan airnya. 5) Perlu dilakukan pembahasan lebih lanjut mengenai sistem drainase bawah permukaan untuk lapangan yang telah dipakai dimana terjadi pemadatan

[r]