Pemrograman Socket menggunakan TCP

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

Pemrograman Socket menggunakan UDP

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

PEMROGRAMAN SOCKET LANJUTAN

STREAM DAN FILE. PipedInputStream, SequenceInputStream, dan StringBufferInputStream.

Mengenal Java RMI. Wiranti Sri Utami. Abstrak. Pendahuluan.

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

10.1 Konsep dasar jaringan

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

PRAKTIKUM 7 DASAR INPUT OUTPUT

Membuat Aplikasi Chatting Dengan Java

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN

Pengenalan J2ME (Java 2 Platform Micro Edition)

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

BAB 5 Mendapatkan Input dari Keyboard

BAB 5 Mendapatkan Input dari Keyboard

Modul Praktikum Pemrograman

PEMROGRAMAN JAVA : STREAM DAN FILE

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

Connection Oriented. Kholid F.

Membuat Aplikasi Kalkulator Sederhana Dengan Java

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

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

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

Bahasa Pemrograman :: Dasar Pemrograman Java

A. TUJUAN PEMBELAJARAN

BAB 2 INPUT DARI KEYBOARD

Pemrograman Jaringan 6.

IOSTREAM bagian 2. Kholid Fathoni

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

Pertemuan 7 File pada Java

MENGENAL JAVA APPLET. Wiranti Sri Utami. Abstrak. Pendahuluan.

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

Pemrograman Socket TCP dan Socket UDP

Introduction To Stream

PEMROGRAMAN JARINGAN MODUL 3 STREAM

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

Pemrograman Jaringan

MODUL 7 I/O Stream. Tujuan: Mahasiswa dapat mengenal dan memahami konsep I/O Stream, serta penerapan I/O Stream dalam konsep OOP

Input Nilai tanpa Case String di Java

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

MEMBUAT JAM ANALOG. Wiranti Sri Utami. Abstrak. Pendahuluan.

Mendapatkan Input Dari Keyboard

PEMROGRAMAN JARINGAN

MK. Pemrograman Berorientasi Objek. Input dari Keyboard. Karmilasari

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

I/O Streams. Oleh Kholid Fathoni

PENGENALAN JAVA (2)

Nama Lengkap : Muiz Lidinillah NIM :

J2ME GUI dan Interkoneksi Client Server

APLIKASI CHAT ANTAR PC

I/O (Input dan Output)

Cara Membaca File Text di JAVA

Dapat dicompile dan mendapat output hai. Dapat dicompile dan mendapat output disana

2. Pernyataan mana yang dapat kita laksanakan dengan menggunakan class File? Mengganti direktori tempat bekerja saat ini

Overview I/O Streams Byte stream & Character Stream Hirarki class pada package java.io Read & write streams

Metode Sequential Searching di Java Console

Modul 3 Flow Control dan Input

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

IMPLEMENTASI APLIKASI CHEPPYCHAT UNTUK JARINGAN KOMPUTER PADA LOCAL AREA NETWORK

IMPLEMENTASI TCP/IP UNTUK MEMBUAT SERVER DATABASE ACCESS ABSTRAK

PRAKTIKUM 8 FILE INPUT OUTPUT

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

Mobile Computing Tugas Individu 1

BAB Argument Command-Line dan System Properties

PEMROGRAMAN II. By : Sri Rezeki Candra Nursari. Penilaian : Gasal TA 2011/2012. UAS (lisan) = 35 % UTS = 25 % Tugas = 15 % Praktikum = 25 %

CompileError - The method write(int) in the type FileOutputStream is not applicable for

BAB II LANDASAN TEORI

2.1. Sistem Komunikasi

PRAKTIKUM 17 MENANGANI EXCEPTION

Pemrograman Jaringan

Pertemuan 3 Struktur Perulangan pada Java

Pemrograman Jaringan 9. Connectionless Oriented Programming

Mobile Computing. Ramos Somya

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

Metode Insertion Sort di Java Console

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

Program Java Sesi 1. Arief Susanto

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

Fungsi Lapis Transport

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

Pertemuan 2 Struktur Kontrol Percabangan

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

Objek Stream, Akses File & Exception Handling

Fungsi Lapis Transport

PENDAHULUAN. Bab Latar Belakang

1.Tujuan. 2. Latar Belakang. Tahu tipe-tipe stream yang umum digunakan Menggunakan class File dan methodnya

M.Octaviano Pratama

KONVERSI DATA DAN INPUT DATA

Sistem Terdistribusi

Algoritma dan Pemrograman File Sekuensial. Oleh: Eddy Prasetyo N 05/05/2014 1

Sistem Terdistribusi

Transport Layer. Oleh : Akhmad Mukhammad

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

TRANSPORT LAYER. Aplikasi dan Operasi pada TCP dan UDP

BAB 3 PERANCANGAN SISTEM

PENGAKSESAN FILE DI JAVA

Transkripsi:

Pemrograman Socket menggunakan TCP Wiranti Sri Utami whiranty68@gmail.com Abstrak Java menyediakan kelas dan method yang memungkinkan dua program untuk saling berkomunikasi didalam sebuah jaringan komputer menggunakan TCP (Transmission Control Protocol). Pada model TCP digunakan konsep connection oriented dan reliable data transfer antara aplikasi client dan server. Agar dua program dapat berkomunikasi menggunakan TCP, masing-masing program harus membuat socket, yang kemudian socket-socket tersebut harus terhubung satu sama lain. Dalam hal ini dua socket akan digunakan, pertama suatu program harus membuat socket yang menunggu secara pasif hingga koneksi lain dari socket lain di komputer lain datang. Socket yang sedang menunggu ini disebut sedang "mendengar" (listening) suatu koneksi. Di sisi lain di komputer lain, program lain membuat socket yang mengirim permintaan sambungan ke socket pendengar tadi. Ketika socket pendengar menerima permintaan sambungan dari socket lain, socket ini akan merespon, sehingga komunikasi akan terjadi. Begitu komunikasi terjadi, maka masing-masing program akan bisa membuat aliran input dan aliran output untuk koneksi ini. Komunikasi akan terus terjadi hingga salah satu program menutup (close) koneksi. Kata Kunci : socket, TCP Pendahuluan Penulisan arikel ini hanya membahas mengenai pemrograman socket menggunakan TCP dan untuk pembahasan mengenai pemrograman socket menggunakan UDP akan

dibahas pada artikel selanjutnya. Pada penulisan artikel ini bertujuan agar para pembaca dapat mengenal pemrograman socket dengan TCP. Manfaat dari penulisan artikel ini yaitu pembaca dapat membuat sebuah aplikasi client server dengan pemrograman socket menggunakan TCP. Ada beberapa langkah yang harus dilakukan untuk dapat membuat aplikasi client server, dalam penulisan artikel ini penulis membuat aplikasi client server menggunakan bahasa pemrograman Java dan menggunakan editor notepad++. Penulis berharap dengan adanya artikel ini dapat membantu para pembaca yang ingin mendalami pemrograman Java demi terwujudnya generasi muda yang memiliki kreativitas seperti dalam bidang pemrograman komputer dengan menggunakan bahasa pemrograman Java. Pembahasan TCP socket merupakan bagian dari pemrograman jaringan pada Java, yang terdiri dari kelas socket seperti socket kelas untuk membuat sebuah client socket dan serversocket kelas untuk membuat sebuah server socket, untuk dapat berkomunikasi didalam jaringan komputer. Didalam socket dapat melakukan beberapa operasi yaitu koneksi ke mesin remote, mengirim data (write), menerima data (read), menutup koneksi (close), bind to port, listen pada data yang masuk dan menerima koneksi dari mesin remote pada port tertentu, kemudian pada masing-masing mesin yang saling berinteraksi harus terpasang sebuah socket. Data Stream Data stream meruapakan inti utama dalam proses input atau output dalam pemrograman java. Data stream adalah sebuah aliran data, tepatnya sebuah pipeline atau pipa, seorang user atau pengguna dapat menuliskan sebuah informasi dan membacanya dari sebuah pipeline. Dalam sebuah socket, suatu informasi hanya dapat dibaca dan ditulis (read and write). Pada pemrograman Java kita dapat membaca informasi dengan menggunakan class OutputStream dan menulis informasi menggunakan class Input

Stream. Ketika sebuah koneksi sukses, setiap end-point akan menciptakan InputStream dan OutputStream. InputStream di ciptakan dengan menggunakan method getinputstream(), dan OutputStream diciptakan dengan menggunakan method getoutputstream(). (Wiharto, 2010) Di dalam stream, user diperbolehkan untuk melakukan proses read dan write dengan single byte ataupun multiple byte. Lantas untuk melakukannya, di sini adalah beberapa class penting dari package java.io.* yang dapat digunakan dalam membangun socket programming - BufferedReader dan BufferedWriter : Untuk input dan output stream dengan menggunakan buffer. - FilterInputStream dan FilterOutputStream: dapat dibangun dengan membuat instace dari InputStream dan OutputStream (keduanya tidak menggunakan buffer). Perbaikan kinerja yang diberikan adalah dengan adanya konsep caching dan flushing. - DataInputStream dan DataOutputStream : menyediakan servis tingkat tinggi untuk proses read dan write terhadap type data primitive - FileReader, FileWriter, FileInputStream dan FileOutputStream: digunakan untuk pembacaan dan penulisan dari dan ke suatu file. Cara kerja aplikasi client server dengan pemrograman socket menggunakan TCP Untuk dapat melakukan koneksi client server, program server harus berjalan terlebih dahulu untuk mendeteksi adanya permintaan koneksi dari sisi client. Disisi client terdapat client socket milik server. Setelah socket menerima inisialisasi koneksi dari client socket, aplikasi server akan membuat connection socket disisi server. Dengan connection socket ini, client socket dan connection socket berinteraksi satu sama lain untuk mengirim dan menerma data. Client membaca data yang dikirim oleh server dari client socketnya, kemudian menampilkan data tersebut dimonitor.

Ada beberapa tahapan dalam pemrograman socket, yaitu : open socket, menciptakan sebuah input data stream, menciptakan sebuah output data stream dan close socket. Open Socket Untuk sisi client, berikut ini merupakan proses open socket: Socket socket = null; String host = 127.0.0.1 ; int port = 3456; socket = new Socket(host, port); Sedangkan untuk sisi server: ServerSocket server = null; int port = 3456; server = new ServerSocket(port); Ketika server telah running, tentunya jika ada client yang ingin melakukan koneksi maka untuk menerima koneksi dari client, code di sisi server adalah sebagai berikut: Socket servis = null; servis = server.accept(); Menciptakan Input stream dan Output stream Input stream digunakan untuk menerima atau membaca data dari device lain sedangkan output stream digunakan untuk mengirim data ke device lain, adapun kode dari sisi client maupun server adalah sama, sebagai berikut : BufferedReader is = null;

DataOutputStream os = null; is = new BufferedReader(new InputStreamReader(servis.getInputStream())); os = new DataOutputStream(servis.getOutputStream()); Close socket Berikut ini merupakan proses close socket: os.close(); is.close(); sedangkan pada sisi servernya adalah: os.close(); is.close(); servis.close(); List program aplikasi client server dengan pemrograman socket menggunakan TCP - Berikut ini list program untuk aplikasi servernya, sebagai berikut : import java.io.bufferedreader; import java.io.dataoutputstream; import java.io.ioexception; import java.io.inputstreamreader; import java.net.serversocket; import java.net.socket; public class Server { public static void main(string[] args) throws IOException { ServerSocket server = null; Socket servis = null; BufferedReader st = new BufferedReader(new InputStreamReader(System.in)); BufferedReader is = null; DataOutputStream os = null; int port = 3456; String ic, isr;

try { server = new ServerSocket(port); System.out.println("Server running..."); servis = server.accept(); is = new BufferedReader(new InputStreamReader(servis.getInputStream())); os = new DataOutputStream(servis.getOutputStream()); ic = is.readline(); System.out.println("Client said :" + ic); System.out.print("Reply :"); isr = st.readline(); os.writebytes(isr); catch (Exception e){ System.out.println("Error"); - Berikut ini list program untuk aplikasi clientnya, sebagai berikut : import java.io.bufferedreader; import java.io.datainputstream; import java.io.dataoutputstream; import java.io.inputstreamreader; import java.net.socket; public class Client { public static void main(string[] args) { Socket socket = null; BufferedReader is = null; DataOutputStream os = null; BufferedReader st = new BufferedReader(new InputStreamReader(System.in)); String ic, isr; String host = "127.0.0.1"; int port = 3456;

try { socket = new Socket(host, port); is = new BufferedReader(new InputStreamReader(socket.getInputStream())); os = new DataOutputStream(socket.getOutputStream()); System.out.print("You wanna say :"); ic = st.readline(); os.writebytes(ic); isr = is.readline(); System.out.print("And server said :" + isr); catch (Exception e) { System.out.println("Error"); Penutup Didalam bahasa pemrograman Java terdapat pemrograman jaringan seperti pemrograman socket menggunakan TCP. TCP (Transmission Control Protocol) merupakan protokol yang bersifat connection-oriented, artinya komunikasi yang melewatinya membutuhkan handshaking untuk mengatur koneksi end-to-end. Sehingga kita dapat membuat sebuah aplikasi client server dengan pemrograman socket menggunakan TCP yang didalamnya terdapat komunikasi dua arah sepeti dari client ke server, dan kemudian banyak data dapat dikirimkan melalui koneksi tersebut. Demikianlah artikel ini dibuat, semoga artikel ini dapat bermanfaat bagi para pembaca dalam bidang pemrograman komputer dan semoga para pembaca dapat mencoba membuat sebuah aplikasi client server sederhana dengan programan socket menggunakan TCP. Referensi http://dhealf.com/programming/pemrograman-socket-dengan-tcp.html Wiharto. 2010. Modul Pemrograman Socket Dengan Paket TCP. Laboratorium Sistem Terdistribusi Teknik Informatika, Universitas Sebelas Maret, Surakarta

http://dnaite.blogspot.com/2010/10/sekilas-tentang-sockettcp-dan-udp.html http://mzsay.blogspot.com/2012/04/pengertian-socket-danpemrogramman.html#.u0edu1fu5je http://wahyuganteng72.blogspot.com/2011/02/jaringan-network-dalampemrograman.html Biografi Wiranti Sri Utami. Lahir di Tangerang, pada bulan November. Telah menyelesaikan pendidikan dasar dan menengah di SD Negeri 2 Teluknaga dan SMP Negeri 1 Teluknaga. Menamatkan SMA di SMA Negeri 6 Tangerang pada tahun 2008. Menempuh pendidikan Profesional IT selama 2 tahun di CEP-CCIT FTUI (Continuing Education Program - Center for Computing Information Technology Faculty of Engineering - University of Indonesia), jurusan Software Engineering Java Programming pada tahun 2008-2010. Saat ini wiranti bekerja di Lion Air Bandara Soekarno-Hatta sebagai Administrator dan melanjutkan kuliah S1 di STMIK Raharja mengambil jurusan Teknik Informatika, konsentrasi Software Engeenering. Informasi lebih lanjut dapat melalui email penulis : whiranty68@gmail.com