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

Pemrograman Berorientasi Obyek Lanjut (IT251) · Java menyediakan utilitas yang lengkap dalam pemrograman Socket yang dibundel dalam package ... message= new BufferedReader(newInputStreamReader(System.in));

  • Upload
    vutuyen

  • View
    234

  • Download
    0

Embed Size (px)

Citation preview

Pemrograman Berorientasi Obyek Lanjut (IT251)

Ramos Somya, S.Kom., M.Cs.

Internet IP Address Protocol Port Client - Server

Internet adalah interkoneksi dari berbagai jaringankomputer yang terkoneksi dalam banyak caradengan beragam perangkat keras dan perangkatlunak.

Dimungkinkan berkat adanya standarisasikomunikasi yang digunakan bersama.

Menjamin kompabilitas dan reliabilitas komunikasi.

Secara logik sama dengan pengalamatantradisional

Alamat mengidentifikasi suatu objek secara unik Setiap mesin yang terkoneksi ke internet

mempunyai ip address yang unik Ip address mengunakan sistem pengalamatan 32 bit

cth: 192.168.1.1 (IP address)uajm.ac.id (DNS)

Latar belakang- Beragam tipe komunikasi digunakan pada internet- Tiap tipe komunikasi membutuhkan protokol

spesifik Definisi

sekumpulan aturan dan standar yangmendefinisikan suatu bentuk komunikasi padajaringan komputer.

Beberapa protokol umum yang digunakan di atasjaringan internet:

- Hypertext transfer Protocol (HTTP)- FTP- SMTP, POP3

Definisisuatu bilangan 16 bit yang digunakan untukmengidentifikasi setiap layanan yang berjalan padaserver di jaringan komputer.

Untuk menggunakan layanan kita harus membangunkomunikasi ke server yang menyediakan layananmelalui port yang ditentukan.

Standart Port- nomor port secara spesifik diasosiasikan dengan

jenis layanan tertentu

Contoh:FTP menggunakan port 21HTTP menggunakan port 80

Basis dari arsitektur jaringan komputer melibatkan 2elemen:

Client: mesin yang membutuhkan informasi ataulayanan tertentu.

Server: mesin yang menyediakan informasi danlayanan yang dibutuhkan client.

Client melakukan koneksi ke server dan melakukanpermintaan untuk informasi dan layanan tertentu

Socket adalah suatu abtraksi yang mana aplikasi dapatmengirim dan menerima data seperti sama halnya denganmembuka suatu file untuk dibaca dan ditulis pada tempatpenyimpanan file.

Socket memungkinkan untuk masuk ke dalam jaringan danberkomunikasi dengan aplikasi lain yang juga masuk kedalam jaringan yang sama.

Informasi yang ditulis ke dalam socket pada suatu aplikasipada suatu mesin dapat dibaca oleh aplikasi lain pada mesinyang berbeda dan sebaliknya.

TCP (Transfer Control Protocol) bersifat Connection Oriented

UDP (User Datagram Protocol) bersifat Connectionless

Jika dianalogikan, koneksi Socket merupakan koneksidua arah antar komputer dengan jalur pipa sebagaipenghubungnya dan masing-masing pipa tersebuttertancap pada sebuah gerbang tertentu yangdisebut dengan port.

TCP (Transmission Control Protocol) merupakan protocoltransport yang andal (reliable), hal ini dikarenakanprotokol TCP mempunyai mekanisme yang memastikanpacket dapat diterima oleh client.

Sebagai catatan, TCP tidak menjamin data akan diterimaoleh si penerima apabila koneksi tidak dimungkinkanterbangun (misal: server sedang down, salah konfigurasiIP, kabel tidak dibuat dengan baik, dll), sebaliknya TCPdapat menjamin pengiriman data ke si penerima apabilakoneksi memang memungkinkan terbangun danmemberikan pesan kesalahan (koneksi terputus atautidak menerima acknowledgement) kepada user apabilakoneksi tidak memungkinkan dibangun.

UDP ( User Datagram Protocol ) adalah transport layeryang tidak andal ( unreliable ), connectionless danmerupakan kebalikan dari transport layer TCP. Denganmenggunakan UDP, setiap aplikasi socket dapatmengirimkan paket – paket yang berupa datagram.

Istilah datagram diperuntukkan terhadap paket dengankoneksi yang tidak andal ( unreliable service ). Koneksiyang andal selalu memberikan keterangan apabilapengiriman data gagal, sedangkan koneksi yang tidakandal tidak akan mengirimkan keterangan meskipengiriman data gagal.

Java menyediakan utilitas yang lengkap dalampemrograman Socket yang dibundel dalam packagejava.net.* dan javax.net.*. Java menyediakan duabuah tipe Socket yang berbeda yaitu:

TCP Sockets (connection oriented socket) yangdiimplementasikan pada kelas java.net.Socket

UDP Sockets (connectionless socker) yangdiimplentasikan pada kelas java.net.DatagramSocket

public class Server {

public static void main(String[] args) {ServerSocket server;DataInputStream input;Socket serviceSocket = null;String message = "";

try {server = new ServerSocket(212);System.out.println("Server Ready...");

serviceSocket = server.accept();System.out.println("A Client try to Connect...");

input = new DataInputStream(serviceSocket.getInputStream());message = input.readLine();System.out.println("Client Said : " + message);

input.close();serviceSocket.close();server.close();

} catch (IOException e) {System.out.println(e.getMessage());

}}

}

public class Client {

public static void main(String args[]) {Socket clientSocket = null;PrintStream output;BufferedReader message;

try {clientSocket = new Socket("localhost", 212);

output = new PrintStream(clientSocket.getOutputStream());message = new BufferedReader(new InputStreamReader(System.in));

System.out.print("Message : ");output.println(message.readLine());

output.close();clientSocket.close();

} catch (IOException e) {System.out.println(e.getMessage());

}}

}