A. TUJUAN : Dapat mengimplementasi-kan kelas-kelas Java yang digunakan dalam pemrogaman jaringan.

dokumen-dokumen yang mirip
Pemrograman Jaringan

Pemrograman Socket menggunakan TCP

A. TUJUAN PEMBELAJARAN

PEMROGRAMAN JARINGAN

Connection Oriented. Kholid F.

Pemrograman Jaringan 6.

10.1 Konsep dasar jaringan

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

Protokol. Pemrograman Client/Server dengan Java Socket. Protokol TCP/IP. Tipe pemrograman jaringan. Java Socket

Pemrograman Socket TCP dan Socket UDP

PEMROGRAMAN SOCKET LANJUTAN

Pemrograman Client/Server dengan Java Socket

NETWORK PROGRAMMING. Yuliana Setiowati Politeknik Elektronika Negeri Surabaya D4 PENS-ITS

Network Programming 2010 Pertemuan-4. Pemrograman Socket. Husni. Husni.trunojoyo.ac.id Komputasi.wordpress.

MENGGUNAKAN TCP SOCKET. Oleh: M. Ghazali a.k.a. ghanoz 2480

Membuat Aplikasi Chatting Dengan Java

Riwayat Pendidikan: SDK Lemuel II, Pos Pengumben, Jakarta Barat SMPK Lemuel, Pos Pengumben, Jakarta Barat SMUN 78, Kemanggisan, Jakarta Barat

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

Pemrograman Jaringan 9. Connectionless Oriented Programming

Pemrograman Socket menggunakan UDP

Modul Praktikum Pemrograman

BAB 5 Mendapatkan Input dari Keyboard

BAB 2 INPUT DARI KEYBOARD

Mobile Computing Tugas Individu 1

BAB 5 Mendapatkan Input dari Keyboard

Network Programming. Oleh: Idris Winarno (thanks to my sist)

Socket pada UDP. Husni Husni.trunojoyo.ac.id Komputasi.wordpress.com

Praktikum Minggu ke-14. Socket Programming

Network Programming 2010 Jaringan & Aplikasinya. Husni Husni.trunojoyo.ac.id

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

LAMPIRAN. Berikut ini adalah kode program transmisi video yang diinstall pada sisi user. public static void main(string args[]) throws Exception

APLIKASI CHAT ANTAR PC

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

Bahasa Pemrograman :: Dasar Pemrograman Java

Nama Lengkap : Muiz Lidinillah NIM :

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

Modul 9 Protokol Transport (TCP/UDP)

Mobile Computing. Ramos Somya

Pemrograman Jaringan

Modul 3 Flow Control dan Input

BAB III IMPLEMENTASI. Sistem pada server pengendali lampu dengan Raspberry Pi ini. kemudian server akan menunggu klien melakukan request permintaan

Pemrograman Jaringan 5.

IMPLEMENTASI TCP/IP UNTUK MEMBUAT SERVER DATABASE ACCESS ABSTRAK

Input Nilai tanpa Case String di Java

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

Mendapatkan Input Dari Keyboard

J2ME GUI dan Interkoneksi Client Server

game yang dibangun lebih semakin hidup dan terasa nyata, hal ini juga yang membuat para pemain lebih tertarik, bayangkan apabila di dalam suatu

PEMROGRAMAN JARINGAN MODUL 3 STREAM

Metode Sequential Searching di Java Console

PRAKTIKUM 7 DASAR INPUT OUTPUT

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

2.1. Sistem Komunikasi

Pertemuan ke-1 STREAM DAN IO. A. TUJUAN : Mampu mengimplementasikan kelas-kelas untuk menangani aliran data.

PENGANTAR APLIKASI TERDISTRIBUSI (Minggu I Praktikum I)

Sistem Terdistribusi

pembuat game seperti yang kita rasakan saat ini dimana banyak game online

Sistem Terdistribusi

A. TUJUAN PEMBELAJARAN

I/O (Input dan Output)

Sistem Terdistribusi 4

PRAKTIKUM 8 FILE INPUT OUTPUT

PRAKTIKUM 17 MENANGANI EXCEPTION

Membuat Aplikasi Berbasis Web Di Device Android Mobile

TCP (Transfer Control Protocol) SOCKET PROGRAMMING

MODUL 11 J2ME (Java 2 Micro Edition)

Introduction To Stream

M.Octaviano Pratama

Cara Membaca File Text di JAVA

dapat dilihat pada gambar 4.25 di bawah ini :

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; }

INTRODUCTION TO ANDROID MOBILE APP DEVELOPMENT MUHAMMAD BAGIR., MTI

MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID

BAB II DASAR TEORI. bersifat umum/non-spesifik (general purpose), dan secara khusus dirancang untuk

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Materi kuliah I/O & FILE. Ir. Roedi Goernida, MT.

PERTEMUAN V STREAM DAN OOP TUJUAN PRAKTIKUM. 2. Praktikan memahami pemrograman berbasis objek dengan mengetahui karakteristik OOP.

BAB 4 ARRAY. number1 = 10; number2 = 20; number3 = 30;

BAB Argument Command-Line dan System Properties

PERTEMUAN 3 OBJEK DAN CLASS

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. mengangkat kasus dan penggunaan teknologi yang berbeda-beda, pada table 2.1

BAB II LANDASAN TEORI

Percabangan & Perulangan

Posisi Firewall. Switch LAN Firewall

Pertemuan 3 Struktur Perulangan pada Java

PEMROGRAMAN JAVA : STREAM DAN FILE

BUKU PETUNJUK PRAKTIKUM PEMROGRAMAN JARINGAN

if (ekspresi_boolean) {

KA2173 Pemrograman Berorientasi Objek. 10 BAB X PENGAKSESAN DATABASE. H a l 64

Pemrograman Database Java

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 5 Dosen : Bella Hardiyana S. Kom

PRAKTIKUM 6 EXCEPTION

Pertemuan 7 File pada Java

Pemanggilan RESTful Web Service PHP dari Client Java

Metode Insertion Sort di Java Console

A. TUJUAN PEMBELAJARAN

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

IKG2I4 / Software Project I

Transkripsi:

Pertemuan ke-2 JAVA SOCKET A. TUJUAN : Dapat mengimplementasi-kan kelas-kelas Java yang digunakan dalam pemrogaman jaringan. B. TEORI SINGKAT Tentang Socket Socket adalah sebuah abstraksi perangkat lunak yang digunakan sebagai suatu "terminal" dari suatu hubungan antara dua mesin atau proses yang saling berinterkoneksi. Di tiap mesin yang saling berinterkoneksi, harus terpasang socket. Socket biasa digunakan untuk pemrograman berbasis client-server yang dapat menggunakan socket TCP atau socket UDP. Pada J2SE telah disediakan paket java.net yang berisi kelas-kelas dan interface yang menyediakan API (Application Programming Interface) level rendah (Socket, ServerSocket, DatagramSocket) dan level tinggi (URL, URLConnection). Socket adalah mekanisme komunikasi yang memungkinkan terjadinya pertukaran data antar program atau proses baik dalam satu mesin maupun antar mesin. Gambar 2.1 Ilustrasi socket yang membangun komunikasi antar proses yang sama-sama aktif. Kelas Socket Sebuah kelas yang digunakan oleh client untuk inisialisasi koneksi dengan server (kelas ServerSocket) menggunakan protocol TCP. Ketika sebuah socket dibuat, maka sebuah koneksi akan terbentuk ke suatu mesin atau proses yang dituju. Pada java, kelas Socket memiliki kurang lebih 8 buah konstruktor berikut ini beberapa contoh konstruktornya: 1. Socket(InetAddress address, int port) Membuat sebuah stream socket dan koneksi ke suatu nomor port pada suatu komputer yang memiliki alamat IP. 2. Socket(String Host,int port) Membuat stream socket dan juga koneksi ke suatu port komputer berdasarkan nama komputernya. 3. Socket(String host,int port,inetaddress localaddr,int localport); Membuat sebuah socket dan mengkoneksikannya ke port yang dituju pada alamat IP yang disebutkan pada parameter nama host berikut melakukan bind socket ke alamat local dan port lokal. (Jika koneksi antara client dan server membutuhkan nomor port yang sudah ditentukan. Selain konstruktor terdapat beberapa method dari kelas Socket yaitu: 1. getinputstream() Mengembalikan objek input stream dari socket yang dapat di tampung pada objek dari kelas DataInputStream. 2. getoutputstream() Praktikum Pemrograman Jaringan - TK 1

Mengembalikan objek output stream ke socket yang dapat di tampung pada objek dari kelas DataOutputStream. 3. close() Memberitahukan ke protocol untuk menutup koneksi. 4. getinetaddress() Mendapatkan nama host yang dituju dan alamat IP-nya. 5. getport() Mendapatkan nomor port remote host. 6. getlocalport() Mendapatkan nomor port localhost. 7. getlocaladdress() Mendapatkan alamat local dimana socket digunakan. 8. setsotimeout(int timeout) dan getsotimeout(), Kedua method tersebut digunakan untuk memberi (set) dan mengambil (get) nilai opsi Socket untuk time-out block reading (dalam mili detik) dari socket (SO_TIMEOUT). Jika dalam waktu time-out tidak mendapat suatu nilai maka, akan dilemparkan ke exception java.net. SocketTimeoutException. Nilai default time-out adalah 0, yang berarti tanpa batas. 9. setsendbuffersize(int size) dan getsendbuffersize(), Method ini akan mengatur dan mengambil informasi tentang ukuran buffer SO_SNDBUF, yaitu buffer untuk pengiriman. Ukuran ini juga harus disesuaikan ukuran buffer pada level network. ServerSocket Digunakan oleh Server untuk listen koneksi dari klien menggunakan protocol TCP, dimana setelah client terkoneksi ke server dengan menggunakan Socket, maka ServerSocket akan mengembalikan status server ke klien melalui koneksi yang terbentuk sebelumnya. Tipe koneksi aplikasi yang dibangun dengan kelas ServerSocket ini adalah Connection Oriented. Ketika dibuat objek baru dari kelas ServerSocket, agar dapat mengirim dan menerima melalui stream, tetap perlu dibuat InputStream dan OutputStream dari objek Socket yang dihasilkan ketika dari kelas ServerSocket menerima permintaan dari client melalui method accept(). Kelas ServerSocket memiliki suatu konstruktor yang menerima sebuah nomor Port yang akan digunakan sebagai nomor akses layanan yang disediakannya, yaitu: ServerSocket(int port [, int backlog [, InetAddress bindaddress ]] ); Konstruktor diatas membuat sebuah server dengan port tertentu, batasan jumlah antrian (backlog), dan alamat IP bindaddress. Gambar 2.2 Ilustrasi koneksi aplikasi client dengan aplikasi server Serupa dengan kelas Socket, pada kelas ServerSocket juga menyediakan beberapa method ini: accept(), akan menghasilkan sebuah objek kelas Socket yang terkoneksi dengan klien. close(), akan menutup sesi listen untukpermintaan yang datang dari socket client. C. PRAKTIK : 1. Contoh penggunaan kelas Socket: import java.io.*; Praktikum Pemrograman Jaringan - TK 2

import java.net.*; public class ExHTTPClient public static void main(string args[]) try Socket clientsocket = new Socket("localhost", 80); System.out.println("Client: "+ clientsocket); System.out.println("###########################"); gethtml(clientsocket,"/test.html"); catch (UnknownHostException e) System.out.println(e); catch (IOException e) System.err.println(e); public static void gethtml(socket clientsocket, String filename) try DataOutputStream outbound = new DataOutputStream(clientSocket.getOutputStream() ); DataInputStream inbound = new DataInputStream(clientSocket.getInputStream() ); outbound.writebytes("get "+ filename + " HTTP/1.0\r\n\r\n"); String responseline; while ((responseline = inbound.readline())!= null) System.out.println(responseLine); outbound.close(); inbound.close(); clientsocket.close(); catch (IOException e) System.out.println(e); File test.html <html> <head> <title>test Dokumen HTML</title> </head> <body bgcolor="lavender"> <b>test Dokumen HTML yang Pertama</b> </body> </html> 2. Contoh aplikasi yang menggunakan kelas ServerSocket: Program Server import java.io.bufferedreader; import java.io.dataoutputstream; import java.io.ioexception; import java.io.inputstreamreader; import java.net.inetaddress; import java.net.serversocket; Praktikum Pemrograman Jaringan - TK 3

import java.net.socket; import java.net.socketexception; import java.util.date; public class ProgramServer private final int NOMOR_PORT=8080; private String datadariclient; publicprogramserver() BufferedReaderinputDariClient; DataOutputStreamoutputKeClient; Socket serversocket; try ServerSocketinfoServer = new ServerSocket(NOMOR_PORT); System.out.println("Server telahsiap...!"); while(true) serversocket = infoserver.accept(); System.out.println("Ada client yang terkoneksi...!"); inputdariclient = new BufferedReader(new InputStreamReader(serverSocket.getInputStream()) ); outputkeclient = new DataOutputStream(serverSocket.getOutputStream()); outputkeclient.writebytes("infoserver versi0.1\n"+ "hanyauntuk testing..\n"+ "SilahkanberikanperintahTIME NET Quit\n"); booleanisquit = false; while (!isquit) datadariclient = inputdariclient.readline(); if(datadariclient.startswith("time")) outputkeclient.writebytes(new Date().toString()+"\n"); else if (datadariclient.startswith("net")) outputkeclient.writebytes(inetaddress.getbyname("localhost"). tostring()+"\n"); else if(datadariclient.startswith("quit")) isquit = true; outputkeclient.close(); inputdariclient.close(); serversocket.close(); catch(exception e) System.out.println("Error:" +e); public static void main(string[] args) new ProgramServer(); Program Klien import java.io.bufferedreader; import java.io.dataoutputstream; import java.io.ioexception; import java.io.inputstreamreader; import java.net.socket; public class ProgramClient private final int NOMOR_PORT=1234; private final String TARGET_HOST="localhost"; Praktikum Pemrograman Jaringan - TK 4

private final String QUIT="QUIT"; publicprogramclient() try BufferedReaderinputDariUser = new BufferedReader(new InputStreamReader(System.in) ); Socket clientsocket = new Socket(TARGET_HOST,NOMOR_PORT ); DataOutputStreamoutputKeServer = new DataOutputStream(clientSocket.getOutputStream() ); BufferedReaderinputDariServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()) ); booleanisquit = false; while (!isquit) System.out.print("PerintahAnda :"); String cmd = inputdariuser.readline(); cmd = cmd.touppercase(); if (cmd.equals(quit)) isquit = true; outputkeserver.writebytes(cmd +"\n"); String result = inputdariserver.readline(); System.out.println("Dari Server :"+ result); outputkeserver.close(); inputdariserver.close(); clientsocket.close(); catch (Exception e) System.out.println("Error:"+e); public static void main(string[] args) newprogramclient(); D. LATIHAN Akan disampaikan oleh Dosen Pengampu saat praktikum. E. TUGAS Akan disampaikan oleh Dosen Pengampu saat praktikum. Praktikum Pemrograman Jaringan - TK 5